From 08eefab8f0b04018dc62928ec2191bcae9d3e7d0 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期五, 15 十月 2021 16:25:01 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test

---
 springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java |  187 +++++++++++++++++++++++++++++++++++-----------
 1 files changed, 141 insertions(+), 46 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 364a0cb..62ee081 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,6 +14,11 @@
 
 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 org.apache.commons.lang.time.DateFormatUtils;
 import org.apache.commons.lang.time.DateUtils;
 import org.springframework.beans.BeanUtils;
@@ -54,8 +59,6 @@
 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.grid.GridMemberVO;
 import com.panzhihua.common.model.vos.grid.admin.GridMemberBuildingVO;
 import com.panzhihua.common.model.vos.partybuilding.ActivityManagerVO;
@@ -81,34 +84,6 @@
 import com.panzhihua.common.utlis.StringUtils;
 import com.panzhihua.common.utlis.WxUtil;
 import com.panzhihua.common.utlis.WxXCXTempSend;
-import com.panzhihua.service_user.dao.ComMngFamilyInfoDAO;
-import com.panzhihua.service_user.dao.ComMngUserTagDAO;
-import com.panzhihua.service_user.dao.EventGridMemberBuildingRelationMapper;
-import com.panzhihua.service_user.dao.LcCompareMemberCodeMapper;
-import com.panzhihua.service_user.dao.RoleDAO;
-import com.panzhihua.service_user.dao.SysMenuDAO;
-import com.panzhihua.service_user.dao.SysOperLogDAO;
-import com.panzhihua.service_user.dao.SysRoleMenuDAO;
-import com.panzhihua.service_user.dao.SysUserAgreementDAO;
-import com.panzhihua.service_user.dao.SysUserFeedbackDAO;
-import com.panzhihua.service_user.dao.SysUserInputDAO;
-import com.panzhihua.service_user.dao.SysUserNoticeDAO;
-import com.panzhihua.service_user.dao.SysUserRoleDAO;
-import com.panzhihua.service_user.dao.UserDao;
-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;
@@ -158,6 +133,8 @@
     private EventGridMemberBuildingRelationMapper eventGridMemberBuildingRelationMapper;
     @Resource
     private LcCompareMemberCodeMapper lcCompareMemberCodeMapper;
+    @Resource
+    private ComActFourMemberDao comActFourMemberDao;
     // @Resource
     // private GridService gridService;
 
@@ -346,6 +323,8 @@
             loginUserInfoVO.setRoles(set);
         }
         loginUserInfoVO.setIsmemberrole(2);
+        loginUserInfoVO.setIsFourMember(2);
+        loginUserInfoVO.setIsCommunityWorker(2);
         // 志愿者状态
         String phone = sysUserDO.getPhone();
         Long userCommunityId = sysUserDO.getCommunityId();
@@ -363,12 +342,18 @@
                 int state = comMngVolunteerMngVO.getState().intValue();
                 loginUserInfoVO.setVolunteerStatus(state);
             }
+            //是否四长四员
+            Integer countFourMember=comActFourMemberDao.selectCount(new QueryWrapper<ComActFourMember>().lambda().eq(ComActFourMember::getIdCard,sysUserDO.getIdCard()));
+            if(countFourMember>0){
+                loginUserInfoVO.setIsFourMember(1);
+            }
             // 是否是"管理员"或者 本社区 "社区团队"、"党委成员"
             Integer countTeam = userDao.selectCountTeam(phone, userCommunityId);
             Integer selectCountMemberRole = userDao.selectCountMemberRole(phone, userCommunityId);
             Integer isSysUser = userDao.selectCountSysUser(phone, userCommunityId);
             if (countTeam != null && countTeam > 0) {
                 loginUserInfoVO.setIsmemberrole(1);
+                loginUserInfoVO.setIsCommunityWorker(1);
             } else if (selectCountMemberRole != null && selectCountMemberRole > 0) {
                 loginUserInfoVO.setIsmemberrole(1);
             } else if (isSysUser != null && isSysUser > 0) {
@@ -575,7 +560,8 @@
     @Override
     public R listTag() {
         List<String> list = new ArrayList<>();
-        List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO.selectList(new LambdaQueryWrapper<>());
+        List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO.selectList(new LambdaQueryWrapper<ComMngUserTagDO>()
+                .eq(ComMngUserTagDO::getSysFlag,1));
         if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
             list = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName())
                 .collect(Collectors.toList());
@@ -798,7 +784,7 @@
         sysUserDO.setIdCard(idCard);
         // 通过身份证号判断性别以及出生日期
         sysUserDO.setSex(IdCard.sex(idCard));
-        sysUserDO.setBirthday(IdCard.birthDay(idCard));
+        sysUserDO.setBirthday(IdcardUtil.getBirthDate(idCard));
         if (!StringUtils.isEmpty(loginUserInfoVO.getJob())) {
             sysUserDO.setJob(loginUserInfoVO.getJob());
         }
@@ -2629,25 +2615,134 @@
     }
 
     /**
- * 修改便民服务商家绑定账号
- * @param userId 用户id
- * @param account 修改账户
- * @return 修改结果
- */
-@Override
-public R putUserAccount(Long userId, String account) {
-    SysUserDO sysUserDO = userDao.selectById(userId);
-    if (isNull(sysUserDO)) {
-        return R.fail("用户不存在");
+     * 修改便民服务商家绑定账号
+     * @param userId 用户id
+     * @param account 修改账户
+     * @return 修改结果
+     */
+    @Override
+    public R putUserAccount(Long userId, String account) {
+        SysUserDO sysUserDO = userDao.selectById(userId);
+        if (isNull(sysUserDO)) {
+            return R.fail("用户不存在");
+        }
+        sysUserDO.setAccount(account);
+        userDao.updateById(sysUserDO);
+        return R.ok();
     }
-    sysUserDO.setAccount(account);
-    userDao.updateById(sysUserDO);
-    return R.ok();
-}
+
+    // /**
+    //  * 修改便民服务商家绑定账号
+    //  * @param userId 用户id
+    //  * @param account 修改账户
+    //  * @return 修改结果
+    //  */
+    // @Override
+    // public R putUserAccount(Long userId, String account) {
+    //     SysUserDO sysUserDO = userDao.selectById(userId);
+    //     if (isNull(sysUserDO)) {
+    //         return R.fail("用户不存在");
+    //     }
+    //     String oldAccount = sysUserDO.getAccount();
+    //     sysUserDO.setAccount(account);
+    //     int result = userDao.updateById(sysUserDO);
+    //     if (result > 0) {
+    //         SysRoleDO sysRoleDO = roleDAO.selectOne(new QueryWrapper<SysRoleDO>()
+    //                 .lambda().eq(SysRoleDO::getRoleKey, Constants.CONVENIENT_MERCHANT_ROLE_KEY + oldAccount));
+    //         if (nonNull(sysRoleDO)) {
+    //             sysRoleDO.setRoleKey(Constants.CONVENIENT_MERCHANT_ROLE_KEY + account);
+    //             roleDAO.updateById(sysRoleDO);
+    //         }
+    //     }
+    //     return R.ok();
+    // }
 
     @Override
     public R disableOrEnableMerchantUsers(DisableOrEnableConvenientMerchantDTO disableOrEnableConvenientMerchantDTO) {
         userDao.disableOrEnableMerchantUsers(disableOrEnableConvenientMerchantDTO.getType(), disableOrEnableConvenientMerchantDTO.getUserIds());
         return R.ok();
     }
+    
+    /**
+     * 根据openid维护社区团队里是否注册
+     * @param openid    用户微信唯一标识
+     */
+    @Override
+    public void judgeCommunityTeam(String openid){
+        //查询用户信息
+        SysUserDO userDO = this.userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getOpenid,openid));
+        if(userDO != null && StringUtils.isNotEmpty(userDO.getPhone())){
+            if(this.userDao.getCommunityTeamCount(userDO.getPhone()) > 0){
+                this.userDao.judgeCommunityTeam(userDO.getPhone());
+            }
+        }
+    }
+
+    /**
+     * 数据看板升级版
+     *
+     * @return 运营后台数据看板升级版
+     */
+    @Override
+    public R dataKanBans(DataKanBansDto dataKanBansDto){
+        IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban();
+        List<String> communityUserX = new ArrayList<>();
+        List<Integer> communityUserY = new ArrayList<>();
+
+        List<String> communityActiveUserX = new ArrayList<>();
+        List<Integer> communityActiveUserY = new ArrayList<>();
+        List<Integer> communityActiveUserZ = new ArrayList<>();
+
+        List<DataKanbanDTO> dataKanbanDTOS = null;
+        if(dataKanBansDto.getType() != null && dataKanBansDto.getType().equals(DataKanBansDto.type.by)){
+            dataKanbanDTOS = userDao.selectCommunityUserOrderMonth();
+        }else{
+            dataKanbanDTOS = userDao.selectCommunityUserOrder();
+        }
+        if (!ObjectUtils.isEmpty(dataKanbanDTOS)) {
+            dataKanbanDTOS.forEach(dataKanbanDTO -> {
+                communityUserX.add(dataKanbanDTO.getName());
+                communityUserY.add(dataKanbanDTO.getNum());
+            });
+        }
+
+        // 获取最近二十天数据
+        List<Date> serverndays = com.panzhihua.common.utlis.DateUtils.getOldDays();
+        serverndays.forEach(date -> {
+            // 查询社区活动数量
+            DataKanbanDTO dataKanbanDTO = userDao.selectCommunityAddUserOrder(date);
+            communityActiveUserX.add(DateFormatUtils.format(date, "MM-dd"));
+            communityActiveUserY.add(dataKanbanDTO.getNum());
+            communityActiveUserZ.add(dataKanbanDTO.getDayNum());
+        });
+        indexDataKanbanVO.setCommunityActiveUserX(communityActiveUserX);
+        indexDataKanbanVO.setCommunityAddUserY(communityActiveUserY);
+        indexDataKanbanVO.setCommunityActiveUserY(communityActiveUserZ);
+        indexDataKanbanVO.setCommunityUserX(communityUserX);
+        indexDataKanbanVO.setCommunityUserY(communityUserY);
+        return R.ok(indexDataKanbanVO);
+    }
+
+    /**
+     * 运营后台-用户数据统计汇总
+     * @return  用户数据统计汇总
+     */
+    @Override
+    public R communityStatistics(){
+        //返回结果数据
+        IndexUserStatisticsVo userStatisticsVo = new IndexUserStatisticsVo();
+        //查询所有街道
+        List<IndexUserStreetVo> streetList = userDao.getUserStreetList();
+        streetList.forEach(street -> {
+            List<IndexUserCommunityVo> communityList = userDao.getUserCommunityList(street.getStreetId());
+            street.setCommunityList(communityList);
+        });
+        userStatisticsVo.setStreetList(streetList);
+        return R.ok(userStatisticsVo);
+    }
+
+    @Override
+    public R communityStatisticsExport(){
+        return R.ok(userDao.getUserCommunityExcelExport());
+    }
 }

--
Gitblit v1.7.1