Переглянути джерело

复制用户信息保存给前端用户

mingfu 1 місяць тому
батько
коміт
75e57f0393

+ 46 - 2
ie-admin/src/main/java/com/ruoyi/web/controller/front/UserController.java

@@ -2,6 +2,7 @@ package com.ruoyi.web.controller.front;
 
 import com.alibaba.fastjson2.JSONObject;
 import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
@@ -9,7 +10,9 @@ import com.ruoyi.common.core.domain.model.LoginBody;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.AccessFromType;
+import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.enums.ExamType;
+import com.ruoyi.common.utils.NumberUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.dz.domain.DzCards;
 import com.ruoyi.dz.domain.DzClasses;
@@ -25,13 +28,14 @@ import com.ruoyi.enums.UserTypeEnum;
 import com.ruoyi.framework.web.service.SysPermissionService;
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.service.ISysConfigService;
+import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.web.service.CommService;
 import com.ruoyi.web.service.SysLoginService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.math.NumberUtils;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
@@ -46,6 +50,7 @@ import java.util.stream.Collectors;
 public class UserController extends BaseController {
     private final IDzControlService dzControlService;
     private final SysLoginService loginService;
+    private final ISysUserService userService;
     private final SysPermissionService permissionService;
     private final TokenService tokenService;
     private final CommService commService;
@@ -54,9 +59,10 @@ public class UserController extends BaseController {
     private final IDzSchoolService dzSchoolService;
     private final IDzClassesService dzClassesService;
 
-    public UserController(IDzControlService dzControlService, SysLoginService loginService, SysPermissionService permissionService, TokenService tokenService, CommService commService, ISysConfigService configService, IDzCardsService dzCardsService, IDzSchoolService dzSchoolService, IDzClassesService dzClassesService) {
+    public UserController(IDzControlService dzControlService, SysLoginService loginService, ISysUserService userService, SysPermissionService permissionService, TokenService tokenService, CommService commService, ISysConfigService configService, IDzCardsService dzCardsService, IDzSchoolService dzSchoolService, IDzClassesService dzClassesService) {
         this.dzControlService = dzControlService;
         this.loginService = loginService;
+        this.userService = userService;
         this.permissionService = permissionService;
         this.tokenService = tokenService;
         this.commService = commService;
@@ -234,6 +240,44 @@ public class UserController extends BaseController {
         return ajax;
     }
 
+    /**
+     * 修改用户
+     */
+    @Log(title = "个人信息", businessType = BusinessType.UPDATE)
+    @PutMapping("userInfo")
+    @Transactional(rollbackFor = Exception.class)
+    public AjaxResult updateProfile(@RequestBody SysUser user)
+    {
+        LoginUser loginUser = getLoginUser();
+        SysUser currentUser = loginUser.getUser();
+        currentUser.setNickName(user.getNickName());
+        currentUser.setEmail(user.getEmail());
+        currentUser.setPhonenumber(user.getPhonenumber());
+        currentUser.setSex(user.getSex());
+        if (com.ruoyi.common.utils.StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(currentUser))
+        {
+            return error("修改用户'" + loginUser.getUsername() + "'失败,手机号码已存在");
+        }
+        if (com.ruoyi.common.utils.StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(currentUser))
+        {
+            return error("修改用户'" + loginUser.getUsername() + "'失败,邮箱账号已存在");
+        }
+        if(NumberUtils.isPositive(user.getCardId())) {
+            DzCards dzCards = new DzCards();
+            dzCards.setCardId(user.getCardId());
+            dzCards.setSchoolId(user.getSchoolId());
+            dzCards.setClassId(user.getClassId());
+            dzCardsService.updateDzCards(dzCards);
+        }
+        if (userService.updateUserProfile(currentUser) > 0)
+        {
+            // 更新缓存用户信息
+            tokenService.setLoginUser(loginUser);
+            return success();
+        }
+        return error("修改个人信息异常,请联系管理员");
+    }
+
     @PostMapping("verifyCard")
     @ApiOperation("校验卡")
     @Anonymous

+ 26 - 0
ie-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java

@@ -8,6 +8,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.ruoyi.common.enums.ExamType;
 import com.ruoyi.common.enums.UserRegStatus;
 import com.ruoyi.common.utils.dz.SubjectScore;
+import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
@@ -135,6 +136,31 @@ public class SysUser extends BaseEntity
 
     private Long cardId;
 
+
+    /** 校区id */
+    @ApiModelProperty(name = "学校id")
+    private Long schoolId;
+    /** 校区班级ID */
+    @ApiModelProperty(name = "班级ID")
+    private Long classId;
+
+
+    public Long getSchoolId() {
+        return schoolId;
+    }
+
+    public void setSchoolId(Long schoolId) {
+        this.schoolId = schoolId;
+    }
+
+    public Long getClassId() {
+        return classId;
+    }
+
+    public void setClassId(Long classId) {
+        this.classId = classId;
+    }
+
     public SysUser()
     {