From ac4d876533a711a12704ea50e609342e13b2ca08 Mon Sep 17 00:00:00 2001
From: tangxiaobao <303826152@qq.com>
Date: 星期一, 16 八月 2021 16:12:17 +0800
Subject: [PATCH] 实有人口导入bug修改

---
 springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java |  132 +++++++++++++++++++++++++++++++++-----------
 1 files changed, 99 insertions(+), 33 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
index 4de00fd..39b3415 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -24,9 +24,7 @@
 import com.panzhihua.common.model.vos.user.*;
 //import com.panzhihua.common.service.grid.GridService;
 import com.panzhihua.common.service.partybuilding.PartyBuildingService;
-import com.panzhihua.common.utlis.IdCard;
-import com.panzhihua.common.utlis.RealNameUtil;
-import com.panzhihua.common.utlis.SensitiveUtil;
+import com.panzhihua.common.utlis.*;
 import com.panzhihua.service_user.dao.*;
 import com.panzhihua.service_user.model.dos.*;
 import com.panzhihua.service_user.model.dtos.DataKanbanDTO;
@@ -88,6 +86,8 @@
     private EventGridMemberBuildingRelationService buildingRelationService;
     @Resource
     private EventGridMemberBuildingRelationMapper eventGridMemberBuildingRelationMapper;
+    @Resource
+    private LcCompareMemberCodeMapper lcCompareMemberCodeMapper;
 //    @Resource
 //    private GridService gridService;
 
@@ -172,7 +172,7 @@
         userDao.updateServiceTeam(purePhoneNumber, purePhoneNumber);
         int i = userDao.updateById(sysUserDO);
         if (i > 0) {
-            return R.ok();
+            return R.ok(purePhoneNumber);
         } else {
             return R.fail("维护微信手机号失败");
         }
@@ -396,23 +396,12 @@
     /**
      * 分页查询人口管理
      *
-     * @param loginUserInfoVO 查询参数
+     * @param userInfoVO 查询参数
      * @return 分页数据
      */
     @Override
-    public R pageUser(LoginUserInfoVO loginUserInfoVO) {
-        Page page = new Page<>();
-        Long pageNum = loginUserInfoVO.getPageNum();
-        Long pageSize = loginUserInfoVO.getPageSize();
-        if (null == pageNum || 0 == pageNum) {
-            pageNum = 1l;
-        }
-        if (null == pageSize || 0 == pageSize) {
-            pageSize = 10l;
-        }
-        page.setSize(pageSize);
-        page.setCurrent(pageNum);
-        IPage<LoginUserInfoVO> iPage = userDao.pageUser(page, loginUserInfoVO);
+    public R pageUser(AppletUserInfoVO userInfoVO) {
+        IPage<AppletUserInfoVO> iPage = userDao.pageUser(new Page<>(userInfoVO.getPageNum(),userInfoVO.getPageSize()), userInfoVO);
         iPage.getRecords().forEach(record -> {
             record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone()));
             record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard()));
@@ -600,17 +589,18 @@
      */
     @Override
     public R putUserCommunityArea(LoginUserInfoVO loginUserInfoVO) {
-        SysUserDO sysUserDO = new SysUserDO();
-        sysUserDO.setCommunityId(loginUserInfoVO.getCommunityId());
-//        sysUserDO.setAreaId(loginUserInfoVO.getAreaId());
-        sysUserDO.setUserId(loginUserInfoVO.getUserId());
-        int update = userDao.updateById(sysUserDO);
-        if (update > 0) {
-            //删除用户信息缓存
-            String userKey = UserConstants.LOGIN_USER_INFO + loginUserInfoVO.getUserId();
-            stringRedisTemplate.delete(userKey);
-            return R.ok();
-        }
+
+//        SysUserDO sysUserDO = new SysUserDO();
+//        sysUserDO.setCommunityId(loginUserInfoVO.getCommunityId());
+////        sysUserDO.setAreaId(loginUserInfoVO.getAreaId());
+//        sysUserDO.setUserId(loginUserInfoVO.getUserId());
+//        int update = userDao.updateById(sysUserDO);
+//        if (update > 0) {
+//            //删除用户信息缓存
+//            String userKey = UserConstants.LOGIN_USER_INFO + loginUserInfoVO.getUserId();
+//            stringRedisTemplate.delete(userKey);
+//            return R.fail();
+//        }
         return R.fail();
     }
 
@@ -640,9 +630,14 @@
         //通过身份证号判断性别以及出生日期
         sysUserDO.setSex(IdCard.sex(idCard));
         sysUserDO.setBirthday(IdCard.birthDay(idCard));
-        sysUserDO.setJob(loginUserInfoVO.getJob());
+        if(!StringUtils.isEmpty(loginUserInfoVO.getJob())){
+            sysUserDO.setJob(loginUserInfoVO.getJob());
+        }
         sysUserDO.setUserId(loginUserInfoVO.getUserId());
         sysUserDO.setFaceUrl(loginUserInfoVO.getFaceUrl());
+        if(!StringUtils.isEmpty(loginUserInfoVO.getPhone())){
+            sysUserDO.setPhone(loginUserInfoVO.getPhone());
+        }
         sysUserDO.setFaceState(null);
         SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getIdCard, idCard));
         if (!ObjectUtils.isEmpty(sysUserDO1)) {
@@ -660,6 +655,19 @@
                 userDao.updateById(sysUserDO);
                 //修改审核绑定的userId
                 userDao.updateComPbMemberUserId(idCard,sysUserDO.getUserId());
+            }
+
+            SysUserDO user = userDao.selectById(loginUserInfoVO.getUserId());
+            if(user != null){
+                //实名认证成功推送订阅消息给用户
+                try {
+                    WxXCXTempSend util = new WxXCXTempSend();
+                    String accessToken = util.getAppAccessToken();
+                    //用户实名认证推送消息
+                    WxUtil.sendSubscribeRZSH(user.getOpenid(),accessToken,"实名认证", com.panzhihua.common.utlis.DateUtils.getCurrentDateStr(),"认证成功");
+                }catch (Exception e){
+                    log.error("推送用户订阅消息失败,失败原因:" + e.getMessage());
+                }
             }
             return R.ok();
         }
@@ -1938,7 +1946,24 @@
 
             //关联市平台网格员
             if(eventGridMemberAddDTO.getLcMemberId() != null){
-                this.userDao.addLcMember(eventGridMemberAddDTO.getLcMemberId(),sysUserDO.getUserId(),sysUserDO.getNickName());
+                LcCompareCodeMemberDO compareCodeMemberDO = lcCompareMemberCodeMapper.selectOne(new QueryWrapper<LcCompareCodeMemberDO>().lambda()
+                        .eq(LcCompareCodeMemberDO::getLcGridMemberId,eventGridMemberAddDTO.getLcMemberId()));
+                if(compareCodeMemberDO != null){
+                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getUserId().toString());
+                    compareCodeMemberDO.setGridMemberName(sysUserDO.getNickName());
+                    compareCodeMemberDO.setUpdateAt(new Date());
+                    lcCompareMemberCodeMapper.updateById(compareCodeMemberDO);
+                }else{
+                    compareCodeMemberDO = new LcCompareCodeMemberDO();
+                    compareCodeMemberDO.setId(Snowflake.getId());
+                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getUserId().toString());
+                    compareCodeMemberDO.setGridMemberName(sysUserDO.getNickName());
+                    compareCodeMemberDO.setLcGridMemberId(eventGridMemberAddDTO.getLcMemberId());
+                    compareCodeMemberDO.setLcBindUserId(eventGridMemberAddDTO.getLcBindUserId());
+                    compareCodeMemberDO.setLcGridMemberName(eventGridMemberAddDTO.getLcMemberName());
+                    compareCodeMemberDO.setCreateAt(new Date());
+                    lcCompareMemberCodeMapper.insert(compareCodeMemberDO);
+                }
             }
 
             //网格员关联楼栋
@@ -1988,7 +2013,12 @@
         if(!gridMemberPage.getRecords().isEmpty()){
             gridMemberPage.getRecords().forEach(gridMember -> {
                 //查询网格员关联市平台网格员id
-                gridMember.setLcMemberId(this.userDao.getLcMemberId(gridMember.getUserId()));
+                Map<String,String> lcMemberMap = this.userDao.getLcMemberId(gridMember.getUserId());
+                if(lcMemberMap != null){
+                    gridMember.setLcMemberId(lcMemberMap.get("lc_grid_member_id"));
+                    gridMember.setLcMemberName(lcMemberMap.get("lc_grid_member_name"));
+                    gridMember.setLcBindUserId(lcMemberMap.get("lc_bind_user_id"));
+                }
 
                 //查询网格员关联楼栋信息
                 List<GridMemberBuildingVO> memberBuildingList = eventGridMemberBuildingRelationMapper.getGridMemberBuildingRelation(gridMember.getUserId());
@@ -2041,7 +2071,24 @@
             //关联市平台网格员
             if(gridMemberDTO.getLcMemberId() != null){
                 //关联现有的网格员信息
-                this.userDao.addLcMember(gridMemberDTO.getLcMemberId(),sysUserDO.getUserId(),sysUserDO.getNickName());
+                LcCompareCodeMemberDO compareCodeMemberDO = lcCompareMemberCodeMapper.selectOne(new QueryWrapper<LcCompareCodeMemberDO>().lambda()
+                        .eq(LcCompareCodeMemberDO::getLcGridMemberId,gridMemberDTO.getLcMemberId()));
+                if(compareCodeMemberDO != null){
+                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getUserId().toString());
+                    compareCodeMemberDO.setGridMemberName(sysUserDO.getNickName());
+                    compareCodeMemberDO.setUpdateAt(new Date());
+                    lcCompareMemberCodeMapper.updateById(compareCodeMemberDO);
+                }else{
+                    compareCodeMemberDO = new LcCompareCodeMemberDO();
+                    compareCodeMemberDO.setId(Snowflake.getId());
+                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getUserId().toString());
+                    compareCodeMemberDO.setGridMemberName(sysUserDO.getNickName());
+                    compareCodeMemberDO.setLcGridMemberId(gridMemberDTO.getLcMemberId());
+                    compareCodeMemberDO.setLcBindUserId(gridMemberDTO.getLcBindUserId());
+                    compareCodeMemberDO.setLcGridMemberName(gridMemberDTO.getLcMemberName());
+                    compareCodeMemberDO.setCreateAt(new Date());
+                    lcCompareMemberCodeMapper.insert(compareCodeMemberDO);
+                }
             }
             //清除原网格员与楼栋关联关系
             this.userDao.delGridMemberRelation(sysUserDO.getUserId());
@@ -2172,4 +2219,23 @@
             return R.fail();
         }
     }
+
+    @Override
+    public R getGridsMemberList(Long communityId){
+        return R.ok(this.userDao.getGridsMemberList(communityId));
+    }
+
+    /**
+     * 根据用户id查询用户openid
+     * @param userId    用户id
+     * @return  openid
+     */
+    @Override
+    public R getUserOpenId(Long userId){
+        SysUserDO userDO = this.userDao.selectById(userId);
+        if(userDO != null){
+            return R.ok(userDO.getOpenid());
+        }
+        return R.fail();
+    }
 }

--
Gitblit v1.7.1