瀏覽代碼

add 用户修改头像功能

zoujiajian 3 年之前
父節點
當前提交
4c31440b66

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/model/dto/UserWhoami.java

@@ -23,6 +23,8 @@ public class UserWhoami implements Serializable {
      */
     private String nickname;
 
+    private Integer sex;
+
     /**
      * 头像
      */

+ 23 - 0
netflix-dao/src/main/java/com/cyksj/model/request/UserReq.java

@@ -0,0 +1,23 @@
+package com.cyksj.model.request;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+/*
+ *项目名: netflix
+ *文件名: UserReq
+ *创建者: JavaZou
+ *创建时间:2023/4/20 16:27
+ */
+@Getter
+@Setter
+public class UserReq {
+	@NotNull(message = "性别不能为空")
+	private Integer sex;
+
+	@NotEmpty(message = "头像不能为空")
+	private String headImg;
+}

+ 7 - 3
netflix-service/src/main/java/com/cyksj/service/user/impl/UserServiceImpl.java

@@ -77,11 +77,15 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 		user = Optional.ofNullable(user).orElseGet(() -> new User()
 				.setUnionid(unionid));
 		user.setNickname(info.getNickname())
-				.setSex(info.getSex())
 				.setCountry(info.getCountry())
 				.setProvince(info.getProvince())
-				.setCity(info.getCity())
-				.setHeadimgurl(info.getHeadimgurl());
+				.setCity(info.getCity());
+		if (user.getSex() == null) {
+			user.setSex(info.getSex());
+		}
+		if (StrUtil.isEmpty(user.getHeadimgurl())) {
+			user.setHeadimgurl(info.getHeadimgurl());
+		}
 		if (!user.getUnionid().equals(unionid)) {
 			UserTransferLog log = new UserTransferLog();
 			if (wxSyncLog != null) {

+ 18 - 0
netflix-web/src/main/java/com/cyksj/web/controller/user/UserController.java

@@ -2,7 +2,9 @@ package com.cyksj.web.controller.user;
 
 import cn.hutool.core.date.DateTime;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.dto.Result;
+import com.cyksj.enums.GatewayApiCode;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.mapper.OrderDonMapper;
 import com.cyksj.mapper.manage.coupon.CouponUserMapper;
@@ -15,6 +17,7 @@ import com.cyksj.model.entity.UserBindDetail;
 import com.cyksj.model.manage.views.GroupsRelationView;
 import com.cyksj.model.request.ExchangeCodeTicket;
 import com.cyksj.model.request.ReceiveBenefitsReq;
+import com.cyksj.model.request.UserReq;
 import com.cyksj.model.views.RenewalView;
 import com.cyksj.model.views.UserAvailableGoodsTicketView;
 import com.cyksj.model.views.UserPersonalView;
@@ -25,6 +28,7 @@ import com.cyksj.service.user.UserService;
 import com.cyksj.web.util.StpUserUtil;
 import lombok.RequiredArgsConstructor;
 import org.springframework.util.Assert;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
@@ -135,4 +139,18 @@ public class UserController {
         });
         return GatewayResponse.SUCCESS.newBuilder().toResult(re);
     }
+
+    /**
+     * 用户修改头像
+     */
+    @PutMapping("/put/headImg")
+    public Result<String> updateHeadImg(@RequestBody @Validated UserReq request) {
+        long userId = StpUserUtil.getLoginIdAsLong();
+        User user = userService.getById(userId);
+        if (user == null) throw BusinessRuntimeException.getGatewayApiCode(GatewayApiCode.CMS_TOKEN_VALID);
+        user.setSex(request.getSex());
+        user.setHeadimgurl(request.getHeadImg());
+        userService.updateById(user);
+        return GatewayResponse.SUCCESS.newBuilder().toResult();
+    }
 }