From 3c884ccd7b51edf3b36840bf99de5edaa41a38a7 Mon Sep 17 00:00:00 2001 From: 张天森 <1292933220@qq.com> Date: 星期三, 12 十月 2022 19:05:28 +0800 Subject: [PATCH] 三说会堂事件流程处理 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/message/AcidMessage.java | 99 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 94 insertions(+), 5 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/message/AcidMessage.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/message/AcidMessage.java index c908a0f..f6209a4 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/message/AcidMessage.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/message/AcidMessage.java @@ -1,16 +1,31 @@ package com.panzhihua.service_community.message; +import static java.util.Objects.nonNull; + +import java.util.List; + +import javax.annotation.Resource; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.panzhihua.common.model.vos.community.ComActDynVO; +import com.panzhihua.service_community.dao.ComActDAO; +import com.panzhihua.service_community.dao.SysUserDao; +import com.panzhihua.service_community.model.dos.ComActDO; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.stereotype.Component; + +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 org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; +import com.panzhihua.service_community.service.ComActAcidMemberService; /** * @author zzj @@ -18,8 +33,18 @@ @Component public class AcidMessage { public static final String DELAYED_QUEUE="huacheng.acid.queue"; + public static final String ACID_DANGER_QUEUE = "huacheng.acid.danger.queue"; + public static final String DIRECT_QUEUE="huacheng.acid.direct.queue"; + public static final String ACID_MESSAGE_QUEUE="huacheng.acid.message.queue"; @Resource private UserService userService; + @Resource + private ComActAcidMemberService comActAcidMemberService; + @Resource + private ComActDAO comActDAO; + @Resource + private SysUserDao sysUserDao; + @RabbitListener(queues=DELAYED_QUEUE) public void doTemplate(ComActAcidRecordVO comActAcidRecordVO) { R<LoginUserInfoVO> loginUserInfoVOR= userService.getUserInfoByUserId(comActAcidRecordVO.getUserId().toString()); @@ -28,11 +53,75 @@ WxXCXTempSend util = new WxXCXTempSend(); String accessToken = null; try { - accessToken = util.getXQAppAccessToken(); + accessToken = util.getAccessToken(); } catch (Exception e) { e.printStackTrace(); } WxUtil.sendSubscribeTXTZ(loginUserInfoVO.getOpenid(),accessToken,"pov2BTQ_uILduT5OoVKubeS2dibbZ_p79cy5AMb_BGE"); } } + + @RabbitListener(queues=ACID_DANGER_QUEUE) + 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()) { + members.forEach(member -> { + WxXCXTempSend util = new WxXCXTempSend(); + String accessToken = null; + try { + accessToken = util.getAccessToken(); + } catch (Exception e) { + e.printStackTrace(); + } + WxUtil.sendSubscribeDanger(member.getOpenid(), accessToken, dangerMember, "Yr5idSziLRiRo0t07mcz284sMm41Kr2KsA5UmSc0jWU"); + }); + } + } + } + @RabbitListener(queues = DIRECT_QUEUE) + public void updateUserInfo(ComActAcidRecordVO comActAcidRecordVO){ + //防疫登记提交默认绑定用户信息 + R<LoginUserInfoVO> loginUserInfoVOR= userService.getUserInfoByUserId(comActAcidRecordVO.getUserId().toString()); + if(R.isOk(loginUserInfoVOR)&&loginUserInfoVOR.getData()!=null){ + LoginUserInfoVO loginUserInfoVO=loginUserInfoVOR.getData(); + if(StringUtils.isEmpty(loginUserInfoVO.getPhone())||StringUtils.isEmpty(loginUserInfoVO.getIdCard())){ + loginUserInfoVO.setPhone(comActAcidRecordVO.getPhone()); + loginUserInfoVO.setIdCard(comActAcidRecordVO.getIdCard()); + loginUserInfoVO.setName(comActAcidRecordVO.getName()); + if(StringUtils.isNotEmpty(comActAcidRecordVO.getLocalCity())){ + String town=comActAcidRecordVO.getLocalCity().split(",")[2]; + String area=comActAcidRecordVO.getLocalCity().split(",")[1]; + String country=comActAcidRecordVO.getLocalCity().split(",")[0]; + List<ComActDO> comActDOS=comActDAO.selectList(new QueryWrapper<ComActDO>().lambda().eq(ComActDO::getName,town).eq(ComActDO::getAppId,"wx118de8a734d269f0")); + if(CollectionUtils.isNotEmpty(comActDOS)){ + if(comActDOS.size()==1){ + loginUserInfoVO.setCommunityId(comActDOS.get(0).getCommunityId()); + } + else { + ComActDO comActDO=comActDAO.selectOne(new QueryWrapper<ComActDO>().lambda().eq(ComActDO::getAppId,"wx118de8a734d269f0").eq(ComActDO::getName,town).and(comActDOLambdaQueryWrapper -> comActDOLambdaQueryWrapper.like(ComActDO::getAddress,town).or().like(ComActDO::getAddress,area).or().like(ComActDO::getAddress,country))); + if(comActDO!=null){ + loginUserInfoVO.setCommunityId(comActDO.getCommunityId()); + } + } + } + + } + userService.putUser(loginUserInfoVO); + } + } + } + @RabbitListener(queues = ACID_MESSAGE_QUEUE) + public void sendMessage(ComActDynVO comActDynVO){ + List<String> openIds=sysUserDao.selectOpenId(); + WxXCXTempSend wxXCXTempSend=new WxXCXTempSend(); + for(String openId:openIds){ + try { + WxUtil.sendLongTimeTemplate(openId,wxXCXTempSend.getAccessToken("wx118de8a734d269f0"),"疫情快讯",comActDynVO.getTitle().length()>10?comActDynVO.getTitle().substring(0,10)+"..":comActDynVO.getTitle(),"/pages/community_child/community/detail?id="+comActDynVO.getId()+"&title=疫情快讯详情"); + } catch (Exception e) { + e.printStackTrace(); + } + } + } } -- Gitblit v1.7.1