From 38f9471ecf47b7c15b352113bc0f5a2ec1e64e7b Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 16 七月 2024 09:24:13 +0800
Subject: [PATCH] 登录返回vo修改,个人中心接口,用户列表权限验证

---
 src/main/java/com/ycl/jxkg/service/UserService.java                                     |    7 +
 src/main/java/com/ycl/jxkg/service/impl/UserServiceImpl.java                            |   20 ++++
 src/main/java/com/ycl/jxkg/controller/wx/student/UserController.java                    |    3 
 src/main/java/com/ycl/jxkg/service/impl/ExamCheatServiceImpl.java                       |    3 
 src/main/java/com/ycl/jxkg/mapper/ClassesUserMapper.java                                |    8 +
 src/main/java/com/ycl/jxkg/service/impl/FileUploadImpl.java                             |    1 
 src/main/java/com/ycl/jxkg/controller/admin/UserController.java                         |   12 ++
 src/main/java/com/ycl/jxkg/controller/student/UserController.java                       |   14 ++
 src/main/resources/mapper/UserMapper.xml                                                |    3 
 src/main/java/com/ycl/jxkg/config/spring/security/RestAuthenticationSuccessHandler.java |   12 +
 src/main/java/com/ycl/jxkg/controller/student/UploadController.java                     |   55 +++++++---
 src/main/java/com/ycl/jxkg/domain/form/StudentUpdatePwdForm.java                        |   27 +++++
 src/main/java/com/ycl/jxkg/domain/vo/admin/education/EducationResourceVO.java           |    4 
 src/main/java/com/ycl/jxkg/domain/vo/student/user/UserLoginVO.java                      |   71 ++++++++++++++
 src/main/resources/mapper/ClassesUserMapper.xml                                         |    7 +
 src/main/java/com/ycl/jxkg/domain/vo/student/user/UserUpdateVO.java                     |   12 +-
 16 files changed, 222 insertions(+), 37 deletions(-)

diff --git a/src/main/java/com/ycl/jxkg/config/spring/security/RestAuthenticationSuccessHandler.java b/src/main/java/com/ycl/jxkg/config/spring/security/RestAuthenticationSuccessHandler.java
index 4d07825..7cae4c2 100644
--- a/src/main/java/com/ycl/jxkg/config/spring/security/RestAuthenticationSuccessHandler.java
+++ b/src/main/java/com/ycl/jxkg/config/spring/security/RestAuthenticationSuccessHandler.java
@@ -5,8 +5,10 @@
 import com.ycl.jxkg.constants.CaffeineConstant;
 import com.ycl.jxkg.domain.entity.SysConfig;
 import com.ycl.jxkg.domain.entity.UserEventLog;
+import com.ycl.jxkg.domain.vo.student.user.UserLoginVO;
 import com.ycl.jxkg.enums.general.YesOrNoEnum;
 import com.ycl.jxkg.event.UserEvent;
+import com.ycl.jxkg.mapper.ClassesUserMapper;
 import com.ycl.jxkg.mapper.SysConfigMapper;
 import com.ycl.jxkg.service.UserService;
 import com.ycl.jxkg.utils.CaffeineUtil;
@@ -42,6 +44,8 @@
     private final UserService userService;
     private final CaffeineUtil caffeineUtil;
     private final SysConfigMapper sysConfigMapper;
+    @Autowired
+    private ClassesUserMapper classesUserMapper;
 
     /**
      * Instantiates a new Rest authentication success handler.
@@ -83,9 +87,11 @@
                 UserEventLog userEventLog = new UserEventLog(user.getId(), user.getUserName(), user.getRealName(), new Date());
                 userEventLog.setContent(user.getUserName() + " 鐧诲綍浜嗘睙瑗胯闊宠棰戝煿璁郴缁�");
                 eventPublisher.publishEvent(new UserEvent(userEventLog));
-                com.ycl.jxkg.domain.entity.User newUser = new com.ycl.jxkg.domain.entity.User();
-                BeanUtils.copyProperties(user,newUser);
-                RestUtil.response(response, SystemCode.OK.getCode(), SystemCode.OK.getMessage(), newUser);
+                UserLoginVO userLoginVO = new UserLoginVO();
+                BeanUtils.copyProperties(user,userLoginVO);
+                List<String> classesNames = classesUserMapper.getClassesNameByUserId(user.getId());
+                userLoginVO.setClassName(classesNames);
+                RestUtil.response(response, SystemCode.OK.getCode(), SystemCode.OK.getMessage(), userLoginVO);
             }
         } else {
             RestUtil.response(response, SystemCode.UNAUTHORIZED.getCode(), SystemCode.UNAUTHORIZED.getMessage());
diff --git a/src/main/java/com/ycl/jxkg/controller/admin/UserController.java b/src/main/java/com/ycl/jxkg/controller/admin/UserController.java
index 41ba116..66a3447 100644
--- a/src/main/java/com/ycl/jxkg/controller/admin/UserController.java
+++ b/src/main/java/com/ycl/jxkg/controller/admin/UserController.java
@@ -3,6 +3,8 @@
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.ycl.jxkg.base.BaseApiController;
 import com.ycl.jxkg.base.Result;
+import com.ycl.jxkg.base.SystemCode;
+import com.ycl.jxkg.context.WebContext;
 import com.ycl.jxkg.domain.form.UpdatePwdForm;
 import com.ycl.jxkg.enums.RoleEnum;
 import com.ycl.jxkg.domain.other.KeyValue;
@@ -38,9 +40,17 @@
     private final UserService userService;
     private final UserEventLogService userEventLogService;
     private final AuthenticationService authenticationService;
-
+    private final WebContext webContext;
+    private final Integer teacher = 2;
+    private final Integer student = 1;
     @RequestMapping(value = "/page/list", method = RequestMethod.POST)
     public Result<PageInfo<UserResponseVO>> pageList(@RequestBody UserPageRequestVO model) {
+        if(!student.equals(model.getRole())) {
+            User currentUser = webContext.getCurrentUser();
+            if (teacher.equals(currentUser.getRole())) {
+                return Result.fail(SystemCode.InnerError.getCode(), "鎮ㄦ病鏈夎闂潈闄�");
+            }
+        }
         PageInfo<User> pageInfo = userService.userPage(model);
         PageInfo<UserResponseVO> page = PageInfoHelper.copyMap(pageInfo, d -> UserResponseVO.from(d));
         return Result.ok(page);
diff --git a/src/main/java/com/ycl/jxkg/controller/student/UploadController.java b/src/main/java/com/ycl/jxkg/controller/student/UploadController.java
index b67e3a2..196740a 100644
--- a/src/main/java/com/ycl/jxkg/controller/student/UploadController.java
+++ b/src/main/java/com/ycl/jxkg/controller/student/UploadController.java
@@ -3,10 +3,13 @@
 
 import com.ycl.jxkg.base.BaseApiController;
 import com.ycl.jxkg.base.Result;
+import com.ycl.jxkg.config.RuoYiConfig;
 import com.ycl.jxkg.service.FileUpload;
 import com.ycl.jxkg.service.UserService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
@@ -14,33 +17,51 @@
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 
 import javax.servlet.http.HttpServletRequest;
+import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.HashMap;
+import java.util.UUID;
 
 @RequiredArgsConstructor
 @RequestMapping("/api/student/upload")
 @RestController("StudentUploadController")
 public class UploadController extends BaseApiController {
 
-    private final FileUpload fileUpload;
     private final UserService userService;
+    private final RuoYiConfig ruoYiConfig;
 
-
-    @RequestMapping("/image")
-    @ResponseBody
-    public Result questionUploadAndReadExcel(HttpServletRequest request) {
-        MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request;
-        MultipartFile multipartFile = multipartHttpServletRequest.getFile("file");
-        long attachSize = multipartFile.getSize();
-        String imgName = multipartFile.getOriginalFilename();
-        try (InputStream inputStream = multipartFile.getInputStream()) {
-            String filePath = fileUpload.uploadFile(inputStream, attachSize, imgName);
-            userService.changePicture(getCurrentUser(), filePath);
-            return Result.ok(filePath);
-        } catch (IOException e) {
-            return Result.fail(2, e.getMessage());
+    @PostMapping("/image")
+    public Result questionUploadAndReadExcel(MultipartFile file) {
+        // 妫�鏌ユ枃浠舵槸鍚︿负绌�
+        if (file == null || file.isEmpty()) {
+            return Result.fail(500, "涓婁紶鐨勬枃浠朵负绌�");
         }
+        String randomName = null;
+        HashMap hashMap = new HashMap(2);
+        try {
+            // 鑾峰彇鏂囦欢鍚�
+            String originalFileName = StringUtils.cleanPath(file.getOriginalFilename());
+            randomName = UUID.randomUUID().toString().replace("-", "") + originalFileName.substring(originalFileName.lastIndexOf("."));
+            // 鎸囧畾鏂囦欢瀛樺偍璺緞
+            String uploadDir = ruoYiConfig.getUrl(); // 淇敼涓烘偍甯屾湜瀛樺偍鐨勭洰褰�
+            // 濡傛灉鐩綍涓嶅瓨鍦紝鍒欏垱寤虹洰褰�
+            File dir = new File(uploadDir);
+            if (!dir.exists()) {
+                dir.mkdirs();
+            }
+            // 鏋勫缓鐩爣鏂囦欢鐨勮矾寰�
+            String filePath = uploadDir + "/" + randomName;
+            // 灏嗘枃浠朵繚瀛樺埌鐩爣浣嶇疆
+            file.transferTo(new File(filePath));
+            hashMap.put("name", originalFileName);
+            hashMap.put("url", randomName);
+        } catch (IOException e) {
+            e.printStackTrace();
+            // 杩斿洖澶辫触鍝嶅簲
+            return Result.fail(500, "鏂囦欢涓婁紶澶辫触");
+        }
+        userService.changePicture(getCurrentUser(), randomName);
+        return Result.ok(hashMap);
     }
-
-
 }
diff --git a/src/main/java/com/ycl/jxkg/controller/student/UserController.java b/src/main/java/com/ycl/jxkg/controller/student/UserController.java
index 6896106..2025622 100644
--- a/src/main/java/com/ycl/jxkg/controller/student/UserController.java
+++ b/src/main/java/com/ycl/jxkg/controller/student/UserController.java
@@ -6,6 +6,8 @@
 import com.ycl.jxkg.domain.entity.MessageUser;
 import com.ycl.jxkg.domain.entity.User;
 import com.ycl.jxkg.domain.entity.UserEventLog;
+import com.ycl.jxkg.domain.form.StudentUpdatePwdForm;
+import com.ycl.jxkg.domain.form.UpdatePwdForm;
 import com.ycl.jxkg.enums.RoleEnum;
 import com.ycl.jxkg.enums.UserStatusEnum;
 import com.ycl.jxkg.event.UserEvent;
@@ -17,10 +19,12 @@
 import com.ycl.jxkg.utils.PageInfoHelper;
 import com.ycl.jxkg.domain.vo.student.user.*;
 import com.github.pagehelper.PageInfo;
+import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.context.ApplicationEventPublisher;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
@@ -69,12 +73,8 @@
         return Result.ok();
     }
 
-
     @RequestMapping(value = "/update", method = RequestMethod.POST)
     public Result update(@RequestBody @Valid UserUpdateVO model) {
-        if (StringUtils.isBlank(model.getBirthDay())) {
-            model.setBirthDay(null);
-        }
         User user = userService.getById(getCurrentUser().getId());
         BeanUtils.copyProperties(model, user);
         user.setModifyTime(new Date());
@@ -130,4 +130,10 @@
         return Result.ok();
     }
 
+    @ApiOperation(value = "淇敼瀵嗙爜", tags = {"淇敼瀵嗙爜"})
+    @PostMapping("/update/password")
+    public Result<Object> updatePassword(@RequestBody @Validated StudentUpdatePwdForm form) {
+        userService.updateStudentPassword(form);
+        return Result.ok("淇敼鎴愬姛");
+    }
 }
diff --git a/src/main/java/com/ycl/jxkg/controller/wx/student/UserController.java b/src/main/java/com/ycl/jxkg/controller/wx/student/UserController.java
index 376026c..32ca191 100644
--- a/src/main/java/com/ycl/jxkg/controller/wx/student/UserController.java
+++ b/src/main/java/com/ycl/jxkg/controller/wx/student/UserController.java
@@ -74,9 +74,6 @@
 
     @RequestMapping(value = "/update", method = RequestMethod.POST)
     public Result<UserResponseVO> update(@Valid UserUpdateVO model) {
-        if (StringUtils.isBlank(model.getBirthDay())) {
-            model.setBirthDay(null);
-        }
         User user = userService.getById(getCurrentUser().getId());
         BeanUtils.copyProperties(model, user);
         user.setModifyTime(new Date());
diff --git a/src/main/java/com/ycl/jxkg/domain/form/StudentUpdatePwdForm.java b/src/main/java/com/ycl/jxkg/domain/form/StudentUpdatePwdForm.java
new file mode 100644
index 0000000..0c21a42
--- /dev/null
+++ b/src/main/java/com/ycl/jxkg/domain/form/StudentUpdatePwdForm.java
@@ -0,0 +1,27 @@
+package com.ycl.jxkg.domain.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * 淇敼瀵嗙爜琛ㄥ崟鏁版嵁
+ *
+ * @author锛歺p
+ * @date锛�2024/7/9 16:23
+ */
+@Data
+public class StudentUpdatePwdForm {
+
+    @NotNull(message = "淇敼澶辫触")
+    private Integer userId;
+
+    /** 鏂板瘑鐮� */
+    @NotBlank(message = "璇疯緭鍏ユ柊瀵嗙爜")
+    private String newPassword;
+
+    /** 鏃у瘑鐮� */
+    @NotBlank(message = "璇疯緭鍏ユ棫瀵嗙爜")
+    private String oldPassword;
+}
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/admin/education/EducationResourceVO.java b/src/main/java/com/ycl/jxkg/domain/vo/admin/education/EducationResourceVO.java
index 2ed78dc..1a1f602 100644
--- a/src/main/java/com/ycl/jxkg/domain/vo/admin/education/EducationResourceVO.java
+++ b/src/main/java/com/ycl/jxkg/domain/vo/admin/education/EducationResourceVO.java
@@ -15,9 +15,9 @@
  */
 @Data
 public class EducationResourceVO {
-
+    /** 褰撳墠椤靛ぇ灏� */
     private Integer pageSize = 10;
-
+    /** 褰撳墠椤� */
     private Integer pageNum = 1;
 
     private Integer id;
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/student/user/UserLoginVO.java b/src/main/java/com/ycl/jxkg/domain/vo/student/user/UserLoginVO.java
new file mode 100644
index 0000000..4a2957c
--- /dev/null
+++ b/src/main/java/com/ycl/jxkg/domain/vo/student/user/UserLoginVO.java
@@ -0,0 +1,71 @@
+package com.ycl.jxkg.domain.vo.student.user;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class UserLoginVO  {
+
+    private Integer id;
+
+    private String userUuid;
+
+    private List<String> className;
+    /**
+     * 鐢ㄦ埛鍚�
+     */
+    private String userName;
+
+    /**
+     * 鐪熷疄濮撳悕
+     */
+    private String realName;
+
+    private Integer age;
+
+    /**
+     * 1.鐢� 2濂�
+     */
+    private Integer sex;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date birthDay;
+
+
+    private String phone;
+
+    /**
+     * 1.瀛︾敓 2.鑰佸笀 3.绠$悊鍛�
+     */
+    private Integer role;
+
+    /**
+     * 1.鍚敤 2绂佺敤
+     */
+    private Integer status;
+
+    /**
+     * 澶村儚鍦板潃
+     */
+    private String imagePath;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date createTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date modifyTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date lastActiveTime;
+
+    /**
+     * 寰俊openId
+     */
+    private String wxOpenId;
+
+    /**
+     * 涓婁竴娆′慨鏀瑰瘑鐮佺殑鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date lastUpdatePasswordTime;
+
+}
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/student/user/UserUpdateVO.java b/src/main/java/com/ycl/jxkg/domain/vo/student/user/UserUpdateVO.java
index 1ebba99..0a8e526 100644
--- a/src/main/java/com/ycl/jxkg/domain/vo/student/user/UserUpdateVO.java
+++ b/src/main/java/com/ycl/jxkg/domain/vo/student/user/UserUpdateVO.java
@@ -1,26 +1,26 @@
 package com.ycl.jxkg.domain.vo.student.user;
 
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
+import java.util.Date;
 
 @Data
 public class UserUpdateVO {
 
-    @NotBlank
+    @NotBlank(message = "鐪熷疄濮撳悕涓虹┖")
     private String realName;
 
     private String age;
 
     private Integer sex;
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private Date birthDay;
 
-    private String birthDay;
-
+    @NotBlank(message = "鎵嬫満鍙蜂负绌�")
     private String phone;
-
-    @NotNull
-    private Integer userLevel;
 
 }
diff --git a/src/main/java/com/ycl/jxkg/mapper/ClassesUserMapper.java b/src/main/java/com/ycl/jxkg/mapper/ClassesUserMapper.java
index ec6adfd..346eaab 100644
--- a/src/main/java/com/ycl/jxkg/mapper/ClassesUserMapper.java
+++ b/src/main/java/com/ycl/jxkg/mapper/ClassesUserMapper.java
@@ -49,4 +49,12 @@
      * @return
      */
     List<Integer> getClassesByUserId(@Param("userId") Integer userId);
+
+    /**
+     * 鏍规嵁瀛︾敓鑾峰彇鐝骇鍚嶇О
+     *
+     * @param userId
+     * @return
+     */
+    List<String> getClassesNameByUserId(@Param("userId") Integer userId);
 }
diff --git a/src/main/java/com/ycl/jxkg/service/UserService.java b/src/main/java/com/ycl/jxkg/service/UserService.java
index 54b602f..93778ad 100644
--- a/src/main/java/com/ycl/jxkg/service/UserService.java
+++ b/src/main/java/com/ycl/jxkg/service/UserService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ycl.jxkg.domain.form.RegisterForm;
+import com.ycl.jxkg.domain.form.StudentUpdatePwdForm;
 import com.ycl.jxkg.domain.form.UpdatePwdForm;
 import com.ycl.jxkg.domain.other.KeyValue;
 import com.ycl.jxkg.domain.entity.User;
@@ -158,4 +159,10 @@
      * @param form
      */
     void updatePassword(UpdatePwdForm form);
+
+    /**
+     * 瀛︾敓绔慨鏀瑰瘑鐮侊紝澧炲姞姣斿鍘熷瘑鐮佹搷浣�
+     *
+     */
+    void updateStudentPassword(StudentUpdatePwdForm form);
 }
diff --git a/src/main/java/com/ycl/jxkg/service/impl/ExamCheatServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ExamCheatServiceImpl.java
index 660c932..8faaab2 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/ExamCheatServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/ExamCheatServiceImpl.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ycl.jxkg.domain.entity.ExamCheat;
 import com.ycl.jxkg.mapper.ExamCheatMapper;
+import com.ycl.jxkg.mapper.ExamSubmitTempMapper;
 import com.ycl.jxkg.service.ExamCheatService;
 import com.ycl.jxkg.base.Result;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -29,7 +30,7 @@
 public class ExamCheatServiceImpl extends ServiceImpl<ExamCheatMapper, ExamCheat> implements ExamCheatService {
 
     private final ExamCheatMapper examCheatMapper;
-
+    private final ExamSubmitTempMapper examSubmitTempMapper;
     /**
      * 娣诲姞
      * @param form
diff --git a/src/main/java/com/ycl/jxkg/service/impl/FileUploadImpl.java b/src/main/java/com/ycl/jxkg/service/impl/FileUploadImpl.java
index 5dcc0b4..69550b0 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/FileUploadImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/FileUploadImpl.java
@@ -43,6 +43,7 @@
         } catch (QiniuException ex) {
             logger.error(ex.getMessage(), ex);
         }
+
         return null;
     }
 }
diff --git a/src/main/java/com/ycl/jxkg/service/impl/UserServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/UserServiceImpl.java
index 1d7b664..31cb107 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/UserServiceImpl.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qiniu.util.Md5;
 import com.ycl.jxkg.domain.entity.UserEventLog;
+import com.ycl.jxkg.domain.form.StudentUpdatePwdForm;
 import com.ycl.jxkg.domain.form.UpdatePwdForm;
 import com.ycl.jxkg.enums.RoleEnum;
 import com.ycl.jxkg.enums.UserStatusEnum;
@@ -196,4 +197,23 @@
                 .set(User::getLastUpdatePasswordTime, new Date())
                 .update();
     }
+
+    @Override
+    public void updateStudentPassword(StudentUpdatePwdForm form) {
+        User user = baseMapper.selectById(form.getUserId());
+        if(user ==null){
+            throw new RuntimeException("鐢ㄦ埛涓嶅瓨鍦�");
+        }
+        if(authenticationService.authUser(user,user.getUserName(),form.getOldPassword())){
+            //瀵嗙爜姝g‘
+            new LambdaUpdateChainWrapper<>(baseMapper)
+                    .eq(User::getId, form.getUserId())
+                    .set(User::getPassword, authenticationService.pwdEncode(form.getNewPassword()))
+                    .set(User::getLastUpdatePasswordTime, new Date())
+                    .update();
+        }else {
+            //瀵嗙爜閿欒
+            throw new RuntimeException("鏃у瘑鐮侀敊璇紝璇风‘璁ゅ悗閲嶆柊杈撳叆");
+        }
+    }
 }
diff --git a/src/main/resources/mapper/ClassesUserMapper.xml b/src/main/resources/mapper/ClassesUserMapper.xml
index 7306815..63de525 100644
--- a/src/main/resources/mapper/ClassesUserMapper.xml
+++ b/src/main/resources/mapper/ClassesUserMapper.xml
@@ -70,4 +70,11 @@
         from t_classes_user
         where user_id = #{userId} and deleted = 0
     </select>
+
+    <select id="getClassesNameByUserId" resultType="java.lang.String">
+        select tc.class_name
+        from t_classes_user tcu
+        left join t_classes tc on tcu.classes_id = tc.id
+        where user_id = #{userId} and tcu.deleted = 0 and tc.deleted =0
+    </select>
 </mapper>
diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml
index 7ae6eba..8fc4b07 100644
--- a/src/main/resources/mapper/UserMapper.xml
+++ b/src/main/resources/mapper/UserMapper.xml
@@ -135,6 +135,9 @@
         <set>
             <if test="realName != null">real_name = #{realName},</if>
             <if test="age != null">age = #{age},</if>
+            <if test="sex != null">sex = #{sex},</if>
+            <if test="phone != null and phone !='' ">phone = #{phone},</if>
+            <if test="birthDay != null ">birth_day = #{birthDay},</if>
             <if test="lastActiveTime != null">last_active_time = #{lastActiveTime},</if>
         </set>
         where id = #{id}

--
Gitblit v1.8.0