Commit 5bb8fdca7ef8a9d9303a58e7d40a822e446ff59b

Authored by YunaiV
1 parent e61ecb63

🔧 简化 social 模块的 VO

Showing 17 changed files with 97 additions and 195 deletions
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApiImpl.java
1 1 package cn.iocoder.yudao.module.system.api.social;
2 2  
3 3 import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
  4 +import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
4 5 import cn.iocoder.yudao.module.system.api.social.dto.SocialWxJsapiSignatureRespDTO;
5 6 import cn.iocoder.yudao.module.system.api.social.dto.SocialWxPhoneNumberInfoRespDTO;
6   -import cn.iocoder.yudao.module.system.convert.social.SocialClientConvert;
7 7 import cn.iocoder.yudao.module.system.service.social.SocialClientService;
8 8 import me.chanjar.weixin.common.bean.WxJsapiSignature;
9 9 import org.springframework.stereotype.Service;
... ... @@ -31,13 +31,13 @@ public class SocialClientApiImpl implements SocialClientApi {
31 31 @Override
32 32 public SocialWxJsapiSignatureRespDTO createWxMpJsapiSignature(Integer userType, String url) {
33 33 WxJsapiSignature signature = socialClientService.createWxMpJsapiSignature(userType, url);
34   - return SocialClientConvert.INSTANCE.convert(signature);
  34 + return BeanUtils.toBean(signature, SocialWxJsapiSignatureRespDTO.class);
35 35 }
36 36  
37 37 @Override
38 38 public SocialWxPhoneNumberInfoRespDTO getWxMaPhoneNumberInfo(Integer userType, String phoneCode) {
39 39 WxMaPhoneNumberInfo info = socialClientService.getWxMaPhoneNumberInfo(userType, phoneCode);
40   - return SocialClientConvert.INSTANCE.convert(info);
  40 + return BeanUtils.toBean(info, SocialWxPhoneNumberInfoRespDTO.class);
41 41 }
42 42  
43 43 }
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/SocialClientController.java
... ... @@ -2,11 +2,10 @@ package cn.iocoder.yudao.module.system.controller.admin.socail;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5   -import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientCreateReqVO;
  5 +import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
6 6 import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientPageReqVO;
7 7 import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientRespVO;
8   -import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientUpdateReqVO;
9   -import cn.iocoder.yudao.module.system.convert.social.SocialClientConvert;
  8 +import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientSaveReqVO;
10 9 import cn.iocoder.yudao.module.system.dal.dataobject.social.SocialClientDO;
11 10 import cn.iocoder.yudao.module.system.service.social.SocialClientService;
12 11 import io.swagger.v3.oas.annotations.Operation;
... ... @@ -33,14 +32,14 @@ public class SocialClientController {
33 32 @PostMapping("/create")
34 33 @Operation(summary = "创建社交客户端")
35 34 @PreAuthorize("@ss.hasPermission('system:social-client:create')")
36   - public CommonResult<Long> createSocialClient(@Valid @RequestBody SocialClientCreateReqVO createReqVO) {
  35 + public CommonResult<Long> createSocialClient(@Valid @RequestBody SocialClientSaveReqVO createReqVO) {
37 36 return success(socialClientService.createSocialClient(createReqVO));
38 37 }
39 38  
40 39 @PutMapping("/update")
41 40 @Operation(summary = "更新社交客户端")
42 41 @PreAuthorize("@ss.hasPermission('system:social-client:update')")
43   - public CommonResult<Boolean> updateSocialClient(@Valid @RequestBody SocialClientUpdateReqVO updateReqVO) {
  42 + public CommonResult<Boolean> updateSocialClient(@Valid @RequestBody SocialClientSaveReqVO updateReqVO) {
44 43 socialClientService.updateSocialClient(updateReqVO);
45 44 return success(true);
46 45 }
... ... @@ -59,8 +58,8 @@ public class SocialClientController {
59 58 @Parameter(name = "id", description = "编号", required = true, example = "1024")
60 59 @PreAuthorize("@ss.hasPermission('system:social-client:query')")
61 60 public CommonResult<SocialClientRespVO> getSocialClient(@RequestParam("id") Long id) {
62   - SocialClientDO socialClient = socialClientService.getSocialClient(id);
63   - return success(SocialClientConvert.INSTANCE.convert(socialClient));
  61 + SocialClientDO client = socialClientService.getSocialClient(id);
  62 + return success(BeanUtils.toBean(client, SocialClientRespVO.class));
64 63 }
65 64  
66 65 @GetMapping("/page")
... ... @@ -68,7 +67,7 @@ public class SocialClientController {
68 67 @PreAuthorize("@ss.hasPermission('system:social-client:query')")
69 68 public CommonResult<PageResult<SocialClientRespVO>> getSocialClientPage(@Valid SocialClientPageReqVO pageVO) {
70 69 PageResult<SocialClientDO> pageResult = socialClientService.getSocialClientPage(pageVO);
71   - return success(SocialClientConvert.INSTANCE.convertPage(pageResult));
  70 + return success(BeanUtils.toBean(pageResult, SocialClientRespVO.class));
72 71 }
73 72  
74 73 }
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/SocialUserController.java
... ... @@ -3,8 +3,9 @@ package cn.iocoder.yudao.module.system.controller.admin.socail;
3 3 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
4 4 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
5 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6   -import cn.iocoder.yudao.module.system.controller.admin.socail.vo.SocialUserBindReqVO;
7   -import cn.iocoder.yudao.module.system.controller.admin.socail.vo.SocialUserUnbindReqVO;
  6 +import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
  7 +import cn.iocoder.yudao.module.system.controller.admin.socail.vo.user.SocialUserBindReqVO;
  8 +import cn.iocoder.yudao.module.system.controller.admin.socail.vo.user.SocialUserUnbindReqVO;
8 9 import cn.iocoder.yudao.module.system.controller.admin.socail.vo.user.SocialUserPageReqVO;
9 10 import cn.iocoder.yudao.module.system.controller.admin.socail.vo.user.SocialUserRespVO;
10 11 import cn.iocoder.yudao.module.system.convert.social.SocialUserConvert;
... ... @@ -35,7 +36,8 @@ public class SocialUserController {
35 36 @PostMapping("/bind")
36 37 @Operation(summary = "社交绑定,使用 code 授权码")
37 38 public CommonResult<Boolean> socialBind(@RequestBody @Valid SocialUserBindReqVO reqVO) {
38   - socialUserService.bindSocialUser(SocialUserConvert.INSTANCE.convert(getLoginUserId(), UserTypeEnum.ADMIN.getValue(), reqVO));
  39 + socialUserService.bindSocialUser(SocialUserConvert.INSTANCE.convert(
  40 + getLoginUserId(), UserTypeEnum.ADMIN.getValue(), reqVO));
39 41 return CommonResult.success(true);
40 42 }
41 43  
... ... @@ -54,7 +56,7 @@ public class SocialUserController {
54 56 @PreAuthorize("@ss.hasPermission('system:social-user:query')")
55 57 public CommonResult<SocialUserRespVO> getSocialUser(@RequestParam("id") Long id) {
56 58 SocialUserDO socialUser = socialUserService.getSocialUser(id);
57   - return success(SocialUserConvert.INSTANCE.convert(socialUser));
  59 + return success(BeanUtils.toBean(socialUser, SocialUserRespVO.class));
58 60 }
59 61  
60 62 @GetMapping("/page")
... ... @@ -62,7 +64,7 @@ public class SocialUserController {
62 64 @PreAuthorize("@ss.hasPermission('system:social-user:query')")
63 65 public CommonResult<PageResult<SocialUserRespVO>> getSocialUserPage(@Valid SocialUserPageReqVO pageVO) {
64 66 PageResult<SocialUserDO> pageResult = socialUserService.getSocialUserPage(pageVO);
65   - return success(SocialUserConvert.INSTANCE.convertPage(pageResult));
  67 + return success(BeanUtils.toBean(pageResult, SocialUserRespVO.class));
66 68 }
67 69  
68 70 }
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/client/SocialClientCreateReqVO.java deleted
1   -package cn.iocoder.yudao.module.system.controller.admin.socail.vo.client;
2   -
3   -import io.swagger.v3.oas.annotations.media.Schema;
4   -import lombok.Data;
5   -import lombok.EqualsAndHashCode;
6   -import lombok.ToString;
7   -
8   -@Schema(description = "管理后台 - 社交客户端创建 Request VO")
9   -@Data
10   -@EqualsAndHashCode(callSuper = true)
11   -@ToString(callSuper = true)
12   -public class SocialClientCreateReqVO extends SocialClientBaseVO {
13   -
14   -}
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/client/SocialClientRespVO.java
... ... @@ -2,20 +2,37 @@ package cn.iocoder.yudao.module.system.controller.admin.socail.vo.client;
2 2  
3 3 import io.swagger.v3.oas.annotations.media.Schema;
4 4 import lombok.Data;
5   -import lombok.EqualsAndHashCode;
6   -import lombok.ToString;
7 5  
8 6 import java.time.LocalDateTime;
9 7  
10 8 @Schema(description = "管理后台 - 社交客户端 Response VO")
11 9 @Data
12   -@EqualsAndHashCode(callSuper = true)
13   -@ToString(callSuper = true)
14   -public class SocialClientRespVO extends SocialClientBaseVO {
  10 +public class SocialClientRespVO {
15 11  
16 12 @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "27162")
17 13 private Long id;
18 14  
  15 + @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao商城")
  16 + private String name;
  17 +
  18 + @Schema(description = "社交平台的类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "31")
  19 + private Integer socialType;
  20 +
  21 + @Schema(description = "用户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
  22 + private Integer userType;
  23 +
  24 + @Schema(description = "客户端编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "wwd411c69a39ad2e54")
  25 + private String clientId;
  26 +
  27 + @Schema(description = "客户端密钥", requiredMode = Schema.RequiredMode.REQUIRED, example = "peter")
  28 + private String clientSecret;
  29 +
  30 + @Schema(description = "授权方的网页应用编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2000045")
  31 + private String agentId;
  32 +
  33 + @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
  34 + private Integer status;
  35 +
19 36 @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
20 37 private LocalDateTime createTime;
21 38  
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/client/SocialClientBaseVO.java renamed to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/client/SocialClientSaveReqVO.java
... ... @@ -13,12 +13,12 @@ import javax.validation.constraints.AssertTrue;
13 13 import javax.validation.constraints.NotNull;
14 14 import java.util.Objects;
15 15  
16   -/**
17   - * 社交客户端 Base VO,提供给添加、修改、详细的子 VO 使用
18   - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
19   - */
  16 +@Schema(description = "管理后台 - 社交客户端创建/修改 Request VO")
20 17 @Data
21   -public class SocialClientBaseVO {
  18 +public class SocialClientSaveReqVO {
  19 +
  20 + @Schema(description = "编号", example = "27162")
  21 + private Long id;
22 22  
23 23 @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao商城")
24 24 @NotNull(message = "应用名不能为空")
... ... @@ -38,7 +38,7 @@ public class SocialClientBaseVO {
38 38 @NotNull(message = "客户端编号不能为空")
39 39 private String clientId;
40 40  
41   - @Schema(description = "客户端密钥", requiredMode = Schema.RequiredMode.REQUIRED, example = "1wTb7hYxnpT2TUbIeHGXGo7T0odav1ic10mLdyyATOw")
  41 + @Schema(description = "客户端密钥", requiredMode = Schema.RequiredMode.REQUIRED, example = "peter")
42 42 @NotNull(message = "客户端密钥不能为空")
43 43 private String clientSecret;
44 44  
... ... @@ -50,16 +50,12 @@ public class SocialClientBaseVO {
50 50 @InEnum(CommonStatusEnum.class)
51 51 private Integer status;
52 52  
53   - @SuppressWarnings("RedundantIfStatement")
54 53 @AssertTrue(message = "agentId 不能为空")
55 54 @JsonIgnore
56 55 public boolean isAgentIdValid() {
57 56 // 如果是企业微信,必须填写 agentId 属性
58   - if (Objects.equals(socialType, SocialTypeEnum.WECHAT_ENTERPRISE.getType())
59   - && StrUtil.isEmpty(agentId)) {
60   - return false;
61   - }
62   - return true;
  57 + return !Objects.equals(socialType, SocialTypeEnum.WECHAT_ENTERPRISE.getType())
  58 + || !StrUtil.isEmpty(agentId);
63 59 }
64 60  
65 61 }
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/client/SocialClientUpdateReqVO.java deleted
1   -package cn.iocoder.yudao.module.system.controller.admin.socail.vo.client;
2   -
3   -import io.swagger.v3.oas.annotations.media.Schema;
4   -import lombok.Data;
5   -import lombok.EqualsAndHashCode;
6   -import lombok.ToString;
7   -
8   -import javax.validation.constraints.NotNull;
9   -
10   -@Schema(description = "管理后台 - 社交客户端更新 Request VO")
11   -@Data
12   -@EqualsAndHashCode(callSuper = true)
13   -@ToString(callSuper = true)
14   -public class SocialClientUpdateReqVO extends SocialClientBaseVO {
15   -
16   - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "27162")
17   - @NotNull(message = "编号不能为空")
18   - private Long id;
19   -
20   -}
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/user/SocialUserBaseVO.java deleted
1   -package cn.iocoder.yudao.module.system.controller.admin.socail.vo.user;
2   -
3   -import io.swagger.v3.oas.annotations.media.Schema;
4   -import lombok.Data;
5   -
6   -import javax.validation.constraints.NotNull;
7   -
8   -/**
9   - * 社交用户 Base VO,提供给添加、修改、详细的子 VO 使用
10   - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
11   - */
12   -@Data
13   -public class SocialUserBaseVO {
14   -
15   - @Schema(description = "社交平台的类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "30")
16   - @NotNull(message = "社交平台的类型不能为空")
17   - private Integer type;
18   -
19   - @Schema(description = "社交 openid", requiredMode = Schema.RequiredMode.REQUIRED, example = "666")
20   - @NotNull(message = "社交 openid不能为空")
21   - private String openid;
22   -
23   - @Schema(description = "社交 token", requiredMode = Schema.RequiredMode.REQUIRED, example = "666")
24   - private String token;
25   -
26   - @Schema(description = "原始 Token 数据,一般是 JSON 格式", requiredMode = Schema.RequiredMode.REQUIRED, example = "{}")
27   - private String rawTokenInfo;
28   -
29   - @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
30   - @NotNull(message = "用户昵称不能为空")
31   - private String nickname;
32   -
33   - @Schema(description = "用户头像", example = "https://www.iocoder.cn/xxx.png")
34   - private String avatar;
35   -
36   - @Schema(description = "原始用户数据,一般是 JSON 格式", requiredMode = Schema.RequiredMode.REQUIRED, example = "{}")
37   - private String rawUserInfo;
38   -
39   - @Schema(description = "最后一次的认证 code", requiredMode = Schema.RequiredMode.REQUIRED, example = "666666")
40   - private String code;
41   -
42   - @Schema(description = "最后一次的认证 state", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
43   - private String state;
44   -
45   -}
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/SocialUserBindReqVO.java renamed to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/user/SocialUserBindReqVO.java
1   -package cn.iocoder.yudao.module.system.controller.admin.socail.vo;
  1 +package cn.iocoder.yudao.module.system.controller.admin.socail.vo.user;
2 2  
3 3 import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum;
4 4 import cn.iocoder.yudao.framework.common.validation.InEnum;
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/user/SocialUserRespVO.java
... ... @@ -2,20 +2,43 @@ package cn.iocoder.yudao.module.system.controller.admin.socail.vo.user;
2 2  
3 3 import io.swagger.v3.oas.annotations.media.Schema;
4 4 import lombok.Data;
5   -import lombok.EqualsAndHashCode;
6   -import lombok.ToString;
7 5  
8 6 import java.time.LocalDateTime;
9 7  
10 8 @Schema(description = "管理后台 - 社交用户 Response VO")
11 9 @Data
12   -@EqualsAndHashCode(callSuper = true)
13   -@ToString(callSuper = true)
14   -public class SocialUserRespVO extends SocialUserBaseVO {
  10 +public class SocialUserRespVO {
15 11  
16 12 @Schema(description = "主键(自增策略)", requiredMode = Schema.RequiredMode.REQUIRED, example = "14569")
17 13 private Long id;
18 14  
  15 + @Schema(description = "社交平台的类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "30")
  16 + private Integer type;
  17 +
  18 + @Schema(description = "社交 openid", requiredMode = Schema.RequiredMode.REQUIRED, example = "666")
  19 + private String openid;
  20 +
  21 + @Schema(description = "社交 token", requiredMode = Schema.RequiredMode.REQUIRED, example = "666")
  22 + private String token;
  23 +
  24 + @Schema(description = "原始 Token 数据,一般是 JSON 格式", requiredMode = Schema.RequiredMode.REQUIRED, example = "{}")
  25 + private String rawTokenInfo;
  26 +
  27 + @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
  28 + private String nickname;
  29 +
  30 + @Schema(description = "用户头像", example = "https://www.iocoder.cn/xxx.png")
  31 + private String avatar;
  32 +
  33 + @Schema(description = "原始用户数据,一般是 JSON 格式", requiredMode = Schema.RequiredMode.REQUIRED, example = "{}")
  34 + private String rawUserInfo;
  35 +
  36 + @Schema(description = "最后一次的认证 code", requiredMode = Schema.RequiredMode.REQUIRED, example = "666666")
  37 + private String code;
  38 +
  39 + @Schema(description = "最后一次的认证 state", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
  40 + private String state;
  41 +
19 42 @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
20 43 private LocalDateTime createTime;
21 44  
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/SocialUserUnbindReqVO.java renamed to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/user/SocialUserUnbindReqVO.java
1   -package cn.iocoder.yudao.module.system.controller.admin.socail.vo;
  1 +package cn.iocoder.yudao.module.system.controller.admin.socail.vo.user;
2 2  
3 3 import cn.iocoder.yudao.framework.common.validation.InEnum;
4 4 import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum;
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/social/SocialClientConvert.java deleted
1   -package cn.iocoder.yudao.module.system.convert.social;
2   -
3   -import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
4   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
5   -import cn.iocoder.yudao.module.system.api.social.dto.SocialWxJsapiSignatureRespDTO;
6   -import cn.iocoder.yudao.module.system.api.social.dto.SocialWxPhoneNumberInfoRespDTO;
7   -import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientCreateReqVO;
8   -import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientRespVO;
9   -import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientUpdateReqVO;
10   -import cn.iocoder.yudao.module.system.dal.dataobject.social.SocialClientDO;
11   -import me.chanjar.weixin.common.bean.WxJsapiSignature;
12   -import org.mapstruct.Mapper;
13   -import org.mapstruct.factory.Mappers;
14   -
15   -import java.util.List;
16   -
17   -@Mapper
18   -public interface SocialClientConvert {
19   -
20   - SocialClientConvert INSTANCE = Mappers.getMapper(SocialClientConvert.class);
21   -
22   - SocialWxJsapiSignatureRespDTO convert(WxJsapiSignature bean);
23   -
24   - SocialWxPhoneNumberInfoRespDTO convert(WxMaPhoneNumberInfo bean);
25   -
26   - SocialClientDO convert(SocialClientCreateReqVO bean);
27   -
28   - SocialClientDO convert(SocialClientUpdateReqVO bean);
29   -
30   - SocialClientRespVO convert(SocialClientDO bean);
31   -
32   - List<SocialClientRespVO> convertList(List<SocialClientDO> list);
33   -
34   - PageResult<SocialClientRespVO> convertPage(PageResult<SocialClientDO> page);
35   -
36   -
37   -
38   -}
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/social/SocialUserConvert.java
1 1 package cn.iocoder.yudao.module.system.convert.social;
2 2  
3   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 3 import cn.iocoder.yudao.module.system.api.social.dto.SocialUserBindReqDTO;
5   -import cn.iocoder.yudao.module.system.api.social.dto.SocialUserUnbindReqDTO;
6   -import cn.iocoder.yudao.module.system.controller.admin.socail.vo.SocialUserBindReqVO;
7   -import cn.iocoder.yudao.module.system.controller.admin.socail.vo.SocialUserUnbindReqVO;
8   -import cn.iocoder.yudao.module.system.controller.admin.socail.vo.user.SocialUserRespVO;
9   -import cn.iocoder.yudao.module.system.dal.dataobject.social.SocialUserDO;
  4 +import cn.iocoder.yudao.module.system.controller.admin.socail.vo.user.SocialUserBindReqVO;
10 5 import org.mapstruct.Mapper;
11 6 import org.mapstruct.Mapping;
12 7 import org.mapstruct.factory.Mappers;
13 8  
14   -import java.util.List;
15   -
16 9 @Mapper
17 10 public interface SocialUserConvert {
18 11  
19 12 SocialUserConvert INSTANCE = Mappers.getMapper(SocialUserConvert.class);
20 13  
21   - @Mapping(target = "socialType", source = "reqVO.type")
  14 + @Mapping(source = "reqVO.type", target = "socialType")
22 15 SocialUserBindReqDTO convert(Long userId, Integer userType, SocialUserBindReqVO reqVO);
23 16  
24   - SocialUserUnbindReqDTO convert(Long userId, Integer userType, SocialUserUnbindReqVO reqVO);
25   -
26   - SocialUserRespVO convert(SocialUserDO bean);
27   -
28   - List<SocialUserRespVO> convertList(List<SocialUserDO> list);
29   -
30   - PageResult<SocialUserRespVO> convertPage(PageResult<SocialUserDO> page);
31   -
32 17 }
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/social/SocialClientMapper.java
... ... @@ -20,7 +20,7 @@ public interface SocialClientMapper extends BaseMapperX&lt;SocialClientDO&gt; {
20 20 .likeIfPresent(SocialClientDO::getName, reqVO.getName())
21 21 .eqIfPresent(SocialClientDO::getSocialType, reqVO.getSocialType())
22 22 .eqIfPresent(SocialClientDO::getUserType, reqVO.getUserType())
23   - .eqIfPresent(SocialClientDO::getClientId, reqVO.getClientId())
  23 + .likeIfPresent(SocialClientDO::getClientId, reqVO.getClientId())
24 24 .eqIfPresent(SocialClientDO::getStatus, reqVO.getStatus())
25 25 .orderByDesc(SocialClientDO::getId));
26 26 }
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/social/SocialClientService.java
... ... @@ -2,9 +2,8 @@ package cn.iocoder.yudao.module.system.service.social;
2 2  
3 3 import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
4 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5   -import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientCreateReqVO;
6 5 import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientPageReqVO;
7   -import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientUpdateReqVO;
  6 +import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientSaveReqVO;
8 7 import cn.iocoder.yudao.module.system.dal.dataobject.social.SocialClientDO;
9 8 import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum;
10 9 import com.xingyuv.jushauth.model.AuthUser;
... ... @@ -70,14 +69,14 @@ public interface SocialClientService {
70 69 * @param createReqVO 创建信息
71 70 * @return 编号
72 71 */
73   - Long createSocialClient(@Valid SocialClientCreateReqVO createReqVO);
  72 + Long createSocialClient(@Valid SocialClientSaveReqVO createReqVO);
74 73  
75 74 /**
76 75 * 更新社交客户端
77 76 *
78 77 * @param updateReqVO 更新信息
79 78 */
80   - void updateSocialClient(@Valid SocialClientUpdateReqVO updateReqVO);
  79 + void updateSocialClient(@Valid SocialClientSaveReqVO updateReqVO);
81 80  
82 81 /**
83 82 * 删除社交客户端
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/social/SocialClientServiceImpl.java
... ... @@ -12,10 +12,9 @@ import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
12 12 import cn.iocoder.yudao.framework.common.pojo.PageResult;
13 13 import cn.iocoder.yudao.framework.common.util.cache.CacheUtils;
14 14 import cn.iocoder.yudao.framework.common.util.http.HttpUtils;
15   -import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientCreateReqVO;
  15 +import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
16 16 import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientPageReqVO;
17   -import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientUpdateReqVO;
18   -import cn.iocoder.yudao.module.system.convert.social.SocialClientConvert;
  17 +import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientSaveReqVO;
19 18 import cn.iocoder.yudao.module.system.dal.dataobject.social.SocialClientDO;
20 19 import cn.iocoder.yudao.module.system.dal.mysql.social.SocialClientMapper;
21 20 import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum;
... ... @@ -267,26 +266,25 @@ public class SocialClientServiceImpl implements SocialClientService {
267 266 // =================== 客户端管理 ===================
268 267  
269 268 @Override
270   - public Long createSocialClient(SocialClientCreateReqVO createReqVO) {
  269 + public Long createSocialClient(SocialClientSaveReqVO createReqVO) {
271 270 // 校验重复
272 271 validateSocialClientUnique(null, createReqVO.getUserType(), createReqVO.getSocialType());
273 272  
274 273 // 插入
275   - SocialClientDO socialClient = SocialClientConvert.INSTANCE.convert(createReqVO);
276   - socialClientMapper.insert(socialClient);
277   - // 返回
278   - return socialClient.getId();
  274 + SocialClientDO client = BeanUtils.toBean(createReqVO, SocialClientDO.class);
  275 + socialClientMapper.insert(client);
  276 + return client.getId();
279 277 }
280 278  
281 279 @Override
282   - public void updateSocialClient(SocialClientUpdateReqVO updateReqVO) {
  280 + public void updateSocialClient(SocialClientSaveReqVO updateReqVO) {
283 281 // 校验存在
284 282 validateSocialClientExists(updateReqVO.getId());
285 283 // 校验重复
286 284 validateSocialClientUnique(updateReqVO.getId(), updateReqVO.getUserType(), updateReqVO.getSocialType());
287 285  
288 286 // 更新
289   - SocialClientDO updateObj = SocialClientConvert.INSTANCE.convert(updateReqVO);
  287 + SocialClientDO updateObj = BeanUtils.toBean(updateReqVO, SocialClientDO.class);
290 288 socialClientMapper.updateById(updateObj);
291 289 }
292 290  
... ...
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/social/SocialClientServiceImplTest.java
... ... @@ -2,9 +2,8 @@ package cn.iocoder.yudao.module.system.service.social;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 4 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
5   -import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientCreateReqVO;
6 5 import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientPageReqVO;
7   -import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientUpdateReqVO;
  6 +import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientSaveReqVO;
8 7 import cn.iocoder.yudao.module.system.dal.dataobject.social.SocialClientDO;
9 8 import cn.iocoder.yudao.module.system.dal.mysql.social.SocialClientMapper;
10 9 import org.junit.jupiter.api.Disabled;
... ... @@ -40,7 +39,8 @@ public class SocialClientServiceImplTest extends BaseDbUnitTest {
40 39 @Test
41 40 public void testCreateSocialClient_success() {
42 41 // 准备参数
43   - SocialClientCreateReqVO reqVO = randomPojo(SocialClientCreateReqVO.class);
  42 + SocialClientSaveReqVO reqVO = randomPojo(SocialClientSaveReqVO.class)
  43 + .setId(null); // 防止 id 被赋值
44 44  
45 45 // 调用
46 46 Long socialClientId = socialClientService.createSocialClient(reqVO);
... ... @@ -48,7 +48,7 @@ public class SocialClientServiceImplTest extends BaseDbUnitTest {
48 48 assertNotNull(socialClientId);
49 49 // 校验记录的属性是否正确
50 50 SocialClientDO socialClient = socialClientMapper.selectById(socialClientId);
51   - assertPojoEquals(reqVO, socialClient);
  51 + assertPojoEquals(reqVO, socialClient, "id");
52 52 }
53 53  
54 54 @Test
... ... @@ -57,7 +57,7 @@ public class SocialClientServiceImplTest extends BaseDbUnitTest {
57 57 SocialClientDO dbSocialClient = randomPojo(SocialClientDO.class);
58 58 socialClientMapper.insert(dbSocialClient);// @Sql: 先插入出一条存在的数据
59 59 // 准备参数
60   - SocialClientUpdateReqVO reqVO = randomPojo(SocialClientUpdateReqVO.class, o -> {
  60 + SocialClientSaveReqVO reqVO = randomPojo(SocialClientSaveReqVO.class, o -> {
61 61 o.setId(dbSocialClient.getId()); // 设置更新的 ID
62 62 });
63 63  
... ... @@ -71,7 +71,7 @@ public class SocialClientServiceImplTest extends BaseDbUnitTest {
71 71 @Test
72 72 public void testUpdateSocialClient_notExists() {
73 73 // 准备参数
74   - SocialClientUpdateReqVO reqVO = randomPojo(SocialClientUpdateReqVO.class);
  74 + SocialClientSaveReqVO reqVO = randomPojo(SocialClientSaveReqVO.class);
75 75  
76 76 // 调用, 并断言异常
77 77 assertServiceException(() -> socialClientService.updateSocialClient(reqVO), SOCIAL_CLIENT_NOT_EXISTS);
... ...