问题修改
This commit is contained in:
@@ -36,6 +36,9 @@ public class MessageFlowableDto implements Dto {
|
|||||||
@ApiModelProperty("具体页面的url")
|
@ApiModelProperty("具体页面的url")
|
||||||
private String moduleAction;
|
private String moduleAction;
|
||||||
|
|
||||||
|
@ApiModelProperty("PC具体页面的url")
|
||||||
|
private String moduleAction2;
|
||||||
|
|
||||||
@ApiModelProperty("业务sid")
|
@ApiModelProperty("业务sid")
|
||||||
private String businessSid;
|
private String businessSid;
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ public class MessageJsonDto implements Dto {
|
|||||||
private String procInsId;
|
private String procInsId;
|
||||||
@ApiModelProperty("节点id")
|
@ApiModelProperty("节点id")
|
||||||
private String taskDefKey;
|
private String taskDefKey;
|
||||||
|
@ApiModelProperty("流程定义id")
|
||||||
|
private String deployId;
|
||||||
|
|
||||||
@ApiModelProperty("app中特殊参数")
|
@ApiModelProperty("app中特殊参数")
|
||||||
private Map<String, Object> appMap = new HashMap<>();
|
private Map<String, Object> appMap = new HashMap<>();
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.yxt.messagecenter.api.messagelist;
|
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.query.PagerQuery;
|
||||||
import com.yxt.common.core.result.ResultBean;
|
import com.yxt.common.core.result.ResultBean;
|
||||||
import com.yxt.common.core.vo.PagerVo;
|
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.Api;
|
||||||
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import io.swagger.annotations.ApiParam;
|
||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
@@ -111,4 +113,8 @@ public interface MessageListFeign {
|
|||||||
@ApiOperation("手机端待阅已阅")
|
@ApiOperation("手机端待阅已阅")
|
||||||
@PostMapping("/getAppReadListByUserSid")
|
@PostMapping("/getAppReadListByUserSid")
|
||||||
public ResultBean<PagerVo<MessageReadListVo>> getAppReadListByUserSid(@RequestBody PagerQuery<MessageReadListQuery> pq);
|
public ResultBean<PagerVo<MessageReadListVo>> getAppReadListByUserSid(@RequestBody PagerQuery<MessageReadListQuery> pq);
|
||||||
|
|
||||||
|
@ApiOperation("PC端待阅已阅列表")
|
||||||
|
@PostMapping("/todoAllReadList")
|
||||||
|
public ResultBean<PagerVo<MessageReadListPCVo>> todoAllReadList(@RequestBody PagerQuery<MessageReadListQuery> pq);
|
||||||
}
|
}
|
||||||
@@ -120,4 +120,9 @@ public class MessageListFeignFallback implements MessageListFeign {
|
|||||||
public ResultBean<PagerVo<MessageReadListVo>> getAppReadListByUserSid(PagerQuery<MessageReadListQuery> pq) {
|
public ResultBean<PagerVo<MessageReadListVo>> getAppReadListByUserSid(PagerQuery<MessageReadListQuery> pq) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResultBean<PagerVo<MessageReadListPCVo>> todoAllReadList(PagerQuery<MessageReadListQuery> pq) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -19,6 +19,10 @@ public class MessageReadListQuery implements Query {
|
|||||||
private String orgPath;
|
private String orgPath;
|
||||||
@ApiModelProperty("0 待阅 1 已阅")
|
@ApiModelProperty("0 待阅 1 已阅")
|
||||||
private String state;
|
private String state;
|
||||||
|
@ApiModelProperty("工作名称")
|
||||||
private String names;
|
private String names;
|
||||||
|
@ApiModelProperty("发起开始日期")
|
||||||
|
private String createStartTime;
|
||||||
|
@ApiModelProperty("发起结束日期")
|
||||||
|
private String createEndTime;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -333,6 +333,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
|
|||||||
jsonMap.putAll(dto.getJson().getAppMap());
|
jsonMap.putAll(dto.getJson().getAppMap());
|
||||||
messageDto.setArgs_json(JSONObject.toJSONString(jsonMap));
|
messageDto.setArgs_json(JSONObject.toJSONString(jsonMap));
|
||||||
messageDto.setMsgTargetUri(dto.getModuleAction());
|
messageDto.setMsgTargetUri(dto.getModuleAction());
|
||||||
|
messageDto.setModuleAction(dto.getModuleAction2());
|
||||||
messageDto.setSenderName("系统");
|
messageDto.setSenderName("系统");
|
||||||
String msgSid = saveOrUpdateAppMessage(messageDto).getData();
|
String msgSid = saveOrUpdateAppMessage(messageDto).getData();
|
||||||
String msgTypeSid = messageDto.getMsgTypeSid();
|
String msgTypeSid = messageDto.getMsgTypeSid();
|
||||||
@@ -468,10 +469,15 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
|
|||||||
} else {
|
} else {
|
||||||
messageFlowableDto.setModuleAction(sysProUrlVo.getUrl());
|
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));
|
messageFlowableDto.setModuleSid(Arrays.asList(sysProUrlVo.getModulePluginName().split("#")).get(0));
|
||||||
messageJsonDto.setTaskName(ufVo.getNodeState());
|
messageJsonDto.setTaskName(ufVo.getNodeState());
|
||||||
messageJsonDto.setProcInsId(ufVo.getProcInsId());
|
messageJsonDto.setProcInsId(ufVo.getProcInsId());
|
||||||
messageJsonDto.setAppMap(appMap);
|
messageJsonDto.setAppMap(appMap);
|
||||||
|
messageJsonDto.setDeployId(procDefId);
|
||||||
messageFlowableDto.setJson(messageJsonDto);
|
messageFlowableDto.setJson(messageJsonDto);
|
||||||
messageFlowableDto.setList(receiveSidList);
|
messageFlowableDto.setList(receiveSidList);
|
||||||
messageFlowableDto.setReceiveIdList(reveiveIdList);
|
messageFlowableDto.setReceiveIdList(reveiveIdList);
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
|
|||||||
import com.yxt.messagecenter.api.messagelist.MessageList;
|
import com.yxt.messagecenter.api.messagelist.MessageList;
|
||||||
import com.yxt.messagecenter.api.messagelist.MessageListJoinMsgVo;
|
import com.yxt.messagecenter.api.messagelist.MessageListJoinMsgVo;
|
||||||
import com.yxt.messagecenter.api.messagelist.MessageListVo;
|
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.app.*;
|
||||||
import com.yxt.messagecenter.api.messagelist.wx.WxMessageListQuery;
|
import com.yxt.messagecenter.api.messagelist.wx.WxMessageListQuery;
|
||||||
import com.yxt.messagecenter.api.messagelist.wx.WxMessageListVo;
|
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);
|
int updateAppReadByType(@Param("msgTypeSid") String msgTypeSid, @Param("userSid") String userSid);
|
||||||
|
|
||||||
List<String> selectByMsgSid(String s);
|
List<String> selectByMsgSid(String s);
|
||||||
|
|
||||||
|
IPage<MessageReadListPCVo> todoAllReadList(IPage<MessageReadListQuery> iPage,@Param(Constants.WRAPPER) QueryWrapper<MessageList> qw);
|
||||||
}
|
}
|
||||||
@@ -202,7 +202,7 @@
|
|||||||
</select>
|
</select>
|
||||||
<update id="updateAppReadByType">
|
<update id="updateAppReadByType">
|
||||||
UPDATE message_list ml,message m
|
UPDATE message_list ml,message m
|
||||||
set ml.state=1
|
set ml.state=1,modifyTime = NOW()
|
||||||
WHERE ml.msgSid = m.sid
|
WHERE ml.msgSid = m.sid
|
||||||
AND ml.receiverSid = #{userSid}
|
AND ml.receiverSid = #{userSid}
|
||||||
AND m.msgTypeSid = #{msgTypeSid}
|
AND m.msgTypeSid = #{msgTypeSid}
|
||||||
@@ -236,4 +236,24 @@
|
|||||||
</where>
|
</where>
|
||||||
ORDER BY ml.id DESC
|
ORDER BY ml.id DESC
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
@@ -1,7 +1,10 @@
|
|||||||
package com.yxt.messagecenter.biz.messagelist;
|
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.JWT;
|
||||||
import com.auth0.jwt.interfaces.DecodedJWT;
|
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.JWTUtil;
|
||||||
import com.yxt.common.base.utils.StringUtils;
|
import com.yxt.common.base.utils.StringUtils;
|
||||||
import com.yxt.common.core.query.PagerQuery;
|
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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
import springfox.documentation.spring.web.json.Json;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Project: message-center(消息中心) <br/>
|
* Project: message-center(消息中心) <br/>
|
||||||
@@ -227,4 +233,26 @@ public class MessageListRest implements MessageListFeign {
|
|||||||
PagerVo<MessageReadListVo> pagerVo = messageListService.getAppReadListByUserSid(pq);
|
PagerVo<MessageReadListVo> pagerVo = messageListService.getAppReadListByUserSid(pq);
|
||||||
return new ResultBean<PagerVo<MessageReadListVo>>().success().setData(pagerVo);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -422,4 +422,29 @@ public class MessageListService extends MybatisBaseService<MessageListMapper, Me
|
|||||||
pagerVo.setMsg("共查询出" + pagerVo.getTotal() + "条消息");
|
pagerVo.setMsg("共查询出" + pagerVo.getTotal() + "条消息");
|
||||||
return pagerVo;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user