From 4ba2888890547079e9610c19d540b44cd3e2e0fb Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期五, 24 九月 2021 15:50:21 +0800
Subject: [PATCH] 角色修改提交

---
 springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java |  133 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 118 insertions(+), 15 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 b9b8ca6..39d44bf 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,7 +14,6 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
-import org.springframework.util.StringUtils;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -239,6 +238,9 @@
         loginUserInfoVO.setAccount(name);
         loginUserInfoVO.setType(sysUserDO.getType());
         loginUserInfoVO.setIsRealNamed(sysUserDO.getIdCard() != null);// 暂时 身份证判断实名制
+        if(sysUserDO.getCommunityId()!=null){
+            loginUserInfoVO.setCommunityId(sysUserDO.getCommunityId());
+        }
         List<SysRoleDO> roleDOList = roleDAO.selectByUserId(sysUserDO.getUserId());
         Set<String> set = new HashSet<>();
         if (!ObjectUtils.isEmpty(roleDOList)) {
@@ -461,18 +463,35 @@
 //            record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone()));
             record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard()));
 
-            StringBuilder sb = new StringBuilder();
-            if (record.getIsPartymember().equals(1)) {
-                sb.append("党员,");
-            }
-            if (record.getIsVolunteer().equals(1)) {
-                sb.append("志愿者,");
-            }
-            String tag = sb.toString();
-            if (tag.length() > 0) {
-                record.setTags(tag.substring(0, tag.length() - 1));
-            } else {
-                record.setTags("无");
+            if (StringUtils.isNotEmpty(record.getTags())) {
+                StringBuffer sb = new StringBuffer();
+                sb.append(record.getTags() + ",");
+                if (record.getIsPartymember().equals(1)) {
+                    if (!sb.toString().contains("党员")){
+                        sb.append("党员,");
+                    }
+                }
+                if (record.getIsVolunteer().equals(1)) {
+                    if (!sb.toString().contains("志愿者")) {
+                        sb.append("志愿者,");
+                    }
+                }
+                String tags = sb.toString();
+                record.setTags(tags.substring(0, tags.length() - 1));
+            }else {
+                StringBuffer sb = new StringBuffer();
+                if (record.getIsPartymember().equals(1)) {
+                    sb.append("党员,");
+                }
+                if (record.getIsVolunteer().equals(1)) {
+                    sb.append("志愿者,");
+                }
+                String tags = sb.toString();
+                if (tags.length() > 0) {
+                    record.setTags(tags.substring(0, tags.length() - 1));
+                } else {
+                    record.setTags("无");
+                }
             }
         });
         return R.ok(iPage);
@@ -578,7 +597,9 @@
     public R putUserTag(LoginUserInfoVO loginUserInfoVO) {
         SysUserDO sysUserDO = new SysUserDO();
         sysUserDO.setUserId(loginUserInfoVO.getUserId());
-        sysUserDO.setTags(loginUserInfoVO.getTags());
+        if (StringUtils.isNotEmpty(loginUserInfoVO.getTags()) && !"无".equals(loginUserInfoVO.getTags())) {
+            sysUserDO.setTags(loginUserInfoVO.getTags());
+        }
         int update = userDao.putUserTag(sysUserDO);
         if (update > 0) {
             return R.ok();
@@ -1013,7 +1034,47 @@
             sysUserRoleDO.setRoleId(roleDO.getRoleId());
             int insert1 = sysUserRoleDAO.insert(sysUserRoleDO);
             if (insert1 > 0) {
-                return R.ok();
+                return R.ok(userId);
+            }
+        }
+        return R.fail();
+    }
+
+    @Override
+    public R addUserBackstageProperty(AdministratorsUserVO administratorsUserVO) {
+        SysUserDO sysUserDO = new SysUserDO();
+        Long roleId = administratorsUserVO.getRoleId();
+        SysRoleDO roleDO = roleDAO.selectById(roleId);
+        if (ObjectUtils.isEmpty(roleDO)) {
+            return R.fail("角色不存在");
+        }
+        String encode = new BCryptPasswordEncoder().encode(administratorsUserVO.getPassword());
+        administratorsUserVO.setPassword(encode);
+        BeanUtils.copyProperties(administratorsUserVO, sysUserDO);
+        int insert = 0;
+        try {
+            insert = userDao.insert(sysUserDO);
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("新增后台用户报错【{}】", e.getMessage());
+            if (e.getMessage().contains("union_phone_type")) {
+                throw new ServiceException("手机号已经存在");
+            } else if (e.getMessage().contains("union_account_type")) {
+                throw new ServiceException("账户已经存在");
+            }
+
+        }
+        if (insert > 0) {
+            SysUserDO sysUserDO1 = userDao
+                    .selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, administratorsUserVO.getType())
+                            .eq(SysUserDO::getAccount, administratorsUserVO.getAccount()));
+            Long userId = sysUserDO1.getUserId();
+            SysUserRoleDO sysUserRoleDO = new SysUserRoleDO();
+            sysUserRoleDO.setUserId(userId);
+            sysUserRoleDO.setRoleId(roleDO.getRoleId());
+            int insert1 = sysUserRoleDAO.insert(sysUserRoleDO);
+            if (insert1 > 0) {
+                return R.ok(userId);
             }
         }
         return R.fail();
@@ -2404,4 +2465,46 @@
     public R getUserListByCommunityId(Long communityId) {
         return R.ok(this.userDao.getUserListByCommunityId(communityId));
     }
+
+    /**
+     * 检查当前用户是否是社区工作人员
+     * @param phone
+     * @param communityId
+     * @return
+     */
+    @Override
+    public R checkCurrentUserIsTeam(String phone, Long communityId) {
+        int result = this.userDao.selectCountTeam(phone, communityId);
+        if (result > 0) {
+            return R.ok(true);
+        }
+        return R.ok(false);
+    }
+
+    @Override
+    public R resetPassword(Long userId) {
+        SysUserDO sysUserDO = new SysUserDO();
+        sysUserDO.setUserId(userId);
+        String encode = new BCryptPasswordEncoder().encode("admin123456");
+        sysUserDO.setPassword(encode);
+        int update = userDao.updateById(sysUserDO);
+        if (update > 0) {
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    @Override
+    public R resetPasswordPatch(Long[] userId) {
+        if(userId!=null){
+            for(Long user:userId){
+                SysUserDO sysUserDO = new SysUserDO();
+                sysUserDO.setUserId(user);
+                String encode = new BCryptPasswordEncoder().encode("admin123456");
+                sysUserDO.setPassword(encode);
+                userDao.updateById(sysUserDO);
+            }
+        }
+        return R.ok();
+    }
 }

--
Gitblit v1.7.1