diff --git a/yudao-module-member/yudao-module-member-api/pom.xml b/yudao-module-member/yudao-module-member-api/pom.xml index 242df88f5..0098db69f 100644 --- a/yudao-module-member/yudao-module-member-api/pom.xml +++ b/yudao-module-member/yudao-module-member-api/pom.xml @@ -22,12 +22,26 @@ yudao-common + + + org.springdoc + springdoc-openapi-ui + provided + + org.springframework.boot spring-boot-starter-validation true + + + + org.springframework.cloud + spring-cloud-starter-openfeign + true + diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/address/AddressApi.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/address/AddressApi.java deleted file mode 100644 index 658748819..000000000 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/address/AddressApi.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.iocoder.yudao.module.member.api.address; - -import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO; - -/** - * 用户收件地址 API 接口 - * - * @author 芋道源码 - */ -public interface AddressApi { - - /** - * 获得用户收件地址 - * - * @param id 收件地址编号 - * @param userId 用户编号 - * @return 用户收件地址 - */ - AddressRespDTO getAddress(Long id, Long userId); - - /** - * 获得用户默认收件地址 - * - * @param userId 用户编号 - * @return 用户收件地址 - */ - AddressRespDTO getDefaultAddress(Long userId); - -} diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/address/MemberAddressApi.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/address/MemberAddressApi.java new file mode 100644 index 000000000..c2cccaf04 --- /dev/null +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/address/MemberAddressApi.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.member.api.address; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.member.api.address.dto.MemberAddressRespDTO; +import cn.iocoder.yudao.module.member.enums.ApiConstants; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@Tag(name = "RPC 服务 - 用户收件地址") +public interface MemberAddressApi { + + String PREFIX = ApiConstants.PREFIX + "/address"; + + @GetMapping(PREFIX + "/get") + @Operation(summary = "获得用户收件地址") + @Parameters({ + @Parameter(name = "id", description = "收件地址编号", required = true, example = "1024"), + @Parameter(name = "userId", description = "用户编号", required = true, example = "2048"), + }) + CommonResult getAddress(@RequestParam("id") Long id, + @RequestParam("userId") Long userId); + + /** + * 获得用户默认收件地址 + * + * @param userId 用户编号 + * @return 用户收件地址 + */ + @GetMapping(PREFIX + "/get-default") + @Operation(summary = "获得用户默认收件地址") + @Parameter(name = "userId", description = "用户编号", required = true, example = "2048") + CommonResult getDefaultAddress(@RequestParam("userId") Long userId); + +} diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/address/dto/AddressRespDTO.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/address/dto/AddressRespDTO.java deleted file mode 100644 index 5a5e44ff1..000000000 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/address/dto/AddressRespDTO.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.iocoder.yudao.module.member.api.address.dto; - -import lombok.Data; - -/** - * 用户收件地址 Response DTO - * - * @author 芋道源码 - */ -@Data -public class AddressRespDTO { - - /** - * 编号 - */ - private Long id; - /** - * 用户编号 - */ - private Long userId; - /** - * 收件人名称 - */ - private String name; - /** - * 手机号 - */ - private String mobile; - /** - * 地区编号 - */ - private Integer areaId; - /** - * 收件详细地址 - */ - private String detailAddress; - /** - * 是否默认 - */ - private Boolean defaultStatus; - -} diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/address/dto/MemberAddressRespDTO.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/address/dto/MemberAddressRespDTO.java new file mode 100644 index 000000000..e2b88744a --- /dev/null +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/address/dto/MemberAddressRespDTO.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.member.api.address.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "RPC 服务 - 用户收件地址 Response DTO") +@Data +public class MemberAddressRespDTO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") + private Long userId; + + @Schema(description = "收件人名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道") + private String name; + + @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15601691300") + private String mobile; + + @Schema(description = "地区编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2666") + private Integer areaId; + + @Schema(description = "收件详细地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码 88 小区 106 号") + private String detailAddress; + + @Schema(description = "是否默认", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") + private Boolean defaultStatus; + +} diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/config/MemberConfigApi.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/config/MemberConfigApi.java index dab7f6877..3a65f47fd 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/config/MemberConfigApi.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/config/MemberConfigApi.java @@ -1,18 +1,21 @@ package cn.iocoder.yudao.module.member.api.config; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.member.api.config.dto.MemberConfigRespDTO; +import cn.iocoder.yudao.module.member.enums.ApiConstants; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; -/** - * 用户配置 API 接口 - * - * @author owen - */ +@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@Tag(name = "RPC 服务 - 用户配置") public interface MemberConfigApi { - /** - * 获得积分配置 - * - * @return 积分配置 - */ - MemberConfigRespDTO getConfig(); + String PREFIX = ApiConstants.PREFIX + "/config"; + + @GetMapping(PREFIX + "/get") + @Operation(summary = "获得用户配置") + CommonResult getConfig(); + } diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/config/dto/MemberConfigRespDTO.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/config/dto/MemberConfigRespDTO.java index 59aab53f9..d14fe1af3 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/config/dto/MemberConfigRespDTO.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/config/dto/MemberConfigRespDTO.java @@ -1,32 +1,22 @@ package cn.iocoder.yudao.module.member.api.config.dto; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -/** - * 用户信息 Response DTO - * - * @author 芋道源码 - */ +@Schema(description = "RPC 服务 - 用户信息 Response DTO") @Data public class MemberConfigRespDTO { - /** - * 积分抵扣开关 - */ + @Schema(description = "积分抵扣开关", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") private Boolean pointTradeDeductEnable; - /** - * 积分抵扣,单位:分 - *

- * 1 积分抵扣多少分 - */ - private Integer pointTradeDeductUnitPrice; - /** - * 积分抵扣最大值 - */ + + @Schema(description = "积分抵扣,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") + private Integer pointTradeDeductUnitPrice; // 1 积分抵扣多少分 + + @Schema(description = "积分抵扣最大值", requiredMode = Schema.RequiredMode.REQUIRED, example = "200") private Integer pointTradeDeductMaxPrice; - /** - * 1 元赠送多少分 - */ + + @Schema(description = "1 元赠送多少分", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") private Integer pointTradeGivePoint; } diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/level/MemberLevelApi.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/level/MemberLevelApi.java index 587683797..e9931442e 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/level/MemberLevelApi.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/level/MemberLevelApi.java @@ -1,41 +1,52 @@ package cn.iocoder.yudao.module.member.api.level; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.member.api.level.dto.MemberLevelRespDTO; -import cn.iocoder.yudao.module.member.enums.MemberExperienceBizTypeEnum; +import cn.iocoder.yudao.module.member.enums.ApiConstants; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; -/** - * 会员等级 API 接口 - * - * @author owen - */ +@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@Tag(name = "RPC 服务 - 会员等级") public interface MemberLevelApi { - /** - * 获得会员等级 - * - * @param id 会员等级编号 - * @return 会员等级 - */ - MemberLevelRespDTO getMemberLevel(Long id); + String PREFIX = ApiConstants.PREFIX + "/address"; - /** - * 增加会员经验 - * - * @param userId 会员ID - * @param experience 经验 - * @param bizType 业务类型 {@link MemberExperienceBizTypeEnum} - * @param bizId 业务编号 - */ - void addExperience(Long userId, Integer experience, Integer bizType, String bizId); + @GetMapping(PREFIX + "/get") + @Operation(summary = "获得会员等级") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + CommonResult getMemberLevel(@RequestParam("id") Long id); - /** - * 扣减会员经验 - * - * @param userId 会员ID - * @param experience 经验 - * @param bizType 业务类型 {@link MemberExperienceBizTypeEnum} - * @param bizId 业务编号 - */ - void reduceExperience(Long userId, Integer experience, Integer bizType, String bizId); + @PostMapping(PREFIX + "/add") + @Operation(summary = "增加会员经验") + @Parameters({ + @Parameter(name = "userId", description = "会员编号", required = true, example = "1024"), + @Parameter(name = "experience", description = "经验值", required = true, example = "100"), + @Parameter(name = "bizType", description = "业务类型", required = true, example = "1"), + @Parameter(name = "bizId", description = "业务编号", required = true, example = "1") + }) + CommonResult addExperience(@RequestParam("userId") Long userId, + @RequestParam("experience") Integer experience, + @RequestParam("bizType") Integer bizType, + @RequestParam("bizId") String bizId); + + @PostMapping(PREFIX + "/reduce") + @Operation(summary = "扣减会员经验") + @Parameters({ + @Parameter(name = "userId", description = "会员编号", required = true, example = "1024"), + @Parameter(name = "experience", description = "经验值", required = true, example = "100"), + @Parameter(name = "bizType", description = "业务类型", required = true, example = "1"), + @Parameter(name = "bizId", description = "业务编号", required = true, example = "1") + }) + CommonResult reduceExperience(@RequestParam("userId") Long userId, + @RequestParam("experience") Integer experience, + @RequestParam("bizType") Integer bizType, + @RequestParam("bizId") String bizId); } diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/level/dto/MemberLevelRespDTO.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/level/dto/MemberLevelRespDTO.java index a72d65f23..3402f35a3 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/level/dto/MemberLevelRespDTO.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/level/dto/MemberLevelRespDTO.java @@ -1,41 +1,28 @@ package cn.iocoder.yudao.module.member.api.level.dto; -import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -/** - * 会员等级 Resp DTO - * - * @author 芋道源码 - */ +@Schema(description = "RPC 服务 - 会员等级 Response DTO") @Data public class MemberLevelRespDTO { - /** - * 编号 - */ + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") private Long id; - /** - * 等级名称 - */ + + @Schema(description = "等级名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "普通会员") private String name; - /** - * 等级 - */ + + @Schema(description = "等级", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") private Integer level; - /** - * 升级经验 - */ + + @Schema(description = "升级经验", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") private Integer experience; - /** - * 享受折扣 - */ + + @Schema(description = "享受折扣", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") private Integer discountPercent; - /** - * 状态 - * - * 枚举 {@link CommonStatusEnum} - */ - private Integer status; + + @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer status; // 参见 CommonStatusEnum 枚举 } diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/point/MemberPointApi.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/point/MemberPointApi.java index 3eb749fb6..84d546817 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/point/MemberPointApi.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/point/MemberPointApi.java @@ -1,36 +1,47 @@ package cn.iocoder.yudao.module.member.api.point; -import cn.iocoder.yudao.module.member.enums.point.MemberPointBizTypeEnum; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.member.enums.ApiConstants; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; import javax.validation.constraints.Min; -/** - * 用户积分的 API 接口 - * - * @author owen - */ +@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@Tag(name = "RPC 服务 - 用户积分") public interface MemberPointApi { - /** - * 增加用户积分 - * - * @param userId 用户编号 - * @param point 积分 - * @param bizType 业务类型 {@link MemberPointBizTypeEnum} - * @param bizId 业务编号 - */ - void addPoint(Long userId, @Min(value = 1L, message = "积分必须是正数") Integer point, - Integer bizType, String bizId); + String PREFIX = ApiConstants.PREFIX + "/point"; - /** - * 减少用户积分 - * - * @param userId 用户编号 - * @param point 积分 - * @param bizType 业务类型 {@link MemberPointBizTypeEnum} - * @param bizId 业务编号 - */ - void reducePoint(Long userId, @Min(value = 1L, message = "积分必须是正数") Integer point, - Integer bizType, String bizId); + @PostMapping(PREFIX + "/add") + @Operation(summary = "增加用户积分") + @Parameters({ + @Parameter(name = "userId", description = "会员编号", required = true, example = "1024"), + @Parameter(name = "point", description = "积分", required = true, example = "100"), + @Parameter(name = "bizType", description = "业务类型", required = true, example = "1"), + @Parameter(name = "bizId", description = "业务编号", required = true, example = "1") + }) + CommonResult addPoint(@RequestParam("userId") Long userId, + @RequestParam("point") @Min(value = 1L, message = "积分必须是正数") Integer point, + @RequestParam("bizType") Integer bizType, + @RequestParam("bizId") String bizId); + + @PostMapping(PREFIX + "/reducePoint") + @Operation(summary = "减少用户积分") + @Parameters({ + @Parameter(name = "userId", description = "会员编号", required = true, example = "1024"), + @Parameter(name = "point", description = "积分", required = true, example = "100"), + @Parameter(name = "bizType", description = "业务类型", required = true, example = "1"), + @Parameter(name = "bizId", description = "业务编号", required = true, example = "1") + }) + CommonResult reducePoint(@RequestParam("userId") Long userId, + @RequestParam("point") @Min(value = 1L, message = "积分必须是正数") Integer point, + @RequestParam("bizType") Integer bizType, + @RequestParam("bizId") String bizId); } diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/user/MemberUserApi.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/user/MemberUserApi.java index 3d2130e18..085f004e4 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/user/MemberUserApi.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/user/MemberUserApi.java @@ -1,6 +1,14 @@ package cn.iocoder.yudao.module.member.api.user; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; +import cn.iocoder.yudao.module.member.enums.ApiConstants; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; import java.util.Collection; import java.util.List; @@ -8,28 +16,21 @@ import java.util.Map; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; -/** - * 会员用户的 API 接口 - * - * @author 芋道源码 - */ +@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@Tag(name = "RPC 服务 - 会员用户的") public interface MemberUserApi { - /** - * 获得会员用户信息 - * - * @param id 用户编号 - * @return 用户信息 - */ - MemberUserRespDTO getUser(Long id); + String PREFIX = ApiConstants.PREFIX + "/user"; - /** - * 获得会员用户信息们 - * - * @param ids 用户编号的数组 - * @return 用户信息们 - */ - List getUserList(Collection ids); + @GetMapping(PREFIX + "/get") + @Operation(summary = "获得会员用户信息") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + CommonResult getUser(@RequestParam("id") Long id); + + @GetMapping(PREFIX + "/list") + @Operation(summary = "获得会员用户信息们") + @Parameter(name = "ids", description = "用户编号的数组", example = "1,2", required = true) + CommonResult> getUserList(@RequestParam("ids") Collection ids); /** * 获得会员用户 Map @@ -38,22 +39,17 @@ public interface MemberUserApi { * @return 会员用户 Map */ default Map getUserMap(Collection ids) { - return convertMap(getUserList(ids), MemberUserRespDTO::getId); + return convertMap(getUserList(ids).getCheckedData(), MemberUserRespDTO::getId); } - /** - * 基于用户昵称,模糊匹配用户列表 - * - * @param nickname 用户昵称,模糊匹配 - * @return 用户信息的列表 - */ - List getUserListByNickname(String nickname); + @GetMapping(PREFIX + "/list-by-nickname") + @Operation(summary = "基于用户昵称,模糊匹配用户列表") + @Parameter(name = "nickname", description = "用户昵称,模糊匹配", required = true, example = "土豆") + CommonResult> getUserListByNickname(@RequestParam("nickname") String nickname); + + @GetMapping(PREFIX + "/get-by-mobile") + @Operation(summary = "基于手机号,精准匹配用户") + @Parameter(name = "mobile", description = "基于手机号,精准匹配用户", required = true, example = "1560") + CommonResult getUserByMobile(@RequestParam("mobile") String mobile); - /** - * 基于手机号,精准匹配用户 - * - * @param mobile 手机号 - * @return 用户信息 - */ - MemberUserRespDTO getUserByMobile(String mobile); } diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/user/dto/MemberUserRespDTO.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/user/dto/MemberUserRespDTO.java index 50548f935..79be9e521 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/user/dto/MemberUserRespDTO.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/user/dto/MemberUserRespDTO.java @@ -1,55 +1,38 @@ package cn.iocoder.yudao.module.member.api.user.dto; -import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.time.LocalDateTime; -/** - * 用户信息 Response DTO - * - * @author 芋道源码 - */ +@Schema(description = "RPC 服务 - 用户信息 Response DTO") @Data public class MemberUserRespDTO { - /** - * 用户ID - */ + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") private Long id; - /** - * 用户昵称 - */ + + @Schema(description = "昵称", example = "小王同学") private String nickname; - /** - * 帐号状态 - * - * 枚举 {@link CommonStatusEnum} - */ - private Integer status; - /** - * 用户头像 - */ + + @Schema(description = "帐号状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer status; // 参见 CommonStatusEnum 枚举 + + @Schema(description = "用户头像", example = "https://www.iocoder.cn/xxx.jpg") private String avatar; - /** - * 手机 - */ + + @Schema(description = "手机号", example = "15601691300") private String mobile; - /** - * 创建时间(注册时间) - */ + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) private LocalDateTime createTime; // ========== 其它信息 ========== - /** - * 会员级别编号 - */ + @Schema(description = "会员级别编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") private Long levelId; - /** - * 积分 - */ + @Schema(description = "积分", requiredMode = Schema.RequiredMode.REQUIRED, example = "886") private Integer point; } diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ApiConstants.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ApiConstants.java new file mode 100644 index 000000000..4a6f1b75f --- /dev/null +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ApiConstants.java @@ -0,0 +1,23 @@ +package cn.iocoder.yudao.module.member.enums; + +import cn.iocoder.yudao.framework.common.enums.RpcConstants; + +/** + * API 相关的枚举 + * + * @author 芋道源码 + */ +public class ApiConstants { + + /** + * 服务名 + * + * 注意,需要保证和 spring.application.name 保持一致 + */ + public static final String NAME = "member-server"; + + public static final String PREFIX = RpcConstants.RPC_API_PREFIX + "/member"; + + public static final String VERSION = "1.0.0"; + +} diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/address/AddressApiImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/address/AddressApiImpl.java deleted file mode 100644 index b8088a455..000000000 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/address/AddressApiImpl.java +++ /dev/null @@ -1,33 +0,0 @@ -package cn.iocoder.yudao.module.member.api.address; - -import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO; -import cn.iocoder.yudao.module.member.convert.address.AddressConvert; -import cn.iocoder.yudao.module.member.service.address.AddressService; -import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; - -import javax.annotation.Resource; - -/** - * 用户收件地址 API 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class AddressApiImpl implements AddressApi { - - @Resource - private AddressService addressService; - - @Override - public AddressRespDTO getAddress(Long id, Long userId) { - return AddressConvert.INSTANCE.convert02(addressService.getAddress(userId, id)); - } - - @Override - public AddressRespDTO getDefaultAddress(Long userId) { - return AddressConvert.INSTANCE.convert02(addressService.getDefaultUserAddress(userId)); - } - -} diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/address/MemberAddressApiImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/address/MemberAddressApiImpl.java new file mode 100644 index 000000000..0301e7256 --- /dev/null +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/address/MemberAddressApiImpl.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.member.api.address; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.member.api.address.dto.MemberAddressRespDTO; +import cn.iocoder.yudao.module.member.convert.address.AddressConvert; +import cn.iocoder.yudao.module.member.service.address.AddressService; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +/** + * 用户收件地址 API 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class MemberAddressApiImpl implements MemberAddressApi { + + @Resource + private AddressService addressService; + + @Override + public CommonResult getAddress(Long id, Long userId) { + return success(AddressConvert.INSTANCE.convert02(addressService.getAddress(userId, id))); + } + + @Override + public CommonResult getDefaultAddress(Long userId) { + return success(AddressConvert.INSTANCE.convert02(addressService.getDefaultUserAddress(userId))); + } + +} diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/config/MemberConfigApiImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/config/MemberConfigApiImpl.java index 510f4fff7..d01f868d5 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/config/MemberConfigApiImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/config/MemberConfigApiImpl.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.member.api.config; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.member.api.config.dto.MemberConfigRespDTO; import cn.iocoder.yudao.module.member.convert.config.MemberConfigConvert; import cn.iocoder.yudao.module.member.service.config.MemberConfigService; @@ -8,6 +9,8 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + /** * 用户配置 API 实现类 * @@ -21,8 +24,8 @@ public class MemberConfigApiImpl implements MemberConfigApi { private MemberConfigService memberConfigService; @Override - public MemberConfigRespDTO getConfig() { - return MemberConfigConvert.INSTANCE.convert01(memberConfigService.getConfig()); + public CommonResult getConfig() { + return success(MemberConfigConvert.INSTANCE.convert01(memberConfigService.getConfig())); } } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/level/MemberLevelApiImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/level/MemberLevelApiImpl.java index 79fed98eb..974c8ba04 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/level/MemberLevelApiImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/level/MemberLevelApiImpl.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.member.api.level; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.member.api.level.dto.MemberLevelRespDTO; import cn.iocoder.yudao.module.member.convert.level.MemberLevelConvert; import cn.iocoder.yudao.module.member.enums.MemberExperienceBizTypeEnum; @@ -10,6 +11,7 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.EXPERIENCE_BIZ_NOT_SUPPORT; /** @@ -25,22 +27,23 @@ public class MemberLevelApiImpl implements MemberLevelApi { private MemberLevelService memberLevelService; @Override - public MemberLevelRespDTO getMemberLevel(Long id) { - return MemberLevelConvert.INSTANCE.convert02(memberLevelService.getLevel(id)); + public CommonResult getMemberLevel(Long id) { + return success(MemberLevelConvert.INSTANCE.convert02(memberLevelService.getLevel(id))); } @Override - public void addExperience(Long userId, Integer experience, Integer bizType, String bizId) { + public CommonResult addExperience(Long userId, Integer experience, Integer bizType, String bizId) { MemberExperienceBizTypeEnum bizTypeEnum = MemberExperienceBizTypeEnum.getByType(bizType); if (bizTypeEnum == null) { throw exception(EXPERIENCE_BIZ_NOT_SUPPORT); } memberLevelService.addExperience(userId, experience, bizTypeEnum, bizId); + return success(true); } @Override - public void reduceExperience(Long userId, Integer experience, Integer bizType, String bizId) { - addExperience(userId, -experience, bizType, bizId); + public CommonResult reduceExperience(Long userId, Integer experience, Integer bizType, String bizId) { + return addExperience(userId, -experience, bizType, bizId); } } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/point/MemberPointApiImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/point/MemberPointApiImpl.java index 6e21e8546..42cc0c94f 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/point/MemberPointApiImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/point/MemberPointApiImpl.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.member.api.point; import cn.hutool.core.lang.Assert; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.member.enums.point.MemberPointBizTypeEnum; import cn.iocoder.yudao.module.member.service.point.MemberPointRecordService; import org.springframework.stereotype.Service; @@ -9,6 +10,7 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.POINT_RECORD_BIZ_NOT_SUPPORT; /** @@ -24,23 +26,25 @@ public class MemberPointApiImpl implements MemberPointApi { private MemberPointRecordService memberPointRecordService; @Override - public void addPoint(Long userId, Integer point, Integer bizType, String bizId) { + public CommonResult addPoint(Long userId, Integer point, Integer bizType, String bizId) { Assert.isTrue(point > 0); MemberPointBizTypeEnum bizTypeEnum = MemberPointBizTypeEnum.getByType(bizType); if (bizTypeEnum == null) { throw exception(POINT_RECORD_BIZ_NOT_SUPPORT); } memberPointRecordService.createPointRecord(userId, point, bizTypeEnum, bizId); + return success(true); } @Override - public void reducePoint(Long userId, Integer point, Integer bizType, String bizId) { + public CommonResult reducePoint(Long userId, Integer point, Integer bizType, String bizId) { Assert.isTrue(point > 0); MemberPointBizTypeEnum bizTypeEnum = MemberPointBizTypeEnum.getByType(bizType); if (bizTypeEnum == null) { throw exception(POINT_RECORD_BIZ_NOT_SUPPORT); } memberPointRecordService.createPointRecord(userId, -point, bizTypeEnum, bizId); + return success(true); } } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/user/MemberUserApiImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/user/MemberUserApiImpl.java index 8da857c6d..648a02f2a 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/user/MemberUserApiImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/user/MemberUserApiImpl.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.member.api.user; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert; import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; @@ -11,6 +12,8 @@ import javax.annotation.Resource; import java.util.Collection; import java.util.List; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + /** * 会员用户的 API 实现类 * @@ -24,24 +27,24 @@ public class MemberUserApiImpl implements MemberUserApi { private MemberUserService userService; @Override - public MemberUserRespDTO getUser(Long id) { + public CommonResult getUser(Long id) { MemberUserDO user = userService.getUser(id); - return MemberUserConvert.INSTANCE.convert2(user); + return success(MemberUserConvert.INSTANCE.convert2(user)); } @Override - public List getUserList(Collection ids) { - return MemberUserConvert.INSTANCE.convertList2(userService.getUserList(ids)); + public CommonResult> getUserList(Collection ids) { + return success(MemberUserConvert.INSTANCE.convertList2(userService.getUserList(ids))); } @Override - public List getUserListByNickname(String nickname) { - return MemberUserConvert.INSTANCE.convertList2(userService.getUserListByNickname(nickname)); + public CommonResult> getUserListByNickname(String nickname) { + return success(MemberUserConvert.INSTANCE.convertList2(userService.getUserListByNickname(nickname))); } @Override - public MemberUserRespDTO getUserByMobile(String mobile) { - return MemberUserConvert.INSTANCE.convert2(userService.getUserByMobile(mobile)); + public CommonResult getUserByMobile(String mobile) { + return success(MemberUserConvert.INSTANCE.convert2(userService.getUserByMobile(mobile))); } } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/MemberPointRecordController.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/MemberPointRecordController.java index 4d6ec352b..48972244d 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/MemberPointRecordController.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/MemberPointRecordController.java @@ -2,13 +2,13 @@ package cn.iocoder.yudao.module.member.controller.admin.point; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.member.api.user.MemberUserApi; -import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO; import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordRespVO; import cn.iocoder.yudao.module.member.convert.point.MemberPointRecordConvert; import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO; +import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; import cn.iocoder.yudao.module.member.service.point.MemberPointRecordService; +import cn.iocoder.yudao.module.member.service.user.MemberUserService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.security.access.prepost.PreAuthorize; @@ -35,7 +35,7 @@ public class MemberPointRecordController { private MemberPointRecordService pointRecordService; @Resource - private MemberUserApi memberUserApi; + private MemberUserService memberUserService; @GetMapping("/page") @Operation(summary = "获得用户积分记录分页") @@ -48,7 +48,7 @@ public class MemberPointRecordController { } // 拼接结果返回 - List users = memberUserApi.getUserList( + List users = memberUserService.getUserList( convertSet(pageResult.getList(), MemberPointRecordDO::getUserId)); return success(MemberPointRecordConvert.INSTANCE.convertPage(pageResult, users)); } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/MemberSignInRecordController.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/MemberSignInRecordController.java index 83b8f9b3f..8bf179650 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/MemberSignInRecordController.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/MemberSignInRecordController.java @@ -2,13 +2,13 @@ package cn.iocoder.yudao.module.member.controller.admin.signin; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.member.api.user.MemberUserApi; -import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; import cn.iocoder.yudao.module.member.controller.admin.signin.vo.record.MemberSignInRecordPageReqVO; import cn.iocoder.yudao.module.member.controller.admin.signin.vo.record.MemberSignInRecordRespVO; import cn.iocoder.yudao.module.member.convert.signin.MemberSignInRecordConvert; import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInRecordDO; +import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; import cn.iocoder.yudao.module.member.service.signin.MemberSignInRecordService; +import cn.iocoder.yudao.module.member.service.user.MemberUserService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.security.access.prepost.PreAuthorize; @@ -35,7 +35,7 @@ public class MemberSignInRecordController { private MemberSignInRecordService signInRecordService; @Resource - private MemberUserApi memberUserApi; + private MemberUserService memberUserService; @GetMapping("/page") @Operation(summary = "获得签到记录分页") @@ -48,7 +48,7 @@ public class MemberSignInRecordController { } // 拼接结果返回 - List users = memberUserApi.getUserList( + List users = memberUserService.getUserList( convertSet(pageResult.getList(), MemberSignInRecordDO::getUserId)); return success(MemberSignInRecordConvert.INSTANCE.convertPage(pageResult, users)); } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/address/AddressConvert.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/address/AddressConvert.java index fd5198e14..39dc9fa98 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/address/AddressConvert.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/address/AddressConvert.java @@ -1,7 +1,7 @@ package cn.iocoder.yudao.module.member.convert.address; import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils; -import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO; +import cn.iocoder.yudao.module.member.api.address.dto.MemberAddressRespDTO; import cn.iocoder.yudao.module.member.controller.admin.address.vo.AddressRespVO; import cn.iocoder.yudao.module.member.controller.app.address.vo.AppAddressCreateReqVO; import cn.iocoder.yudao.module.member.controller.app.address.vo.AppAddressRespVO; @@ -33,7 +33,7 @@ public interface AddressConvert { List convertList(List list); - AddressRespDTO convert02(MemberAddressDO bean); + MemberAddressRespDTO convert02(MemberAddressDO bean); @Named("convertAreaIdToAreaName") default String convertAreaIdToAreaName(Integer areaId) { diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/point/MemberPointRecordConvert.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/point/MemberPointRecordConvert.java index 1d2c146d2..018670c51 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/point/MemberPointRecordConvert.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/point/MemberPointRecordConvert.java @@ -2,10 +2,10 @@ package cn.iocoder.yudao.module.member.convert.point; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.collection.MapUtils; -import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordRespVO; import cn.iocoder.yudao.module.member.controller.app.point.vo.AppMemberPointRecordRespVO; import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO; +import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -24,10 +24,10 @@ public interface MemberPointRecordConvert { MemberPointRecordConvert INSTANCE = Mappers.getMapper(MemberPointRecordConvert.class); - default PageResult convertPage(PageResult pageResult, List users) { + default PageResult convertPage(PageResult pageResult, List users) { PageResult voPageResult = convertPage(pageResult); // user 拼接 - Map userMap = convertMap(users, MemberUserRespDTO::getId); + Map userMap = convertMap(users, MemberUserDO::getId); voPageResult.getList().forEach(record -> MapUtils.findAndThen(userMap, record.getUserId(), memberUserRespDTO -> record.setNickname(memberUserRespDTO.getNickname()))); return voPageResult; diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/signin/MemberSignInRecordConvert.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/signin/MemberSignInRecordConvert.java index 0526ed64a..5a3076ef6 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/signin/MemberSignInRecordConvert.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/signin/MemberSignInRecordConvert.java @@ -4,11 +4,11 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.collection.MapUtils; -import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; import cn.iocoder.yudao.module.member.controller.admin.signin.vo.record.MemberSignInRecordRespVO; import cn.iocoder.yudao.module.member.controller.app.signin.vo.record.AppMemberSignInRecordRespVO; import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInConfigDO; import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInRecordDO; +import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -29,10 +29,10 @@ public interface MemberSignInRecordConvert { MemberSignInRecordConvert INSTANCE = Mappers.getMapper(MemberSignInRecordConvert.class); - default PageResult convertPage(PageResult pageResult, List users) { + default PageResult convertPage(PageResult pageResult, List users) { PageResult voPageResult = convertPage(pageResult); // user 拼接 - Map userMap = convertMap(users, MemberUserRespDTO::getId); + Map userMap = convertMap(users, MemberUserDO::getId); voPageResult.getList().forEach(record -> MapUtils.findAndThen(userMap, record.getUserId(), memberUserRespDTO -> record.setNickname(memberUserRespDTO.getNickname()))); return voPageResult; diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/signin/MemberSignInRecordServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/signin/MemberSignInRecordServiceImpl.java index be9b420e9..996fda53e 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/signin/MemberSignInRecordServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/signin/MemberSignInRecordServiceImpl.java @@ -7,18 +7,18 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.date.DateUtils; import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; -import cn.iocoder.yudao.module.member.api.user.MemberUserApi; -import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; import cn.iocoder.yudao.module.member.controller.admin.signin.vo.record.MemberSignInRecordPageReqVO; import cn.iocoder.yudao.module.member.controller.app.signin.vo.record.AppMemberSignInRecordSummaryRespVO; import cn.iocoder.yudao.module.member.convert.signin.MemberSignInRecordConvert; import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInConfigDO; import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInRecordDO; +import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; import cn.iocoder.yudao.module.member.dal.mysql.signin.MemberSignInRecordMapper; import cn.iocoder.yudao.module.member.enums.MemberExperienceBizTypeEnum; import cn.iocoder.yudao.module.member.enums.point.MemberPointBizTypeEnum; import cn.iocoder.yudao.module.member.service.level.MemberLevelService; import cn.iocoder.yudao.module.member.service.point.MemberPointRecordService; +import cn.iocoder.yudao.module.member.service.user.MemberUserService; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -53,7 +53,7 @@ public class MemberSignInRecordServiceImpl implements MemberSignInRecordService private MemberLevelService memberLevelService; @Resource - private MemberUserApi memberUserApi; + private MemberUserService memberUserService; @Override public AppMemberSignInRecordSummaryRespVO getSignInRecordSummary(Long userId) { @@ -124,12 +124,12 @@ public class MemberSignInRecordServiceImpl implements MemberSignInRecordService // 根据用户昵称查询出用户ids Set userIds = null; if (StringUtils.isNotBlank(pageReqVO.getNickname())) { - List users = memberUserApi.getUserListByNickname(pageReqVO.getNickname()); + List users = memberUserService.getUserListByNickname(pageReqVO.getNickname()); // 如果查询用户结果为空直接返回无需继续查询 if (CollUtil.isEmpty(users)) { return PageResult.empty(); } - userIds = convertSet(users, MemberUserRespDTO::getId); + userIds = convertSet(users, MemberUserDO::getId); } // 分页查询 return signInRecordMapper.selectPage(pageReqVO, userIds);