From 764f045c785959117db3d27d744e63d2dad6240c Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期一, 13 十一月 2023 09:04:41 +0800
Subject: [PATCH] 后台bug修改

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java |  173 +++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 119 insertions(+), 54 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java
index 0664128..bf7ce4a 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java
@@ -2,6 +2,7 @@
 
 import cn.hutool.crypto.SecureUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dsh.course.mapper.UserMapper;
 import com.dsh.guns.config.UserExt;
@@ -22,11 +23,13 @@
 import com.dsh.guns.core.util.SinataUtil;
 import com.dsh.guns.modular.system.controller.util.MD5;
 import com.dsh.guns.modular.system.factory.UserFactory;
-import com.dsh.guns.modular.system.model.Role;
-import com.dsh.guns.modular.system.model.User;
+import com.dsh.guns.modular.system.model.*;
+import com.dsh.guns.modular.system.service.IDeptService;
 import com.dsh.guns.modular.system.service.IRoleService;
+import com.dsh.guns.modular.system.service.IStoreService;
 import com.dsh.guns.modular.system.service.IUserService;
 import com.dsh.guns.modular.system.transfer.UserDto;
+import com.dsh.guns.modular.system.util.OBSUploadUtil;
 import com.dsh.guns.modular.system.util.OssUploadUtil;
 import com.dsh.guns.modular.system.util.ResultUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -40,6 +43,7 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 系统管理员控制器
@@ -61,7 +65,8 @@
 
     @Autowired
     private IRoleService roleService;
-
+    @Autowired
+    private IDeptService deptService;
 
 
     /**
@@ -78,6 +83,7 @@
      */
     @RequestMapping("/user_add")
     public String addView(Model model) {
+        model.addAttribute("role",UserExt.getUser().getObjectType());
         model.addAttribute("language",UserExt.getLanguage());
         LambdaQueryWrapper<Role> roleLambdaQueryWrapper = new LambdaQueryWrapper<>();
         if(UserExt.getUser().getObjectType()!=1){
@@ -86,6 +92,9 @@
         roleLambdaQueryWrapper.eq(Role::getObjType,UserExt.getUser().getObjectType());
         List<Role> list = roleService.list(roleLambdaQueryWrapper);
         model.addAttribute("list",list);
+        // 部门列表
+        List<Dept> depts = deptService.list(new QueryWrapper<>());
+        model.addAttribute("depts",depts);
         return PREFIX + "user_add.html";
     }
 
@@ -106,11 +115,12 @@
     }
 
     /**
-     * 跳转到编辑管理员页面
+     * 跳转到编辑管理员页面 type=1编辑 type=2 查看详情
      */
     @Permission
-    @RequestMapping("/user_edit/{userId}")
-    public String userEdit(@PathVariable Integer userId, Model model) {
+    @RequestMapping("/user_edit/{userId}/{type}")
+    public String userEdit(@PathVariable Integer userId,@PathVariable Integer type, Model model) {
+        model.addAttribute("role",UserExt.getUser().getObjectType());
         if (Objects.isNull(userId)) {
             throw new GunsException(BizExceptionEnum.REQUEST_NULL);
         }
@@ -128,6 +138,10 @@
         List<Role> list = roleService.list(roleLambdaQueryWrapper);
         model.addAttribute("list",list);
         model.addAttribute("language",UserExt.getLanguage());
+        // 部门列表
+        List<Dept> depts = deptService.list(new QueryWrapper<>());
+        model.addAttribute("depts",depts);
+        model.addAttribute("type",type);
         return PREFIX + "user_edit.html";
     }
 
@@ -178,32 +192,68 @@
         }
     }
 
+    @Autowired
+    private IStoreService storeService;
     /**
      * 查询管理员列表
      */
     @RequestMapping("/list")
     @Permission
     @ResponseBody
-    public Object list(@RequestParam(required = false) String name, @RequestParam(required = false) String createTime, @RequestParam(required = false) Integer deptid) {
-        //创建日期
-        String beginTime = null;
-        String endTime = null;
-        if (SinataUtil.isNotEmpty(createTime)){
-            String[] timeArray = createTime.split(" - ");
-            beginTime = timeArray[0];
-            endTime = timeArray[1];
+    public List<UserListVO> list(String name, String phone, String idCard, Integer isSales, Integer state) {
+        UserQuery userQuery = new UserQuery();
+        userQuery.setName(name);
+        userQuery.setPhone(phone);
+        userQuery.setIdCard(idCard);
+        userQuery.setIsSales(isSales);
+        userQuery.setStatus(state);
+
+        // 根据当前登陆人类型来查询员工列表
+        Integer objectType = UserExt.getUser().getObjectType();
+        Integer objectId = UserExt.getUser().getObjectId();
+        switch (objectType){
+            case 1:
+                // 平台查询所有
+                List<UserListVO> res= userService.searchUsers(userQuery);
+                return res;
+            case 2:
+                // 运营商查询运营商账号的员工和属于该运营商门店的员工
+                userQuery.setObjectType(2);
+                userQuery.setObjectId(objectId);
+                // 获取属于这个运营商的门店的店长ids
+                List<Integer> storeStaffIds = storeService.list(new QueryWrapper<TStore>().eq("operatorId", objectId)
+                        .ne("state", 3)).stream().map(TStore::getStoreStaffId).collect(Collectors.toList());
+                userQuery.setStoreIds(storeStaffIds);
+                List<UserListVO> res1= userService.searchUsers(userQuery);
+                return res1;
+            case 3:
+                // 门店只查询门店员工
+                TStore store = storeService.getById(objectId);
+                List<Integer> storeIds = userQuery.getStoreIds();
+                storeIds.add(store.getStoreStaffId());
+                List<UserListVO> res2= userService.searchUsers(userQuery);
+                return res2;
         }
-        User user = UserExt.getUser();
-        Role role = roleService.getBaseMapper().selectById(user.getRoleid());
-        if ("administrator".equals(role.getTips())) {
-            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
-            page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid));
-            return super.packForBT(page);
-        } else {
-            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
-            page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid));
-            return super.packForBT(page);
-        }
+        return new ArrayList<>();
+//        //创建日期
+//        String beginTime = null;
+//        String endTime = null;
+//        if (SinataUtil.isNotEmpty(createTime)){
+//            String[] timeArray = createTime.split(" - ");
+//            beginTime = timeArray[0];
+//            endTime = timeArray[1];
+//        }
+//        User user = UserExt.getUser();
+//        Role role = roleService.getBaseMapper().selectById(user.getRoleid());
+//        if ("administrator".equals(role.getTips())) {
+//            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+//            page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid));
+//            return super.packForBT(page);
+//        } else {
+//            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+//            page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid));
+//            return super.packForBT(page);
+//        }
     }
 
     /**
@@ -213,39 +263,51 @@
     @BussinessLog(value = "添加管理员", key = "account", dict = UserDict.class)
     @Permission(Const.ADMIN_NAME)
     @ResponseBody
-    public Tip add(@Valid UserDto user, BindingResult result) {
+    public Object add(@Valid UserDto user, BindingResult result) {
         if (result.hasErrors()) {
             throw new GunsException(BizExceptionEnum.REQUEST_NULL);
         }
 
         // 判断账号是否重复
-        //Check if the account is duplicated
         User theUser = new User();
-        if (user.getAccount()!=""){
-         theUser = userService.getByAccount(user.getAccount());
-
+        if (user.getPhone()!=""){
+         theUser = userService.getByAccount(user.getPhone());
         }
-        System.out.println("=====theUser======="+theUser);
-        if (theUser != null&&user.getAccount()!="") {
-            throw new GunsException(BizExceptionEnum.USER_ALREADY_REG);
+        if (theUser != null){
+            return 5001;
         }
 
         // 完善账号信息
-        // Complete account information
         user.setPassword(SecureUtil.md5(user.getPassword()));
         user.setStatus(ManagerStatus.OK.getCode());
         user.setCreatetime(new Date());
-
         User objectUser = UserFactory.createUser(user);
-        objectUser.setObjectType(UserExt.getUser().getObjectType());
+        objectUser.setObjectType(Integer.valueOf(user.getRoleid()));
         objectUser.setObjectId(UserExt.getUser().getObjectId());
         objectUser.setRoleid(user.getRoleid());
         objectUser.setAccount(user.getPhone());
+        objectUser.setName(user.getName());
+        objectUser.setPhone(user.getPhone());
+        objectUser.setBirthday(user.getBirthday());
+        objectUser.setDeptid(user.getDeptid());
+        objectUser.setIdCard(user.getIdCard());
+        objectUser.setSex(user.getSex());
+        objectUser.setStatus(1);
         objectUser.setPassword(SecureUtil.md5("a123456"));
-        //查找平台所属公司
-        //Search for the company that owns the platform.
+        objectUser.setCreatetime(new Date());
+        // 运营商添加员工
+        if (UserExt.getUser().getObjectType() == 2){
+            objectUser.setObjectType(UserExt.getUser().getObjectType());
+            objectUser.setRoleid("2");
+            objectUser.setObjectId(UserExt.getUser().getObjectId());
+        }
+        // 门店添加员工
+        if (UserExt.getUser().getObjectType() == 3){
+            objectUser.setObjectType(UserExt.getUser().getObjectType());
+            objectUser.setRoleid("3");
+            objectUser.setObjectId(UserExt.getUser().getObjectId());
+        }
         this.userService.save(objectUser);
-
         return SUCCESS_TIP;
     }
 
@@ -257,27 +319,30 @@
     @RequestMapping("/edit")
     @BussinessLog(value = "修改管理员", key = "account", dict = UserDict.class)
     @ResponseBody
-    public Tip edit(@Valid UserDto user, BindingResult result) throws NoPermissionException {
+    public Object edit(@Valid UserDto user, BindingResult result) throws NoPermissionException {
         if (result.hasErrors()) {
             throw new GunsException(BizExceptionEnum.REQUEST_NULL);
         }
-
-
         User oldUser = userService.getById(user.getId());
-//        UserExt.hasRole(Const.ADMIN_NAME)
-        if (false) {
-            this.userService.updateById(UserFactory.editUser(user, oldUser));
-            return SUCCESS_TIP;
-        } else {
-            assertAuth(user.getId());
-            User shiroUser = UserExt.getUser();
-            if (shiroUser.getId().equals(user.getId()) || shiroUser.getId()==1) {
-                this.userService.updateById(UserFactory.editUser(user, oldUser));
-                return SUCCESS_TIP;
-            } else {
-                throw new GunsException(BizExceptionEnum.NO_PERMITION);
+        // 判断是否更改电话
+        if (!oldUser.getPhone().equals(user.getPhone())){
+            User phone = userService.getOne(new QueryWrapper<User>().eq("phone", user.getPhone()));
+            if (phone == null){
+                oldUser.setPhone(user.getPhone());
+            }else{
+                return 5001;
             }
         }
+        oldUser.setName(user.getName());
+        oldUser.setBirthday(user.getBirthday());
+        oldUser.setRoleid(user.getRoleid());
+        oldUser.setDeptid(user.getDeptid());
+        oldUser.setIdCard(user.getIdCard());
+        oldUser.setSex(user.getSex());
+        if (user.getAvatar()!=null && (!user.getAvatar().equals("")))
+        oldUser.setAvatar(user.getAvatar());
+        this.userService.updateById(oldUser);
+        return SUCCESS_TIP;
     }
 
     /**

--
Gitblit v1.7.1