From 2a08b97f0aad3af5d981a722efb218fb201f821f Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期五, 10 十一月 2023 11:23:34 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/crm/system/controller/UserController.java |   68 +++++++++++++++++++++++++++++++---
 1 files changed, 62 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/crm/system/controller/UserController.java b/src/main/java/com/zy/crm/system/controller/UserController.java
index 94e26b8..4ab50a0 100644
--- a/src/main/java/com/zy/crm/system/controller/UserController.java
+++ b/src/main/java/com/zy/crm/system/controller/UserController.java
@@ -2,20 +2,23 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.annotations.ManagerAuth;
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.R;
+import com.core.domain.KeyValueVo;
 import com.core.exception.CoolException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.*;
 import com.zy.crm.common.web.BaseController;
+import com.zy.crm.manager.service.CstmrService;
 import com.zy.crm.system.entity.Role;
 import com.zy.crm.system.entity.User;
 import com.zy.crm.system.service.RoleService;
 import com.zy.crm.system.service.UserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
 
@@ -26,6 +29,8 @@
     private UserService userService;
     @Autowired
     private RoleService roleService;
+    @Autowired
+    private CstmrService cstmrService;
 
     @RequestMapping(value = "/user/{id}/auth")
     @ManagerAuth
@@ -69,6 +74,25 @@
         return R.ok(userService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
+    @RequestMapping(value = "/user/page/auth")
+    @ManagerAuth
+    public R page(@RequestParam(defaultValue = "1")Integer curr,
+                  @RequestParam(defaultValue = "10")Integer limit,
+                  @RequestParam(required = false)String orderByField,
+                  @RequestParam(required = false)String orderByType,
+                  @RequestParam Map<String, Object> param){
+        Object deptId = param.get("dept_id");
+        if (Cools.isEmpty(deptId)) {
+            deptId = getOriginDept().getId();
+        }
+        return R.ok(userService.getPage(new Page<>(curr, limit)
+                , getHostId()
+                , String.valueOf(deptId)
+                , param.get("username")
+                , param.get("mobile"))
+        );
+    }
+
     private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
         for (Map.Entry<String, Object> entry : map.entrySet()){
             String val = String.valueOf(entry.getValue());
@@ -90,23 +114,33 @@
         if (userService.selectCount(new EntityWrapper<User>().eq("mobile", user.getMobile()))>0) {
             return R.error("鎵嬫満鍙峰凡瀛樺湪");
         }
+        user.setHostId(getHostId());
         user.setStatus(1);
         user.setCreateTime(new Date());
+        user.setPassword("827ccb0eea8a706c4c34a16891f84e7b");  //娣诲姞鐢ㄦ埛鏃讹紝榛樿瀵嗙爜 12345
         userService.insert(user);
         return R.ok();
     }
 
     @RequestMapping(value = "/user/update/auth")
     @ManagerAuth(memo = "绯荤粺鐢ㄦ埛淇敼")
+    @Transactional
     public R update(User user){
         if (Cools.isEmpty(user) || null==user.getId()){
             return R.error();
         }
-        int count = userService.selectCount(new EntityWrapper<User>().ne("id", user.getId()).eq("username", user.getUsername()));
-        if (count > 0) {
+        if (userService.selectCount(new EntityWrapper<User>().ne("id", user.getId()).eq("username", user.getUsername())) > 0) {
             return R.error("璐﹀彿宸插瓨鍦�");
         }
-        userService.updateById(user);
+        User one = userService.selectById(user.getId());
+        if (!one.getDeptId().equals(user.getDeptId())) {
+            // todo: 淇敼鍏宠仈鏁版嵁鐨刣eptId瀛楁
+            cstmrService.updateDeptIdByUserId(user.getId(), user.getDeptId());
+        }
+        user.setNickname(user.getUsername());
+        if (!userService.updateById(user)) {
+            throw new CoolException("淇敼鐢ㄦ埛澶辫触");
+        }
         return R.ok();
     }
 
@@ -152,4 +186,26 @@
         return R.ok(result);
     }
 
+
+    /*************************************** xm-select ***********************************************/
+
+    // xm-select 鎼滅储鍟嗗搧鍒楄〃
+    @RequestMapping("/user/all/get/kv")
+    @ManagerAuth
+    public R getUserDataKV(@RequestParam(required = false) String condition) {
+        Wrapper<User> wrapper = new EntityWrapper<User>()
+                .andNew().like("username", condition).or().like("nickname", condition)
+                .orderBy("create_time", false);
+        List<User> users = userService.selectPage(new Page<>(1, 30), wrapper).getRecords();
+        List<KeyValueVo> valueVos = new ArrayList<>();
+        for (User user : users) {
+            KeyValueVo vo = new KeyValueVo();
+            vo.setName(user.getNickname());
+            vo.setValue(user.getId());
+            valueVos.add(vo);
+        }
+        return R.ok().add(valueVos);
+    }
+
+
 }

--
Gitblit v1.9.1