瀏覽代碼

【feat】【第二版开发】
1.修复比较规则code错误导致的判断异常
2.增加昵称修改功能
3.完善技术文档

ChenYL 1 年之前
父節點
當前提交
fa3438809a

+ 3 - 3
doc/技术文档.md

@@ -27,9 +27,9 @@ ui设计工具:即时设计
 
      说明:简单获取头像、微信openid、昵称,然后用于后台数据处理和前端显示即可
 
-  2. (未完成,这个最后开发)昵称修改
+  2. (开发)昵称修改
 
-  3. (未完成,这个最后开发)头像修改
+  3. (现阶段不支持该功能)头像修改
 
 * 打卡任务
 
@@ -90,7 +90,7 @@ ui设计工具:即时设计
 
   7. (已开发)归档
 
-  8. (未完成)针对单一任务查询时间范围内的打卡信息
+  8. (已开发)针对单一任务查询时间范围内的打卡信息
 
      显示内容:具体到天是否已打卡、打卡记录、打卡统计(打卡次数、全勤率)
 

+ 4 - 5
src/main/java/com/punchsettle/server/constant/PunchInRuleEnum.java

@@ -15,11 +15,10 @@ import lombok.Getter;
 @AllArgsConstructor
 public enum PunchInRuleEnum {
 
-
-    GREATER_OR_EQUAL("大于等于", 1),
-    LESS("小于", 2),
-    GREATER("大于", 0),
-    LESS_OR_EQUAL("小于等于", 3)
+    GREATER_OR_EQUAL("大于等于", 0),
+    LESS_OR_EQUAL("小于等于", 1),
+    GREATER("大于", 2),
+    LESS("小于", 3)
     ;
 
     /**

+ 24 - 0
src/main/java/com/punchsettle/server/dto/user/NicknameDto.java

@@ -0,0 +1,24 @@
+package com.punchsettle.server.dto.user;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.hibernate.validator.constraints.Length;
+
+/**
+ * @author tyuio
+ * @version 1.0.0
+ * @description 用户昵称 dto
+ * @date 2024/12/18 14:18
+ */
+@Data
+@EqualsAndHashCode
+public class NicknameDto {
+
+    /**
+     * 昵称
+     */
+    @NotBlank(message = "昵称不能为空")
+    @Length(max = 30, message = "昵称长度不能超过30")
+    private String nickname;
+}

+ 12 - 0
src/main/java/com/punchsettle/server/service/controller/UserController.java

@@ -1,9 +1,13 @@
 package com.punchsettle.server.service.controller;
 
 import com.punchsettle.server.dto.UserInfoDto;
+import com.punchsettle.server.dto.user.NicknameDto;
 import com.punchsettle.server.service.manager.IUserManager;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -28,4 +32,12 @@ public class UserController {
     public UserInfoDto queryUserInfo() {
         return userManager.queryUserInfo();
     }
+
+    /**
+     * 修改昵称
+     */
+    @PostMapping("/modifyNickname")
+    public void modifyNickname(@RequestBody @Validated NicknameDto dto) {
+        userManager.modifyNickname(dto);
+    }
 }

+ 6 - 0
src/main/java/com/punchsettle/server/service/manager/IUserManager.java

@@ -2,6 +2,7 @@ package com.punchsettle.server.service.manager;
 
 import com.punchsettle.server.atomic.entity.User;
 import com.punchsettle.server.dto.UserInfoDto;
+import com.punchsettle.server.dto.user.NicknameDto;
 
 /**
  * @author tyuio
@@ -22,4 +23,9 @@ public interface IUserManager {
      * @return
      */
     UserInfoDto queryUserInfo();
+
+    /**
+     * 修改昵称
+     */
+    void modifyNickname(NicknameDto dto);
 }

+ 9 - 0
src/main/java/com/punchsettle/server/service/manager/impl/UserManagerImpl.java

@@ -4,6 +4,7 @@ import java.math.BigDecimal;
 import java.util.Objects;
 
 import com.punchsettle.server.dto.UserInfoDto;
+import com.punchsettle.server.dto.user.NicknameDto;
 import com.punchsettle.server.utiis.UserUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -66,4 +67,12 @@ public class UserManagerImpl implements IUserManager {
         BeanUtils.copyProperties(user, userInfoDto);
         return userInfoDto;
     }
+
+    @Override
+    public void modifyNickname(NicknameDto dto) {
+        User user = new User();
+        user.setId(UserUtils.getCurrentUserId());
+        user.setNickname(dto.getNickname());
+        userService.updateById(user);
+    }
 }