Bladeren bron

feat: 微信广告订单用户管理增加字段

zengweijie 3 jaren geleden
bovenliggende
commit
520e7a6091

+ 8 - 4
smsb-customer-manager-adapter/src/main/java/com/inspur/customer/web/controller/wechat/WechatAppletUserController.java

@@ -1,16 +1,14 @@
 package com.inspur.customer.web.controller.wechat;
 
 import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.Response;
 import com.alibaba.cola.dto.SingleResponse;
 import com.inspur.customer.client.wechat.IWechatAppletUserService;
 import com.inspur.customer.object.wechat.WechatAppletUserDto;
 import com.inspur.customer.search.wechat.WechatAppletUserQuery;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * @author zengweijie
@@ -33,4 +31,10 @@ public class WechatAppletUserController {
     public SingleResponse<WechatAppletUserDto> queryOne(WechatAppletUserQuery query) {
         return SingleResponse.of(wechatAppletUserService.queryOne(query));
     }
+
+    @PostMapping
+    public Response change(WechatAppletUserDto dto) {
+        wechatAppletUserService.change(dto);
+        return Response.buildSuccess();
+    }
 }

+ 5 - 1
smsb-customer-manager-app/src/main/java/com/inspur/customer/service/wechat/WechatAppletUserServiceImpl.java

@@ -31,7 +31,11 @@ public class WechatAppletUserServiceImpl extends ServiceImpl<WechatAppletUserMap
         WechatAppletUser wechatAppletUser = super.getOne(Wrappers.lambdaQuery(WechatAppletUser.class).eq(WechatAppletUser::getOpenid, dto.getOpenid()));
         if (wechatAppletUser != null) {
             super.update(Wrappers.lambdaUpdate(WechatAppletUser.class)
-                .set(WechatAppletUser::getPhoneNumber, dto.getPhoneNumber())
+                .set(WechatAppletUser::getOpenid, dto.getOpenid())
+                .set(Objects.nonNull(dto.getPhoneNumber()), WechatAppletUser::getPhoneNumber, dto.getPhoneNumber())
+                .set(Objects.nonNull(dto.getNickName()), WechatAppletUser::getNickName, dto.getNickName())
+                .set(Objects.nonNull(dto.getAvatarUrl()), WechatAppletUser::getAvatarUrl, dto.getAvatarUrl())
+                .set(Objects.nonNull(dto.getGender()), WechatAppletUser::getGender, dto.getGender())
                 .eq(WechatAppletUser::getOpenid, dto.getOpenid()));
         } else {
             super.save(BeanCopyUtils.copy(dto, WechatAppletUser.class));

+ 8 - 0
smsb-customer-manager-client/src/main/java/com/inspur/customer/object/wechat/WechatAppletUserDto.java

@@ -5,6 +5,7 @@ import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import javax.validation.constraints.Null;
 import java.io.Serializable;
 
 /**
@@ -22,5 +23,12 @@ public class WechatAppletUserDto implements Serializable {
 
     private String openid;
 
+    private String nickName;
+
+    private String avatarUrl;
+
+    private Integer gender;
+
+    @Null(message = "手机号需要用户授权后传入真实手机号")
     private String phoneNumber;
 }

+ 8 - 0
smsb-customer-manager-infrastructure/src/main/java/com/inspur/customer/infrastructure/object/wechat/WechatAppletUser.java

@@ -23,6 +23,14 @@ public class WechatAppletUser implements Serializable {
 
     private String openid;
 
+    @TableField("nick_name")
+    private String nickName;
+
+    @TableField("avatar_url")
+    private String avatarUrl;
+
+    private Integer gender;
+
     @TableField("phone_number")
     private String phoneNumber;
 }