支持枢智业务

This commit is contained in:
刘才福 2023-07-05 09:31:55 +08:00
parent e0aa14228d
commit 709ea8544d
11 changed files with 122 additions and 2 deletions

View File

@ -5,6 +5,7 @@ import cn.axzo.core.domain.PageResult;
import cn.axzo.msg.center.api.enums.MsgStateEnum;
import cn.axzo.msg.center.api.request.*;
import cn.axzo.msg.center.api.response.MessageTotalRes;
import cn.axzo.msg.center.domain.dto.UpdateReadDTO;
import cn.axzo.msg.center.domain.entity.MessageRecord;
import cn.axzo.msg.center.domain.enums.UserTypeEnum;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -57,4 +58,6 @@ public interface MessageRecordService {
MessageTotalRes statisticsMsg4Trade(Long personId);
Boolean changeHasRead(UpdateReadDTO request);
}

View File

@ -4,6 +4,9 @@ import cn.axzo.core.domain.PageResult;
import cn.axzo.msg.center.api.InsideMessageRecordApi;
import cn.axzo.msg.center.api.request.*;
import cn.axzo.msg.center.api.response.MessageRecordRes;
import cn.axzo.msg.center.common.exception.ServiceException;
import cn.axzo.msg.center.common.utils.BeanConvertUtils;
import cn.axzo.msg.center.domain.dto.UpdateReadDTO;
import cn.axzo.msg.center.inside.notices.service.MessageRecordService;
import cn.azxo.framework.common.model.CommonResponse;
import lombok.extern.slf4j.Slf4j;
@ -36,11 +39,17 @@ public class InsideMessageRecordApiImpl implements InsideMessageRecordApi {
@Override
public CommonResponse<Boolean> changeHasRead(UpdateReadReq request) {
return null;
if(request.getToId() == null & request.getFromId() == null){
throw new ServiceException("发送人id和接收人id不能同时为空");
}
UpdateReadDTO updateReadDTO = BeanConvertUtils.copyBean(request, UpdateReadDTO.class);
Boolean updateSuccess = messageRecordService.changeHasRead(updateReadDTO);
return CommonResponse.success(updateSuccess);
}
@Override
public CommonResponse<PageResult<MessageRecordRes>> queryUnReadList(QueryMessageRecordReq request) {
//messageRecordService.queryUnReadList()
return null;
}

View File

@ -19,6 +19,7 @@ import cn.axzo.msg.center.dal.*;
import cn.axzo.msg.center.domain.dto.CmsMsgQueryReqDTO;
import cn.axzo.msg.center.domain.dto.MessageNewResDTO;
import cn.axzo.msg.center.domain.dto.MsgStatisticsDTO;
import cn.axzo.msg.center.domain.dto.UpdateReadDTO;
import cn.axzo.msg.center.domain.entity.*;
import cn.axzo.msg.center.domain.enums.*;
import cn.axzo.msg.center.domain.request.InsideCmsReadMsgReq;
@ -500,6 +501,11 @@ public class MessageRecordServiceImpl implements MessageRecordService {
return calcCount(res, null);
}
@Override
public Boolean changeHasRead(UpdateReadDTO request) {
return messageRecordDao.updateHasRead(request) > 0;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void initRelation(List<Map<String, Object>> relations, List<Map<String, Object>> routers) {
@ -616,4 +622,6 @@ public class MessageRecordServiceImpl implements MessageRecordService {
}
}

View File

@ -8,6 +8,9 @@ import cn.azxo.framework.common.model.CommonResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import javax.validation.Valid;
@FeignClient(name = "msg-center", url = "${server.serviceUrl}", fallback = InsideMessageRecordApiFallBack.class)
@Component
@ -35,7 +38,7 @@ public interface InsideMessageRecordApi {
* @return
*/
@PostMapping("msg/record/change/read")
CommonResponse<Boolean> changeHasRead(UpdateReadReq request);
CommonResponse<Boolean> changeHasRead(@RequestBody @Valid UpdateReadReq request);
/**
* 查询未读消息列表

View File

@ -3,6 +3,8 @@ package cn.axzo.msg.center.api.request;
import cn.axzo.basics.common.page.PageRequest;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class QueryMessageRecordReq extends PageRequest {
@ -15,6 +17,7 @@ public class QueryMessageRecordReq extends PageRequest {
/**
* 待办消息模块类型Id - 针对待办使用
*/
@NotNull(message = "moduleId不能为空")
private Long moduleId;
/**
* 发送人id
@ -23,6 +26,7 @@ public class QueryMessageRecordReq extends PageRequest {
/**
* 接收者id
*/
@NotNull(message = "发送人不能为空")
private Long toId;
/**

View File

@ -2,16 +2,20 @@ package cn.axzo.msg.center.api.request;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class UpdateReadReq {
/**
* 消息类型 1:普通消息 2:待办
*/
@NotNull(message = "消息类型不能为空")
private Integer msgType;
/**
* 待办消息模块类型Id - 针对待办使用
*/
@NotNull(message = "moduleId不能为空")
private Long moduleId;
/**
* 发送人id

View File

@ -9,6 +9,7 @@ import cn.axzo.msg.center.dal.mapper.MessageRecordMapper;
import cn.axzo.msg.center.domain.dto.CmsMsgQueryReqDTO;
import cn.axzo.msg.center.domain.dto.MessageNewResDTO;
import cn.axzo.msg.center.domain.dto.MsgStatisticsDTO;
import cn.axzo.msg.center.domain.dto.UpdateReadDTO;
import cn.axzo.msg.center.domain.entity.MessageRecord;
import cn.axzo.msg.center.domain.enums.ModuleBizTypeEnum;
import cn.axzo.msg.center.domain.persistence.BaseEntity;
@ -108,5 +109,15 @@ public class MessageRecordDao extends
return baseMapper.pageMsgInfo4WechatAndTrade(req, req.toPage(), moduleIds, personId,
ReceiveTypeEnum.NOT_IDENTITY.getCode(), states);
}
/**
* 修改成已读接口
* @param request
* @return
*/
public int updateHasRead(UpdateReadDTO request){
return baseMapper.updateHasRead(request);
}
}

View File

@ -4,6 +4,7 @@ package cn.axzo.msg.center.dal.mapper;
import cn.axzo.msg.center.domain.dto.CmsMsgQueryReqDTO;
import cn.axzo.msg.center.domain.dto.MessageNewResDTO;
import cn.axzo.msg.center.domain.dto.MsgStatisticsDTO;
import cn.axzo.msg.center.domain.dto.UpdateReadDTO;
import cn.axzo.msg.center.domain.entity.MessageRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -41,5 +42,7 @@ public interface MessageRecordMapper extends BaseMapper<MessageRecord>{
@Param("receiveType") Integer receiveType, @Param("states") List<Integer> states);
void readAllMsg(@Param("ids") List<Long> collect);
int updateHasRead(@Param("req") UpdateReadDTO request);
}

View File

@ -170,5 +170,19 @@
</foreach>
</update>
<!---->
<update id="updateHasRead" parameterType="cn.axzo.msg.center.domain.dto.UpdateReadDTO">
update message_record set state=4 where is_delete=0 AND module_id=#{req.moduleId} AND type=#{req.msgType}
<if test="req.tenantId != null">
AND tenant_id = #{req.tenantId}
</if>
<if test="req.toId != null and req.fromId==null ">
AND to_id=#{req.toId}
</if>
<if test="req.fromId != null and req.toId == null">
AND from_id=#{req.fromId}
</if>
</update>
</mapper>

View File

@ -0,0 +1,32 @@
package cn.axzo.msg.center.domain.dto;
import cn.axzo.basics.common.page.PageRequest;
import lombok.Data;
@Data
public class QueryMessageRecordDTO extends PageRequest {
/**
* 消息类型 1:普通消息 2:待办
*/
private Integer msgType;
/**
* 待办消息模块类型Id - 针对待办使用
*/
private Long moduleId;
/**
* 发送人id
*/
private Long fromId;
/**
* 接收者id
*/
private Long toId;
/**
* 租户id
*/
private Long tenantId;
}

View File

@ -0,0 +1,29 @@
package cn.axzo.msg.center.domain.dto;
import lombok.Data;
@Data
public class UpdateReadDTO {
/**
* 消息类型 1:普通消息 2:待办
*/
private Integer msgType;
/**
* 待办消息模块类型Id - 针对待办使用
*/
private Long moduleId;
/**
* 发送人id
*/
private Long fromId;
/**
* 接收者id
*/
private Long toId;
/**
* 租户id
*/
private Long tenantId;
}