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 |   60 +++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 49 insertions(+), 11 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 5c65e7e..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
@@ -2,25 +2,28 @@
 
 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 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.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
@@ -29,10 +32,13 @@
 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) {
@@ -42,7 +48,7 @@
            WxXCXTempSend util = new WxXCXTempSend();
            String accessToken = null;
            try {
-               accessToken = util.getXQAppAccessToken();
+               accessToken = util.getAccessToken();
            } catch (Exception e) {
                e.printStackTrace();
            }
@@ -51,8 +57,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()) {
@@ -60,13 +66,45 @@
                     WxXCXTempSend util = new WxXCXTempSend();
                     String accessToken = null;
                     try {
-                        accessToken = util.getXQAppAccessToken();
+                        accessToken = util.getAccessToken();
                     } catch (Exception e) {
                         e.printStackTrace();
                     }
-                    WxUtil.sendSubscribeTXTZ(member.getOpenid(), accessToken,"Yr5idSziLRiRo0t07mcz284sMm41Kr2KsA5UmS");
+                    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