diff --git a/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageslog/SystemRiskMessagesLog.java b/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageslog/SystemRiskMessagesLog.java new file mode 100644 index 00000000..18877586 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageslog/SystemRiskMessagesLogDto.java b/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageslog/SystemRiskMessagesLogDto.java new file mode 100644 index 00000000..3021bff6 --- /dev/null +++ b/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 content; + private Map content; + private List messageOpenids; + private String openid;//小程序openid + private String projectSid; + private String orderDate; + private String riskSid; +} diff --git a/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageslog/SystemRiskMessagesLogQuery.java b/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageslog/SystemRiskMessagesLogQuery.java new file mode 100644 index 00000000..979617b4 --- /dev/null +++ b/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全部 +} diff --git a/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageslog/SystemRiskMessagesLogVo.java b/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageslog/SystemRiskMessagesLogVo.java new file mode 100644 index 00000000..482048b2 --- /dev/null +++ b/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 map; + private String riskSid; + private String shName; + private List devices; + private String text; + + + public Map getMap() { + Map 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; + } +} diff --git a/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageuser/SystemRiskMessageUser.java b/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageuser/SystemRiskMessageUser.java new file mode 100644 index 00000000..e5193d2d --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageuser/SystemRiskMessageUserDto.java b/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageuser/SystemRiskMessageUserDto.java new file mode 100644 index 00000000..ca3e06e7 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageuser/SystemRiskMessageUserQuery.java b/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageuser/SystemRiskMessageUserQuery.java new file mode 100644 index 00000000..b7caebea --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageuser/SystemRiskMessageUserVo.java b/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/systemriskmessageuser/SystemRiskMessageUserVo.java new file mode 100644 index 00000000..87ec54ed --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/imgmessageslog/ImgMessagesLogRest.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/imgmessageslog/ImgMessagesLogRest.java index 341f760a..aa0224a3 100644 --- a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/imgmessageslog/ImgMessagesLogRest.java +++ b/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; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; 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.ImgMessagesLogVo; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.web.bind.annotation.*; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + /** * @author wangpengfei * @date 2023/7/27 9:56 @@ -35,6 +41,16 @@ public class ImgMessagesLogRest { 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()); + + } } diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogService.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogService.java index 7a23f5d9..94df9744 100644 --- a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogService.java +++ b/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.imgmessageuser.ImgMessageUser; 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.MessagePushLogDto; import com.yxt.supervise.report.api.messagepushlog.MessagePushLogQuery; 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.RiskMessagesLogDto; 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.imgmessageuser.ImgMessageUserService; import com.yxt.supervise.report.biz.messageopenid.MessageOpenidService; import com.yxt.supervise.report.biz.riskmessageslog.RiskMessagesLogService; 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.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.stereotype.Service; @@ -59,6 +55,10 @@ public class MessagePushLogService extends MybatisBaseService().eq("projectSid",dto.getProjectSid()).eq("orderDate",dto.getOrderDate())); @@ -94,6 +94,24 @@ public class MessagePushLogService extends MybatisBaseService().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) { //删除同天同项目消息 diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageslog/SystemRiskMessagesLogMapper.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageslog/SystemRiskMessagesLogMapper.java new file mode 100644 index 00000000..bcfa55fa --- /dev/null +++ b/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 { + @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 selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + @Select("select * from risk_messages_log where riskSid =#{sid} order by messageTime desc limit 1") + SystemRiskMessagesLogVo getMessageBySid(@Param("sid") String sid); +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageslog/SystemRiskMessagesLogMapper.xml b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageslog/SystemRiskMessagesLogMapper.xml new file mode 100644 index 00000000..08af4424 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageslog/SystemRiskMessagesLogMapper.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageslog/SystemRiskMessagesLogRest.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageslog/SystemRiskMessagesLogRest.java new file mode 100644 index 00000000..5f0ba78f --- /dev/null +++ b/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 pq){ + ResultBean rb = ResultBean.fireFail(); + PagerVo 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); + } + +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageslog/SystemRiskMessagesLogService.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageslog/SystemRiskMessagesLogService.java new file mode 100644 index 00000000..e852a5cb --- /dev/null +++ b/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 { + 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().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 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().eq("openId", openid).eq("messageSid", vo.getSid())); + if (null != riskMessageUser) { + riskMessageUser.setState("1"); + systemRiskMessageUserService.updateById(riskMessageUser); + } + } + return rb.success().setData(vo); + + } + public PagerVo listPage(PagerQuery pq) { + ResultBean rb=new ResultBean(); + SystemRiskMessagesLogQuery query = pq.getParams(); +// String openid=systemMapper.getAppletOpenidByUsersid(query.getUserSid()); + SysUser sysUser=systemMapper.getAppletOpenidByUsersid(query.getUserSid()); + IPage page = PagerUtil.queryToPage(pq); + QueryWrapper 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 pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageuser/SystemRiskMessageUserMapper.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageuser/SystemRiskMessageUserMapper.java new file mode 100644 index 00000000..e0f54446 --- /dev/null +++ b/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 { + + +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageuser/SystemRiskMessageUserMapper.xml b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageuser/SystemRiskMessageUserMapper.xml new file mode 100644 index 00000000..ccbfeec8 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageuser/SystemRiskMessageUserMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + \ No newline at end of file diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageuser/SystemRiskMessageUserRest.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageuser/SystemRiskMessageUserRest.java new file mode 100644 index 00000000..eb17b483 --- /dev/null +++ b/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 dto){ + return SystemRiskMessageUserService.save(dto); + } +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageuser/SystemRiskMessageUserService.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/systemriskmessageuser/SystemRiskMessageUserService.java new file mode 100644 index 00000000..265e4b7e --- /dev/null +++ b/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 { + + public ResultBean save(List 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("保存成功"); + + } +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java index 3f7923e7..0dcd1548 100644 --- a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java +++ b/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 WechatService wechatService; @Autowired - private WechatApiService wechatApiService; - @Autowired private CsmCashReportMapper csmCashReportMapper; @Autowired private ReportInventoryDayGatherMapper reportInventoryDayGatherMapper; @@ -111,13 +109,6 @@ public class WechatRest { 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") public String authGet(@RequestParam(name = "signature", required = false) String signature, @RequestParam(name = "timestamp", required = false) String timestamp, @@ -291,71 +282,6 @@ public class WechatRest { //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 sendMag = new HashMap(); - // 公众号的模板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 openIds=new ArrayList<>(); - openIds.add("oA-GE6zKB_5wQsVX6USlRQYV39vE"); - String pa=""; - JSONObject jsonObject=new JSONObject(); - List 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 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 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 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 @@ -452,6 +378,42 @@ public class WechatRest { r= SuperviseWxMessSender.jkImgSend("赵丽晓",openIds,projectSid,riskSid,name,riskSid,ft.format(new Date())); System.out.println(r); } + @GetMapping("/sysErrMessage") + public void sysErrMessage(@RequestParam("riskSid") String riskSid){ + //String messSid=imgMessagesLogMapper.getImgRiskByCode(); + RespMessReturn r=new RespMessReturn(); + //List user= crmMapper.users(shSid); + List openIds=new ArrayList<>(); + List 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 users,String type) { ResultBean rb = new ResultBean().fireFail(); Date date = new Date(); @@ -516,78 +478,7 @@ public class WechatRest { 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 sendMag = new HashMap(); - // 公众号的模板id(也有相应的接口可以查询到) - String templateId = "BT6BHEojCmgWNTcpz1raHNIpJEEISP1E134btP51p_8"; - //微信的基础accessToken - String accessToken=getAccessToken(APP_ID_BIZ,APPSECRETBIZ); - String wxUrl = WX_URL_MESSAGE_SEND.replace("ACCESS_TOKEN", accessToken); - List 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 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 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 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 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 { String url = WX_URL_ACCESS_TOKEN.replace("APPID", appId).replace("APPSECRET", appsecret); @@ -654,18 +545,6 @@ public class WechatRest { // 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 getAccessTokenBiz(String appId,String appsecret) throws Exception { @@ -676,46 +555,7 @@ public class WechatRest { String at=jsonObject.getString("access_token"); 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") public ResultBean subscribe() throws AesException, IOException, SAXException, ParserConfigurationException { ResultBean rb =new ResultBean(); diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/SuperviseWxMessSender.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/SuperviseWxMessSender.java index 60e953e8..9bc98065 100644 --- a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/SuperviseWxMessSender.java +++ b/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.MessagePushLogDto; 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.riskmessageslog.RiskMessagesLogService; import com.yxt.supervise.report.wx.obj.RespMessReturn; @@ -73,21 +74,13 @@ public class SuperviseWxMessSender { public static RespMessReturn jkSend(String sender, List tousers, String projectSid,String riskSid, String projectName,String messSid, String reportTime) { RespMessReturn respMessReturn=new RespMessReturn(); 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; HashMap data = new HashMap<>(); - data.put("thing2", projectName); + data.put("thing8", projectName); + data.put("thing2", "监控设备离线"); 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){ - respMessReturn = WxMessage.sendMessage("xwFrrZ4gkdWXu0fB4l2S59aYt9Zvlt4zRYRvIzf0sUU", touser, pagepath, data); + respMessReturn = WxMessage.sendMessage("8GIicKf9w7XSP3awtjX7R1Pe5Z746Au1fUghwWDyFc8", touser, pagepath, data); } System.out.println("增加消息"); RiskMessagesLogDto logDto=new RiskMessagesLogDto(); @@ -111,19 +104,12 @@ public class SuperviseWxMessSender { RespMessReturn respMessReturn=new RespMessReturn(); String orderDate = reportTime.substring(0, 10); String pagepath ="pages/index/GoodsException"+"?sid="+messSid; -// String pagepath = ""; HashMap data = new HashMap<>(); - data.put("thing2", projectName); + data.put("thing8", projectName); + data.put("thing2", "图片对比异常"); 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){ - respMessReturn = WxMessage.sendMessage("xwFrrZ4gkdWXu0fB4l2S59aYt9Zvlt4zRYRvIzf0sUU", touser, pagepath, data); + respMessReturn = WxMessage.sendMessage("8GIicKf9w7XSP3awtjX7R1Pe5Z746Au1fUghwWDyFc8", touser, pagepath, data); } ImgMessagesLogDto logDto=new ImgMessagesLogDto(); logDto.setContent(data); @@ -142,6 +128,35 @@ public class SuperviseWxMessSender { }); return respMessReturn; } + public static RespMessReturn sysErrSend(List 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 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) { if (StringUtils.isBlank(src) || src.length() <= length) return src; diff --git a/yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskrecord/RiskRecord.java b/yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskrecord/RiskRecord.java new file mode 100644 index 00000000..c81d9824 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskrecord/RiskRecordDto.java b/yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskrecord/RiskRecordDto.java new file mode 100644 index 00000000..395d2a28 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskrecord/RiskRecordQuery.java b/yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskrecord/RiskRecordQuery.java new file mode 100644 index 00000000..935be759 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskrecord/RiskRecordVo.java b/yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskrecord/RiskRecordVo.java new file mode 100644 index 00000000..05846442 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmMapper.java b/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmMapper.java index b45151f6..40919c97 100644 --- a/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmMapper.java +++ b/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 { IPage listPage(IPage page, @Param(Constants.WRAPPER) Wrapper qw); @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); + @Select("select * from risk_alarm where indicatorCode=#{code} order by triggerTime desc limit 1") + RiskAlarmVo getRiskAlarmByCode(@Param("code")String code); } diff --git a/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmService.java b/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmService.java index a94f9246..0087af0a 100644 --- a/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmService.java +++ b/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.supervise.rms.api.riskalarm.*; 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.riskrecord.RiskRecordService; import com.supervise.rms.feign.crm.StoreHouseProjectFeign; import com.supervise.rms.feign.crm.StoreHouseProjectVo; 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 lombok.experimental.Accessors; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import java.io.IOException; +import java.text.SimpleDateFormat; import java.util.*; import static com.yxt.common.base.utils.MsgWs.SendWaitWorkMsg; @@ -37,35 +42,12 @@ import static com.yxt.common.base.utils.MsgWs.SendWaitWorkMsg; */ @Service public class RiskAlarmService extends MybatisBaseService { - /** - * 设置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 RiskIndicatorsService riskIndicatorsService; @Autowired WechatFeign wechatFeign; @Autowired - private RedisUtil redisUtil; - @Autowired - private StoreHouseProjectFeign storeHouseProjectFeign; - @Autowired - private UserProjectFeign userProjectFeign; - @Autowired - private com.supervise.rms.feign.system.sysUserFeign sysUserFeign; + RiskRecordService riskRecordService; public PagerVo listPage(PagerQuery pq) { RiskAlarmQuery params = pq.getParams(); @@ -95,16 +77,25 @@ public class RiskAlarmService extends MybatisBaseService().eq("code", "030404")); -// riskAlarm.setRemarks(str(dto.getDevices())); riskAlarm.setIndicatorSid(riskIndicators.getSid()); riskAlarm.setIndicatorCode(riskIndicators.getCode()); riskAlarm.setIndicatorName(riskIndicators.getName()); @@ -115,57 +106,29 @@ public class RiskAlarmService extends MybatisBaseService{ - //开始 - 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("成功"); - } + determine(riskAlarmVo,riskAlarm,dto.getSid(),"0304034"); } return rb.success().setMsg("成功"); } - public static String str(List 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) { ResultBean rb = ResultBean.fireFail(); Integer s = 0; RiskAlarm riskAlarm = new 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(); for(DeviceImages deviceImages:dto.getDeviceImages()){ deviceImages.setEndImage("https://supervise.yxtsoft.com/downfile/monitor/"+deviceImages.getEndImage()); @@ -175,7 +138,6 @@ public class RiskAlarmService extends MybatisBaseService().eq("code", "030405")); -// riskAlarm.setRemarks(str(dto.getDevices())); riskAlarm.setContent(dto.getDeviceImages().toString()); riskAlarm.setIndicatorSid(riskIndicators.getSid()); riskAlarm.setIndicatorCode(riskIndicators.getCode()); @@ -187,27 +149,53 @@ public class RiskAlarmService extends MybatisBaseService{ + 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(()->{ wechatFeign.shImgMessage(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(()->{ - wechatFeign.shImgMessage(shSid,riskAlarm.getSid()); - //sendVerificationCode(dto.getSid(), dto.getName(), dto.getSendTime().toString()); - }); - return rb.success().setMsg("成功"); - } - return rb.success().setMsg("成功"); + }else if (type.equals("030406")){ + ThreadUtil.execute(()->{ + wechatFeign.sysErrMessage(riskAlarm.getSid()); + }); } } } - 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; } } diff --git a/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskrecord/RiskRecordMapper.java b/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskrecord/RiskRecordMapper.java new file mode 100644 index 00000000..ad0eacb9 --- /dev/null +++ b/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 { + IPage listPage(IPage page, @Param(Constants.WRAPPER) Wrapper 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); +} diff --git a/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskrecord/RiskRecordMapper.xml b/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskrecord/RiskRecordMapper.xml new file mode 100644 index 00000000..0f002050 --- /dev/null +++ b/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskrecord/RiskRecordMapper.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskrecord/RiskRecordRest.java b/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskrecord/RiskRecordRest.java new file mode 100644 index 00000000..34a143a1 --- /dev/null +++ b/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); + } +} diff --git a/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskrecord/RiskRecordService.java b/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskrecord/RiskRecordService.java new file mode 100644 index 00000000..12873388 --- /dev/null +++ b/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 { + @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().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().like("date",date)); + if(null==riskRecord){ + RiskIndicators riskIndicators = riskIndicatorsService.getOne(new QueryWrapper().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"); + } + } +} diff --git a/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/feign/report/WechatFeign.java b/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/feign/report/WechatFeign.java index 7c47632a..9d580381 100644 --- a/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/feign/report/WechatFeign.java +++ b/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); @GetMapping("/shImgMessage") public void shImgMessage(@RequestParam("shSid") String shSid,@RequestParam("riskSid") String riskSid); + @GetMapping("/sysErrMessage") + public void sysErrMessage(@RequestParam("riskSid") String riskSid); }