Commit bae94d06aced7b75366d977463a88aa237d79625
1 parent
33323c14
会员积分针对代码格式、功能优化
1.优化todo建议 2.删除无用代码
Showing
20 changed files
with
146 additions
and
169 deletions
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/MemberPointRecordController.java
| ... | ... | @@ -2,22 +2,28 @@ package cn.iocoder.yudao.module.member.controller.admin.point; |
| 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.member.api.user.MemberUserApi; | |
| 6 | +import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; | |
| 5 | 7 | import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO; |
| 6 | 8 | import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordRespVO; |
| 7 | -import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordUpdateReqVO; | |
| 8 | 9 | import cn.iocoder.yudao.module.member.convert.point.MemberPointRecordConvert; |
| 9 | 10 | import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO; |
| 11 | +import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInRecordDO; | |
| 10 | 12 | import cn.iocoder.yudao.module.member.service.point.MemberPointRecordService; |
| 11 | 13 | import io.swagger.v3.oas.annotations.Operation; |
| 12 | -import io.swagger.v3.oas.annotations.Parameter; | |
| 13 | 14 | import io.swagger.v3.oas.annotations.tags.Tag; |
| 15 | +import org.apache.commons.lang3.StringUtils; | |
| 14 | 16 | import org.springframework.security.access.prepost.PreAuthorize; |
| 17 | +import org.springframework.util.CollectionUtils; | |
| 15 | 18 | import org.springframework.validation.annotation.Validated; |
| 16 | 19 | import org.springframework.web.bind.annotation.*; |
| 17 | 20 | |
| 18 | 21 | import javax.annotation.Resource; |
| 19 | 22 | import javax.validation.Valid; |
| 20 | 23 | |
| 24 | +import java.util.List; | |
| 25 | +import java.util.stream.Collectors; | |
| 26 | + | |
| 21 | 27 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
| 22 | 28 | |
| 23 | 29 | @Tag(name = "管理后台 - 用户积分记录") |
| ... | ... | @@ -28,31 +34,34 @@ public class MemberPointRecordController { |
| 28 | 34 | |
| 29 | 35 | @Resource |
| 30 | 36 | private MemberPointRecordService recordService; |
| 31 | - | |
| 32 | - // TODO @xiaqing:积分应该没有更新操作呀?可以删除哈; | |
| 33 | - @PutMapping("/update") | |
| 34 | - @Operation(summary = "更新用户积分记录") | |
| 35 | - @PreAuthorize("@ss.hasPermission('point:record:update')") | |
| 36 | - public CommonResult<Boolean> updateRecord(@Valid @RequestBody MemberPointRecordUpdateReqVO updateReqVO) { | |
| 37 | - recordService.updateRecord(updateReqVO); | |
| 38 | - return success(true); | |
| 39 | - } | |
| 40 | - | |
| 41 | - @GetMapping("/get") | |
| 42 | - @Operation(summary = "获得用户积分记录") | |
| 43 | - @Parameter(name = "id", description = "编号", required = true, example = "1024") | |
| 44 | - @PreAuthorize("@ss.hasPermission('point:record:query')") | |
| 45 | - public CommonResult<MemberPointRecordRespVO> getRecord(@RequestParam("id") Long id) { | |
| 46 | - MemberPointRecordDO record = recordService.getRecord(id); | |
| 47 | - return success(MemberPointRecordConvert.INSTANCE.convert(record)); | |
| 48 | - } | |
| 37 | + @Resource | |
| 38 | + MemberUserApi memberUserApi; | |
| 49 | 39 | |
| 50 | 40 | @GetMapping("/page") |
| 51 | 41 | @Operation(summary = "获得用户积分记录分页") |
| 52 | 42 | @PreAuthorize("@ss.hasPermission('point:record:query')") |
| 53 | - public CommonResult<PageResult<MemberPointRecordRespVO>> getRecordPage(@Valid MemberPointRecordPageReqVO pageVO) { | |
| 54 | - PageResult<MemberPointRecordDO> pageResult = recordService.getRecordPage(pageVO); | |
| 55 | - return success(MemberPointRecordConvert.INSTANCE.convertPage(pageResult)); | |
| 43 | + public CommonResult <PageResult <MemberPointRecordRespVO>> getRecordPage(@Valid MemberPointRecordPageReqVO pageVO) { | |
| 44 | + //根据用户昵称查询出用户ids | |
| 45 | + List <Long> userIds = null; | |
| 46 | + if (StringUtils.isNotBlank(pageVO.getNickName())) { | |
| 47 | + List <MemberUserRespDTO> users = memberUserApi.getUserListByNickname(pageVO.getNickName()); | |
| 48 | + //如果查询用户结果为空直接返回无需继续查询 | |
| 49 | + if (CollectionUtils.isEmpty(users)) { | |
| 50 | + return success(new PageResult <>()); | |
| 51 | + } | |
| 52 | + userIds=users.stream().map(user->user.getId()).collect(Collectors.toList()); | |
| 53 | + pageVO.setUserIds(userIds); | |
| 54 | + } | |
| 55 | + | |
| 56 | + PageResult <MemberPointRecordDO> pageResult = recordService.getRecordPage(pageVO); | |
| 57 | + //根据查询的userId转换成nickName | |
| 58 | + List <MemberPointRecordDO> result = pageResult.getList(); | |
| 59 | + List <MemberUserRespDTO> users = null; | |
| 60 | + if (!CollectionUtils.isEmpty(result)) { | |
| 61 | + List <Long> ids = result.stream().map(user -> user.getUserId()).collect(Collectors.toList()); | |
| 62 | + users = memberUserApi.getUsers(ids); | |
| 63 | + } | |
| 64 | + return success(MemberPointRecordConvert.INSTANCE.convertPage(pageResult,users)); | |
| 56 | 65 | } |
| 57 | 66 | |
| 58 | 67 | } | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/config/MemberPointConfigBaseVO.java
| ... | ... | @@ -17,7 +17,7 @@ public class MemberPointConfigBaseVO { |
| 17 | 17 | @Schema(description = "积分抵扣开关", required = true, example = "true") |
| 18 | 18 | private Boolean tradeDeductEnable; |
| 19 | 19 | |
| 20 | - @Schema(description = "积分抵扣,单位:分", example = "13506") | |
| 20 | + @Schema(description = "积分抵扣,单位:元", example = "13506") | |
| 21 | 21 | private BigDecimal tradeDeductUnitPrice; |
| 22 | 22 | |
| 23 | 23 | @Schema(description = "积分抵扣最大值", example = "32428") | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/recrod/MemberPointRecordBaseVO.java
| ... | ... | @@ -24,10 +24,6 @@ public class MemberPointRecordBaseVO { |
| 24 | 24 | @NotNull(message = "业务类型不能为空") |
| 25 | 25 | private String bizType; |
| 26 | 26 | |
| 27 | - @Schema(description = "1增加 0扣减", example = "1") | |
| 28 | - @NotNull(message = "操作类型不能为空") | |
| 29 | - private String type; | |
| 30 | - | |
| 31 | 27 | @Schema(description = "积分标题") |
| 32 | 28 | @NotNull(message = "积分标题不能为空") |
| 33 | 29 | private String title; |
| ... | ... | @@ -47,10 +43,6 @@ public class MemberPointRecordBaseVO { |
| 47 | 43 | @NotNull(message = "积分状态不能为空") |
| 48 | 44 | private Integer status; |
| 49 | 45 | |
| 50 | - @Schema(description = "用户id", example = "31169") | |
| 51 | - @NotNull(message = "用户ID不能为空") | |
| 52 | - private Integer userId; | |
| 53 | - | |
| 54 | 46 | @Schema(description = "冻结时间") |
| 55 | 47 | @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
| 56 | 48 | @NotNull(message = "冻结时间不能为空") | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/recrod/MemberPointRecordCreateReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod; | |
| 2 | - | |
| 3 | -import lombok.*; | |
| 4 | -import io.swagger.v3.oas.annotations.media.Schema; | |
| 5 | - | |
| 6 | -@Schema(description = "管理后台 - 用户积分记录创建 Request VO") | |
| 7 | -@Data | |
| 8 | -@EqualsAndHashCode(callSuper = true) | |
| 9 | -@ToString(callSuper = true) | |
| 10 | -public class MemberPointRecordCreateReqVO extends MemberPointRecordBaseVO { | |
| 11 | - | |
| 12 | -} |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/recrod/MemberPointRecordExportReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod; | |
| 2 | - | |
| 3 | -import lombok.*; | |
| 4 | -import io.swagger.v3.oas.annotations.media.Schema; | |
| 5 | - | |
| 6 | -@Schema(description = "管理后台 - 用户积分记录 Excel 导出 Request VO,参数和 PointRecordPageReqVO 是一致的") | |
| 7 | -@Data | |
| 8 | -public class MemberPointRecordExportReqVO { | |
| 9 | - | |
| 10 | - @Schema(description = "业务编码", example = "22706") | |
| 11 | - private String bizId; | |
| 12 | - | |
| 13 | - @Schema(description = "业务类型", example = "1") | |
| 14 | - private String bizType; | |
| 15 | - | |
| 16 | - @Schema(description = "1增加 0扣减", example = "1") | |
| 17 | - private String type; | |
| 18 | - | |
| 19 | - @Schema(description = "积分标题") | |
| 20 | - private String title; | |
| 21 | - | |
| 22 | - @Schema(description = "状态:1-订单创建,2-冻结期,3-完成,4-失效(订单退款) ", example = "1") | |
| 23 | - private Integer status; | |
| 24 | - | |
| 25 | -} |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/recrod/MemberPointRecordPageReqVO.java
| ... | ... | @@ -4,25 +4,28 @@ import lombok.*; |
| 4 | 4 | import io.swagger.v3.oas.annotations.media.Schema; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.pojo.PageParam; |
| 6 | 6 | |
| 7 | +import java.util.List; | |
| 8 | + | |
| 7 | 9 | @Schema(description = "管理后台 - 用户积分记录分页 Request VO") |
| 8 | 10 | @Data |
| 9 | 11 | @EqualsAndHashCode(callSuper = true) |
| 10 | 12 | @ToString(callSuper = true) |
| 11 | 13 | public class MemberPointRecordPageReqVO extends PageParam { |
| 12 | 14 | |
| 13 | - @Schema(description = "业务编码", example = "22706") | |
| 14 | - private String bizId; | |
| 15 | + @Schema(description = "用户昵称", example = "张三") | |
| 16 | + private String nickName; | |
| 17 | + | |
| 18 | + //用户id集合,用户将nickName查询转换成user_ids查询 | |
| 19 | + private List<Long> userIds; | |
| 15 | 20 | |
| 16 | 21 | @Schema(description = "业务类型", example = "1") |
| 17 | 22 | private String bizType; |
| 18 | 23 | |
| 19 | - @Schema(description = "1增加 0扣减", example = "1") | |
| 20 | - private String type; | |
| 21 | - | |
| 22 | 24 | @Schema(description = "积分标题") |
| 23 | 25 | private String title; |
| 24 | 26 | |
| 25 | 27 | @Schema(description = "状态:1-订单创建,2-冻结期,3-完成,4-失效(订单退款) ", example = "1") |
| 26 | 28 | private Integer status; |
| 27 | 29 | |
| 30 | + | |
| 28 | 31 | } | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/recrod/MemberPointRecordRespVO.java
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/recrod/MemberPointRecordUpdateReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod; | |
| 2 | - | |
| 3 | -import io.swagger.v3.oas.annotations.media.Schema; | |
| 4 | -import lombok.*; | |
| 5 | - | |
| 6 | -import javax.validation.constraints.*; | |
| 7 | - | |
| 8 | -@Schema(description = "管理后台 - 用户积分记录更新 Request VO") | |
| 9 | -@Data | |
| 10 | -@EqualsAndHashCode(callSuper = true) | |
| 11 | -@ToString(callSuper = true) | |
| 12 | -public class MemberPointRecordUpdateReqVO extends MemberPointRecordBaseVO { | |
| 13 | - | |
| 14 | - @Schema(description = "自增主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "31457") | |
| 15 | - @NotNull(message = "自增主键不能为空") | |
| 16 | - private Long id; | |
| 17 | - | |
| 18 | -} |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/MemberSignInRecordController.java
| ... | ... | @@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.member.controller.admin.signin; |
| 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.member.api.user.MemberUserApi; | |
| 6 | +import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; | |
| 5 | 7 | import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInRecordPageReqVO; |
| 6 | 8 | import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInRecordRespVO; |
| 7 | 9 | import cn.iocoder.yudao.module.member.convert.signin.MemberSignInRecordConvert; |
| ... | ... | @@ -12,6 +14,7 @@ import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; |
| 12 | 14 | import io.swagger.v3.oas.annotations.Operation; |
| 13 | 15 | import io.swagger.v3.oas.annotations.Parameter; |
| 14 | 16 | import io.swagger.v3.oas.annotations.tags.Tag; |
| 17 | +import org.apache.commons.lang3.StringUtils; | |
| 15 | 18 | import org.springframework.security.access.prepost.PreAuthorize; |
| 16 | 19 | import org.springframework.util.CollectionUtils; |
| 17 | 20 | import org.springframework.validation.annotation.Validated; |
| ... | ... | @@ -34,20 +37,31 @@ public class MemberSignInRecordController { |
| 34 | 37 | @Resource |
| 35 | 38 | private MemberSignInRecordService memberSignInRecordService; |
| 36 | 39 | @Resource |
| 37 | - AdminUserApi adminUserApi; | |
| 40 | + MemberUserApi memberUserApi; | |
| 38 | 41 | |
| 39 | 42 | |
| 40 | 43 | @GetMapping("/page") |
| 41 | 44 | @Operation(summary = "获得用户签到积分分页") |
| 42 | 45 | @PreAuthorize("@ss.hasPermission('point:sign-in-record:query')") |
| 43 | 46 | public CommonResult <PageResult <MemberSignInRecordRespVO>> getSignInRecordPage(@Valid MemberSignInRecordPageReqVO pageVO) { |
| 47 | + //请求中如果有nickName,需要根据nickName查询出userId | |
| 48 | + if(StringUtils.isNotBlank(pageVO.getNickName())){ | |
| 49 | + List<Long> users= memberUserApi.getUserListByNickname(pageVO.getNickName()).stream() | |
| 50 | + .map(user->user.getId()).collect(Collectors.toList()); | |
| 51 | + //如果根据昵称查出来的用户为空,则无需继续查找 | |
| 52 | + if(CollectionUtils.isEmpty(users)){ | |
| 53 | + return success(new PageResult <>()); | |
| 54 | + } | |
| 55 | + pageVO.setUserIds(users); | |
| 56 | + } | |
| 57 | + //处理查询结果首先将数据信息查询,然后将userId转换为nickName | |
| 44 | 58 | PageResult <MemberSignInRecordDO> pageResult = memberSignInRecordService.getSignInRecordPage(pageVO); |
| 45 | 59 | List <MemberSignInRecordDO> result = pageResult.getList(); |
| 46 | 60 | //设置获取的用户信息 |
| 47 | - List <AdminUserRespDTO> users = null; | |
| 61 | + List <MemberUserRespDTO> users = null; | |
| 48 | 62 | if (!CollectionUtils.isEmpty(result)) { |
| 49 | 63 | List <Long> ids = result.stream().map(user -> user.getUserId()).collect(Collectors.toList()); |
| 50 | - users = adminUserApi.getUserList(ids); | |
| 64 | + users = memberUserApi.getUsers(ids); | |
| 51 | 65 | } |
| 52 | 66 | return success(MemberSignInRecordConvert.INSTANCE.convertPage(pageResult, users)); |
| 53 | 67 | } | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/vo/MemberSignInRecordPageReqVO.java
| ... | ... | @@ -8,6 +8,7 @@ import lombok.ToString; |
| 8 | 8 | import org.springframework.format.annotation.DateTimeFormat; |
| 9 | 9 | |
| 10 | 10 | import java.time.LocalDateTime; |
| 11 | +import java.util.List; | |
| 11 | 12 | |
| 12 | 13 | import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
| 13 | 14 | |
| ... | ... | @@ -17,8 +18,11 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ |
| 17 | 18 | @ToString(callSuper = true) |
| 18 | 19 | public class MemberSignInRecordPageReqVO extends PageParam { |
| 19 | 20 | |
| 21 | + //用户前台模糊查询 | |
| 20 | 22 | @Schema(description = "签到用户", example = "6507") |
| 21 | - private Long userId; | |
| 23 | + private String nickName; | |
| 24 | + | |
| 25 | + private List<Long>userIds; | |
| 22 | 26 | |
| 23 | 27 | @Schema(description = "第几天签到") |
| 24 | 28 | private Integer day; | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/point/MemberPointConfigConvert.java
| ... | ... | @@ -2,9 +2,7 @@ package cn.iocoder.yudao.module.member.convert.point; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigRespVO; |
| 4 | 4 | import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigSaveReqVO; |
| 5 | -import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordUpdateReqVO; | |
| 6 | 5 | import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO; |
| 7 | -import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO; | |
| 8 | 6 | import org.mapstruct.Mapper; |
| 9 | 7 | import org.mapstruct.factory.Mappers; |
| 10 | 8 | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/point/MemberPointRecordConvert.java
| 1 | 1 | package cn.iocoder.yudao.module.member.convert.point; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | -import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordCreateReqVO; | |
| 4 | +import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; | |
| 5 | 5 | import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordRespVO; |
| 6 | -import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordUpdateReqVO; | |
| 7 | 6 | import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO; |
| 8 | 7 | import org.mapstruct.Mapper; |
| 9 | 8 | import org.mapstruct.factory.Mappers; |
| 9 | +import org.springframework.util.CollectionUtils; | |
| 10 | + | |
| 11 | +import java.util.ArrayList; | |
| 12 | +import java.util.List; | |
| 13 | +import java.util.Map; | |
| 14 | +import java.util.stream.Collectors; | |
| 10 | 15 | |
| 11 | 16 | /** |
| 12 | 17 | * 用户积分记录 Convert |
| ... | ... | @@ -18,12 +23,62 @@ public interface MemberPointRecordConvert { |
| 18 | 23 | |
| 19 | 24 | MemberPointRecordConvert INSTANCE = Mappers.getMapper(MemberPointRecordConvert.class); |
| 20 | 25 | |
| 21 | - MemberPointRecordDO convert(MemberPointRecordCreateReqVO bean); | |
| 26 | + default PageResult <MemberPointRecordRespVO> convertPage(PageResult <MemberPointRecordDO> page, List <MemberUserRespDTO> users) { | |
| 27 | + if (page == null) { | |
| 28 | + return null; | |
| 29 | + } | |
| 30 | + | |
| 31 | + PageResult <MemberPointRecordRespVO> pageResult = new PageResult <MemberPointRecordRespVO>(); | |
| 32 | + | |
| 33 | + pageResult.setList(memberPointRecordDOListToMemberPointRecordRespVOList(page.getList(), users)); | |
| 34 | + pageResult.setTotal(page.getTotal()); | |
| 35 | + | |
| 36 | + return pageResult; | |
| 37 | + } | |
| 38 | + | |
| 39 | + default List <MemberPointRecordRespVO> memberPointRecordDOListToMemberPointRecordRespVOList(List <MemberPointRecordDO> list, List <MemberUserRespDTO> users) { | |
| 40 | + if (list == null) { | |
| 41 | + return null; | |
| 42 | + } | |
| 43 | + Map <Long, String> maps = null; | |
| 44 | + //是否需要转换用户标志 | |
| 45 | + boolean userNickFlag = !CollectionUtils.isEmpty(users); | |
| 46 | + if (userNickFlag) { | |
| 47 | + maps = users.stream() | |
| 48 | + .collect(Collectors.toMap(MemberUserRespDTO::getId, MemberUserRespDTO::getNickname, (key1, key2) -> key2)); | |
| 49 | + } | |
| 50 | + List <MemberPointRecordRespVO> list1 = new ArrayList <MemberPointRecordRespVO>(list.size()); | |
| 51 | + for (MemberPointRecordDO memberPointRecordDO : list) { | |
| 52 | + MemberPointRecordRespVO recordRespVO = memberPointRecordDOToMemberPointRecordRespVO(memberPointRecordDO); | |
| 53 | + recordRespVO.setNickName(maps.get(memberPointRecordDO.getUserId())); | |
| 54 | + list1.add(recordRespVO); | |
| 55 | + } | |
| 56 | + | |
| 57 | + return list1; | |
| 58 | + } | |
| 59 | + | |
| 60 | + default MemberPointRecordRespVO memberPointRecordDOToMemberPointRecordRespVO(MemberPointRecordDO memberPointRecordDO) { | |
| 61 | + if (memberPointRecordDO == null) { | |
| 62 | + return null; | |
| 63 | + } | |
| 64 | + | |
| 65 | + MemberPointRecordRespVO memberPointRecordRespVO = new MemberPointRecordRespVO(); | |
| 22 | 66 | |
| 23 | - MemberPointRecordDO convert(MemberPointRecordUpdateReqVO bean); | |
| 67 | + memberPointRecordRespVO.setBizId(memberPointRecordDO.getBizId()); | |
| 68 | + memberPointRecordRespVO.setBizType(memberPointRecordDO.getBizType()); | |
| 69 | + memberPointRecordRespVO.setType(memberPointRecordDO.getType()); | |
| 70 | + memberPointRecordRespVO.setTitle(memberPointRecordDO.getTitle()); | |
| 71 | + memberPointRecordRespVO.setDescription(memberPointRecordDO.getDescription()); | |
| 72 | + memberPointRecordRespVO.setPoint(memberPointRecordDO.getPoint()); | |
| 73 | + memberPointRecordRespVO.setTotalPoint(memberPointRecordDO.getTotalPoint()); | |
| 74 | + memberPointRecordRespVO.setStatus(memberPointRecordDO.getStatus()); | |
| 75 | + memberPointRecordRespVO.setFreezingTime(memberPointRecordDO.getFreezingTime()); | |
| 76 | + memberPointRecordRespVO.setThawingTime(memberPointRecordDO.getThawingTime()); | |
| 77 | + memberPointRecordRespVO.setId(memberPointRecordDO.getId()); | |
| 78 | + memberPointRecordRespVO.setCreateTime(memberPointRecordDO.getCreateTime()); | |
| 24 | 79 | |
| 25 | - MemberPointRecordRespVO convert(MemberPointRecordDO bean); | |
| 80 | + return memberPointRecordRespVO; | |
| 81 | + } | |
| 26 | 82 | |
| 27 | - PageResult<MemberPointRecordRespVO> convertPage(PageResult<MemberPointRecordDO> page); | |
| 28 | 83 | |
| 29 | 84 | } | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/signin/MemberSignInRecordConvert.java
| 1 | 1 | package cn.iocoder.yudao.module.member.convert.signin; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | +import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; | |
| 4 | 5 | import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInRecordRespVO; |
| 5 | 6 | import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInRecordDO; |
| 6 | 7 | import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; |
| ... | ... | @@ -40,7 +41,7 @@ public interface MemberSignInRecordConvert { |
| 40 | 41 | return memberSignInRecordRespVO; |
| 41 | 42 | } |
| 42 | 43 | |
| 43 | - default PageResult <MemberSignInRecordRespVO> convertPage(PageResult <MemberSignInRecordDO> page, List<AdminUserRespDTO> userRespDTOS) { | |
| 44 | + default PageResult <MemberSignInRecordRespVO> convertPage(PageResult <MemberSignInRecordDO> page, List <MemberUserRespDTO> userRespDTOS) { | |
| 44 | 45 | if (page == null) { |
| 45 | 46 | return null; |
| 46 | 47 | } |
| ... | ... | @@ -53,7 +54,7 @@ public interface MemberSignInRecordConvert { |
| 53 | 54 | return pageResult; |
| 54 | 55 | } |
| 55 | 56 | |
| 56 | - default List <MemberSignInRecordRespVO> memberSignInRecordDOListToMemberSignInRecordRespVOList(List <MemberSignInRecordDO> list,List<AdminUserRespDTO> userRespDTOS) { | |
| 57 | + default List <MemberSignInRecordRespVO> memberSignInRecordDOListToMemberSignInRecordRespVOList(List <MemberSignInRecordDO> list,List <MemberUserRespDTO> userRespDTOS) { | |
| 57 | 58 | if (list == null) { |
| 58 | 59 | return null; |
| 59 | 60 | } |
| ... | ... | @@ -62,7 +63,7 @@ public interface MemberSignInRecordConvert { |
| 62 | 63 | boolean userNickFlag = !CollectionUtils.isEmpty(userRespDTOS); |
| 63 | 64 | if(userNickFlag){ |
| 64 | 65 | maps = userRespDTOS.stream() |
| 65 | - .collect(Collectors.toMap(AdminUserRespDTO::getId, AdminUserRespDTO::getNickname, (key1, key2) -> key2)); | |
| 66 | + .collect(Collectors.toMap(MemberUserRespDTO::getId, MemberUserRespDTO::getNickname, (key1, key2) -> key2)); | |
| 66 | 67 | } |
| 67 | 68 | List <MemberSignInRecordRespVO> list1 = new ArrayList <MemberSignInRecordRespVO>(list.size()); |
| 68 | 69 | for (MemberSignInRecordDO memberSignInRecordDO : list) { | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/point/MemberPointConfigDO.java
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/point/MemberPointRecordDO.java
| ... | ... | @@ -39,11 +39,6 @@ public class MemberPointRecordDO extends BaseDO { |
| 39 | 39 | */ |
| 40 | 40 | private String bizType; |
| 41 | 41 | /** |
| 42 | - * 1增加 0扣减 | |
| 43 | - */ | |
| 44 | - // TODO @xiaqing:要不把 type 合并到 point 里?增加 point 是正数,减少 point 是负数? | |
| 45 | - private String type; | |
| 46 | - /** | |
| 47 | 42 | * 积分标题 |
| 48 | 43 | */ |
| 49 | 44 | private String title; |
| ... | ... | @@ -52,7 +47,7 @@ public class MemberPointRecordDO extends BaseDO { |
| 52 | 47 | */ |
| 53 | 48 | private String description; |
| 54 | 49 | /** |
| 55 | - * 积分 | |
| 50 | + * 积分 正数表示获得积分 负数表示消耗积分 | |
| 56 | 51 | */ |
| 57 | 52 | private Integer point; |
| 58 | 53 | /** |
| ... | ... | @@ -62,13 +57,13 @@ public class MemberPointRecordDO extends BaseDO { |
| 62 | 57 | /** |
| 63 | 58 | * 状态:1-订单创建,2-冻结期,3-完成,4-失效(订单退款) |
| 64 | 59 | * |
| 65 | - * 枚举 {@link TODO point_status 对应的类} | |
| 60 | + * 枚举 {@link point_status 对应的类} | |
| 66 | 61 | */ |
| 67 | 62 | private Integer status; |
| 68 | 63 | /** |
| 69 | 64 | * 用户id |
| 70 | 65 | */ |
| 71 | - private Integer userId; | |
| 66 | + private Long userId; | |
| 72 | 67 | /** |
| 73 | 68 | * 冻结时间 |
| 74 | 69 | */ | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/point/MemberPointRecordMapper.java
| ... | ... | @@ -17,7 +17,7 @@ public interface MemberPointRecordMapper extends BaseMapperX<MemberPointRecordDO |
| 17 | 17 | |
| 18 | 18 | default PageResult<MemberPointRecordDO> selectPage(MemberPointRecordPageReqVO reqVO) { |
| 19 | 19 | return selectPage(reqVO, new LambdaQueryWrapperX<MemberPointRecordDO>() |
| 20 | - .eqIfPresent(MemberPointRecordDO::getBizId, reqVO.getBizId()) | |
| 20 | + .inIfPresent(MemberPointRecordDO::getUserId,reqVO.getUserIds()) | |
| 21 | 21 | .eqIfPresent(MemberPointRecordDO::getBizType, reqVO.getBizType()) |
| 22 | 22 | .eqIfPresent(MemberPointRecordDO::getType, reqVO.getType()) |
| 23 | 23 | .eqIfPresent(MemberPointRecordDO::getTitle, reqVO.getTitle()) | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/signin/MemberSignInRecordMapper.java
| ... | ... | @@ -17,7 +17,7 @@ public interface MemberSignInRecordMapper extends BaseMapperX<MemberSignInRecord |
| 17 | 17 | |
| 18 | 18 | default PageResult<MemberSignInRecordDO> selectPage(MemberSignInRecordPageReqVO reqVO) { |
| 19 | 19 | return selectPage(reqVO, new LambdaQueryWrapperX<MemberSignInRecordDO>() |
| 20 | - .eqIfPresent(MemberSignInRecordDO::getUserId, reqVO.getUserId()) | |
| 20 | + .inIfPresent(MemberSignInRecordDO::getUserId, reqVO.getUserIds()) | |
| 21 | 21 | .eqIfPresent(MemberSignInRecordDO::getDay, reqVO.getDay()) |
| 22 | 22 | .betweenIfPresent(MemberSignInRecordDO::getCreateTime, reqVO.getCreateTime()) |
| 23 | 23 | .orderByDesc(MemberSignInRecordDO::getId)); | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/point/MemberPointConfigServiceImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.member.service.point; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | |
| 4 | +import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; | |
| 3 | 5 | import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigSaveReqVO; |
| 4 | 6 | import cn.iocoder.yudao.module.member.convert.point.MemberPointConfigConvert; |
| 5 | 7 | import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO; |
| ... | ... | @@ -24,13 +26,15 @@ public class MemberPointConfigServiceImpl implements MemberPointConfigService { |
| 24 | 26 | |
| 25 | 27 | @Override |
| 26 | 28 | public void saveConfig(MemberPointConfigSaveReqVO saveReqVO) { |
| 27 | - // TODO @xiaqing:直接 getConfig() 查询,如果不存在,则插入;存在,则进行更新; | |
| 28 | - long total = pointConfigMapper.selectCount(); | |
| 29 | + //获取当前记录 | |
| 30 | + MemberPointConfigDO configDO = getConfig(); | |
| 29 | 31 | MemberPointConfigDO pointConfigDO = MemberPointConfigConvert.INSTANCE.convert(saveReqVO); |
| 30 | - //大于0存在记录,则更新,否则插入 | |
| 31 | - if (total > 0) { | |
| 32 | + //当前存在记录,则更新,否则插入 | |
| 33 | + if (configDO != null) { | |
| 34 | + pointConfigDO.setId(configDO.getId()); | |
| 32 | 35 | pointConfigMapper.updateById(pointConfigDO); |
| 33 | 36 | } else { |
| 37 | + pointConfigDO.setId(null); | |
| 34 | 38 | pointConfigMapper.insert(pointConfigDO); |
| 35 | 39 | } |
| 36 | 40 | } |
| ... | ... | @@ -38,8 +42,7 @@ public class MemberPointConfigServiceImpl implements MemberPointConfigService { |
| 38 | 42 | @Override |
| 39 | 43 | public MemberPointConfigDO getConfig() { |
| 40 | 44 | List <MemberPointConfigDO> list = pointConfigMapper.selectList(); |
| 41 | - // TODO @xiaqing:可以使用 CollUtil.getFirst() | |
| 42 | - return list == null ? null : list.get(0); | |
| 45 | + return CollectionUtils.getFirst(list); | |
| 43 | 46 | } |
| 44 | 47 | |
| 45 | 48 | } | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/point/MemberPointRecordService.java
| ... | ... | @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.member.service.point; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | 4 | import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO; |
| 5 | -import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordUpdateReqVO; | |
| 6 | 5 | import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO; |
| 7 | 6 | |
| 8 | 7 | import javax.validation.Valid; |
| ... | ... | @@ -13,23 +12,6 @@ import javax.validation.Valid; |
| 13 | 12 | * @author QingX |
| 14 | 13 | */ |
| 15 | 14 | public interface MemberPointRecordService { |
| 16 | - // TODO @xiaqing:方法和方法之间,是空一行哈; | |
| 17 | - | |
| 18 | - /** | |
| 19 | - * 更新用户积分记录 | |
| 20 | - * | |
| 21 | - * @param updateReqVO 更新信息 | |
| 22 | - */ | |
| 23 | - void updateRecord(@Valid MemberPointRecordUpdateReqVO updateReqVO); | |
| 24 | - | |
| 25 | - | |
| 26 | - /** | |
| 27 | - * 获得用户积分记录 | |
| 28 | - * | |
| 29 | - * @param id 编号 | |
| 30 | - * @return 用户积分记录 | |
| 31 | - */ | |
| 32 | - MemberPointRecordDO getRecord(Long id); | |
| 33 | 15 | |
| 34 | 16 | /** |
| 35 | 17 | * 获得用户积分记录分页 | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/point/MemberPointRecordServiceImpl.java
| ... | ... | @@ -2,19 +2,12 @@ package cn.iocoder.yudao.module.member.service.point; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | 4 | import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO; |
| 5 | -import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordUpdateReqVO; | |
| 6 | -import cn.iocoder.yudao.module.member.convert.point.MemberPointRecordConvert; | |
| 7 | 5 | import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO; |
| 8 | 6 | import cn.iocoder.yudao.module.member.dal.mysql.point.MemberPointRecordMapper; |
| 9 | -import cn.iocoder.yudao.module.member.enums.ErrorCodeConstants; | |
| 10 | 7 | import org.springframework.stereotype.Service; |
| 11 | 8 | import org.springframework.validation.annotation.Validated; |
| 12 | 9 | |
| 13 | 10 | import javax.annotation.Resource; |
| 14 | -import java.util.Collection; | |
| 15 | -import java.util.List; | |
| 16 | - | |
| 17 | -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | |
| 18 | 11 | |
| 19 | 12 | |
| 20 | 13 | /** |
| ... | ... | @@ -30,26 +23,6 @@ public class MemberPointRecordServiceImpl implements MemberPointRecordService { |
| 30 | 23 | private MemberPointRecordMapper recordMapper; |
| 31 | 24 | |
| 32 | 25 | @Override |
| 33 | - public void updateRecord(MemberPointRecordUpdateReqVO updateReqVO) { | |
| 34 | - // 校验存在 | |
| 35 | - validateRecordExists(updateReqVO.getId()); | |
| 36 | - // 更新 | |
| 37 | - MemberPointRecordDO updateObj = MemberPointRecordConvert.INSTANCE.convert(updateReqVO); | |
| 38 | - recordMapper.updateById(updateObj); | |
| 39 | - } | |
| 40 | - | |
| 41 | - private void validateRecordExists(Long id) { | |
| 42 | - if (recordMapper.selectById(id) == null) { | |
| 43 | - throw exception(ErrorCodeConstants.RECORD_NOT_EXISTS); | |
| 44 | - } | |
| 45 | - } | |
| 46 | - | |
| 47 | - @Override | |
| 48 | - public MemberPointRecordDO getRecord(Long id) { | |
| 49 | - return recordMapper.selectById(id); | |
| 50 | - } | |
| 51 | - | |
| 52 | - @Override | |
| 53 | 26 | public PageResult<MemberPointRecordDO> getRecordPage(MemberPointRecordPageReqVO pageReqVO) { |
| 54 | 27 | return recordMapper.selectPage(pageReqVO); |
| 55 | 28 | } | ... | ... |