Browse Source

问题修改

master
God 2 years ago
parent
commit
7cefb28c72
  1. 3
      message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFlowableDto.java
  2. 2
      message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageJsonDto.java
  3. 6
      message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeign.java
  4. 5
      message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeignFallback.java
  5. 46
      message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageReadListPCVo.java
  6. 6
      message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/MessageReadListQuery.java
  7. 6
      message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java
  8. 3
      message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.java
  9. 22
      message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.xml
  10. 28
      message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListRest.java
  11. 25
      message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java

3
message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFlowableDto.java

@ -36,6 +36,9 @@ public class MessageFlowableDto implements Dto {
@ApiModelProperty("具体页面的url")
private String moduleAction;
@ApiModelProperty("PC具体页面的url")
private String moduleAction2;
@ApiModelProperty("业务sid")
private String businessSid;

2
message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageJsonDto.java

@ -25,6 +25,8 @@ public class MessageJsonDto implements Dto {
private String procInsId;
@ApiModelProperty("节点id")
private String taskDefKey;
@ApiModelProperty("流程定义id")
private String deployId;
@ApiModelProperty("app中特殊参数")
private Map<String, Object> appMap = new HashMap<>();

6
message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeign.java

@ -1,5 +1,6 @@
package com.yxt.messagecenter.api.messagelist;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -8,6 +9,7 @@ import com.yxt.messagecenter.api.messagelist.app.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@ -111,4 +113,8 @@ public interface MessageListFeign {
@ApiOperation("手机端待阅已阅")
@PostMapping("/getAppReadListByUserSid")
public ResultBean<PagerVo<MessageReadListVo>> getAppReadListByUserSid(@RequestBody PagerQuery<MessageReadListQuery> pq);
@ApiOperation("PC端待阅已阅列表")
@PostMapping("/todoAllReadList")
public ResultBean<PagerVo<MessageReadListPCVo>> todoAllReadList(@RequestBody PagerQuery<MessageReadListQuery> pq);
}

5
message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeignFallback.java

@ -120,4 +120,9 @@ public class MessageListFeignFallback implements MessageListFeign {
public ResultBean<PagerVo<MessageReadListVo>> getAppReadListByUserSid(PagerQuery<MessageReadListQuery> pq) {
return null;
}
@Override
public ResultBean<PagerVo<MessageReadListPCVo>> todoAllReadList(PagerQuery<MessageReadListQuery> pq) {
return null;
}
}

46
message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageReadListPCVo.java

@ -0,0 +1,46 @@
package com.yxt.messagecenter.api.messagelist;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2023/2/20 16:35
* @Description
*/
@Data
public class MessageReadListPCVo implements Vo {
private static final long serialVersionUID = -6064144224800959448L;
@ApiModelProperty("消息列表sid")
private String sid;
@ApiModelProperty("消息体sid")
private String msgSid;
@ApiModelProperty("消息标题")
private String msgTitle;
@ApiModelProperty("发送时间")
private String sendTime;
//发送人
private String senderName;
//发送人部门
private String senderDeptName;
//来源
private String msgSource;
//消息类别Sid
private String msgTypeSid;
private String taskDefKey;
private String procInsId;
private String taskName;
private String taskId;
private String procDefId;
private String businessSid;
private String argsJson;
}

6
message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/MessageReadListQuery.java

@ -19,6 +19,10 @@ public class MessageReadListQuery implements Query {
private String orgPath;
@ApiModelProperty("0 待阅 1 已阅")
private String state;
@ApiModelProperty("工作名称")
private String names;
@ApiModelProperty("发起开始日期")
private String createStartTime;
@ApiModelProperty("发起结束日期")
private String createEndTime;
}

6
message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java

@ -333,6 +333,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
jsonMap.putAll(dto.getJson().getAppMap());
messageDto.setArgs_json(JSONObject.toJSONString(jsonMap));
messageDto.setMsgTargetUri(dto.getModuleAction());
messageDto.setModuleAction(dto.getModuleAction2());
messageDto.setSenderName("系统");
String msgSid = saveOrUpdateAppMessage(messageDto).getData();
String msgTypeSid = messageDto.getMsgTypeSid();
@ -468,10 +469,15 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
} else {
messageFlowableDto.setModuleAction(sysProUrlVo.getUrl());
}
//PC取前端页面
ResultBean<SysProUrlVo> selectUrlByPCKey = sysProUrlFeign.selectUrlByKey(procDefId, ufVo.getTaskDefKey(), "2", "1");
SysProUrlVo sysProUrlPCVo = selectUrlByPCKey.getData();
messageFlowableDto.setModuleAction2(sysProUrlPCVo.getUrl());
messageFlowableDto.setModuleSid(Arrays.asList(sysProUrlVo.getModulePluginName().split("#")).get(0));
messageJsonDto.setTaskName(ufVo.getNodeState());
messageJsonDto.setProcInsId(ufVo.getProcInsId());
messageJsonDto.setAppMap(appMap);
messageJsonDto.setDeployId(procDefId);
messageFlowableDto.setJson(messageJsonDto);
messageFlowableDto.setList(receiveSidList);
messageFlowableDto.setReceiveIdList(reveiveIdList);

3
message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.java

@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.messagecenter.api.messagelist.MessageList;
import com.yxt.messagecenter.api.messagelist.MessageListJoinMsgVo;
import com.yxt.messagecenter.api.messagelist.MessageListVo;
import com.yxt.messagecenter.api.messagelist.MessageReadListPCVo;
import com.yxt.messagecenter.api.messagelist.app.*;
import com.yxt.messagecenter.api.messagelist.wx.WxMessageListQuery;
import com.yxt.messagecenter.api.messagelist.wx.WxMessageListVo;
@ -88,4 +89,6 @@ public interface MessageListMapper extends BaseMapper<MessageList> {
int updateAppReadByType(@Param("msgTypeSid") String msgTypeSid, @Param("userSid") String userSid);
List<String> selectByMsgSid(String s);
IPage<MessageReadListPCVo> todoAllReadList(IPage<MessageReadListQuery> iPage,@Param(Constants.WRAPPER) QueryWrapper<MessageList> qw);
}

22
message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.xml

@ -202,7 +202,7 @@
</select>
<update id="updateAppReadByType">
UPDATE message_list ml,message m
set ml.state=1
set ml.state=1,modifyTime = NOW()
WHERE ml.msgSid = m.sid
AND ml.receiverSid = #{userSid}
AND m.msgTypeSid = #{msgTypeSid}
@ -236,4 +236,24 @@
</where>
ORDER BY ml.id DESC
</select>
<select id="todoAllReadList" resultType="com.yxt.messagecenter.api.messagelist.MessageReadListPCVo">
SELECT ml.sid,
ml.msgSid,
m.msgTitle,
DATE_FORMAT(m.createTime, '%Y-%m-%d') as sendTime,
m.senderName,
m.senderDeptName,
m.msgSource,
m.msgTypeSid,
m.businessSid,
m.args_json as argsJson
FROM message_list ml
LEFT JOIN message m ON ml.msgSid = m.sid
<where>
${ew.sqlSegment}
and ml.rDelStatus = 0
</where>
ORDER BY ml.id DESC
</select>
</mapper>

28
message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListRest.java

@ -1,7 +1,10 @@
package com.yxt.messagecenter.biz.messagelist;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.auth0.jwt.JWT;
import com.auth0.jwt.interfaces.DecodedJWT;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxt.common.base.utils.JWTUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
@ -15,10 +18,13 @@ import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.spring.web.json.Json;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Optional;
/**
* Project: message-center(消息中心) <br/>
@ -227,4 +233,26 @@ public class MessageListRest implements MessageListFeign {
PagerVo<MessageReadListVo> pagerVo = messageListService.getAppReadListByUserSid(pq);
return new ResultBean<PagerVo<MessageReadListVo>>().success().setData(pagerVo);
}
@Override
public ResultBean<PagerVo<MessageReadListPCVo>> todoAllReadList(PagerQuery<MessageReadListQuery> pq) {
ResultBean<PagerVo<MessageReadListPCVo>> rb = ResultBean.fireFail();
if (StringUtils.isBlank(pq.getParams().getUserSid())) {
return rb.setMsg("用户sid不能为空");
}
if(StringUtils.isBlank(pq.getParams().getState())){
return rb.setMsg("参数错误:state");
}
PagerVo<MessageReadListPCVo> pagerVo = messageListService.todoAllReadList(pq);
for (MessageReadListPCVo record : pagerVo.getRecords()) {
String argsJson = record.getArgsJson();
Map<String, Object> map = JSON.parseObject(argsJson);
record.setTaskId((String) map.get("taskId"));
record.setTaskName((String) map.get("taskName"));
record.setProcInsId((String) map.get("procInsId"));
record.setTaskDefKey((String) map.get("taskDefKey"));
record.setProcDefId((String) map.get("deployId"));
}
return new ResultBean<PagerVo<MessageReadListPCVo>>().success().setData(pagerVo);
}
}

25
message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java

@ -422,4 +422,29 @@ public class MessageListService extends MybatisBaseService<MessageListMapper, Me
pagerVo.setMsg("共查询出" + pagerVo.getTotal() + "条消息");
return pagerVo;
}
public PagerVo<MessageReadListPCVo> todoAllReadList(PagerQuery<MessageReadListQuery> pq) {
QueryWrapper<MessageList> qw = new QueryWrapper<>();
MessageReadListQuery messageReadListQuery = pq.getParams();
qw.eq("ml.receiverSid", pq.getParams().getUserSid());
qw.eq("m.msgTypeSid","bc59c198-2d52-bb54-e4106aa38821a9ec");//阅读类
if(StringUtils.isNotBlank(messageReadListQuery.getNames())){
qw.like("m.msgTitle",messageReadListQuery.getNames());
}
if("0".equals(messageReadListQuery.getState())){//待阅
qw.eq("ml.state",0);
}else{//已阅
qw.eq("ml.state",1);
}
String createStartTime = messageReadListQuery.getCreateStartTime();
String createEndTime = messageReadListQuery.getCreateEndTime();
qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (m.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(createEndTime), "date_format (m.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
IPage<MessageReadListQuery> iPage = PagerUtil.queryToPage(pq);
IPage<MessageReadListPCVo> page = baseMapper.todoAllReadList(iPage, qw);
PagerVo<MessageReadListPCVo> pagerVo = PagerUtil.pageToVo(page, null);
pagerVo.setMsg("共查询出" + pagerVo.getTotal() + "条消息");
return pagerVo;
}
}
Loading…
Cancel
Save