From d55d391e0a76275ef10ced37af3f55739fbb96a9 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期二, 28 九月 2021 17:22:27 +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 |   91 ++++++++++++++-------------------------------
 1 files changed, 29 insertions(+), 62 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 234fc9c..364a0cb 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
@@ -3,7 +3,6 @@
 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;
@@ -1203,19 +1202,28 @@
 
         // 获取所有权限id
         List<SysMenuDO> menuDOList = sysMenuDAO.selectList(new QueryWrapper<SysMenuDO>().lambda()
-            .eq(SysMenuDO::getCommunityId, 2l).orderByAsc(SysMenuDO::getOrderNum));
+            .eq(SysMenuDO::getCommunityId, 2L).orderByAsc(SysMenuDO::getOrderNum));
         if (!menuDOList.isEmpty()) {
             menuIds = menuDOList.stream().map(sysMenuDO -> sysMenuDO.getMenuId()).collect(Collectors.toList());
-            for (int i = 0; i < menuIds.size(); i++) {
-                SysRoleMenuDO sysRoleMenuDO = sysRoleMenuDAO.selectOne(new QueryWrapper<SysRoleMenuDO>().lambda()
-                    .eq(SysRoleMenuDO::getMenuId, menuIds.get(i)).eq(SysRoleMenuDO::getRoleId, roleId));
-                if (sysRoleMenuDO == null) {
-                    sysRoleMenuDO = new SysRoleMenuDO();
-                    sysRoleMenuDO.setMenuId(menuIds.get(i));
-                    sysRoleMenuDO.setRoleId(roleId);
-                    sysRoleMenuDAO.insert(sysRoleMenuDO);
-                }
+
+            List<SysRoleMenuDO> sysRoleMenuDOList = sysRoleMenuDAO.selectList(new QueryWrapper<SysRoleMenuDO>().lambda().eq(SysRoleMenuDO::getRoleId, roleId).in(SysRoleMenuDO::getMenuId, menuIds));
+            if (!sysRoleMenuDOList.isEmpty()) {
+                menuIds = menuIds.stream().filter(menuId -> !sysRoleMenuDOList.stream()
+                        .anyMatch(sysRoleMenuDO -> sysRoleMenuDO.getMenuId().equals(menuId))).collect(Collectors.toList());
             }
+            if (!menuIds.isEmpty()) {
+                sysRoleMenuDAO.batchInsertWithRoleId(menuIds, roleId);
+            }
+//            for (int i = 0; i < menuIds.size(); i++) {
+//                SysRoleMenuDO sysRoleMenuDO = sysRoleMenuDAO.selectOne(new QueryWrapper<SysRoleMenuDO>().lambda()
+//                    .eq(SysRoleMenuDO::getMenuId, menuIds.get(i)).eq(SysRoleMenuDO::getRoleId, roleId));
+//                if (sysRoleMenuDO == null) {
+//                    sysRoleMenuDO = new SysRoleMenuDO();
+//                    sysRoleMenuDO.setMenuId(menuIds.get(i));
+//                    sysRoleMenuDO.setRoleId(roleId);
+//                    sysRoleMenuDAO.insert(sysRoleMenuDO);
+//                }
+//            }
         }
         return R.ok();
     }
@@ -2168,7 +2176,6 @@
     @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) {
@@ -2591,41 +2598,17 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R addConvenientMerchantUser(ConvenientMerchantDTO convenientMerchantDTO) {
-        // todo 便民
-        log.error("catTimeStamp进入addConvenientMerchantUser" + convenientMerchantDTO.getAccount() + 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("建立商家角色失败,商家名称可能已被占用!");
-            }
+        SysUserDO sysUserDO;
+        sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getAccount, convenientMerchantDTO.getAccount()));
+        if (nonNull(sysUserDO)) {
+            return R.fail("账户已经存在");
         }
-        log.error("catTimeStamp-SysRoleDO创建完成" + convenientMerchantDTO.getAccount() + Instant.now().toEpochMilli());
-        // 新角色设置所有权限
-        MenuRoleVO menuRoleVO = new MenuRoleVO();
-        menuRoleVO.setIsAll(1);
-        menuRoleVO.setCommunityId(communityId);
-        menuRoleVO.setRoleId(sysRoleDO.getRoleId());
-        this.putMenuRole(menuRoleVO);
-
-        log.error("catTimeStamp-MenuRoleVO创建完成" + convenientMerchantDTO.getAccount() + Instant.now().toEpochMilli());
-
+        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());
         BeanUtils.copyProperties(convenientMerchantDTO, sysUserDO);
         sysUserDO.setAccount(convenientMerchantDTO.getAccount());
@@ -2637,17 +2620,10 @@
         sysUserDO.setPassword(encode);
         try {
             userDao.insert(sysUserDO);
-            log.error("catTimeStamp-sysUserDO创建完成" + convenientMerchantDTO.getAccount() + 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("新增商户发生错误");
     }
@@ -2664,17 +2640,8 @@
     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);
-        }
-    }
+    userDao.updateById(sysUserDO);
     return R.ok();
 }
 

--
Gitblit v1.7.1