wangpengfei 2 years ago
parent
commit
1ec17891e5
  1. 23
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageslog/SystemRiskMessagesLog.java
  2. 26
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageslog/SystemRiskMessagesLogDto.java
  3. 14
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageslog/SystemRiskMessagesLogQuery.java
  4. 47
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageslog/SystemRiskMessagesLogVo.java
  5. 20
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageuser/SystemRiskMessageUser.java
  6. 17
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageuser/SystemRiskMessageUserDto.java
  7. 17
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageuser/SystemRiskMessageUserQuery.java
  8. 17
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageuser/SystemRiskMessageUserVo.java
  9. 16
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/imgmessageslog/ImgMessagesLogRest.java
  10. 36
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogService.java
  11. 25
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageslog/SystemRiskMessagesLogMapper.java
  12. 32
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageslog/SystemRiskMessagesLogMapper.xml
  13. 40
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageslog/SystemRiskMessagesLogRest.java
  14. 108
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageslog/SystemRiskMessagesLogService.java
  15. 16
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageuser/SystemRiskMessageUserMapper.java
  16. 29
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageuser/SystemRiskMessageUserMapper.xml
  17. 29
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageuser/SystemRiskMessageUserRest.java
  18. 32
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageuser/SystemRiskMessageUserService.java
  19. 236
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java
  20. 57
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/SuperviseWxMessSender.java
  21. 18
      yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskrecord/RiskRecord.java
  22. 21
      yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskrecord/RiskRecordDto.java
  23. 18
      yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskrecord/RiskRecordQuery.java
  24. 18
      yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskrecord/RiskRecordVo.java
  25. 2
      yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmMapper.java
  26. 156
      yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmService.java
  27. 22
      yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskrecord/RiskRecordMapper.java
  28. 13
      yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskrecord/RiskRecordMapper.xml
  29. 27
      yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskrecord/RiskRecordRest.java
  30. 75
      yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskrecord/RiskRecordService.java
  31. 2
      yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/feign/report/WechatFeign.java

23
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageslog/SystemRiskMessagesLog.java

@ -0,0 +1,23 @@
package com.yxt.supervise.report.api.systemriskmessageslog;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.EntityWithId;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/7/27 9:56
*/
@ApiModel(value = "系统异常消息推送日志", description = "系统异常消息推送日志")
@TableName("system_risk_messages_log")
@Data
public class SystemRiskMessagesLog extends EntityWithId {
private String sid;
private String messageTime;
private String pagepath;
private String content;
private String projectSid;
private String orderDate;
private String riskSid;
}

26
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageslog/SystemRiskMessagesLogDto.java

@ -0,0 +1,26 @@
package com.yxt.supervise.report.api.systemriskmessageslog;
import com.yxt.common.core.dto.Dto;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
* @author wangpengfei
* @date 2023/7/27 9:56
*/
@Data
public class SystemRiskMessagesLogDto implements Dto {
private String id;
private String sid;
private String messageTime;
private String pagepath;
//private Map<String, Template> content;
private Map<String, String> content;
private List<String> messageOpenids;
private String openid;//小程序openid
private String projectSid;
private String orderDate;
private String riskSid;
}

14
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageslog/SystemRiskMessagesLogQuery.java

@ -0,0 +1,14 @@
package com.yxt.supervise.report.api.systemriskmessageslog;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/7/27 10:07
*/
@Data
public class SystemRiskMessagesLogQuery implements Query {
private String userSid;
private String state;//0未读 1 已读 2全部
}

47
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageslog/SystemRiskMessagesLogVo.java

@ -0,0 +1,47 @@
package com.yxt.supervise.report.api.systemriskmessageslog;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author wangpengfei
* @date 2023/7/27 9:57
*/
@Data
public class SystemRiskMessagesLogVo implements Vo {
private String id;
private String sid;
private String messageTime;
private String pagepath;
private String content;
//消息状态
private String oState;
private Map<String,String> map;
private String riskSid;
private String shName;
private List<String> devices;
private String text;
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;
}
}

20
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageuser/SystemRiskMessageUser.java

@ -0,0 +1,20 @@
package com.yxt.supervise.report.api.systemriskmessageuser;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/7/27 10:34
*/
@ApiModel(value = "消息用户微信openid关联", description = "消息用户微信openid关联")
@TableName("system_risk_message_user")
@Data
public class SystemRiskMessageUser {
private String id;
private String sid;
private String messageSid;
private String openId;
private String state;
}

17
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageuser/SystemRiskMessageUserDto.java

@ -0,0 +1,17 @@
package com.yxt.supervise.report.api.systemriskmessageuser;
import com.yxt.common.core.dto.Dto;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/7/27 10:34
*/
@Data
public class SystemRiskMessageUserDto implements Dto {
private String id;
private String sid;
private String messageSid;
private String openId;
private String state;
}

17
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageuser/SystemRiskMessageUserQuery.java

@ -0,0 +1,17 @@
package com.yxt.supervise.report.api.systemriskmessageuser;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/7/27 10:35
*/
@Data
public class SystemRiskMessageUserQuery implements Query {
private String id;
private String sid;
private String messageSid;
private String openId;
private String state;
}

17
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageuser/SystemRiskMessageUserVo.java

@ -0,0 +1,17 @@
package com.yxt.supervise.report.api.systemriskmessageuser;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/7/27 10:35
*/
@Data
public class SystemRiskMessageUserVo implements Vo {
private String id;
private String sid;
private String messageSid;
private String openId;
private String state;
}

16
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/imgmessageslog/ImgMessagesLogRest.java

@ -1,6 +1,7 @@
package com.yxt.supervise.report.biz.imgmessageslog; package com.yxt.supervise.report.biz.imgmessageslog;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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,8 +9,13 @@ import com.yxt.supervise.report.api.imgmessageslog.ImgMessagesLogDto;
import com.yxt.supervise.report.api.imgmessageslog.ImgMessagesLogQuery; import com.yxt.supervise.report.api.imgmessageslog.ImgMessagesLogQuery;
import com.yxt.supervise.report.api.imgmessageslog.ImgMessagesLogVo; import com.yxt.supervise.report.api.imgmessageslog.ImgMessagesLogVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
/** /**
* @author wangpengfei * @author wangpengfei
* @date 2023/7/27 9:56 * @date 2023/7/27 9:56
@ -35,6 +41,16 @@ public class ImgMessagesLogRest {
return ImgMessagesLogService.getMessageBySid(sid,wxCode); return ImgMessagesLogService.getMessageBySid(sid,wxCode);
} }
/**
* 定时查询未读风险消息 继续推送
* @throws InterruptedException
*/
@Scheduled(cron = "0 0 * * * ?")
public void build() {
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String date=ft.format(new Date());
}
} }

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

@ -14,28 +14,24 @@ import com.yxt.supervise.report.api.imgmessageslog.ImgMessagesLog;
import com.yxt.supervise.report.api.imgmessageslog.ImgMessagesLogDto; import com.yxt.supervise.report.api.imgmessageslog.ImgMessagesLogDto;
import com.yxt.supervise.report.api.imgmessageuser.ImgMessageUser; import com.yxt.supervise.report.api.imgmessageuser.ImgMessageUser;
import com.yxt.supervise.report.api.messageopenid.MessageOpenid; import com.yxt.supervise.report.api.messageopenid.MessageOpenid;
import com.yxt.supervise.report.api.messageopenid.MessageOpenidDto;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLog; import com.yxt.supervise.report.api.messagepushlog.MessagePushLog;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogDto; import com.yxt.supervise.report.api.messagepushlog.MessagePushLogDto;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogQuery; import com.yxt.supervise.report.api.messagepushlog.MessagePushLogQuery;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogVo; import com.yxt.supervise.report.api.messagepushlog.MessagePushLogVo;
import com.yxt.supervise.report.api.reportsalesdaygather.ReportSalesDayGather;
import com.yxt.supervise.report.api.reportsalesdaygather.ReportSalesDayGatherQuery;
import com.yxt.supervise.report.api.reportsalesdaygather.ReportSalesDayGatherVo;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStore;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreDto;
import com.yxt.supervise.report.api.riskmessageslog.RiskMessagesLog; import com.yxt.supervise.report.api.riskmessageslog.RiskMessagesLog;
import com.yxt.supervise.report.api.riskmessageslog.RiskMessagesLogDto; import com.yxt.supervise.report.api.riskmessageslog.RiskMessagesLogDto;
import com.yxt.supervise.report.api.riskmessageuser.RiskMessageUser; import com.yxt.supervise.report.api.riskmessageuser.RiskMessageUser;
import com.yxt.supervise.report.api.systemriskmessageslog.SystemRiskMessagesLog;
import com.yxt.supervise.report.api.systemriskmessageslog.SystemRiskMessagesLogDto;
import com.yxt.supervise.report.api.systemriskmessageuser.SystemRiskMessageUser;
import com.yxt.supervise.report.biz.imgmessageslog.ImgMessagesLogService; import com.yxt.supervise.report.biz.imgmessageslog.ImgMessagesLogService;
import com.yxt.supervise.report.biz.imgmessageuser.ImgMessageUserService; import com.yxt.supervise.report.biz.imgmessageuser.ImgMessageUserService;
import com.yxt.supervise.report.biz.messageopenid.MessageOpenidService; import com.yxt.supervise.report.biz.messageopenid.MessageOpenidService;
import com.yxt.supervise.report.biz.riskmessageslog.RiskMessagesLogService; import com.yxt.supervise.report.biz.riskmessageslog.RiskMessagesLogService;
import com.yxt.supervise.report.biz.riskmessageuser.RiskMessageUserService; import com.yxt.supervise.report.biz.riskmessageuser.RiskMessageUserService;
import com.yxt.supervise.report.biz.systemriskmessageslog.SystemRiskMessagesLogService;
import com.yxt.supervise.report.biz.systemriskmessageuser.SystemRiskMessageUserService;
import com.yxt.supervise.report.ds.system.SysUser; import com.yxt.supervise.report.ds.system.SysUser;
import com.yxt.supervise.system.dicttype.DictType;
import com.yxt.supervise.system.dicttype.DictTypeVo;
import com.yxt.supervise.system.flow.FlowTaskVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -59,6 +55,10 @@ public class MessagePushLogService extends MybatisBaseService<MessagePushLogMapp
ImgMessagesLogService imgMessagesLogService; ImgMessagesLogService imgMessagesLogService;
@Autowired @Autowired
ImgMessageUserService imgMessageUserService; ImgMessageUserService imgMessageUserService;
@Autowired
SystemRiskMessagesLogService systemRiskMessagesLogService;
@Autowired
SystemRiskMessageUserService systemRiskMessageUserService;
public ResultBean save(MessagePushLogDto dto) { public ResultBean save(MessagePushLogDto dto) {
//删除同天同项目消息 //删除同天同项目消息
baseMapper.delete(new QueryWrapper<MessagePushLog>().eq("projectSid",dto.getProjectSid()).eq("orderDate",dto.getOrderDate())); baseMapper.delete(new QueryWrapper<MessagePushLog>().eq("projectSid",dto.getProjectSid()).eq("orderDate",dto.getOrderDate()));
@ -94,6 +94,24 @@ public class MessagePushLogService extends MybatisBaseService<MessagePushLogMapp
} }
return rb.success().setMsg("保存成功"); 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();
BeanUtil.copyProperties(dto, entity, "id");
entity.setSid(UUID.randomUUID().toString());
systemRiskMessagesLogService.insert(entity);
for(String openid:dto.getMessageOpenids()){
SystemRiskMessageUser messageOpenid=new SystemRiskMessageUser();
messageOpenid.setOpenId(openid);
messageOpenid.setMessageSid(entity.getSid());
messageOpenid.setSid(UUID.randomUUID().toString());
systemRiskMessageUserService.save(messageOpenid);
}
return rb.success().setMsg("保存成功");
} }
public ResultBean riskImgSave(ImgMessagesLogDto dto) { public ResultBean riskImgSave(ImgMessagesLogDto dto) {
//删除同天同项目消息 //删除同天同项目消息

25
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageslog/SystemRiskMessagesLogMapper.java

@ -0,0 +1,25 @@
package com.yxt.supervise.report.biz.systemriskmessageslog;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
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.systemriskmessageslog.SystemRiskMessagesLog;
import com.yxt.supervise.report.api.systemriskmessageslog.SystemRiskMessagesLogVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* @author wangpengfei
* @date 2023/7/27 9:56
*/
@Mapper
public interface SystemRiskMessagesLogMapper extends BaseMapper<SystemRiskMessagesLog> {
@Select("select count(o.id) from message_push_log l left join message_openid o on o.messageSid=l.sid where o.openId=#{openid} and o.state=#{state}")
int getAllByUserSid(@Param("openid") String openid,@Param("state")String state);
IPage<SystemRiskMessagesLogVo> selectPageVo(IPage<SystemRiskMessagesLog> page, @Param(Constants.WRAPPER) Wrapper<SystemRiskMessagesLog> qw);
@Select("select * from risk_messages_log where riskSid =#{sid} order by messageTime desc limit 1")
SystemRiskMessagesLogVo getMessageBySid(@Param("sid") String sid);
}

32
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageslog/SystemRiskMessagesLogMapper.xml

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.supervise.report.biz.systemriskmessageslog.SystemRiskMessagesLogMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.supervise.report.api.systemriskmessageslog.SystemRiskMessagesLogVo">
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="getSystemRiskMessagesLog" resultType="com.yxt.supervise.report.api.systemriskmessageslog.SystemRiskMessagesLogVo">
SELECT
*
FROM
report_sales_day_log
<where> ${ew.sqlSegment} </where>
</select>
<select id="getLogByOrderDate" resultType="com.yxt.supervise.report.api.systemriskmessageslog.SystemRiskMessagesLogVo">
SELECT
*
FROM
report_sales_day_log
where
orderDate=#{orderDate}
</select>
<select id="getAllSystemRiskMessagesLog" resultType="com.yxt.supervise.report.api.systemriskmessageslog.SystemRiskMessagesLogVo">
SELECT
*
FROM
report_sales_day_store
<where> ${ew.sqlSegment} </where>
</select>
</mapper>

40
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageslog/SystemRiskMessagesLogRest.java

@ -0,0 +1,40 @@
package com.yxt.supervise.report.biz.systemriskmessageslog;
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.systemriskmessageslog.SystemRiskMessagesLogDto;
import com.yxt.supervise.report.api.systemriskmessageslog.SystemRiskMessagesLogQuery;
import com.yxt.supervise.report.api.systemriskmessageslog.SystemRiskMessagesLogVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @author wangpengfei
* @date 2023/7/27 9:56
*/
@RestController
@RequestMapping("/SystemRiskMessagesLog")
public class SystemRiskMessagesLogRest {
@Autowired
SystemRiskMessagesLogService SystemRiskMessagesLogService;
@PostMapping("/save")
public ResultBean save(@RequestBody SystemRiskMessagesLogDto dto){
return SystemRiskMessagesLogService.save(dto);
}
@PostMapping("/listPage")
public ResultBean listPage(@RequestBody PagerQuery<SystemRiskMessagesLogQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<SystemRiskMessagesLogVo> pv = SystemRiskMessagesLogService.listPage(pq);
return rb.success().setData(pv);
}
@GetMapping("/getMessageBySid/{sid}/{wxCode}")
public ResultBean getMessageBySid(@PathVariable("sid") String sid,@PathVariable("wxCode") String wxCode ){
return SystemRiskMessagesLogService.getMessageBySid(sid,wxCode);
}
}

108
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageslog/SystemRiskMessagesLogService.java

@ -0,0 +1,108 @@
package com.yxt.supervise.report.biz.systemriskmessageslog;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
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.messageopenid.MessageOpenid;
import com.yxt.supervise.report.api.systemriskmessageslog.SystemRiskMessagesLog;
import com.yxt.supervise.report.api.systemriskmessageslog.SystemRiskMessagesLogDto;
import com.yxt.supervise.report.api.systemriskmessageslog.SystemRiskMessagesLogQuery;
import com.yxt.supervise.report.api.systemriskmessageslog.SystemRiskMessagesLogVo;
import com.yxt.supervise.report.api.systemriskmessageuser.SystemRiskMessageUser;
import com.yxt.supervise.report.biz.messageopenid.MessageOpenidService;
import com.yxt.supervise.report.biz.projectdaily.ProjectDailyRest;
import com.yxt.supervise.report.biz.riskmessageuser.RiskMessageUserService;
import com.yxt.supervise.report.biz.systemriskmessageuser.SystemRiskMessageUserService;
import com.yxt.supervise.report.ds.rms.RiskAlarm;
import com.yxt.supervise.report.ds.rms.RmsMapper;
import com.yxt.supervise.report.ds.system.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.UUID;
/**
* @author wangpengfei
* @date 2023/7/27 9:56
*/
@Service
public class SystemRiskMessagesLogService extends MybatisBaseService<SystemRiskMessagesLogMapper, SystemRiskMessagesLog> {
String APP_ID = "wx05604ce2a8bede05";
String SECRET = "3d36e8a61212cf773a2fa4e6c9a83334";
@Autowired
MessageOpenidService messageOpenidService;
@Autowired
com.yxt.supervise.report.ds.system.systemMapper systemMapper;
@Autowired
RmsMapper rmsMapper;
@Autowired
ProjectDailyRest projectDailyRest;
@Autowired
SystemRiskMessageUserService systemRiskMessageUserService;
public ResultBean save(SystemRiskMessagesLogDto dto) {
//删除同天同项目消息
baseMapper.delete(new QueryWrapper<SystemRiskMessagesLog>().eq("projectSid",dto.getProjectSid()).eq("orderDate",dto.getOrderDate()));
ResultBean rb=new ResultBean();
SystemRiskMessagesLog entity=new SystemRiskMessagesLog();
BeanUtil.copyProperties(dto, entity, "id");
entity.setSid(UUID.randomUUID().toString());
baseMapper.insert(entity);
for(String openid:dto.getMessageOpenids()){
MessageOpenid messageOpenid=new MessageOpenid();
messageOpenid.setOpenId(openid);
messageOpenid.setMessageSid(entity.getSid());
messageOpenid.setSid(UUID.randomUUID().toString());
messageOpenidService.save(messageOpenid);
}
return rb.success().setMsg("保存成功");
}
public ResultBean getMessageBySid(String sid,String wxCode) {
ResultBean rb=new ResultBean();
RiskAlarm riskAlarm=rmsMapper.getRiskByMessSid(sid);
SystemRiskMessagesLogVo vo= baseMapper.getMessageBySid(riskAlarm.getSid());
vo.setShName(riskAlarm.getPositionName());
vo.setText(riskAlarm.getContent());
ResultBean<JSONObject> rbJsonObject = projectDailyRest.wxLogin(wxCode, APP_ID, SECRET);
JSONObject jsonObject = rbJsonObject.getData();
String openid = jsonObject.get("openid").toString();
if(null!=vo){
SystemRiskMessageUser riskMessageUser = systemRiskMessageUserService.getOne(new QueryWrapper<SystemRiskMessageUser>().eq("openId", openid).eq("messageSid", vo.getSid()));
if (null != riskMessageUser) {
riskMessageUser.setState("1");
systemRiskMessageUserService.updateById(riskMessageUser);
}
}
return rb.success().setData(vo);
}
public PagerVo<SystemRiskMessagesLogVo> listPage(PagerQuery<SystemRiskMessagesLogQuery> pq) {
ResultBean rb=new ResultBean();
SystemRiskMessagesLogQuery query = pq.getParams();
// String openid=systemMapper.getAppletOpenidByUsersid(query.getUserSid());
SysUser sysUser=systemMapper.getAppletOpenidByUsersid(query.getUserSid());
IPage<SystemRiskMessagesLog> page = PagerUtil.queryToPage(pq);
QueryWrapper<SystemRiskMessagesLog> 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);
}
}
IPage<SystemRiskMessagesLogVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<SystemRiskMessagesLogVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
}

16
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageuser/SystemRiskMessageUserMapper.java

@ -0,0 +1,16 @@
package com.yxt.supervise.report.biz.systemriskmessageuser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.supervise.report.api.systemriskmessageuser.SystemRiskMessageUser;
import org.apache.ibatis.annotations.Mapper;
/**
* @author wangpengfei
* @date 2023/7/27 9:56
*/
@Mapper
public interface SystemRiskMessageUserMapper extends BaseMapper<SystemRiskMessageUser> {
}

29
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageuser/SystemRiskMessageUserMapper.xml

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.supervise.report.biz.systemriskmessageuser.SystemRiskMessageUserMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="getSystemRiskMessageUser" resultType="com.yxt.supervise.report.api.systemriskmessageuser.SystemRiskMessageUserVo">
SELECT
*
FROM
report_sales_day_log
<where> ${ew.sqlSegment} </where>
</select>
<select id="getLogByOrderDate" resultType="com.yxt.supervise.report.api.systemriskmessageuser.SystemRiskMessageUserVo">
SELECT
*
FROM
report_sales_day_log
where
orderDate=#{orderDate}
</select>
<select id="getAllSystemRiskMessageUser" resultType="com.yxt.supervise.report.api.systemriskmessageuser.SystemRiskMessageUserVo">
SELECT
*
FROM
report_sales_day_store
<where> ${ew.sqlSegment} </where>
</select>
</mapper>

29
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageuser/SystemRiskMessageUserRest.java

@ -0,0 +1,29 @@
package com.yxt.supervise.report.biz.systemriskmessageuser;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.report.api.systemriskmessageuser.SystemRiskMessageUserDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/7/27 9:56
*/
@RestController
@RequestMapping("/SystemRiskMessageUser")
public class SystemRiskMessageUserRest {
@Autowired
SystemRiskMessageUserService SystemRiskMessageUserService;
@PostMapping("/save")
public ResultBean save(@RequestBody List<SystemRiskMessageUserDto> dto){
return SystemRiskMessageUserService.save(dto);
}
}

32
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageuser/SystemRiskMessageUserService.java

@ -0,0 +1,32 @@
package com.yxt.supervise.report.biz.systemriskmessageuser;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.report.api.systemriskmessageuser.SystemRiskMessageUser;
import com.yxt.supervise.report.api.systemriskmessageuser.SystemRiskMessageUserDto;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.UUID;
/**
* @author wangpengfei
* @date 2023/7/27 9:56
*/
@Service
public class SystemRiskMessageUserService extends MybatisBaseService<SystemRiskMessageUserMapper, SystemRiskMessageUser> {
public ResultBean save(List<SystemRiskMessageUserDto> dto) {
ResultBean rb=new ResultBean();
for(SystemRiskMessageUserDto dto1:dto){
SystemRiskMessageUser entity=new SystemRiskMessageUser();
BeanUtil.copyProperties(dto1, entity, "id");
entity.setSid(UUID.randomUUID().toString());
baseMapper.insert(entity);
}
return rb.success().setMsg("保存成功");
}
}

236
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java

@ -75,8 +75,6 @@ public class WechatRest {
@Autowired @Autowired
WechatService wechatService; WechatService wechatService;
@Autowired @Autowired
private WechatApiService wechatApiService;
@Autowired
private CsmCashReportMapper csmCashReportMapper; private CsmCashReportMapper csmCashReportMapper;
@Autowired @Autowired
private ReportInventoryDayGatherMapper reportInventoryDayGatherMapper; private ReportInventoryDayGatherMapper reportInventoryDayGatherMapper;
@ -111,13 +109,6 @@ public class WechatRest {
return token; return token;
} }
public void selectReport(String projectSid,String orderDate) throws Exception {
if(projectSid.equals("d8bf7556-6db4-46b1-87eb-f3e9f93d330f")){
shgfSendMessage(projectSid,orderDate);
}else if(projectSid.equals("236408a1-c36e-416c-9f49-d6caa7671009")){
hcsmSendMessage(projectSid,orderDate);
}
}
@GetMapping(value = "authGet",produces = "text/plain;charset=utf-8") @GetMapping(value = "authGet",produces = "text/plain;charset=utf-8")
public String authGet(@RequestParam(name = "signature", required = false) String signature, public String authGet(@RequestParam(name = "signature", required = false) String signature,
@RequestParam(name = "timestamp", required = false) String timestamp, @RequestParam(name = "timestamp", required = false) String timestamp,
@ -291,71 +282,6 @@ public class WechatRest {
//return forEntity.getBody(); //return forEntity.getBody();
} }
/**
* 瀚川库存推送
* @param orderDate
* @throws Exception
*/
@PostMapping("/hcsmSendMessage/{projectSid}/{orderDate}")
public void hcsmSendMessage(@PathVariable("projectSid") String projectSid,@PathVariable("orderDate") String orderDate) throws Exception {
ReportStockDay reportStockDay=stockDayRest.getDayGather(projectSid,orderDate).getData();
// 模板参数
Map<String, Template> sendMag = new HashMap<String, Template>();
// 公众号的模板id(也有相应的接口可以查询到)
String templateId = "BT6BHEojCmgWNTcpz1raHNIpJEEISP1E134btP51p_8";
//微信的基础accessToken
// String accessToken=getAccessToken(APP_ID_BIZ,APPSECRETBIZ);
String accessToken=getAccessToken("wx05604ce2a8bede05","3d36e8a61212cf773a2fa4e6c9a83334");
String wxUrl = WX_URL_MESSAGE_SEND.replace("ACCESS_TOKEN", accessToken);
List<String> openIds=new ArrayList<>();
openIds.add("oA-GE6zKB_5wQsVX6USlRQYV39vE");
String pa="";
JSONObject jsonObject=new JSONObject();
List<MessageOpenidDto> list=new ArrayList<>();
for(String openId:openIds){
MessageOpenidDto dto=new MessageOpenidDto();
dto.setOpenId(openId);
list.add(dto);
// sendMag.put("time1", new Template(reportStockDay.getReportTime()));
sendMag.put("time1", new Template("测试"));
sendMag.put("thing2", new Template("质物库存汇总()"));
sendMag.put("thing3", new Template("赵丽晓"));
Map<String, String> miniprogram = new HashMap<>();
miniprogram.put("appid","wx05604ce2a8bede05");
miniprogram.put("pagepath","pages/index/InventorySummary?orderDate="+reportStockDay.getOrderDate()+"&"+"projectSid="+reportStockDay.getProjectSid());
pa=miniprogram.get("pagepath");
RestTemplate restTemplate = new RestTemplate();
//拼接base参数
Map<String, Object> sendBody = new HashMap<>();
sendBody.put("miniprogram",miniprogram);
sendBody.put("touser", openId); // openId
sendBody.put("url", ""); // 点击模板信息跳转地址
sendBody.put("topcolor", "#FF0000"); // 顶色
sendBody.put("data", sendMag); // 模板参数
sendBody.put("template_id", templateId);// 模板Id
ResponseEntity<String> forEntity = restTemplate.postForEntity(wxUrl, sendBody, String.class);
jsonObject = JSONObject.parseObject(forEntity.getBody());
}
// 0
String messageCode = jsonObject.getString("errcode");
// 2431260672639467520
String msgId = jsonObject.getString("msgid");
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId);
//推送消息之后保存消息日志
// MessagePushLogDto logDto=new MessagePushLogDto();
// logDto.setContent(sendMag);
// logDto.setMessageTime(reportStockDay.getReportTime());
// logDto.setPagepath(pa);
// logDto.setMessageOpenidDtos(list);
// ThreadUtil.execute(() -> {
// try {
//// messagePushLogService.save(logDto);
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
// });
//return forEntity.getBody();
}
/** /**
* 公共模版消息推送 * 公共模版消息推送
* @param orderDate * @param orderDate
@ -452,6 +378,42 @@ public class WechatRest {
r= SuperviseWxMessSender.jkImgSend("赵丽晓",openIds,projectSid,riskSid,name,riskSid,ft.format(new Date())); r= SuperviseWxMessSender.jkImgSend("赵丽晓",openIds,projectSid,riskSid,name,riskSid,ft.format(new Date()));
System.out.println(r); System.out.println(r);
} }
@GetMapping("/sysErrMessage")
public void sysErrMessage(@RequestParam("riskSid") String riskSid){
//String messSid=imgMessagesLogMapper.getImgRiskByCode();
RespMessReturn r=new RespMessReturn();
//List<UserProject> user= crmMapper.users(shSid);
List<String> openIds=new ArrayList<>();
List<String> mobiles=new ArrayList<>();
openIds.add("oA-GE69cBwiWG5Tx5R3vvy60o8qk");
mobiles.add("15932270269");
openIds.add("oA-GE68JFODQucAXkJQYHPoFOAgs");
mobiles.add("18603312020");
openIds.add("oA-GE68gus7lbb-oy4iqCF0ZhNgo");
mobiles.add("13513219196");
openIds.add("oA-GE67j581HgEsim_waItx2KOzE");
mobiles.add("13513211777");
openIds.add("oA-GE67P_1xD1uKBcexK3wWtFO5Y");
mobiles.add("13623307393");
openIds.add("oA-GE6zKB_5wQsVX6USlRQYV39vE");
mobiles.add("13131170271");
// for(UserProject u:user){
// SysUser sysUser=systemMapper.getAppletOpenidByUsersid(u.getUserSid());
// if(null!=sysUser) {
// if (com.yxt.common.base.utils.StringUtils.isNotNull(sysUser.getAppletOpenid())) {
// openIds.add(sysUser.getAppletOpenid());
// mobiles.add(sysUser.getMobile());
// }
// }
// }
//String projectSid=crmMapper.ProjectSidByshSid(shSid);
//String name=warehouseMapper.getNameBySid(shSid);
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
// 公众号的模板id(也有相应的接口可以查询到)
//sendVerificationCode(name,mobiles,"030405");
r= SuperviseWxMessSender.sysErrSend(openIds,riskSid,riskSid,ft.format(new Date()));
System.out.println(r);
}
public ResultBean sendVerificationCode(String shName, List<String> users,String type) { public ResultBean sendVerificationCode(String shName, List<String> users,String type) {
ResultBean rb = new ResultBean().fireFail(); ResultBean rb = new ResultBean().fireFail();
Date date = new Date(); Date date = new Date();
@ -516,78 +478,7 @@ public class WechatRest {
return ResultBean.fireSuccess().setMsg("发送短信验证码成功"); return ResultBean.fireSuccess().setMsg("发送短信验证码成功");
} }
/**
* 山海光伏库存推送
* @param orderDate
* @throws Exception
*/
@PostMapping("/shgfSendMessage/{projectSid}/{orderDate}")
public void shgfSendMessage(@PathVariable("projectSid") String projectSid,@PathVariable("orderDate") String orderDate) throws Exception {
ReportStockDay reportStockDay=stockDayRest.getDayGather(projectSid,orderDate).getData();
// 模板参数
Map<String, Template> sendMag = new HashMap<String, Template>();
// 公众号的模板id(也有相应的接口可以查询到)
String templateId = "BT6BHEojCmgWNTcpz1raHNIpJEEISP1E134btP51p_8";
//微信的基础accessToken
String accessToken=getAccessToken(APP_ID_BIZ,APPSECRETBIZ);
String wxUrl = WX_URL_MESSAGE_SEND.replace("ACCESS_TOKEN", accessToken);
List<String> openIds=new ArrayList<>();
openIds.add("oGdho60xVtWEXUks7nYEAn0tGlDE");
openIds.add("oGdho612Vd1p8v_o1Zw2f8rCA9_M");
openIds.add("oGdho615_xBMYYwftEjjBlC6p2uE");
openIds.add("oGdho6ys73QBJ_iM0aHWdvPnl_zs");
openIds.add("oGdho66394A-4-NyumcJ1MEaT8Lo");
openIds.add("oGdho68CArVhC_-7ELkG-jX21ruk");
openIds.add("oGdho6yYB47f52HVk2NqirrFbRRk");
openIds.add("oGdho6-12-ioAKeLhVUDYPucbDb4");
openIds.add("oGdho668Hew45t0xfBJC84TNGVzI");
openIds.add("oGdho6-LvwNY6KylgMlEG0C_JMmQ");
String pa="";
JSONObject jsonObject=new JSONObject();
List<MessageOpenidDto> list=new ArrayList<>();
for(String openId:openIds){
MessageOpenidDto dto=new MessageOpenidDto();
dto.setOpenId(openId);
list.add(dto);
sendMag.put("time1", new Template(reportStockDay.getReportTime()));
sendMag.put("thing2", new Template("质物库存汇总("+reportStockDay.getProjectName()+")"));
sendMag.put("thing3", new Template("赵丽晓"));
Map<String, String> miniprogram = new HashMap<>();
miniprogram.put("appid","wx05604ce2a8bede05");
miniprogram.put("pagepath","pages/index/InventorySummary?orderDate="+reportStockDay.getOrderDate()+"&"+"projectSid="+reportStockDay.getProjectSid());
pa=miniprogram.get("pagepath");
RestTemplate restTemplate = new RestTemplate();
//拼接base参数
Map<String, Object> sendBody = new HashMap<>();
sendBody.put("miniprogram",miniprogram);
sendBody.put("touser", openId); // openId
sendBody.put("url", ""); // 点击模板信息跳转地址
sendBody.put("topcolor", "#FF0000"); // 顶色
sendBody.put("data", sendMag); // 模板参数
sendBody.put("template_id", templateId);// 模板Id
ResponseEntity<String> forEntity = restTemplate.postForEntity(wxUrl, sendBody, String.class);
jsonObject = JSONObject.parseObject(forEntity.getBody());
}
// 0
String messageCode = jsonObject.getString("errcode");
// 2431260672639467520
String msgId = jsonObject.getString("msgid");
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId);
// //推送消息之后保存消息日志
// MessagePushLogDto logDto=new MessagePushLogDto();
// logDto.setContent(sendMag);
// logDto.setMessageTime(reportStockDay.getReportTime());
// logDto.setPagepath(pa);
// logDto.setMessageOpenidDtos(list);
// ThreadUtil.execute(() -> {
// try {
// messagePushLogService.save(logDto);
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
// });
//return forEntity.getBody();
}
public String getAccessToken(String appId,String appsecret) throws Exception { public String getAccessToken(String appId,String appsecret) throws Exception {
String url = WX_URL_ACCESS_TOKEN.replace("APPID", appId).replace("APPSECRET", appsecret); String url = WX_URL_ACCESS_TOKEN.replace("APPID", appId).replace("APPSECRET", appsecret);
@ -654,18 +545,6 @@ public class WechatRest {
// 2431260672639467520 // 2431260672639467520
String msgId = jsonObject.getString("msgid"); String msgId = jsonObject.getString("msgid");
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId); System.out.println("messageCode : " + messageCode + ", msgId: " +msgId);
// MessagePushLogDto logDto=new MessagePushLogDto();
// logDto.setContent(sendMag);
// logDto.setMessageTime(reportStockDay.getReportTime());
// logDto.setPagepath(pa);
// logDto.setMessageOpenidDtos(list);
// ThreadUtil.execute(() -> {
// try {
// messagePushLogService.save(logDto);
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
// });
//return forEntity.getBody(); //return forEntity.getBody();
} }
public String getAccessTokenBiz(String appId,String appsecret) throws Exception { public String getAccessTokenBiz(String appId,String appsecret) throws Exception {
@ -676,46 +555,7 @@ public class WechatRest {
String at=jsonObject.getString("access_token"); String at=jsonObject.getString("access_token");
return at; return at;
} }
/**
* * 发送模板消息
* pagepath 用户点击时需要跳转的小程序页面
* openid 接收消息的用户openid
* messageContent 推送消息主体内容
*/
// public static void sendTemplateMessage(String openid,String pagepath, String messageContent) {
// WxMpInMemoryConfigStorage wxStorage = new WxMpInMemoryConfigStorage();
// wxStorage.setAppId(tencentSubscriptionAppid);//appid 公众账号的唯一标识
// wxStorage.setSecret(tencentSubscriptionAppSecret);//appsecret 公众账号的**
// WxMpService wxMpService = new WxMpServiceImpl();
// wxMpService.setWxMpConfigStorage(wxStorage);
//
// WxMpTemplateMessage.MiniProgram miniProgram = new WxMpTemplateMessage.MiniProgram();
// miniProgram.setAppid(WxConfig.APP_ID);//小程序appid
// miniProgram.setUsePath(true);
// miniProgram.setPagePath("/pages/index/index?foo=bar");//用户点击时需要跳转的小程序页面
// //2,推送消息
// WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
// .toUser(openid)//要推送的用户openid
// .templateId(templateTemplateID)//消息模版id
// //.url("http://mp.weixin.qq.com/download")//点击模版消息要访问的网址
// .miniProgram(miniProgram)
// .build();
// //3,如果是正式版发送模版消息,这里需要配置你的信息
// templateMessage.addData(new WxMpTemplateData("first","健康预警信息提示", "#FF00FF"));
// templateMessage.addData(new WxMpTemplateData("keyword1","红色预警", "#FF00FF"));
// templateMessage.addData(new WxMpTemplateData("keyword2","紧急处理", "#FF00FF"));
// templateMessage.addData(new WxMpTemplateData("remark",messageContent, "#FF00FF"));
//
// //发起推送
// try {
// String msg = wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);
// log.info("推送成功:" + msg);
// } catch (Exception e) {
// log.info("推送失败:" + e.getMessage());
// e.printStackTrace();
// }
//
// }
@PostMapping("/subscribe") @PostMapping("/subscribe")
public ResultBean subscribe() throws AesException, IOException, SAXException, ParserConfigurationException { public ResultBean subscribe() throws AesException, IOException, SAXException, ParserConfigurationException {
ResultBean rb =new ResultBean(); ResultBean rb =new ResultBean();

57
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/SuperviseWxMessSender.java

@ -6,6 +6,7 @@ import com.yxt.supervise.report.api.imgmessageslog.ImgMessagesLogDto;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLog; import com.yxt.supervise.report.api.messagepushlog.MessagePushLog;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogDto; import com.yxt.supervise.report.api.messagepushlog.MessagePushLogDto;
import com.yxt.supervise.report.api.riskmessageslog.RiskMessagesLogDto; import com.yxt.supervise.report.api.riskmessageslog.RiskMessagesLogDto;
import com.yxt.supervise.report.api.systemriskmessageslog.SystemRiskMessagesLogDto;
import com.yxt.supervise.report.biz.messagepushlog.MessagePushLogService; import com.yxt.supervise.report.biz.messagepushlog.MessagePushLogService;
import com.yxt.supervise.report.biz.riskmessageslog.RiskMessagesLogService; import com.yxt.supervise.report.biz.riskmessageslog.RiskMessagesLogService;
import com.yxt.supervise.report.wx.obj.RespMessReturn; import com.yxt.supervise.report.wx.obj.RespMessReturn;
@ -73,21 +74,13 @@ public class SuperviseWxMessSender {
public static RespMessReturn jkSend(String sender, List<String> tousers, String projectSid,String riskSid, String projectName,String messSid, String reportTime) { public static RespMessReturn jkSend(String sender, List<String> tousers, String projectSid,String riskSid, String projectName,String messSid, String reportTime) {
RespMessReturn respMessReturn=new RespMessReturn(); RespMessReturn respMessReturn=new RespMessReturn();
String orderDate = reportTime.substring(0, 10); String orderDate = reportTime.substring(0, 10);
// String pagepath = jgsjzl_pagepath.replace("ORDER_DATE", orderDate).replace("PROJECT_SID", projectSid);?
// String pagepath ="pages/index/DeviceException"+"?sid"+messSid;
String pagepath ="pages/index/DeviceException"+"?sid="+messSid; String pagepath ="pages/index/DeviceException"+"?sid="+messSid;
HashMap<String, String> data = new HashMap<>(); HashMap<String, String> data = new HashMap<>();
data.put("thing2", projectName); data.put("thing8", projectName);
data.put("thing2", "监控设备离线");
data.put("time4", reportTime); data.put("time4", reportTime);
data.put("thing5", "监控设备异常");
// String thing2 = projectName;
// data.put("thing4", maxLength20(thing2));
// data.put("const2", reportTime);
// data.put("const3", reportTime);
// data.put("character_string5", "");
// data.put("time1", reportTime);
for(String touser:tousers){ for(String touser:tousers){
respMessReturn = WxMessage.sendMessage("xwFrrZ4gkdWXu0fB4l2S59aYt9Zvlt4zRYRvIzf0sUU", touser, pagepath, data); respMessReturn = WxMessage.sendMessage("8GIicKf9w7XSP3awtjX7R1Pe5Z746Au1fUghwWDyFc8", touser, pagepath, data);
} }
System.out.println("增加消息"); System.out.println("增加消息");
RiskMessagesLogDto logDto=new RiskMessagesLogDto(); RiskMessagesLogDto logDto=new RiskMessagesLogDto();
@ -111,19 +104,12 @@ public class SuperviseWxMessSender {
RespMessReturn respMessReturn=new RespMessReturn(); RespMessReturn respMessReturn=new RespMessReturn();
String orderDate = reportTime.substring(0, 10); String orderDate = reportTime.substring(0, 10);
String pagepath ="pages/index/GoodsException"+"?sid="+messSid; String pagepath ="pages/index/GoodsException"+"?sid="+messSid;
// String pagepath = "";
HashMap<String, String> data = new HashMap<>(); HashMap<String, String> data = new HashMap<>();
data.put("thing2", projectName); data.put("thing8", projectName);
data.put("thing2", "图片对比异常");
data.put("time4", reportTime); data.put("time4", reportTime);
data.put("thing5", "图片比对异常");
// String thing2 = projectName;
// data.put("thing4", maxLength20(thing2));
// data.put("const2", reportTime);
// data.put("const3", reportTime);
// data.put("character_string5", "");
// data.put("time1", reportTime);
for(String touser:tousers){ for(String touser:tousers){
respMessReturn = WxMessage.sendMessage("xwFrrZ4gkdWXu0fB4l2S59aYt9Zvlt4zRYRvIzf0sUU", touser, pagepath, data); respMessReturn = WxMessage.sendMessage("8GIicKf9w7XSP3awtjX7R1Pe5Z746Au1fUghwWDyFc8", touser, pagepath, data);
} }
ImgMessagesLogDto logDto=new ImgMessagesLogDto(); ImgMessagesLogDto logDto=new ImgMessagesLogDto();
logDto.setContent(data); logDto.setContent(data);
@ -142,6 +128,35 @@ public class SuperviseWxMessSender {
}); });
return respMessReturn; return respMessReturn;
} }
public static RespMessReturn sysErrSend(List<String> tousers,String riskSid, String messSid,String reportTime) {
RespMessReturn respMessReturn=new RespMessReturn();
String orderDate = reportTime.substring(0, 10);
String pagepath ="pages/index/GoodsException"+"?sid="+messSid;
HashMap<String, String> data = new HashMap<>();
data.put("thing2", "系统异常");
data.put("thing3", "监管平台");
data.put("time4", reportTime);
data.put("thing6", "系统连接错误");
for(String touser:tousers){
respMessReturn = WxMessage.sendMessage("Q0Bii6glb1Q4oihQQckAOZrEkzQzXPrjca6oiozcrc4", touser, pagepath, data);
}
SystemRiskMessagesLogDto logDto=new SystemRiskMessagesLogDto();
logDto.setContent(data);
logDto.setMessageTime(reportTime);
logDto.setPagepath(pagepath);
logDto.setMessageOpenids(tousers);
//logDto.setProjectSid(projectSid);
logDto.setOrderDate(orderDate);
logDto.setRiskSid(riskSid);
ThreadUtil.execute(() -> {
try {
superviseWxMessSender.messagePushLogService.systemRiskSave(logDto);
} catch (Exception e) {
throw new RuntimeException(e);
}
});
return respMessReturn;
}
private static String maxLength(String src, int length) { private static String maxLength(String src, int length) {
if (StringUtils.isBlank(src) || src.length() <= length) if (StringUtils.isBlank(src) || src.length() <= length)
return src; return src;

18
yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskrecord/RiskRecord.java

@ -0,0 +1,18 @@
package com.supervise.rms.api.riskrecord;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @author feikefei
* @create 2023-06-19-11:28
*/
@Data
@ApiModel(value = "记录最后一次提交时间")
@TableName("risk_record")
public class RiskRecord {
private Integer id ;
private String code;
private String date;
}

21
yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskrecord/RiskRecordDto.java

@ -0,0 +1,21 @@
package com.supervise.rms.api.riskrecord;
import com.supervise.rms.api.riskalarm.Device;
import com.supervise.rms.api.riskalarm.DeviceImages;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author feikefei
* @create 2023-06-19-11:34
*/
@Data
public class RiskRecordDto implements Dto {
private Integer id ;
private String code;
private String date;
}

18
yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskrecord/RiskRecordQuery.java

@ -0,0 +1,18 @@
package com.supervise.rms.api.riskrecord;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author feikefei
* @create 2023-06-19-11:36
*/
@Data
public class RiskRecordQuery implements Query {
private Integer id ;
private String code;
private String date;
}

18
yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskrecord/RiskRecordVo.java

@ -0,0 +1,18 @@
package com.supervise.rms.api.riskrecord;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author feikefei
* @create 2023-06-19-11:38
*/
@Data
public class RiskRecordVo implements Vo {
private Integer id ;
private String code;
private String date;
}

2
yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmMapper.java

@ -19,4 +19,6 @@ public interface RiskAlarmMapper extends BaseMapper<RiskAlarm> {
IPage<RiskAlarmVo> listPage(IPage<RiskAlarm> page, @Param(Constants.WRAPPER) Wrapper<RiskAlarm> qw); IPage<RiskAlarmVo> listPage(IPage<RiskAlarm> page, @Param(Constants.WRAPPER) Wrapper<RiskAlarm> qw);
@Select("select * from risk_alarm where positionSid=#{shSid} and indicatorCode=#{code} order by triggerTime desc limit 1") @Select("select * from risk_alarm where positionSid=#{shSid} and indicatorCode=#{code} order by triggerTime desc limit 1")
RiskAlarmVo getRiskAlarm(@Param("shSid")String shSid,@Param("code")String code); RiskAlarmVo getRiskAlarm(@Param("shSid")String shSid,@Param("code")String code);
@Select("select * from risk_alarm where indicatorCode=#{code} order by triggerTime desc limit 1")
RiskAlarmVo getRiskAlarmByCode(@Param("code")String code);
} }

156
yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmService.java

@ -7,7 +7,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.api.R; import com.baomidou.mybatisplus.extension.api.R;
import com.supervise.rms.api.riskalarm.*; import com.supervise.rms.api.riskalarm.*;
import com.supervise.rms.api.riskindicators.RiskIndicators; import com.supervise.rms.api.riskindicators.RiskIndicators;
import com.supervise.rms.api.riskrecord.RiskRecord;
import com.supervise.rms.api.riskrecord.RiskRecordDto;
import com.supervise.rms.biz.riskindicators.RiskIndicatorsService; import com.supervise.rms.biz.riskindicators.RiskIndicatorsService;
import com.supervise.rms.biz.riskrecord.RiskRecordService;
import com.supervise.rms.feign.crm.StoreHouseProjectFeign; import com.supervise.rms.feign.crm.StoreHouseProjectFeign;
import com.supervise.rms.feign.crm.StoreHouseProjectVo; import com.supervise.rms.feign.crm.StoreHouseProjectVo;
import com.supervise.rms.feign.crm.UserProjectFeign; import com.supervise.rms.feign.crm.UserProjectFeign;
@ -24,9 +27,11 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.io.IOException; import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import static com.yxt.common.base.utils.MsgWs.SendWaitWorkMsg; import static com.yxt.common.base.utils.MsgWs.SendWaitWorkMsg;
@ -37,35 +42,12 @@ import static com.yxt.common.base.utils.MsgWs.SendWaitWorkMsg;
*/ */
@Service @Service
public class RiskAlarmService extends MybatisBaseService<RiskAlarmMapper, RiskAlarm> { public class RiskAlarmService extends MybatisBaseService<RiskAlarmMapper, RiskAlarm> {
/**
* 设置redis的过期时间为4小时
*/
public static final long USERS_REDIS_SESSION_TL_PC = 4 * 3600;
public static final long USERS_REDIS_SESSION_TL_App = 24 * 15 * 3600;
/**
* 验证码长度
*/
static final int LENGTH_OF_CODE = 4;
/**
* 调用发送短信接口返回值
*/
static final String RESULT_CODE = "1";
/**
* 手机短信登录验证码时效()
*/
static final long APP_LOGIN_CODE_TIME_LIMIT = 300L;
@Autowired @Autowired
RiskIndicatorsService riskIndicatorsService; RiskIndicatorsService riskIndicatorsService;
@Autowired @Autowired
WechatFeign wechatFeign; WechatFeign wechatFeign;
@Autowired @Autowired
private RedisUtil redisUtil; RiskRecordService riskRecordService;
@Autowired
private StoreHouseProjectFeign storeHouseProjectFeign;
@Autowired
private UserProjectFeign userProjectFeign;
@Autowired
private com.supervise.rms.feign.system.sysUserFeign sysUserFeign;
public PagerVo<RiskAlarmVo> listPage(PagerQuery<RiskAlarmQuery> pq) { public PagerVo<RiskAlarmVo> listPage(PagerQuery<RiskAlarmQuery> pq) {
RiskAlarmQuery params = pq.getParams(); RiskAlarmQuery params = pq.getParams();
@ -95,16 +77,25 @@ public class RiskAlarmService extends MybatisBaseService<RiskAlarmMapper, RiskAl
return rb.success().setMsg("更新成功"); return rb.success().setMsg("更新成功");
} }
/**
* 设备状态接收
* @param dto
* @return
*/
public ResultBean saveRisk(RiskAlarmDto dto) { public ResultBean saveRisk(RiskAlarmDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
RiskAlarm riskAlarm = new RiskAlarm(); RiskAlarm riskAlarm = new RiskAlarm();
BeanUtil.copyProperties(dto, riskAlarm); BeanUtil.copyProperties(dto, riskAlarm);
System.out.println(dto.getDevices().size()); SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm");
String date=ft.format(new Date());
RiskRecordDto riskRecord=new RiskRecordDto();
//riskRecord.setCode("030404");
riskRecord.setDate(date);
riskRecordService.saveRecord(riskRecord);
//正常状态 //正常状态
if (dto.getDevices().size() == 0) { if (dto.getDevices().size() == 0) {
} else { } else {
RiskIndicators riskIndicators = riskIndicatorsService.getOne(new QueryWrapper<RiskIndicators>().eq("code", "030404")); RiskIndicators riskIndicators = riskIndicatorsService.getOne(new QueryWrapper<RiskIndicators>().eq("code", "030404"));
// riskAlarm.setRemarks(str(dto.getDevices()));
riskAlarm.setIndicatorSid(riskIndicators.getSid()); riskAlarm.setIndicatorSid(riskIndicators.getSid());
riskAlarm.setIndicatorCode(riskIndicators.getCode()); riskAlarm.setIndicatorCode(riskIndicators.getCode());
riskAlarm.setIndicatorName(riskIndicators.getName()); riskAlarm.setIndicatorName(riskIndicators.getName());
@ -115,57 +106,29 @@ public class RiskAlarmService extends MybatisBaseService<RiskAlarmMapper, RiskAl
riskAlarm.setTreatmentTime(new Date()); riskAlarm.setTreatmentTime(new Date());
riskAlarm.setContent(dto.getDevices().toString()); riskAlarm.setContent(dto.getDevices().toString());
RiskAlarmVo riskAlarmVo = baseMapper.getRiskAlarm(dto.getSid(),"030404"); RiskAlarmVo riskAlarmVo = baseMapper.getRiskAlarm(dto.getSid(),"030404");
String shSid=dto.getSid(); determine(riskAlarmVo,riskAlarm,dto.getSid(),"0304034");
if (null == riskAlarmVo) {
baseMapper.insert(riskAlarm);
ThreadUtil.execute(()->{
//开始
System.out.println("推送开始");
wechatFeign.shMessage(shSid,riskAlarm.getSid());
//sendVerificationCode(dto.getSid(), dto.getName(), dto.getSendTime().toString());
});
}else{
Date newDate = addHour(riskAlarmVo.getCreateTime(), 4);
if (newDate.before(new Date())) {
baseMapper.insert(riskAlarm);
ThreadUtil.execute(()->{
//开始
System.out.println("推送开始");
wechatFeign.shMessage(shSid,riskAlarm.getSid());
//sendVerificationCode(dto.getSid(), dto.getName(), dto.getSendTime().toString());
});
return rb.success().setMsg("成功");
}
return rb.success().setMsg("成功");
}
} }
return rb.success().setMsg("成功"); return rb.success().setMsg("成功");
} }
public static String str(List<String> date) {
String c = "";
for(String u:date){
if(c.equals("")){
c=c+u;
}else{
c=c+","+u;
}
}
return c;
}
public static Date addHour(Date date, int i) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.add(Calendar.HOUR_OF_DAY, i);
Date newDate = c.getTime();
return newDate;
}
/**
* 图片对比
* @param dto
* @return
*/
public ResultBean contrast(RiskAlarmDto dto) { public ResultBean contrast(RiskAlarmDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
Integer s = 0; Integer s = 0;
RiskAlarm riskAlarm = new RiskAlarm(); RiskAlarm riskAlarm = new RiskAlarm();
BeanUtil.copyProperties(dto, riskAlarm); BeanUtil.copyProperties(dto, riskAlarm);
//最后提交时间
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm");
String date=ft.format(new Date());
RiskRecordDto riskRecord=new RiskRecordDto();
//riskRecord.setCode("030405");
riskRecord.setDate(date);
riskRecordService.saveRecord(riskRecord);
dto.getDeviceImages(); dto.getDeviceImages();
for(DeviceImages deviceImages:dto.getDeviceImages()){ for(DeviceImages deviceImages:dto.getDeviceImages()){
deviceImages.setEndImage("https://supervise.yxtsoft.com/downfile/monitor/"+deviceImages.getEndImage()); deviceImages.setEndImage("https://supervise.yxtsoft.com/downfile/monitor/"+deviceImages.getEndImage());
@ -175,7 +138,6 @@ public class RiskAlarmService extends MybatisBaseService<RiskAlarmMapper, RiskAl
Integer sim=Integer.valueOf(deviceImages.getSimilarity().replace("%","")); Integer sim=Integer.valueOf(deviceImages.getSimilarity().replace("%",""));
if(sim<90){ if(sim<90){
RiskIndicators riskIndicators = riskIndicatorsService.getOne(new QueryWrapper<RiskIndicators>().eq("code", "030405")); RiskIndicators riskIndicators = riskIndicatorsService.getOne(new QueryWrapper<RiskIndicators>().eq("code", "030405"));
// riskAlarm.setRemarks(str(dto.getDevices()));
riskAlarm.setContent(dto.getDeviceImages().toString()); riskAlarm.setContent(dto.getDeviceImages().toString());
riskAlarm.setIndicatorSid(riskIndicators.getSid()); riskAlarm.setIndicatorSid(riskIndicators.getSid());
riskAlarm.setIndicatorCode(riskIndicators.getCode()); riskAlarm.setIndicatorCode(riskIndicators.getCode());
@ -187,27 +149,53 @@ public class RiskAlarmService extends MybatisBaseService<RiskAlarmMapper, RiskAl
riskAlarm.setTreatmentTime(new Date()); riskAlarm.setTreatmentTime(new Date());
riskAlarm.setContent(dto.getDeviceImages().toString()); riskAlarm.setContent(dto.getDeviceImages().toString());
RiskAlarmVo riskAlarmVo = baseMapper.getRiskAlarm(dto.getSid(),"030405"); RiskAlarmVo riskAlarmVo = baseMapper.getRiskAlarm(dto.getSid(),"030405");
String shSid=dto.getSid(); determine(riskAlarmVo,riskAlarm,dto.getSid(),"030405");
if (null == riskAlarmVo) { }
baseMapper.insert(riskAlarm); }
return rb.success().setMsg("成功");
}
public boolean determine(RiskAlarmVo riskAlarmVo,RiskAlarm riskAlarm,String shSid,String type) {
if (null == riskAlarmVo) {
baseMapper.insert(riskAlarm);
if(type.equals("030404")){
ThreadUtil.execute(()->{
wechatFeign.shMessage(shSid,riskAlarm.getSid());
});
}else if(type.equals("030405")){
ThreadUtil.execute(()->{
wechatFeign.shImgMessage(shSid,riskAlarm.getSid());
});
}else if (type.equals("030406")){
ThreadUtil.execute(()->{
wechatFeign.sysErrMessage(riskAlarm.getSid());
});
}
}else{
Date newDate = addHour(riskAlarmVo.getCreateTime(), 4);
if (newDate.before(new Date())) {
baseMapper.insert(riskAlarm);
if(type.equals("030404")){
ThreadUtil.execute(()->{
wechatFeign.shMessage(shSid,riskAlarm.getSid());
});
}else if(type.equals("030405")){
ThreadUtil.execute(()->{ ThreadUtil.execute(()->{
wechatFeign.shImgMessage(shSid,riskAlarm.getSid()); wechatFeign.shImgMessage(shSid,riskAlarm.getSid());
//sendVerificationCode(dto.getSid(), dto.getName(), dto.getSendTime().toString());
}); });
}else{ }else if (type.equals("030406")){
Date newDate = addHour(riskAlarmVo.getCreateTime(), 4); ThreadUtil.execute(()->{
if (newDate.before(new Date())) { wechatFeign.sysErrMessage(riskAlarm.getSid());
baseMapper.insert(riskAlarm); });
ThreadUtil.execute(()->{
wechatFeign.shImgMessage(shSid,riskAlarm.getSid());
//sendVerificationCode(dto.getSid(), dto.getName(), dto.getSendTime().toString());
});
return rb.success().setMsg("成功");
}
return rb.success().setMsg("成功");
} }
} }
} }
return rb.success().setMsg("成功"); return true;
}
public static Date addHour(Date date, int i) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.add(Calendar.HOUR_OF_DAY, i);
Date newDate = c.getTime();
return newDate;
} }
} }

22
yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskrecord/RiskRecordMapper.java

@ -0,0 +1,22 @@
package com.supervise.rms.biz.riskrecord;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.supervise.rms.api.riskrecord.RiskRecord;
import com.supervise.rms.api.riskrecord.RiskRecordVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* @author wangpengfei
* @create 2023-09-05-11:42
*/
@Mapper
public interface RiskRecordMapper extends BaseMapper<RiskRecord> {
IPage<RiskRecordVo> listPage(IPage<RiskRecord> page, @Param(Constants.WRAPPER) Wrapper<RiskRecord> qw);
@Select("select * from risk_alarm where positionSid=#{shSid} and indicatorCode=#{code} order by triggerTime desc limit 1")
RiskRecordVo getRiskRecord(@Param("shSid")String shSid,@Param("code")String code);
}

13
yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskrecord/RiskRecordMapper.xml

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.supervise.rms.biz.riskrecord.RiskRecordMapper">
<select id="listPage" resultType="com.supervise.rms.api.riskrecord.RiskRecordVo">
select a.*,t.name bigTypeName
from risk_alarm a
left join risk_type l on a.typeSid = l.sid
left join risk_type t on l.parentSid = t.sid
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

27
yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskrecord/RiskRecordRest.java

@ -0,0 +1,27 @@
package com.supervise.rms.biz.riskrecord;
import com.supervise.rms.api.riskrecord.RiskRecordDto;
import com.yxt.common.core.result.ResultBean;
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;
/**
* @author wangpengfei
* @create 2023-09-05-11:42
*/
@Api(tags = "风险报警表")
@RestController("com.supervise.rmc.biz.RiskRecord.RiskRecordRest")
@RequestMapping("v1/RiskRecord")
public class RiskRecordRest{
@Autowired
RiskRecordService riskRecordService;
public ResultBean saveRecord(RiskRecordDto dto){
return riskRecordService.saveRecord(dto);
}
}

75
yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskrecord/RiskRecordService.java

@ -0,0 +1,75 @@
package com.supervise.rms.biz.riskrecord;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.thread.ThreadUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.supervise.rms.api.riskalarm.RiskAlarm;
import com.supervise.rms.api.riskalarm.RiskAlarmVo;
import com.supervise.rms.api.riskindicators.RiskIndicators;
import com.supervise.rms.api.riskrecord.RiskRecord;
import com.supervise.rms.api.riskrecord.RiskRecordDto;
import com.supervise.rms.biz.riskalarm.RiskAlarmMapper;
import com.supervise.rms.biz.riskalarm.RiskAlarmService;
import com.supervise.rms.biz.riskindicators.RiskIndicatorsService;
import com.supervise.rms.feign.report.WechatFeign;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/**
* @author wangpengfei
* @create 2023-09-05-11:42
*/
@Service
public class RiskRecordService extends MybatisBaseService<RiskRecordMapper, RiskRecord> {
@Autowired
WechatFeign wechatFeign;
@Autowired
RiskIndicatorsService riskIndicatorsService;
@Autowired
RiskAlarmMapper riskAlarmMapper;
@Autowired
RiskAlarmService riskAlarmService;
public ResultBean saveRecord(RiskRecordDto dto){
ResultBean rb=new ResultBean();
baseMapper.delete(new QueryWrapper<RiskRecord>().eq("code",dto.getCode()));
RiskRecord riskRecord = new RiskRecord();
BeanUtil.copyProperties(dto, riskRecord);
baseMapper.insert(riskRecord);
return rb.success().setMsg("更新成功");
}
/**
* 定时查询推送情况
*/
@Scheduled(cron = "57 * * * * ?")
public void build() throws InterruptedException {
//Thread.sleep(58000);
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String date=ft.format(new Date());
RiskAlarm riskAlarm = new RiskAlarm();
System.out.println(date);
RiskRecord riskRecord=baseMapper.selectOne(new QueryWrapper<RiskRecord>().like("date",date));
if(null==riskRecord){
RiskIndicators riskIndicators = riskIndicatorsService.getOne(new QueryWrapper<RiskIndicators>().eq("code", "030406"));
riskAlarm.setIndicatorSid(riskIndicators.getSid());
riskAlarm.setIndicatorCode(riskIndicators.getCode());
riskAlarm.setIndicatorName(riskIndicators.getName());
// riskAlarm.setPositionSid(dto.getSid());
// riskAlarm.setPositionName(dto.getName());
riskAlarm.setTriggerTime(new Date());
riskAlarm.setSid(UUID.randomUUID().toString());
riskAlarm.setTreatmentTime(new Date());
//riskAlarm.setContent(dto.getDevices().toString());
RiskAlarmVo riskAlarmVo = riskAlarmMapper.getRiskAlarmByCode("030406");
riskAlarmService.determine(riskAlarmVo,riskAlarm,"","030406");
}
}
}

2
yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/feign/report/WechatFeign.java

@ -19,4 +19,6 @@ public interface WechatFeign {
public void shMessage(@RequestParam("shSid") String shSid,@RequestParam("riskSid") String riskSid); public void shMessage(@RequestParam("shSid") String shSid,@RequestParam("riskSid") String riskSid);
@GetMapping("/shImgMessage") @GetMapping("/shImgMessage")
public void shImgMessage(@RequestParam("shSid") String shSid,@RequestParam("riskSid") String riskSid); public void shImgMessage(@RequestParam("shSid") String shSid,@RequestParam("riskSid") String riskSid);
@GetMapping("/sysErrMessage")
public void sysErrMessage(@RequestParam("riskSid") String riskSid);
} }

Loading…
Cancel
Save