Browse Source

消息中心PC未读、已读、全部分页列表

master
dimengzhe 2 years ago
parent
commit
b287eed45c
  1. 26
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/api/messagepushlog/MessagePushPcLogQuery.java
  2. 45
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/api/messagepushlog/MessagePushPcLogVo.java
  3. 4
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogMapper.java
  4. 64
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogMapper.xml
  5. 12
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogRest.java
  6. 142
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogService.java

26
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/api/messagepushlog/MessagePushPcLogQuery.java

@ -0,0 +1,26 @@
package com.yxt.supervise.report.api.messagepushlog;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/11/18
**/
@Data
public class MessagePushPcLogQuery implements Query {
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("类型:0未读,1已读,空字符串为全部")
private String state;
@ApiModelProperty("消息类型")
private String type;
@ApiModelProperty("消息标题")
private String title;
private String createTimeStart;
private String createTimeEnd;
}

45
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/api/messagepushlog/MessagePushPcLogVo.java

@ -0,0 +1,45 @@
package com.yxt.supervise.report.api.messagepushlog;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.HashMap;
import java.util.Map;
/**
* @description:
* @author: dimengzhe
* @date: 2023/11/18
**/
@Data
public class MessagePushPcLogVo {
@ApiModelProperty("类型")
private String type;
@ApiModelProperty("标题")
private String title;
@ApiModelProperty("时间")
private String createTime;
@JsonIgnore
private Map<String, String> map;
@JsonIgnore
private String content;
public Map<String, String> getMap() {
Map<String, String> strMap = new HashMap<>();
String[] keyValuePairs = content.split("[{;,}]");
for (String pair : keyValuePairs) {
// 按照等号拆分键和值
String[] keyValue = pair.split("=");
if (keyValue.length == 2) {
String key = keyValue[0].trim();
String value = keyValue[1].trim();
strMap.put(key, value);
}
}
this.map = strMap;
return map;
}
}

4
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogMapper.java

@ -2,11 +2,13 @@ package com.yxt.supervise.report.biz.messagepushlog;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLog;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogVo;
import com.yxt.supervise.report.api.messagepushlog.MessagePushPcLogVo;
import com.yxt.supervise.system.dicttype.DictType;
import com.yxt.supervise.system.dicttype.DictTypeVo;
import org.apache.ibatis.annotations.Mapper;
@ -27,4 +29,6 @@ public interface MessagePushLogMapper extends BaseMapper<MessagePushLog> {
IPage<MessagePushLogVo> selectPageVo(IPage<MessagePushLog> page, @Param(Constants.WRAPPER) Wrapper<MessagePushLog> qw);
@Select("select * from message_push_log order by messageTime desc limit 1")
MessagePushLogVo getMessage();
IPage<MessagePushPcLogVo> listPageByPc(IPage<MessagePushLog> page, @Param(Constants.WRAPPER)QueryWrapper<MessagePushLog> qw,@Param("openId") String openId,@Param("state") String state);
}

64
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogMapper.xml

@ -4,29 +4,59 @@
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.supervise.report.api.messagepushlog.MessagePushLogVo">
select l.*,o.state as oState from message_push_log l left join message_openid o on o.messageSid=l.sid <where> ${ew.sqlSegment} </where>
select l.*, o.state as oState
from message_push_log l
left join message_openid o on o.messageSid = l.sid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getMessagePushLog" resultType="com.yxt.supervise.report.api.messagepushlog.MessagePushLogVo">
SELECT
*
FROM
report_sales_day_log
<where> ${ew.sqlSegment} </where>
SELECT *
FROM report_sales_day_log
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getLogByOrderDate" resultType="com.yxt.supervise.report.api.messagepushlog.MessagePushLogVo">
SELECT
*
FROM
report_sales_day_log
where
orderDate=#{orderDate}
SELECT *
FROM report_sales_day_log
where orderDate = #{orderDate}
</select>
<select id="getAllMessagePushLog" resultType="com.yxt.supervise.report.api.messagepushlog.MessagePushLogVo">
SELECT
*
FROM
report_sales_day_store
<where> ${ew.sqlSegment} </where>
SELECT *
FROM report_sales_day_store
<where>
${ew.sqlSegment}
</where>
</select>
<select id="listPageByPc" resultType="com.yxt.supervise.report.api.messagepushlog.MessagePushPcLogVo">
select a.content,a.type from (
select l.content,'数据消息' as type
from message_push_log l
left join message_openid o on o.messageSid = l.sid
where o.openId = #{openId}
<if test="state != null and state != ''">
and o.state = #{state}
</if>
union all
select il.content,'风险提示' as type
from img_messages_log il
left join img_message_user iu on iu.messageSid = il.sid
where iu.openId = #{openId}
<if test="state != null and state != ''">
and iu.state = #{state}
</if>
union all
select rl.content,'设备状态' as type
from risk_messages_log rl
left join risk_message_user ru on ru.messageSid = rl.sid
where ru.openId = #{openId}
<if test="state != null and state != ''">
and ru.state = #{state}
</if>
) a
</select>
</mapper>

12
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogRest.java

@ -4,9 +4,7 @@ package com.yxt.supervise.report.biz.messagepushlog;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogDto;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogQuery;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogVo;
import com.yxt.supervise.report.api.messagepushlog.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -48,4 +46,12 @@ public class MessagePushLogRest {
return rb.success().setData(pv);
}
@PostMapping("/listPageByPc")
ResultBean<PagerVo<MessagePushPcLogVo>> listPageByPc(@RequestBody PagerQuery<MessagePushPcLogQuery> pagerQuery){
ResultBean rb = ResultBean.fireFail();
PagerVo<MessagePushPcLogVo> pv = messagePushLogService.listPageByPc(pagerQuery);
return rb.success().setData(pv);
}
}

142
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogService.java

@ -14,10 +14,7 @@ import com.yxt.supervise.report.api.imgmessageslog.ImgMessagesLog;
import com.yxt.supervise.report.api.imgmessageslog.ImgMessagesLogDto;
import com.yxt.supervise.report.api.imgmessageuser.ImgMessageUser;
import com.yxt.supervise.report.api.messageopenid.MessageOpenid;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLog;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogDto;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogQuery;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogVo;
import com.yxt.supervise.report.api.messagepushlog.*;
import com.yxt.supervise.report.api.riskmessageslog.RiskMessagesLog;
import com.yxt.supervise.report.api.riskmessageslog.RiskMessagesLogDto;
import com.yxt.supervise.report.api.riskmessageuser.RiskMessageUser;
@ -62,16 +59,17 @@ public class MessagePushLogService extends MybatisBaseService<MessagePushLogMapp
SystemRiskMessageUserService systemRiskMessageUserService;
@Autowired
FlowTaskFeign flowTaskFeign;
public ResultBean save(MessagePushLogDto dto) {
//删除同天同项目消息
baseMapper.delete(new QueryWrapper<MessagePushLog>().eq("projectSid",dto.getProjectSid()).eq("orderDate",dto.getOrderDate()));
ResultBean rb=new ResultBean();
MessagePushLog entity=new MessagePushLog();
baseMapper.delete(new QueryWrapper<MessagePushLog>().eq("projectSid", dto.getProjectSid()).eq("orderDate", dto.getOrderDate()));
ResultBean rb = new ResultBean();
MessagePushLog entity = new MessagePushLog();
BeanUtil.copyProperties(dto, entity, "id");
entity.setSid(UUID.randomUUID().toString());
baseMapper.insert(entity);
for(String openid:dto.getMessageOpenids()){
MessageOpenid messageOpenid=new MessageOpenid();
for (String openid : dto.getMessageOpenids()) {
MessageOpenid messageOpenid = new MessageOpenid();
messageOpenid.setOpenId(openid);
messageOpenid.setMessageSid(entity.getSid());
messageOpenid.setSid(UUID.randomUUID().toString());
@ -80,16 +78,17 @@ public class MessagePushLogService extends MybatisBaseService<MessagePushLogMapp
return rb.success().setMsg("保存成功");
}
public ResultBean riskSave(RiskMessagesLogDto dto) {
//删除同天同项目消息
//baseMapper.delete(new QueryWrapper<MessagePushLog>().eq("projectSid",dto.getProjectSid()).eq("orderDate",dto.getOrderDate()));
ResultBean rb=new ResultBean();
RiskMessagesLog entity=new RiskMessagesLog();
ResultBean rb = new ResultBean();
RiskMessagesLog entity = new RiskMessagesLog();
BeanUtil.copyProperties(dto, entity, "id");
entity.setSid(UUID.randomUUID().toString());
riskMessagesLogService.insert(entity);
for(String openid:dto.getMessageOpenids()){
RiskMessageUser messageOpenid=new RiskMessageUser();
for (String openid : dto.getMessageOpenids()) {
RiskMessageUser messageOpenid = new RiskMessageUser();
messageOpenid.setOpenId(openid);
messageOpenid.setMessageSid(entity.getSid());
messageOpenid.setSid(UUID.randomUUID().toString());
@ -98,16 +97,17 @@ public class MessagePushLogService extends MybatisBaseService<MessagePushLogMapp
return rb.success().setMsg("保存成功");
}
public ResultBean systemRiskSave(SystemRiskMessagesLogDto dto) {
//删除同天同项目消息
//baseMapper.delete(new QueryWrapper<MessagePushLog>().eq("projectSid",dto.getProjectSid()).eq("orderDate",dto.getOrderDate()));
ResultBean rb=new ResultBean();
SystemRiskMessagesLog entity=new SystemRiskMessagesLog();
ResultBean rb = new ResultBean();
SystemRiskMessagesLog entity = new SystemRiskMessagesLog();
BeanUtil.copyProperties(dto, entity, "id");
entity.setSid(UUID.randomUUID().toString());
systemRiskMessagesLogService.insert(entity);
for(String openid:dto.getMessageOpenids()){
SystemRiskMessageUser messageOpenid=new SystemRiskMessageUser();
for (String openid : dto.getMessageOpenids()) {
SystemRiskMessageUser messageOpenid = new SystemRiskMessageUser();
messageOpenid.setOpenId(openid);
messageOpenid.setMessageSid(entity.getSid());
messageOpenid.setSid(UUID.randomUUID().toString());
@ -116,16 +116,17 @@ public class MessagePushLogService extends MybatisBaseService<MessagePushLogMapp
return rb.success().setMsg("保存成功");
}
public ResultBean riskImgSave(ImgMessagesLogDto dto) {
//删除同天同项目消息
//baseMapper.delete(new QueryWrapper<MessagePushLog>().eq("projectSid",dto.getProjectSid()).eq("orderDate",dto.getOrderDate()));
ResultBean rb=new ResultBean();
ImgMessagesLog entity=new ImgMessagesLog();
ResultBean rb = new ResultBean();
ImgMessagesLog entity = new ImgMessagesLog();
BeanUtil.copyProperties(dto, entity, "id");
entity.setSid(UUID.randomUUID().toString());
imgMessagesLogService.insert(entity);
for(String openid:dto.getMessageOpenids()){
ImgMessageUser messageOpenid=new ImgMessageUser();
for (String openid : dto.getMessageOpenids()) {
ImgMessageUser messageOpenid = new ImgMessageUser();
messageOpenid.setOpenId(openid);
messageOpenid.setMessageSid(entity.getSid());
messageOpenid.setSid(UUID.randomUUID().toString());
@ -134,60 +135,111 @@ public class MessagePushLogService extends MybatisBaseService<MessagePushLogMapp
return rb.success().setMsg("保存成功");
}
public PagerVo<MessagePushLogVo> listPage(PagerQuery<MessagePushLogQuery> pq) {
ResultBean rb=new ResultBean();
ResultBean rb = new ResultBean();
MessagePushLogQuery query = pq.getParams();
// String openid=systemMapper.getAppletOpenidByUsersid(query.getUserSid());
SysUser sysUser=systemMapper.getAppletOpenidByUsersid(query.getUserSid());
SysUser sysUser = systemMapper.getAppletOpenidByUsersid(query.getUserSid());
IPage<MessagePushLog> page = PagerUtil.queryToPage(pq);
QueryWrapper<MessagePushLog> qw = new QueryWrapper<>();
System.out.println(query.getState());
qw.eq("o.openId",sysUser.getAppletOpenid());
if(StringUtils.isNotNull(query.getState())){
if(query.getState().equals("2")){}
else if(query.getState().equals("0")){
qw.eq("o.state",0);
}else if(query.getState().equals("1")){
qw.eq("o.state",1);
qw.eq("o.openId", sysUser.getAppletOpenid());
if (StringUtils.isNotNull(query.getState())) {
if (query.getState().equals("2")) {
} else if (query.getState().equals("0")) {
qw.eq("o.state", 0);
} else if (query.getState().equals("1")) {
qw.eq("o.state", 1);
}
}
IPage<MessagePushLogVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<MessagePushLogVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean numberOfJobs(String userSid){
ResultBean rb =new ResultBean();
Map<String,Object> map=new HashMap<>();
public ResultBean numberOfJobs(String userSid) {
ResultBean rb = new ResultBean();
Map<String, Object> map = new HashMap<>();
// String openid=systemMapper.getAppletOpenidByUsersid(userSid);
SysUser sysUser=systemMapper.getAppletOpenidByUsersid(userSid);
int pendingMessages=baseMapper.getCountByUser(sysUser.getAppletOpenid(),"0");
int readMessage=baseMapper.getCountByUser(sysUser.getAppletOpenid(),"1");
Integer integer=flowTaskFeign.getTodoNum(userSid).getData();
SysUser sysUser = systemMapper.getAppletOpenidByUsersid(userSid);
int pendingMessages = baseMapper.getCountByUser(sysUser.getAppletOpenid(), "0");
int readMessage = baseMapper.getCountByUser(sysUser.getAppletOpenid(), "1");
Integer integer = flowTaskFeign.getTodoNum(userSid).getData();
List<String> list = new ArrayList<>();
list.add("【一级风险】");
list.add("【二级风险】");
list.add("【三级风险】");
list.add("【四级风险】");
String[] urls = {"http://jianguan.yyundong.com/img/banner001.jpg"};
map.put("readMessage",readMessage);
map.put("pendingMessages",pendingMessages);
map.put("toDo",integer);
map.put("urls",urls);
map.put("notice",list);
map.put("readMessage", readMessage);
map.put("pendingMessages", pendingMessages);
map.put("toDo", integer);
map.put("urls", urls);
map.put("notice", list);
return rb.success().setData(map);
}
public PagerVo<MessagePushLogVo> changeState(PagerQuery<MessagePushLogQuery> pq) {
ResultBean rb=new ResultBean();
ResultBean rb = new ResultBean();
MessagePushLogQuery query = pq.getParams();
// String openid=systemMapper.getAppletOpenidByUsersid(query.getUserSid());
IPage<MessagePushLog> page = PagerUtil.queryToPage(pq);
SysUser sysUser=systemMapper.getAppletOpenidByUsersid(query.getUserSid());
SysUser sysUser = systemMapper.getAppletOpenidByUsersid(query.getUserSid());
QueryWrapper<MessagePushLog> qw = new QueryWrapper<>();
qw.eq("o.openId",sysUser.getAppletOpenid());
qw.eq("o.openId", sysUser.getAppletOpenid());
IPage<MessagePushLogVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<MessagePushLogVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public PagerVo<MessagePushPcLogVo> listPageByPc(PagerQuery<MessagePushPcLogQuery> pagerQuery) {
QueryWrapper<MessagePushLog> qw = new QueryWrapper<>();
MessagePushPcLogQuery query = pagerQuery.getParams();
IPage<MessagePushLog> page = PagerUtil.queryToPage(pagerQuery);
SysUser sysUser = systemMapper.getAppletOpenidByUsersid(query.getUserSid());
String state = query.getState();
String openId = sysUser.getAppletOpenid();
if(StringUtils.isNotBlank(query.getTitle())){//标题
qw.like("a.content",query.getTitle());
}
if(StringUtils.isNotBlank(query.getType())){//类型
qw.like("a.type",query.getType());
}
//创建开始时间-创建结束时间
qw.apply(StringUtils.isNotBlank(query.getCreateTimeStart()), "date_format (createTime,'%Y-%m-%d') >= date_format('" + query.getCreateTimeStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')"
);
IPage<MessagePushPcLogVo> pagging = baseMapper.listPageByPc(page, qw, openId, state);
List<MessagePushPcLogVo> records = pagging.getRecords();
records.removeAll(Collections.singleton(null));
if (!records.isEmpty()) {
for (int i = 0; i < records.size(); i++) {
MessagePushPcLogVo messagePushPcLogVo = records.get(i);
Map<String, String> map = messagePushPcLogVo.getMap();
String type = messagePushPcLogVo.getType();
String title = "";
String createTime = "";
if ("数据消息".equals(type)) {
String thing2 = map.get("thing2");
title = thing2;
createTime = map.get("time1");
} else if ("风险提示".equals(type)) {
String thing3 = map.get("thing3");
String thing4 = map.get("thing4");
title = thing3 + "-" + thing4;
createTime = map.get("time5");
} else if ("设备状态".equals(type)) {
String thing3 = map.get("thing3");
title = thing3;
createTime = map.get("time4");
}
messagePushPcLogVo.setTitle(title);
messagePushPcLogVo.setCreateTime(createTime);
}
}
PagerVo<MessagePushPcLogVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
}

Loading…
Cancel
Save