From d8ccb97ad41015b02f6fcd905f282937ce38e4d9 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 22 十月 2025 18:17:03 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/intelligent_dispatching

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java |   53 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 41 insertions(+), 12 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java
index 244c5a4..5f8bc42 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java
@@ -3,11 +3,13 @@
 
 import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.dto.AuditUserDto;
+import com.ruoyi.system.dto.TAppUserDTO;
 import com.ruoyi.system.dto.UpAndDownDTO;
 import com.ruoyi.system.dto.UserIdDto;
 import com.ruoyi.system.model.TAppUser;
@@ -19,6 +21,8 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
@@ -63,14 +67,30 @@
      * 添加人员
      */
     //    @PreAuthorize("@ss.hasPermi('system:user:addUser')")
-    @ApiOperation(value = "添加人员")
+    @ApiOperation(value = "添加人员",notes = "请求参数:TAppUserDTO对象",response = TAppUserDTO.class)
     @PostMapping(value = "/api/t-app-user/addUser")
     public R<?> addUser(@RequestBody String param) {
-        TAppUser tAppUser = JSON.parseObject(param, TAppUser.class);
-        String pwd = SecurityUtils.encryptPassword(tAppUser.getPassword());
-        tAppUser.setPassword(pwd);
-        tAppUser.setState(1);
-        appUserService.save(tAppUser);
+        TAppUserDTO dto = JSON.parseObject(param, TAppUserDTO.class);
+        if(!StringUtils.hasLength(dto.getAccount())){
+            return R.fail("请输入账号");
+        }
+        if (appUserService.isExit(dto)) {
+            return R.fail("该账号已存在");
+        }
+        List<TUserMajor> userMajors = dto.getUserMajors();
+        if(CollectionUtils.isEmpty(userMajors)){
+            return R.fail("请选择专业");
+        }
+        String pwd = SecurityUtils.encryptPassword(dto.getPassword());
+        dto.setPassword(pwd);
+        dto.setState(1);
+        appUserService.save(dto);
+
+        for (TUserMajor userMajor : userMajors) {
+            userMajor.setAppUserId(dto.getId());
+        }
+        userMajorService.saveBatch(userMajors);
+
         return R.ok();
     }
 
@@ -81,13 +101,22 @@
     @ApiOperation(value = "编辑人员", response = TAppUser.class)
     @PostMapping(value = "/api/t-app-user/updateUser")
     public R<?> updateUser(@RequestBody String param) {
-        TAppUser tAppUser = JSON.parseObject(param, TAppUser.class);
-        if(tAppUser.getPassword()!=null && !tAppUser.getPassword().isEmpty()){
-            String pwd = SecurityUtils.encryptPassword(tAppUser.getPassword());
-            tAppUser.setPassword(pwd);
+        TAppUserDTO dto = JSON.parseObject(param, TAppUserDTO.class);
+        if (appUserService.isExit(dto)) {
+            return R.fail("该账号已存在");
         }
-        tAppUser.setState(1);
-        appUserService.updateById(tAppUser);
+        List<TUserMajor> userMajors = dto.getUserMajors();
+        if(dto.getPassword()!=null && !dto.getPassword().isEmpty()){
+            String pwd = SecurityUtils.encryptPassword(dto.getPassword());
+            dto.setPassword(pwd);
+        }
+        dto.setState(1);
+        appUserService.updateById(dto);
+        userMajorService.remove(Wrappers.lambdaQuery(TUserMajor.class).eq(TUserMajor::getAppUserId,dto.getId()));
+        for (TUserMajor userMajor : userMajors) {
+            userMajor.setAppUserId(dto.getId());
+        }
+        userMajorService.saveBatch(userMajors);
         return R.ok();
     }
 

--
Gitblit v1.7.1