Bladeren bron

用户微服务-增加修改用户基础信息接口

sunxbiao 1 jaar geleden
bovenliggende
commit
3c18c9ad0b

+ 7 - 0
userCenter_service/src/main/java/com/bjtdba/userCenter/controller/UserController.java

@@ -6,6 +6,7 @@ import com.bjtdba.entity.userCenter.UserAddress;
6 6
 import com.bjtdba.entity.userCenter.UserBill;
7 7
 import com.bjtdba.entity.userCenter.UserCertification;
8 8
 import com.bjtdba.userCenter.dto.request.GetUserListRequest;
9
+import com.bjtdba.userCenter.dto.request.UpdateUserInfoRequest;
9 10
 import com.bjtdba.userCenter.dto.request.UserScoreModifyRequest;
10 11
 import com.bjtdba.userCenter.dto.response.UserScoreModifyResponse;
11 12
 import com.bjtdba.userCenter.dto.response.common.ApiResponse;
@@ -608,6 +609,12 @@ public class UserController {
608 609
         return ResponseEntity.ok(userService.getUserList(request));
609 610
     }
610 611
 
612
+    @PostMapping("/updateUserInfo")
613
+    public ApiResponse<UserDTO> updateUserInfo(@Validated @RequestBody UpdateUserInfoRequest request) {
614
+
615
+        return ApiResponse.success(userService.updateUserInfo(request));
616
+    }
617
+
611 618
     @PostMapping("/{uid}/score")
612 619
     public ApiResponse<UserScoreModifyResponse> modifyUserScore(
613 620
             @PathVariable Integer uid,

+ 1 - 1
userCenter_service/src/main/java/com/bjtdba/userCenter/dao/UserDao.java

@@ -55,7 +55,7 @@ public interface UserDao {
55 55
             @Param("status") Integer status
56 56
     );
57 57
 
58
-    UserEntity getUserScoreByUidForUpdate(@Param("uid") Integer uid);
58
+    UserEntity getUserInfoByUidForUpdate(@Param("uid") Integer uid);
59 59
 
60 60
     int updateUserScore(@Param("uid") Integer uid,
61 61
                         @Param("newScore") BigDecimal newScore);

+ 41 - 0
userCenter_service/src/main/java/com/bjtdba/userCenter/dto/request/UpdateUserInfoRequest.java

@@ -0,0 +1,41 @@
1
+package com.bjtdba.userCenter.dto.request;
2
+
3
+import lombok.Data;
4
+
5
+import javax.validation.constraints.*;
6
+
7
+import java.math.BigDecimal;
8
+
9
+@Data
10
+public class UpdateUserInfoRequest {
11
+    @NotEmpty(message = "用户ID不能为空")
12
+    private Integer uid;
13
+    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "账号格式错误")
14
+    private String account;
15
+    private String realName;
16
+    private String nickname;
17
+    private Long spreadUid;
18
+    private String avatar;
19
+    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式错误")
20
+    private String phone;
21
+    @Positive(message = "积分必须为正数")
22
+    private BigDecimal score;
23
+    @Positive(message = "佣金必须为正数")
24
+    private BigDecimal brokeragePrice;
25
+    @Positive(message = "复购金必须为正数")
26
+    private BigDecimal repurchasePrice;
27
+    private Integer status;
28
+    private Integer external;
29
+    private Integer externalId;
30
+    private Integer levelId;
31
+    private Integer userGroup;
32
+    @Positive(message = "贡献值必须为正数")
33
+    private BigDecimal contribute;
34
+    @Positive(message = "京豆必须为正数")
35
+    private BigDecimal jingdou;
36
+    @Positive(message = "VR必须为正数")
37
+    private BigDecimal vr;
38
+    @Positive(message = "PV必须为正数")
39
+    private BigDecimal pv;
40
+}
41
+

+ 3 - 0
userCenter_service/src/main/java/com/bjtdba/userCenter/service/UserService.java

@@ -3,6 +3,7 @@ package com.bjtdba.userCenter.service;
3 3
 import com.bjtdba.entity.order.User;
4 4
 import com.bjtdba.entity.userCenter.UserBill;
5 5
 import com.bjtdba.userCenter.dto.request.GetUserListRequest;
6
+import com.bjtdba.userCenter.dto.request.UpdateUserInfoRequest;
6 7
 import com.bjtdba.userCenter.dto.request.UserScoreModifyRequest;
7 8
 import com.bjtdba.userCenter.dto.response.UserScoreModifyResponse;
8 9
 import com.bjtdba.userCenter.dto.response.common.PageResult;
@@ -44,4 +45,6 @@ public interface UserService {
44 45
     PageResult<UserDTO> getUserList(GetUserListRequest request);
45 46
 
46 47
     UserScoreModifyResponse modifyUserScore(UserScoreModifyRequest request);
48
+
49
+    UserDTO updateUserInfo(UpdateUserInfoRequest request);
47 50
 }

+ 18 - 1
userCenter_service/src/main/java/com/bjtdba/userCenter/service/impl/UserServiceImpl.java

@@ -4,6 +4,7 @@ import com.bjtdba.entity.order.User;
4 4
 import com.bjtdba.entity.userCenter.UserBill;
5 5
 import com.bjtdba.userCenter.dao.*;
6 6
 import com.bjtdba.userCenter.dto.request.GetUserListRequest;
7
+import com.bjtdba.userCenter.dto.request.UpdateUserInfoRequest;
7 8
 import com.bjtdba.userCenter.dto.request.UserScoreModifyRequest;
8 9
 import com.bjtdba.userCenter.dto.response.UserScoreModifyResponse;
9 10
 import com.bjtdba.userCenter.dto.response.common.PageResult;
@@ -140,7 +141,7 @@ public class UserServiceImpl  implements UserService {
140 141
     @Transactional(rollbackFor = Exception.class)
141 142
     public UserScoreModifyResponse modifyUserScore(UserScoreModifyRequest request) {
142 143
         // 1. 获取用户并加锁
143
-        UserEntity userEntity = userDao.getUserScoreByUidForUpdate(request.getUid());
144
+        UserEntity userEntity = userDao.getUserInfoByUidForUpdate(request.getUid());
144 145
         if (userEntity == null) {
145 146
             throw BusinessException.userNotFound();
146 147
         }
@@ -195,4 +196,20 @@ public class UserServiceImpl  implements UserService {
195 196
                 request.getPm() == 1 ? "收入" : "支出",
196 197
                 request.getOrderId());
197 198
     }
199
+
200
+
201
+    @Override
202
+    @Transactional(rollbackFor = Exception.class)
203
+    public UserDTO updateUserInfo(UpdateUserInfoRequest request) {
204
+        // 1. 获取用户并加锁
205
+        UserEntity userEntity = userDao.getUserInfoByUidForUpdate(request.getUid());
206
+        if (userEntity == null) {
207
+            throw BusinessException.userNotFound();
208
+        }
209
+
210
+        // 2. 判断积分值是否有变动
211
+
212
+
213
+        return null;
214
+    }
198 215
 }

+ 3 - 3
userCenter_service/src/main/resources/mapper/UserExternalMapper.xml

@@ -55,10 +55,10 @@
55 55
         <include refid="queryCondition"/>
56 56
     </select>
57 57
 
58
-    <select id="getUserScoreByUidForUpdate" resultMap="userResultMap">
59
-        SELECT uid, score
58
+    <select id="getUserInfoByUidForUpdate" resultMap="userResultMap">
59
+        SELECT <include refid="baseColumn"/>
60 60
         FROM rrx_user
61
-        WHERE uid = #{uid} FOR UPDATE
61
+        WHERE is_del = 0 AND uid = #{uid} FOR UPDATE
62 62
     </select>
63 63
 
64 64
     <update id="updateUserScore">