springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/acid/ComActAcidDangerMemberVO.java
@@ -92,4 +92,10 @@ @ApiModelProperty(value = "身份证") private String idCard; /** * 绑定单位 */ @ApiModelProperty(value = "绑定单位") private String relationName; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/WxUtil.java
@@ -12,6 +12,7 @@ import com.panzhihua.common.model.dtos.wx.TemplateParam; import com.panzhihua.common.model.dtos.wx.WxSubscribeDTO; import com.panzhihua.common.model.vos.community.acid.ComActAcidDangerMemberVO; import lombok.extern.slf4j.Slf4j; @Slf4j @@ -408,6 +409,30 @@ } } /** * 推送危险人员订阅消息通知 * @param openId 用户openid * @param accessToken token会话标识 * @param dangerMember 风险人员 */ public static void sendSubscribeDanger(String openId, String accessToken, ComActAcidDangerMemberVO dangerMember, String templateId){ WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); subscribeDTO.setTouser(openId); subscribeDTO.setTemplate_id(templateId); List<TemplateParam> paras=new ArrayList<TemplateParam>(); Integer type = dangerMember.getType(); paras.add(new TemplateParam("thing2", (type == 1 ? "当前风险人员 " : "当前未填住址人员 ") + dangerMember.getName())); paras.add(new TemplateParam("time3", DateUtils.getCurrentDateStr())); paras.add(new TemplateParam("thing1","新冠疫情")); paras.add(new TemplateParam("thing4", type == 1 ? "新增风险人员" : "新增未填住址人员")); subscribeDTO.setTemplateParamList(paras); try { sendSubscribe(accessToken,subscribeDTO); }catch (Exception e){ log.error("危险人员订阅消息推送失败,失败原因:" + e.getMessage()); } } public static void main(String[] args) { WxXCXTempSend util = new WxXCXTempSend(); springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/message/AcidMessage.java
@@ -2,25 +2,24 @@ import static java.util.Objects.nonNull; import java.util.List; import javax.annotation.Resource; import com.alibaba.fastjson.JSONArray; import com.panzhihua.common.model.vos.community.acid.ComActAcidMemberVO; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONArray; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.acid.ComActAcidDangerMemberVO; import com.panzhihua.common.model.vos.community.acid.ComActAcidMemberVO; import com.panzhihua.common.model.vos.community.acid.ComActAcidRecordVO; import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.common.utlis.WxUtil; import com.panzhihua.common.utlis.WxXCXTempSend; import com.panzhihua.service_community.entity.ComActAcidMember; import com.panzhihua.service_community.service.ComActAcidMemberService; import java.util.List; /** * @author zzj @@ -51,8 +50,8 @@ } @RabbitListener(queues=ACID_DANGER_QUEUE) public void pushMessage(ComActAcidRecordVO comActAcidRecordVO) { R r = comActAcidMemberService.selectPushList(""); public void pushMessage(ComActAcidDangerMemberVO dangerMember) { R r = comActAcidMemberService.selectPushList(dangerMember.getRelationName()); if (R.isOk(r) && nonNull(r.getData())) { List<ComActAcidMemberVO> members = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ComActAcidMemberVO.class); if (nonNull(members) && !members.isEmpty()) { @@ -64,7 +63,7 @@ } catch (Exception e) { e.printStackTrace(); } WxUtil.sendSubscribeTXTZ(member.getOpenid(), accessToken,"Yr5idSziLRiRo0t07mcz284sMm41Kr2KsA5UmS"); WxUtil.sendSubscribeDanger(member.getOpenid(), accessToken, dangerMember, "Yr5idSziLRiRo0t07mcz284sMm41Kr2KsA5UmS"); }); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java
@@ -8,6 +8,7 @@ import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.acid.ComAcidAreaVO; import com.panzhihua.common.model.vos.community.acid.ComAcidStaticVO; import com.panzhihua.common.model.vos.community.acid.ComActAcidDangerMemberVO; import com.panzhihua.common.model.vos.community.acid.ComActAcidRecordVO; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_community.dao.ComActAcidDangerMemberDao; @@ -78,10 +79,6 @@ || dangerArea.equals("是") || outsideCity.equals("是") || acidTest.equals("阳性")) { //风险人员 saveAcidDangerMember(comActAcidRecordVO, comActAcidRecord.getId(), 1); // rabbitTemplate.convertAndSend("huacheng.acid.danger.exchange", "huacheng.acid.danger.key", comActAcidRecordVO, message -> { // message.getMessageProperties().setHeader("x-delay", 24*60*60*1000); // return message; // }); return R.ok(); } if (StringUtils.isEmpty(comActAcidRecordVO.getLocalCity())) { @@ -119,6 +116,18 @@ dangerMember.setUpdateTime(new Date()); comActAcidDangerMemberDao.updateById(dangerMember); } ComActAcidDangerMemberVO dangerMemberVO = new ComActAcidDangerMemberVO(); BeanUtils.copyProperties(dangerMember, dangerMemberVO); String realAddress = comActAcidRecordVO.getRealAddress(); if (realAddress.contains("区")) { dangerMemberVO.setRelationName(realAddress.substring(realAddress.indexOf("市") + 1, realAddress.indexOf("区") + 1)); } else { dangerMemberVO.setRelationName(realAddress.substring(realAddress.indexOf("市") + 1, realAddress.indexOf("县") + 1)); } rabbitTemplate.convertAndSend("huacheng.acid.danger.exchange", "huacheng.acid.danger.key", dangerMemberVO, message -> { message.getMessageProperties().setHeader("x-delay", 5*60*1000); return message; }); } @Override