提交 8094110e 作者: 刘明祎-运维用途

Merge branch 'develop'

流水线 #8913 已通过 于阶段
in 2 分 28 秒
......@@ -32,6 +32,8 @@ public class MessageUserQO implements Serializable {
@ApiModelProperty(value = "接收方用户ID")
private Integer receiverUserId;
private Integer backUserId;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
......
......@@ -84,4 +84,7 @@ public class CompanyInfoVO implements Serializable {
@ApiModelProperty(value = "企业视频")
private String profileUrl;
@ApiModelProperty(value = "绑定的客服id")
private Integer companyBindUserId;
}
package com.mmc.iuav.user.model.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CompanyMemberVO implements Serializable {
@ApiModelProperty(value = "绑定用户id")
private Integer userAccountId;
@ApiModelProperty(value = "角色id")
private Integer roleId;
@ApiModelProperty(value = "角色姓名")
private String roleName;
}
......@@ -21,6 +21,8 @@ public class UserMessageVO implements Serializable {
@ApiModelProperty(value = "接收方用户ID")
private Integer receiverUserId;
@ApiModelProperty(value = "商家聊天id")
private Integer backUserId;
@ApiModelProperty(value = "消息内容")
private String content;
@ApiModelProperty(value = "发送的图片")
......
......@@ -3,10 +3,7 @@ package com.mmc.iuav.user.controller;
import com.mmc.iuav.group.Insert;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.qo.CompanyInfoQO;
import com.mmc.iuav.user.model.vo.CompanyInfoVO;
import com.mmc.iuav.user.model.vo.UserAccountVO;
import com.mmc.iuav.user.model.vo.UserRcdUpVO;
import com.mmc.iuav.user.model.vo.UserRcdVO;
import com.mmc.iuav.user.model.vo.*;
import com.mmc.iuav.user.service.CompanyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -88,8 +85,10 @@ public class CompanyController extends BaseController {
@GetMapping("bindingCompanyMember")
public ResultBody bindingCompanyMember(HttpServletRequest request,
@RequestParam Integer userAccountId,
@RequestParam Integer companyInfoId) {
return companyService.bindingCompanyMember(this.getUserLoginInfoFromRedis(request), userAccountId, companyInfoId);
@RequestParam Integer companyInfoId,
// leader 角色id
@RequestParam Integer leader) {
return companyService.bindingCompanyMember(this.getUserLoginInfoFromRedis(request), userAccountId, companyInfoId, leader);
}
@ApiOperation(value = "成员-解绑")
......@@ -150,4 +149,11 @@ public class CompanyController extends BaseController {
return companyService.insertUserRcd(userRcdUpVO.getRUerId(),userRcdUpVO.getUserId());
}
@ApiOperation(value = "根据公司id获取用户id和角色信息")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CompanyInfoVO.class)})
@GetMapping("listUserAndRoleByCompanyId")
public ResultBody listUserAndRoleByCompanyId(@RequestParam Integer companyInfoId) {
return companyService.listUserAndRoleByCompanyId(companyInfoId);
}
}
......@@ -210,4 +210,11 @@ public class UserAccountController extends BaseController {
return userAccountService.getStateList();
}
@ApiOperation(value = "获取角色列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("getRolesList")
public ResultBody getRolesList() {
return userAccountService.getRolesList();
}
}
......@@ -222,4 +222,8 @@ public interface CompanyDao {
void insertUserRcd(Integer userId,Integer rUserId);
Integer selectUserByUserRcd(Integer userId);
List<CompanyMemberDO> selectUserAndRoleList(Integer companyInfoId);
List<Integer> getBindCompanyUserIdList(Integer backUserId);
}
......@@ -94,9 +94,9 @@ public interface MessageDao {
int insertUserMessage(UserMessageDO messageDO);
List<UserMessageDO> selectUserMessage(@Param("messageQO")MessageUserQO messageQO,@Param("senderUserId")Integer senderUserId);
UserMessageDO selectEndUserMessage(@Param("receiverUserId") Integer receiverUserId,@Param("senderUserId")Integer senderUserId);
UserMessageDO selectEndUserMessage(@Param("receiverUserId") Integer receiverUserId,@Param("senderUserId")Integer senderUserId,@Param("backUserId") Integer backUserId);
int countUserMessage(@Param("receiverUserId") Integer receiverUserId,@Param("senderUserId") Integer senderUserId);
int countUserMessage(@Param("messageQO") MessageUserQO messageQO,@Param("senderUserId") Integer senderUserId);
List<Integer> selectUserListBySenderUserId(@Param("senderUserId")Integer senderUserId);
List<Integer> selectUserListByReceiverUserId(@Param("senderUserId")Integer senderUserId);
......@@ -104,7 +104,7 @@ public interface MessageDao {
int removeUserMessage(Integer id);
int insertUserMessageLog(UserMessageLogDO userMessageLogDO);
Integer isUserMessageLog(@Param("receiverUserId") Integer receiverUserId,@Param("senderUserId") Integer senderUserId);
Integer isUserMessageLog(@Param("receiverUserId") Integer receiverUserId,@Param("senderUserId") Integer senderUserId,@Param("backUserId") Integer backUserId);
int updateUserMessageLog(@Param("id") Integer logId);
int updateUserMessageCount(@Param("id") Integer logId);
......
package com.mmc.iuav.user.dao;
import com.mmc.iuav.user.entity.CompanyRoleDo;
import com.mmc.iuav.user.entity.UserAccountDO;
import com.mmc.iuav.user.entity.UserRcdDO;
import com.mmc.iuav.user.entity.UserStateDO;
......@@ -270,4 +271,10 @@ public interface UserServiceDao {
UserStateVO getUserState(Integer stateId);
Integer getUserStateId(Integer userId);
/**
* 查询角色信息
*/
List<CompanyRoleDo> getCompanyRoleList();
}
package com.mmc.iuav.user.entity;
import com.mmc.iuav.user.model.vo.CompanyMemberVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
......@@ -22,4 +23,15 @@ public class CompanyMemberDO implements Serializable {
private Integer leader;
private Date createTime;
private String roleName;
public CompanyMemberVO builCompanyMemberVO(){
return CompanyMemberVO.builder()
.userAccountId(userAccountId)
.roleId(leader)
.roleName(roleName)
.build();
}
}
package com.mmc.iuav.user.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CompanyRoleDo implements Serializable {
private Integer id;
private String roleName;
}
package com.mmc.iuav.user.entity;
import com.mmc.iuav.user.model.dto.UserAccountSimpleDTO;
import com.mmc.iuav.user.model.vo.BUserAccountVO;
import com.mmc.iuav.user.model.vo.TopInviteVO;
import com.mmc.iuav.user.model.vo.UserAccountVO;
import com.mmc.iuav.user.model.vo.CompanyInfoVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.util.CollectionUtils;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author: zj
* @Date: 2023/5/16 17:00
* @author Admin
*/
@Builder
@Data
......@@ -42,4 +37,6 @@ public class UserDO implements Serializable {
private String endMessage;
@ApiModelProperty(value = "最新消息创建时间")
private Date createTime;
private CompanyInfoVO companyInfoVO;
}
......@@ -50,9 +50,16 @@ public class UserMessageDO implements Serializable {
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 不为空则代表是跟商家在聊天
*/
private Integer backUserId;
public UserMessageDO(UserMessageVO message) {
this.receiverUserId = message.getReceiverUserId();
this.content = message.getContent();
this.imgUrl = message.getImgUrl();
this.backUserId = message.getBackUserId();
}
}
......@@ -38,6 +38,12 @@ public class UserMessageLogDO implements Serializable {
* 新消息数量
*/
private Integer messageCount;
/**
* 商家后台id
*/
private Integer backUserId;
/**
* 创建时间
*/
......
......@@ -6,6 +6,7 @@ import com.mmc.iuav.user.entity.CompanyInfoDO;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.qo.CompanyInfoQO;
import com.mmc.iuav.user.model.vo.CompanyInfoVO;
import com.mmc.iuav.user.model.vo.CompanyMemberVO;
import java.util.List;
......@@ -98,7 +99,7 @@ public interface CompanyService {
* @param companyInfoId
* @return
*/
ResultBody bindingCompanyMember(LoginSuccessDTO userLoginInfoFromRedis, Integer userAccountId, Integer companyInfoId);
ResultBody bindingCompanyMember(LoginSuccessDTO userLoginInfoFromRedis, Integer userAccountId, Integer companyInfoId, Integer leader);
/**
* 获取小程序用户绑定企业信息
......@@ -174,4 +175,16 @@ public interface CompanyService {
ResultBody getManagerIdByBackUserId(Integer backUserAccountId);
ResultBody insertUserRcd(Integer rUserId,List<Integer> userIds);
ResultBody listUserAndRoleByCompanyId(Integer companyInfoId);
/**
* 获取后台公司绑定的用户id是用户1还是用户2
* @param userId1 用户1
* @param userId2 用户2
* @param backUserId 后台id
* @return
*/
Integer getCompanyBindUserId(Integer userId1,Integer userId2,Integer backUserId);
}
......@@ -196,4 +196,5 @@ public interface UserAccountService {
ResultBody getStateList();
ResultBody getRolesList();
}
......@@ -11,6 +11,7 @@ import com.mmc.iuav.user.entity.*;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.qo.CompanyInfoQO;
import com.mmc.iuav.user.model.vo.CompanyInfoVO;
import com.mmc.iuav.user.model.vo.CompanyMemberVO;
import com.mmc.iuav.user.model.vo.UserAccountVO;
import com.mmc.iuav.user.service.CompanyService;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -132,7 +133,9 @@ public class CompanyServiceImpl implements CompanyService {
public CompanyInfoVO getCompanyInfoByAppLoginUserId(Integer backUserAccountId) {
CompanyInfoDO companyInfoDO = companyDao.getCompanyInfoByAppLoginUserId(backUserAccountId);
if (companyInfoDO != null) {
return companyInfoDO.buildCompanyInfoVO();
CompanyInfoVO companyInfoVO = companyInfoDO.buildCompanyInfoVO();
companyInfoVO.setBackUserId(backUserAccountId);
return companyInfoVO;
}
return null;
}
......@@ -163,7 +166,7 @@ public class CompanyServiceImpl implements CompanyService {
}
@Override
public ResultBody bindingCompanyMember(LoginSuccessDTO loginSuccessDTO, Integer userAccountId, Integer companyInfoId) {
public ResultBody bindingCompanyMember(LoginSuccessDTO loginSuccessDTO, Integer userAccountId, Integer companyInfoId, Integer leader) {
// 查看该成员是否已被绑定
int count = companyDao.countBingingCompanyInfoByUID(userAccountId);
if (count > 0) {
......@@ -172,7 +175,7 @@ public class CompanyServiceImpl implements CompanyService {
CompanyMemberDO companyMemberDO = new CompanyMemberDO();
companyMemberDO.setUserAccountId(userAccountId);
companyMemberDO.setCompanyInfoId(companyInfoId);
companyMemberDO.setLeader(0);
companyMemberDO.setLeader(leader);
companyDao.addCompanyMember(companyMemberDO);
return ResultBody.success();
}
......@@ -240,8 +243,8 @@ public class CompanyServiceImpl implements CompanyService {
if (count == 0) {
return ResultBody.success(PageResult.buildPage(pageNo, pageSize, count));
}
pageNo = (pageNo - 1) * pageSize;
List<UserAccountDO> userAccountDOS = companyDao.listCompanyMembersPage(companyInfoId, pageNo, pageSize);
Integer pageNoTemp = (pageNo - 1) * pageSize;
List<UserAccountDO> userAccountDOS = companyDao.listCompanyMembersPage(companyInfoId, pageNoTemp, pageSize);
List<UserAccountVO> userAccountVOS = userAccountDOS.stream().map(UserAccountDO::buildUserAccountVO).collect(Collectors.toList());
return ResultBody.success(PageResult.buildPage(pageNo, pageSize, count, userAccountVOS));
}
......@@ -313,5 +316,29 @@ public class CompanyServiceImpl implements CompanyService {
return ResultBody.success();
}
@Override
public ResultBody listUserAndRoleByCompanyId(Integer companyInfoId) {
List<CompanyMemberDO> companyMemberDOS = companyDao.selectUserAndRoleList(companyInfoId);
List<CompanyMemberVO> companyMemberVOS = companyMemberDOS.stream().map(CompanyMemberDO::builCompanyMemberVO).collect(Collectors.toList());
return ResultBody.success(companyMemberVOS);
}
@Override
public Integer getCompanyBindUserId(Integer userId1, Integer userId2,Integer backUserId) {
List<Integer> listUserIds = companyDao.getBindCompanyUserIdList(backUserId);
if(listUserIds == null) {
return null;
}
if(listUserIds.contains(userId1)) {
if(listUserIds.contains(userId2)) {
return null;
}else {
return userId1;
}
}else {
return userId2;
}
}
}
......@@ -12,14 +12,17 @@ import com.mmc.iuav.user.model.qo.MessageQO;
import com.mmc.iuav.user.model.qo.MessageUserQO;
import com.mmc.iuav.user.model.vo.*;
import com.mmc.iuav.user.model.vo.userpoints.ChangeUserPointVO;
import com.mmc.iuav.user.service.CompanyService;
import com.mmc.iuav.user.service.MessageService;
import com.mmc.iuav.user.service.userpoints.UserPointsService;
import com.mmc.iuav.user.util.ScheduledTaskUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
......@@ -31,6 +34,8 @@ import java.util.*;
import java.util.concurrent.TimeUnit;
@Service
@Slf4j
@Transactional(rollbackFor = Exception.class)
public class MessageServiceImpl implements MessageService {
@Autowired
......@@ -51,6 +56,9 @@ public class MessageServiceImpl implements MessageService {
@Autowired
private PilotCertificationDao pilotCertificationDao;
@Autowired
private CompanyService companyService;
@Qualifier("com.mmc.iuav.user.feign.PaymentAppApi")
@Autowired
private PaymentAppApi paymentAppApi;
......@@ -146,13 +154,14 @@ public class MessageServiceImpl implements MessageService {
@Override
public ResultBody insertUserMessage(UserMessageVO messageVO,Integer senderUserId) {
Integer backUserId = messageVO.getBackUserId();
UserMessageDO userMessageDO = new UserMessageDO(messageVO);
if(senderUserId == null){
return ResultBody.success("消息发送失败,请先登录");
}
redisTemplate.setValueSerializer(RedisSerializer.json());
String s = redisTemplate.opsForValue().get("Message" + senderUserId);
if(s == null || s == ""){
if(backUserId == null && s == null || "".equals(s)){
return ResultBody.error("请先花费积分购买聊天时长");
}
userMessageDO.setSenderUserId(senderUserId);
......@@ -162,18 +171,20 @@ public class MessageServiceImpl implements MessageService {
if(scheduledTaskUtil.check(userDO.getUserAccountId()) == 1){
scheduledTaskUtil.create(userDO);
}
if(messageDao.isUserMessageLog(userMessageDO.getReceiverUserId(), userMessageDO.getSenderUserId()) == null){
if(messageDao.isUserMessageLog(userMessageDO.getReceiverUserId(), userMessageDO.getSenderUserId(),backUserId) == null){
UserMessageLogDO userMessageLogDO = new UserMessageLogDO();
userMessageLogDO.setSenderUserId(userMessageDO.getSenderUserId());
userMessageLogDO.setReceiverUserId(userMessageDO.getReceiverUserId());
userMessageLogDO.setBackUserId(backUserId);
messageDao.insertUserMessageLog(userMessageLogDO);
}
Integer logId = messageDao.isUserMessageLog(userMessageDO.getSenderUserId(),userMessageDO.getReceiverUserId());
Integer logId = messageDao.isUserMessageLog(userMessageDO.getSenderUserId(),userMessageDO.getReceiverUserId(),backUserId);
if(logId == null){
UserMessageLogDO userMessageLogDO = new UserMessageLogDO();
userMessageLogDO.setSenderUserId(userMessageDO.getReceiverUserId());
userMessageLogDO.setReceiverUserId(userMessageDO.getSenderUserId());
userMessageLogDO.setMessageCount(1);
userMessageLogDO.setBackUserId(backUserId);
messageDao.insertUserMessageLog(userMessageLogDO);
}else {
messageDao.updateUserMessageLog(logId);
......@@ -203,7 +214,7 @@ public class MessageServiceImpl implements MessageService {
@Override
public PageResult selectUserMessage(MessageUserQO messageQO,Integer senderUserId) {
scheduledTaskUtil.destroy(senderUserId);
int count = messageDao.countUserMessage(messageQO.getReceiverUserId(),senderUserId);
int count = messageDao.countUserMessage(messageQO,senderUserId);
if (count == 0) {
return PageResult.buildPage(messageQO.getPageNo(), messageQO.getPageSize(), count);
}
......@@ -214,7 +225,8 @@ public class MessageServiceImpl implements MessageService {
// if(logId != null){
// messageDao.updateUserMessageCount(logId);
// }
Integer logId2 = messageDao.isUserMessageLog(messageQO.getReceiverUserId(),senderUserId);
Integer backUserId = messageQO.getBackUserId();
Integer logId2 = messageDao.isUserMessageLog(messageQO.getReceiverUserId(),senderUserId,backUserId);
if(logId2 != null){
messageDao.updateUserMessageCount(logId2);
}
......@@ -226,16 +238,26 @@ public class MessageServiceImpl implements MessageService {
List<UserDO> userAccountDOList = new ArrayList<>();
List<UserMessageLogDO> list = messageDao.selectUserList(senderUserId);
for (UserMessageLogDO userMessageLogDO : list) {
Integer backUserId = userMessageLogDO.getBackUserId();
UserAccountDO userAccount = userServiceDao.getUserAccountById(userMessageLogDO.getReceiverUserId());
UserDO userDO = userAccount.buildUserDO();
userDO.setUnreadCount(userMessageLogDO.getMessageCount());
UserMessageDO userMessageDO = messageDao.selectEndUserMessage(userMessageLogDO.getReceiverUserId(), senderUserId);
UserMessageDO userMessageDO = messageDao.selectEndUserMessage(userMessageLogDO.getReceiverUserId(), senderUserId,backUserId);
if(userMessageDO.getContent() != null){
userDO.setEndMessage(userMessageDO.getContent());
}else {
userDO.setEndMessage(userMessageDO.getImgUrl());
}
userDO.setCreateTime(userMessageDO.getCreateTime());
if(backUserId != null){
CompanyInfoVO companyInfo = companyService.getCompanyInfoByAppLoginUserId(backUserId);
Integer companyBindUserId = companyService.getCompanyBindUserId(senderUserId, userDO.getUserAccountId(), backUserId);
if(companyBindUserId != null) {
companyInfo.setCompanyBindUserId(companyBindUserId);
userDO.setCompanyInfoVO(companyInfo);
}
}
userAccountDOList.add(userDO);
}
// 使用 Collections.sort() 方法和自定义的比较器进行排序
......@@ -252,7 +274,7 @@ public class MessageServiceImpl implements MessageService {
return ResultBody.error("消息发送已经超过三分钟,撤回失败");
}
if(messageDao.removeUserMessage(id) != 0){
Integer logId = messageDao.isUserMessageLog(userMessageDO.getSenderUserId(),userMessageDO.getReceiverUserId());
Integer logId = messageDao.isUserMessageLog(userMessageDO.getSenderUserId(),userMessageDO.getReceiverUserId(),userMessageDO.getBackUserId());
if(logId != null){
messageDao.removeUserMessageCount(logId);
}
......@@ -263,7 +285,7 @@ public class MessageServiceImpl implements MessageService {
@Override
public ResultBody removeUser(Integer senderUserId, Integer receiverUserId) {
Integer logId = messageDao.isUserMessageLog(receiverUserId,senderUserId);
Integer logId = messageDao.isUserMessageLog(receiverUserId,senderUserId,null);
if(logId != null){
messageDao.removeUserMessageLog(logId);
return ResultBody.success("删除成功");
......
......@@ -575,6 +575,13 @@ public class UserAccountServiceImpl implements UserAccountService {
List<UserStateDO> stateList = userServiceDao.getStateList();
return ResultBody.success(stateList);
}
@Override
public ResultBody getRolesList() {
List<CompanyRoleDo> rolesList = userServiceDao.getCompanyRoleList();
return ResultBody.success(rolesList);
}
private UserAccountVO getUserAccountVO(Integer userAccountId) {
UserAccountDO userAccountDO = userServiceDao.getUserAccountById(userAccountId);
if (userAccountDO == null) {
......
......@@ -157,7 +157,7 @@
</select>
<select id="getCompanyInfoByBackUserAccountId" resultType="com.mmc.iuav.user.entity.CompanyInfoDO">
SELECT ci.id, ci.company_type, ci.company_name, ci.full_name, ci.province, ci.city, ci.district, ci.address, ci.company_user_name,
SELECT ci.id, ci.company_type, ci.company_name, ci.full_name, ci.province, ci.city, ci.district, ci.address, ci.company_user_name,cbu.back_user_account_id,
ci.phone_num, ci.remark, ci.create_time,ci.brand_logo, ci.brand_name, ci.license_img, ci.credit_code, ci.content, ci.score,ci.lon,ci.lat, ci.back_img,cm.user_account_id
FROM company_back_user cbu INNER JOIN company_info ci ON ci.id = cbu.company_info_id
inner join company_member cm on cm.company_info_id = ci.id
......@@ -221,7 +221,7 @@
company_info ci
INNER JOIN company_member cm ON ci.id = cm.company_info_id
WHERE
cm.user_account_id = #{userAccountId} and ci.is_deleted = 0
cm.user_account_id = #{userAccountId} and ci.is_deleted = 0 and is_leader = 1
</select>
<select id="getCompanyBackUserByCompanyId" resultType="com.mmc.iuav.user.entity.CompanyBackUserDO">
......@@ -294,4 +294,15 @@
FROM company_back_user cbu INNER JOIN company_info ci ON ci.id = cbu.company_info_id
WHERE cbu.back_user_account_id = #{backUserAccountId} and ci.is_deleted = 0
</select>
<select id="selectUserAndRoleList" resultType="com.mmc.iuav.user.entity.CompanyMemberDO">
SELECT me.user_account_id, me.is_leader as leader, rol.role_name
FROM company_member me INNER JOIN company_role rol ON me.is_leader = rol.id
where company_info_id = #{companyInfoId}
</select>
<select id="getBindCompanyUserIdList" resultType="java.lang.Integer">
select cm.user_account_id from back_user_account bua
left join company_back_user cbu on bua.id = cbu.back_user_account_id
left join company_member cm on cbu.company_info_id = cm.company_info_id
where bua.id = #{backUserId}
</select>
</mapper>
......@@ -41,20 +41,30 @@
where is_deleted = 0
</select>
<select id="selectUserMessage" resultType="com.mmc.iuav.user.entity.UserMessageDO">
SELECT id, img_url, content, sender_user_id, receiver_user_id, create_time
FROM (
SELECT id, img_url, content, sender_user_id, receiver_user_id, create_time
FROM user_message
WHERE is_deleted = 0 AND sender_user_id IN (#{senderUserId} ,#{messageQO.receiverUserId}) AND receiver_user_id IN (#{senderUserId} ,#{messageQO.receiverUserId})
ORDER BY create_time desc
LIMIT #{messageQO.pageNo},#{messageQO.pageSize}
) AS subquery
ORDER BY create_time ASC;
SELECT id, img_url, content, sender_user_id, receiver_user_id, create_time, back_user_id
FROM user_message
where is_deleted = 0
and sender_user_id in (#{senderUserId}, #{messageQO.receiverUserId})
and receiver_user_id in (#{senderUserId}, #{messageQO.receiverUserId})
and
case
when #{messageQO.backUserId} is not null then back_user_id = #{messageQO.backUserId}
else back_user_id is null
end
ORDER BY create_time desc
LIMIT #{messageQO.pageNo}
, #{messageQO.pageSize}
</select>
<select id="countUserMessage" resultType="java.lang.Integer">
select count(*)
from user_message
where is_deleted = 0 and sender_user_id in(#{senderUserId} ,#{receiverUserId}) and receiver_user_id in(#{senderUserId} ,#{receiverUserId})
where is_deleted = 0 and sender_user_id in(#{senderUserId} ,#{messageQO.receiverUserId}) and receiver_user_id in(#{senderUserId} ,#{messageQO.receiverUserId})
and
case
when #{messageQO.backUserId} is not null then back_user_id = #{messageQO.backUserId}
else back_user_id is null
end
</select>
<select id="selectUserListBySenderUserId" resultType="java.lang.Integer">
select
......@@ -71,7 +81,13 @@
<select id="isUserMessageLog" resultType="java.lang.Integer">
select id
from user_message_log
where sender_user_id = #{senderUserId} and receiver_user_id = #{receiverUserId} limit 1
where sender_user_id = #{senderUserId} and receiver_user_id = #{receiverUserId}
and
case
when #{backUserId} is not null then back_user_id = #{backUserId}
else back_user_id is null
end
limit 1
</select>
<select id="selectUserList" resultType="com.mmc.iuav.user.entity.UserMessageLogDO">
select *
......@@ -89,6 +105,11 @@
id, img_url, content, sender_user_id,receiver_user_id, create_time
from user_message
where is_deleted = 0 and sender_user_id in(#{senderUserId} ,#{receiverUserId}) and receiver_user_id in(#{senderUserId} ,#{receiverUserId})
and
case
when #{backUserId} is not null then back_user_id = #{backUserId}
else back_user_id is null
end
order by create_time desc
LIMIT 1
</select>
......@@ -131,27 +152,17 @@
<if test="receiverUserId != null">receiver_user_id,</if>
<if test="content != null">content,</if>
<if test="imgUrl != null">img_url,</if>
<if test="backUserId != null">back_user_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="senderUserId != null">#{senderUserId,jdbcType=VARCHAR},</if>
<if test="receiverUserId != null">#{receiverUserId,jdbcType=VARCHAR},</if>
<if test="content != null">#{content,jdbcType=VARCHAR},</if>
<if test="imgUrl != null">#{imgUrl,jdbcType=VARCHAR},</if>
<if test="backUserId != null">#{backUserId,jdbcType=VARCHAR},</if>
</trim>
</insert>
<insert id="insertUserMessageLog">
insert into user_message_log
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="senderUserId != null">sender_user_id,</if>
<if test="receiverUserId != null">receiver_user_id,</if>
<if test="messageCount != null">message_count,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="senderUserId != null">#{senderUserId,jdbcType=VARCHAR},</if>
<if test="receiverUserId != null">#{receiverUserId,jdbcType=VARCHAR},</if>
<if test="messageCount != null">#{messageCount,jdbcType=VARCHAR},</if>
</trim>
</insert>
<insert id="insertTimeType">
insert into user_message_time_type
<trim prefix="(" suffix=")" suffixOverrides=",">
......@@ -165,6 +176,22 @@
<if test="chatDuration != null">#{chatDuration},</if>
</trim>
</insert>
<insert id="insertUserMessageLog" parameterType="com.mmc.iuav.user.entity.UserMessageLogDO">
insert into user_message_log
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="senderUserId != null">sender_user_id,</if>
<if test="receiverUserId != null">receiver_user_id,</if>
<if test="messageCount != null">message_count,</if>
<if test="backUserId != null">back_user_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="senderUserId != null">#{senderUserId,jdbcType=INTEGER},</if>
<if test="receiverUserId != null">#{receiverUserId,jdbcType=INTEGER},</if>
<if test="messageCount != null">#{messageCount,jdbcType=INTEGER},</if>
<if test="backUserId != null">#{backUserId,jdbcType=INTEGER},</if>
</trim>
</insert>
<update id="removeMessage">
update message
set is_deleted = 1, deleted_time = NOW()
......
......@@ -783,5 +783,8 @@
<select id="getUserStateId" resultType="java.lang.Integer">
select user_state_id from user_account where id = #{userId}
</select>
<select id="getCompanyRoleList" resultType="com.mmc.iuav.user.entity.CompanyRoleDo">
select id,role_name from company_role
</select>
</mapper>
......@@ -18,4 +18,4 @@ patches:
images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/cms
newTag: 2488bdc48f7bd5352ecfbcc5ee9f4e384834e29b
newTag: 00def15c5d8ab2b6c630e8e210de91f6bb4e435a
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论