From 43f0578e80af82ecae6c61b51bd0539c6b960603 Mon Sep 17 00:00:00 2001 From: puhanshu <a9236326> Date: 星期二, 16 八月 2022 19:08:32 +0800 Subject: [PATCH] 服务范围优化 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/message/AcidMessage.java | 82 ++++++++++++++++++++++++++++++++++++++-- 1 files changed, 77 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..eef4b1f 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,29 @@ 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.service_community.dao.ComActDAO; +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 +31,15 @@ @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"; @Resource private UserService userService; + @Resource + private ComActAcidMemberService comActAcidMemberService; + @Resource + private ComActDAO comActDAO; + @RabbitListener(queues=DELAYED_QUEUE) public void doTemplate(ComActAcidRecordVO comActAcidRecordVO) { R<LoginUserInfoVO> loginUserInfoVOR= userService.getUserInfoByUserId(comActAcidRecordVO.getUserId().toString()); @@ -28,11 +48,63 @@ 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); + } + } + } } -- Gitblit v1.7.1