From faae303cd25f90b1c732b6bc737ede8b8ab714a0 Mon Sep 17 00:00:00 2001
From: 罗元桥 <2376770955@qq.com>
Date: 星期一, 27 九月 2021 16:56:28 +0800
Subject: [PATCH] Merge branch 'test' into 'test_bak'

---
 springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java |  223 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 214 insertions(+), 9 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 5c6666e..cedecbf 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
@@ -1,6 +1,16 @@
 package com.panzhihua.service_user.service.impl;
 
-import java.util.*;
+import static java.util.Objects.isNull;
+import static java.util.Objects.nonNull;
+
+import java.time.Instant;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
@@ -26,19 +36,80 @@
 import com.panzhihua.common.model.dtos.PageDTO;
 import com.panzhihua.common.model.dtos.community.ExportUserDTO;
 import com.panzhihua.common.model.dtos.community.NoticeReadDTO;
-import com.panzhihua.common.model.dtos.grid.*;
-import com.panzhihua.common.model.dtos.user.*;
-import com.panzhihua.common.model.vos.*;
+import com.panzhihua.common.model.dtos.community.convenient.ConvenientMerchantDTO;
+import com.panzhihua.common.model.dtos.community.convenient.DisableOrEnableConvenientMerchantDTO;
+import com.panzhihua.common.model.dtos.grid.EventGridMemberAddDTO;
+import com.panzhihua.common.model.dtos.grid.EventGridMemberEditAdminDTO;
+import com.panzhihua.common.model.dtos.grid.EventGridMemberEditStatusDTO;
+import com.panzhihua.common.model.dtos.grid.EventGridMemberPassResetDTO;
+import com.panzhihua.common.model.dtos.grid.PageEventGridMemberRelationDTO;
+import com.panzhihua.common.model.dtos.user.EexcelUserDTO;
+import com.panzhihua.common.model.dtos.user.PageFeedBackDTO;
+import com.panzhihua.common.model.dtos.user.PageUserAppletsBackstageDTO;
+import com.panzhihua.common.model.dtos.user.SysUserEditTipsDTO;
+import com.panzhihua.common.model.dtos.user.SysUserFeedbackDTO;
+import com.panzhihua.common.model.vos.AppletUserInfoVO;
+import com.panzhihua.common.model.vos.EditUserInfoPassAppDTO;
+import com.panzhihua.common.model.vos.IndexDataKanbanVO;
+import com.panzhihua.common.model.vos.IndexDataVO;
+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;
 import com.panzhihua.common.model.vos.shop.ShopStoreVO;
-import com.panzhihua.common.model.vos.user.*;
-import com.panzhihua.common.utlis.*;
-import com.panzhihua.service_user.dao.*;
-import com.panzhihua.service_user.model.dos.*;
+import com.panzhihua.common.model.vos.user.AdministratorsUserVO;
+import com.panzhihua.common.model.vos.user.ChangePasswordVO;
+import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO;
+import com.panzhihua.common.model.vos.user.ComMngUserTagVO;
+import com.panzhihua.common.model.vos.user.CommunityUserInfoVO;
+import com.panzhihua.common.model.vos.user.MenuRoleVO;
+import com.panzhihua.common.model.vos.user.NoticeUnReadVO;
+import com.panzhihua.common.model.vos.user.SysOperLogVO;
+import com.panzhihua.common.model.vos.user.SysUserAgreementVO;
+import com.panzhihua.common.model.vos.user.SysUserFeedbackVO;
+import com.panzhihua.common.model.vos.user.SysUserNoticeVO;
+import com.panzhihua.common.model.vos.user.SysUserVO;
+import com.panzhihua.common.model.vos.user.UpdateUserArchivesVO;
+import com.panzhihua.common.model.vos.user.UserArchivesVO;
+import com.panzhihua.common.model.vos.user.UserPhoneVO;
+import com.panzhihua.common.utlis.IdCard;
+import com.panzhihua.common.utlis.SensitiveUtil;
+import com.panzhihua.common.utlis.Snowflake;
+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;
@@ -998,6 +1069,8 @@
                 throw new ServiceException("手机号已经存在");
             } else if (e.getMessage().contains("union_account_type")) {
                 throw new ServiceException("账户已经存在");
+            }else if(e.getMessage().contains("23000")){
+                throw new ServiceException("手机号已存在");
             }
 
         }
@@ -1020,6 +1093,8 @@
                     throw new ServiceException("手机号已经存在");
                 } else if (e.getMessage().contains("union_account_type")) {
                     throw new ServiceException("账户已经存在");
+                }else if(e.getMessage().contains("23000")){
+                    throw new ServiceException("手机号已存在");
                 }
 
             }
@@ -2093,7 +2168,7 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R addGridUser(EventGridMemberAddDTO eventGridMemberAddDTO) {
-
+        //todo 网格
         SysRoleDO gridMemberDefaultRole = roleDAO.selectOne(
             new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, Constants.GRID_DEFAULT_ROLE_KEY));
         if (gridMemberDefaultRole == null) {
@@ -2493,4 +2568,134 @@
         }
         return R.fail();
     }
+
+    @Override
+    public R resetPasswordPatch(Long[] userId,String password) {
+        if(userId!=null){
+            for(Long user:userId){
+                SysUserDO sysUserDO = new SysUserDO();
+                sysUserDO.setUserId(user);
+                String encode = new BCryptPasswordEncoder().encode(password);
+                sysUserDO.setPassword(encode);
+                userDao.updateById(sysUserDO);
+            }
+        }
+        return R.ok();
+    }
+
+    /**
+     * 便民服务新增商家账号
+     * @param convenientMerchantDTO
+     * @return 商家用户id
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R addConvenientMerchantUser(ConvenientMerchantDTO convenientMerchantDTO) {
+        // todo 便民
+        log.error("catTimeStamp进入addConvenientMerchantUser", Instant.now().toEpochMilli());
+        SysUserDO sysUserDO = new SysUserDO();
+        Long communityId = 0L;
+        // 新增社区高级管理员角色
+        SysRoleDO sysRoleDO = new SysRoleDO();
+        sysRoleDO.setCommunityId(communityId);
+        sysRoleDO.setRoleName(convenientMerchantDTO.getName());
+        sysRoleDO.setRoleKey(Constants.CONVENIENT_MERCHANT_ROLE_KEY + convenientMerchantDTO.getAccount());
+        sysRoleDO.setRoleSort(0);
+        sysRoleDO.setCreateBy(convenientMerchantDTO.getCreatedBy());
+        try {
+            int insert = roleDAO.insert(sysRoleDO);
+            if (insert != 1) {
+                return R.fail("网络错误");
+            }
+        } catch (Exception e) {
+            log.error("新增角色报错【{}】", e.getMessage());
+            if (e.getMessage().contains("unique_role_name_community_id")) {
+                return R.fail("商家名称已被占用");
+            } else {
+                return R.fail("建立商家角色失败,商家名称可能已被占用!");
+            }
+        }
+        log.error("catTimeStamp-SysRoleDO创建完成", Instant.now().toEpochMilli());
+        // 新角色设置所有权限
+        MenuRoleVO menuRoleVO = new MenuRoleVO();
+        menuRoleVO.setIsAll(1);
+        menuRoleVO.setCommunityId(communityId);
+        menuRoleVO.setRoleId(sysRoleDO.getRoleId());
+        this.putMenuRole(menuRoleVO);
+
+        log.error("catTimeStamp-MenuRoleVO创建完成", Instant.now().toEpochMilli());
+
+        // sys_user 表
+        String encode = new BCryptPasswordEncoder().encode(convenientMerchantDTO.getPassword());
+        BeanUtils.copyProperties(convenientMerchantDTO, sysUserDO);
+        sysUserDO.setAccount(convenientMerchantDTO.getAccount());
+        sysUserDO.setType(10);
+        sysUserDO.setAreaId(null);
+        sysUserDO.setStatus(1);
+        sysUserDO.setPhone(convenientMerchantDTO.getPhone());
+        sysUserDO.setName(convenientMerchantDTO.getContacts());
+        sysUserDO.setPassword(encode);
+        try {
+            userDao.insert(sysUserDO);
+            log.error("catTimeStamp-sysUserDO创建完成", Instant.now().toEpochMilli());
+            return R.ok(sysUserDO.getUserId());
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("新增后台用户报错【{}】", e.getMessage());
+            roleDAO.deleteByRoleKey(Constants.CONVENIENT_MERCHANT_ROLE_KEY + convenientMerchantDTO.getAccount());
+            if (e.getMessage().contains("union_phone_type")) {
+                return R.fail("手机号已经存在");
+            } else if (e.getMessage().contains("union_account_type")) {
+                return R.fail("账户已经存在");
+            }
+        }
+        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("用户不存在");
+        }
+        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());
+            }
+        }
+    }
 }

--
Gitblit v1.7.1