From dad5e5fd2abbf5d77d23f1b9a4500a9ae9bf274d Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期五, 14 一月 2022 13:27:45 +0800
Subject: [PATCH] 仁和东区代码提交

---
 springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java |  106 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 84 insertions(+), 22 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 62ee081..99c1530 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
@@ -14,11 +14,9 @@
 
 import javax.annotation.Resource;
 
-import cn.hutool.core.util.IdcardUtil;
-import com.panzhihua.common.model.dtos.DataKanBansDto;
-import com.panzhihua.common.model.vos.community.*;
 import com.panzhihua.service_user.dao.*;
-import com.panzhihua.service_user.model.dos.*;
+import com.panzhihua.service_user.entity.SysAppConfig;
+import com.panzhihua.service_user.entity.SysTemplateConfig;
 import org.apache.commons.lang.time.DateFormatUtils;
 import org.apache.commons.lang.time.DateUtils;
 import org.springframework.beans.BeanUtils;
@@ -37,6 +35,7 @@
 import com.panzhihua.common.constants.Constants;
 import com.panzhihua.common.constants.UserConstants;
 import com.panzhihua.common.exceptions.ServiceException;
+import com.panzhihua.common.model.dtos.DataKanBansDto;
 import com.panzhihua.common.model.dtos.PageDTO;
 import com.panzhihua.common.model.dtos.community.ExportUserDTO;
 import com.panzhihua.common.model.dtos.community.NoticeReadDTO;
@@ -59,6 +58,11 @@
 import com.panzhihua.common.model.vos.LoginUserInfoVO;
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.model.vos.SystemmanagementConfigVO;
+import com.panzhihua.common.model.vos.community.ComActVO;
+import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO;
+import com.panzhihua.common.model.vos.community.IndexUserCommunityVo;
+import com.panzhihua.common.model.vos.community.IndexUserStatisticsVo;
+import com.panzhihua.common.model.vos.community.IndexUserStreetVo;
 import com.panzhihua.common.model.vos.grid.GridMemberVO;
 import com.panzhihua.common.model.vos.grid.admin.GridMemberBuildingVO;
 import com.panzhihua.common.model.vos.partybuilding.ActivityManagerVO;
@@ -84,10 +88,26 @@
 import com.panzhihua.common.utlis.StringUtils;
 import com.panzhihua.common.utlis.WxUtil;
 import com.panzhihua.common.utlis.WxXCXTempSend;
+import com.panzhihua.service_user.model.dos.ComActFourMember;
+import com.panzhihua.service_user.model.dos.ComMngFamilyInfoDO;
+import com.panzhihua.service_user.model.dos.ComMngUserTagDO;
+import com.panzhihua.service_user.model.dos.EventGridMemberBuildingRelationDO;
+import com.panzhihua.service_user.model.dos.LcCompareCodeMemberDO;
+import com.panzhihua.service_user.model.dos.SysMenuDO;
+import com.panzhihua.service_user.model.dos.SysOperLogDO;
+import com.panzhihua.service_user.model.dos.SysRoleDO;
+import com.panzhihua.service_user.model.dos.SysRoleMenuDO;
+import com.panzhihua.service_user.model.dos.SysUserAgreementDO;
+import com.panzhihua.service_user.model.dos.SysUserDO;
+import com.panzhihua.service_user.model.dos.SysUserFeedbackDO;
+import com.panzhihua.service_user.model.dos.SysUserInputDO;
+import com.panzhihua.service_user.model.dos.SysUserNoticeDO;
+import com.panzhihua.service_user.model.dos.SysUserRoleDO;
 import com.panzhihua.service_user.model.dtos.DataKanbanDTO;
 import com.panzhihua.service_user.service.EventGridMemberBuildingRelationService;
 import com.panzhihua.service_user.service.UserService;
 
+import cn.hutool.core.util.IdcardUtil;
 import lombok.extern.slf4j.Slf4j;
 
 // import com.panzhihua.common.service.grid.GridService;
@@ -135,6 +155,10 @@
     private LcCompareMemberCodeMapper lcCompareMemberCodeMapper;
     @Resource
     private ComActFourMemberDao comActFourMemberDao;
+    @Resource
+    private SysAppConfigDao sysAppConfigDao;
+    @Resource
+    private SysTemplateConfigDao sysTemplateConfigDao;
     // @Resource
     // private GridService gridService;
 
@@ -286,7 +310,16 @@
         loginUserInfoVO.setType(sysUserDO.getType());
         loginUserInfoVO.setIsRealNamed(sysUserDO.getIdCard() != null);// 暂时 身份证判断实名制
         if(sysUserDO.getCommunityId()!=null){
+            ComActVO comActVO = userDao.selectCommunity(sysUserDO.getCommunityId());
             loginUserInfoVO.setCommunityId(sysUserDO.getCommunityId());
+            if(comActVO!=null){
+                loginUserInfoVO.setComActVO(comActVO);
+                SysAppConfig sysAppConfig=sysAppConfigDao.selectOne(new QueryWrapper<SysAppConfig>().lambda().eq(SysAppConfig::getAreaCode,comActVO.getAreaCode()));
+                if(sysAppConfig!=null){
+                    loginUserInfoVO.setAppId(sysAppConfig.getAppId());
+                    loginUserInfoVO.setAppSecret(sysAppConfig.getSecret());
+                }
+            }
         }
         List<SysRoleDO> roleDOList = roleDAO.selectByUserId(sysUserDO.getUserId());
         Set<String> set = new HashSet<>();
@@ -325,6 +358,7 @@
         loginUserInfoVO.setIsmemberrole(2);
         loginUserInfoVO.setIsFourMember(2);
         loginUserInfoVO.setIsCommunityWorker(2);
+        loginUserInfoVO.setIsPropertyWorker(2);
         // 志愿者状态
         String phone = sysUserDO.getPhone();
         Long userCommunityId = sysUserDO.getCommunityId();
@@ -332,6 +366,12 @@
             ComActVO comActVO = userDao.selectCommunity(userCommunityId);
             if (comActVO != null) {
                 loginUserInfoVO.setCommunityName(comActVO.getName());
+                loginUserInfoVO.setComActVO(comActVO);
+                SysAppConfig sysAppConfig=sysAppConfigDao.selectOne(new QueryWrapper<SysAppConfig>().lambda().eq(SysAppConfig::getAreaCode,comActVO.getAreaCode()));
+                if(sysAppConfig!=null){
+                    loginUserInfoVO.setAppId(sysAppConfig.getAppId());
+                    loginUserInfoVO.setAppSecret(sysAppConfig.getSecret());
+                }
             }
         }
         if (!ObjectUtils.isEmpty(phone)) {
@@ -346,6 +386,11 @@
             Integer countFourMember=comActFourMemberDao.selectCount(new QueryWrapper<ComActFourMember>().lambda().eq(ComActFourMember::getIdCard,sysUserDO.getIdCard()));
             if(countFourMember>0){
                 loginUserInfoVO.setIsFourMember(1);
+            }
+            //是否是社区物业人员
+            int countPropertyWorker = userDao.countPropertyWorker(Long.parseLong(userId), userCommunityId);
+            if (countPropertyWorker > 0) {
+                loginUserInfoVO.setIsPropertyWorker(1);
             }
             // 是否是"管理员"或者 本社区 "社区团队"、"党委成员"
             Integer countTeam = userDao.selectCountTeam(phone, userCommunityId);
@@ -584,6 +629,7 @@
             if (ObjectUtils.isEmpty(sysUserDO)) {
                 return R.fail("人员不存在");
             }
+
             BeanUtils.copyProperties(sysUserDO, loginUserInfoVO);
             List<ComMngFamilyInfoDO> comMngFamilyInfoDOS = comMngFamilyInfoDAO
                 .selectList(new QueryWrapper<ComMngFamilyInfoDO>().lambda().eq(ComMngFamilyInfoDO::getUserId, userId));
@@ -637,6 +683,9 @@
         if (!ObjectUtils.isEmpty(comActVO)) {
             loginUserInfoVO.setCommunityName(comActVO.getName());
         }
+        //是否是社区物业人员
+        int countPropertyWorker = userDao.countPropertyWorker(userId, loginUserInfoVO.getCommunityId());
+        loginUserInfoVO.setIsPropertyWorker(countPropertyWorker > 0 ? 1 : 0);
         loginUserInfoVO.setIdCard(SensitiveUtil.desensitizedIdNumber(loginUserInfoVO.getIdCard()));
         loginUserInfoVO.setPhone(SensitiveUtil.desensitizedPhoneNumber(loginUserInfoVO.getPhone()));
         return R.ok(loginUserInfoVO);
@@ -819,9 +868,10 @@
                 try {
                     WxXCXTempSend util = new WxXCXTempSend();
                     String accessToken = util.getAppAccessToken();
+                    SysTemplateConfig sysTemplateConfig=sysTemplateConfigDao.selectOne(new QueryWrapper<SysTemplateConfig>().lambda().eq(SysTemplateConfig::getAreaCode, loginUserInfoVO.getComActVO()).eq(SysTemplateConfig::getType,5));
                     // 用户实名认证推送消息
                     WxUtil.sendSubscribeRZSH(user.getOpenid(), accessToken, "实名认证",
-                        com.panzhihua.common.utlis.DateUtils.getCurrentDateStr(), "认证成功");
+                        com.panzhihua.common.utlis.DateUtils.getCurrentDateStr(), "认证成功",sysTemplateConfig.getTemplateId());
                 } catch (Exception e) {
                     log.error("推送用户订阅消息失败,失败原因:" + e.getMessage());
                 }
@@ -1665,9 +1715,9 @@
      * @return 展示数据
      */
     @Override
-    public R dataKanban() {
-        IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban();
-        List<DataKanbanDTO> dataKanbanDTOS = userDao.selectCommunityUserOrder();
+    public R dataKanban(String areaCode) {
+        IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban(areaCode);
+        List<DataKanbanDTO> dataKanbanDTOS = userDao.selectCommunityUserOrder(areaCode);
 
         List<String> communityUserX = new ArrayList<>();
         List<Integer> communityUserY = new ArrayList<>();
@@ -2063,7 +2113,7 @@
     @Override
     public R editSysUser(ShopStoreVO storeVO) {
         SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda()
-            .eq(SysUserDO::getPhone, storeVO.getPhone()).eq(SysUserDO::getType, 5));
+            .eq(SysUserDO::getPhone, storeVO.getStoreAccount()).eq(SysUserDO::getType, 5));
         if (sysUserDO1 == null) {
             return R.fail("未查询到后台管理用户!");
         }
@@ -2589,10 +2639,6 @@
         if (nonNull(sysUserDO)) {
             return R.fail("账户已经存在");
         }
-        sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone, convenientMerchantDTO.getPhone()));
-        if (nonNull(sysUserDO)) {
-            return R.fail("手机号已经存在");
-        }
         // sys_user 表
         sysUserDO = new SysUserDO();
         String encode = new BCryptPasswordEncoder().encode(convenientMerchantDTO.getPassword());
@@ -2601,7 +2647,7 @@
         sysUserDO.setType(10);
         sysUserDO.setAreaId(null);
         sysUserDO.setStatus(1);
-        sysUserDO.setPhone(convenientMerchantDTO.getPhone());
+        sysUserDO.setPhone(null);
         sysUserDO.setName(convenientMerchantDTO.getContacts());
         sysUserDO.setPassword(encode);
         try {
@@ -2685,7 +2731,7 @@
      */
     @Override
     public R dataKanBans(DataKanBansDto dataKanBansDto){
-        IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban();
+        IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban(dataKanBansDto.getAreaCode());
         List<String> communityUserX = new ArrayList<>();
         List<Integer> communityUserY = new ArrayList<>();
 
@@ -2695,9 +2741,9 @@
 
         List<DataKanbanDTO> dataKanbanDTOS = null;
         if(dataKanBansDto.getType() != null && dataKanBansDto.getType().equals(DataKanBansDto.type.by)){
-            dataKanbanDTOS = userDao.selectCommunityUserOrderMonth();
+            dataKanbanDTOS = userDao.selectCommunityUserOrderMonth(dataKanBansDto.getAreaCode());
         }else{
-            dataKanbanDTOS = userDao.selectCommunityUserOrder();
+            dataKanbanDTOS = userDao.selectCommunityUserOrder(dataKanBansDto.getAreaCode());
         }
         if (!ObjectUtils.isEmpty(dataKanbanDTOS)) {
             dataKanbanDTOS.forEach(dataKanbanDTO -> {
@@ -2710,7 +2756,7 @@
         List<Date> serverndays = com.panzhihua.common.utlis.DateUtils.getOldDays();
         serverndays.forEach(date -> {
             // 查询社区活动数量
-            DataKanbanDTO dataKanbanDTO = userDao.selectCommunityAddUserOrder(date);
+            DataKanbanDTO dataKanbanDTO = userDao.selectCommunityAddUserOrder(dataKanBansDto.getAreaCode(),date);
             communityActiveUserX.add(DateFormatUtils.format(date, "MM-dd"));
             communityActiveUserY.add(dataKanbanDTO.getNum());
             communityActiveUserZ.add(dataKanbanDTO.getDayNum());
@@ -2728,11 +2774,11 @@
      * @return  用户数据统计汇总
      */
     @Override
-    public R communityStatistics(){
+    public R communityStatistics(String areaCode){
         //返回结果数据
         IndexUserStatisticsVo userStatisticsVo = new IndexUserStatisticsVo();
         //查询所有街道
-        List<IndexUserStreetVo> streetList = userDao.getUserStreetList();
+        List<IndexUserStreetVo> streetList = userDao.getUserStreetList(areaCode);
         streetList.forEach(street -> {
             List<IndexUserCommunityVo> communityList = userDao.getUserCommunityList(street.getStreetId());
             street.setCommunityList(communityList);
@@ -2742,7 +2788,23 @@
     }
 
     @Override
-    public R communityStatisticsExport(){
-        return R.ok(userDao.getUserCommunityExcelExport());
+    public R communityStatisticsExport(String areaCode){
+        return R.ok(userDao.getUserCommunityExcelExport(areaCode));
+    }
+
+    /**
+     * 通过UnionId获取用户信息
+     * @param unionId
+     * @return
+     */
+    @Override
+    public R getUserInfoByUnionId(String unionId) {
+        SysUserDO sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getUnionid, unionId));
+        if (isNull(sysUserDO)) {
+            return R.fail("用户不存在");
+        }
+        LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO();
+        BeanUtils.copyProperties(sysUserDO, loginUserInfoVO);
+        return R.ok(loginUserInfoVO);
     }
 }

--
Gitblit v1.7.1