Commit c019136f07e4f3aacc1cdbeb62f2475e48c45890

Authored by YunaiV
1 parent 2f5afdb5

✨ Member:增加积分记录的时间筛选

yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/AppBrokerageRecordController.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.trade.controller.app.brokerage;
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.framework.common.util.object.BeanUtils;
5 6 import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated;
6 7 import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.record.AppBrokerageProductPriceRespVO;
7 8 import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.record.AppBrokerageRecordPageReqVO;
... ... @@ -39,7 +40,7 @@ public class AppBrokerageRecordController {
39 40 public CommonResult<PageResult<AppBrokerageRecordRespVO>> getBrokerageRecordPage(@Valid AppBrokerageRecordPageReqVO pageReqVO) {
40 41 PageResult<BrokerageRecordDO> pageResult = brokerageRecordService.getBrokerageRecordPage(
41 42 BrokerageRecordConvert.INSTANCE.convert(pageReqVO, getLoginUserId()));
42   - return success(BrokerageRecordConvert.INSTANCE.convertPage02(pageResult));
  43 + return success(BeanUtils.toBean(pageResult, AppBrokerageRecordRespVO.class));
43 44 }
44 45  
45 46 @GetMapping("/get-product-brokerage-price")
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/vo/record/AppBrokerageRecordPageReqVO.java
... ... @@ -6,11 +6,20 @@ import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageRecordBizTypeEnum;
6 6 import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageRecordStatusEnum;
7 7 import io.swagger.v3.oas.annotations.media.Schema;
8 8 import lombok.Data;
  9 +import org.springframework.format.annotation.DateTimeFormat;
  10 +
  11 +import java.time.LocalDateTime;
  12 +
  13 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
9 14  
10 15 @Schema(description = "应用 App - 分销记录分页 Request VO")
11 16 @Data
12 17 public class AppBrokerageRecordPageReqVO extends PageParam {
13 18  
  19 + @Schema(description = "创建时间")
  20 + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
  21 + private LocalDateTime[] createTime;
  22 +
14 23 @Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
15 24 @InEnum(value = BrokerageRecordBizTypeEnum.class, message = "业务类型必须是 {value}")
16 25 private Integer bizType;
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/vo/record/AppBrokerageRecordRespVO.java
... ... @@ -12,12 +12,18 @@ public class AppBrokerageRecordRespVO {
12 12 @Schema(description = "记录编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
13 13 private Long id;
14 14  
  15 + @Schema(description = "业务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
  16 + private String bizId;
  17 +
15 18 @Schema(description = "分销标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "用户下单")
16 19 private String title;
17 20  
18 21 @Schema(description = "分销金额,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
19 22 private Integer price;
20 23  
  24 + @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
  25 + private Integer status;
  26 +
21 27 @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
22 28 private LocalDateTime createTime;
23 29  
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/brokerage/BrokerageRecordConvert.java
... ... @@ -70,8 +70,6 @@ public interface BrokerageRecordConvert {
70 70  
71 71 BrokerageRecordPageReqVO convert(AppBrokerageRecordPageReqVO pageReqVO, Long userId);
72 72  
73   - PageResult<AppBrokerageRecordRespVO> convertPage02(PageResult<BrokerageRecordDO> pageResult);
74   -
75 73 default PageResult<AppBrokerageUserRankByPriceRespVO> convertPage03(PageResult<AppBrokerageUserRankByPriceRespVO> pageResult, Map<Long, MemberUserRespDTO> userMap) {
76 74 for (AppBrokerageUserRankByPriceRespVO vo : pageResult.getList()) {
77 75 copyTo(userMap.get(vo.getId()), vo);
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/point/AppMemberPointRecordController.java
... ... @@ -3,7 +3,9 @@ package cn.iocoder.yudao.module.member.controller.app.point;
3 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 4 import cn.iocoder.yudao.framework.common.pojo.PageParam;
5 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  6 +import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
6 7 import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated;
  8 +import cn.iocoder.yudao.module.member.controller.app.point.vo.AppMemberPointRecordPageReqVO;
7 9 import cn.iocoder.yudao.module.member.controller.app.point.vo.AppMemberPointRecordRespVO;
8 10 import cn.iocoder.yudao.module.member.convert.point.MemberPointRecordConvert;
9 11 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
... ... @@ -33,9 +35,10 @@ public class AppMemberPointRecordController {
33 35 @GetMapping("/page")
34 36 @Operation(summary = "获得用户积分记录分页")
35 37 @PreAuthenticated
36   - public CommonResult<PageResult<AppMemberPointRecordRespVO>> getPointRecordPage(@Valid PageParam pageVO) {
37   - PageResult<MemberPointRecordDO> pageResult = pointRecordService.getPointRecordPage(getLoginUserId(), pageVO);
38   - return success(MemberPointRecordConvert.INSTANCE.convertPage02(pageResult));
  38 + public CommonResult<PageResult<AppMemberPointRecordRespVO>> getPointRecordPage(
  39 + @Valid AppMemberPointRecordPageReqVO pageReqVO) {
  40 + PageResult<MemberPointRecordDO> pageResult = pointRecordService.getPointRecordPage(getLoginUserId(), pageReqVO);
  41 + return success(BeanUtils.toBean(pageResult, AppMemberPointRecordRespVO.class));
39 42 }
40 43  
41 44 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/point/vo/AppMemberPointRecordPageReqVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.member.controller.app.point.vo;
  2 +
  3 +import cn.iocoder.yudao.framework.common.pojo.PageParam;
  4 +import io.swagger.v3.oas.annotations.media.Schema;
  5 +import lombok.Data;
  6 +import org.springframework.format.annotation.DateTimeFormat;
  7 +
  8 +import java.time.LocalDateTime;
  9 +
  10 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
  11 +
  12 +@Schema(description = "用户 App - 用户积分记录分页 Request VO")
  13 +@Data
  14 +public class AppMemberPointRecordPageReqVO extends PageParam {
  15 +
  16 + @Schema(description = "是否增加积分", example = "true")
  17 + private Boolean addStatus; // true - 增加;false - 减少;null - 不筛选
  18 +
  19 + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
  20 + @Schema(description = "创建时间")
  21 + private LocalDateTime[] createTime;
  22 +
  23 +}
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/point/MemberPointRecordConvert.java
... ... @@ -34,6 +34,4 @@ public interface MemberPointRecordConvert {
34 34 }
35 35 PageResult<MemberPointRecordRespVO> convertPage(PageResult<MemberPointRecordDO> pageResult);
36 36  
37   - PageResult<AppMemberPointRecordRespVO> convertPage02(PageResult<MemberPointRecordDO> pageResult);
38   -
39 37 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/point/MemberPointRecordMapper.java
... ... @@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 5 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
6 6 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
7 7 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO;
  8 +import cn.iocoder.yudao.module.member.controller.app.point.vo.AppMemberPointRecordPageReqVO;
8 9 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
9 10 import org.apache.ibatis.annotations.Mapper;
10 11  
... ... @@ -27,9 +28,14 @@ public interface MemberPointRecordMapper extends BaseMapperX&lt;MemberPointRecordDO
27 28 .orderByDesc(MemberPointRecordDO::getId));
28 29 }
29 30  
30   - default PageResult<MemberPointRecordDO> selectPage(Long userId, PageParam pageVO) {
31   - return selectPage(pageVO, new LambdaQueryWrapperX<MemberPointRecordDO>()
  31 + default PageResult<MemberPointRecordDO> selectPage(Long userId, AppMemberPointRecordPageReqVO pageReqVO) {
  32 + return selectPage(pageReqVO, new LambdaQueryWrapperX<MemberPointRecordDO>()
32 33 .eq(MemberPointRecordDO::getUserId, userId)
  34 + .betweenIfPresent(MemberPointRecordDO::getCreateTime, pageReqVO.getCreateTime())
  35 + .gt(Boolean.TRUE.equals(pageReqVO.getAddStatus()),
  36 + MemberPointRecordDO::getPoint, 0)
  37 + .lt(Boolean.FALSE.equals(pageReqVO.getAddStatus()),
  38 + MemberPointRecordDO::getPoint, 0)
33 39 .orderByDesc(MemberPointRecordDO::getId));
34 40 }
35 41  
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/point/MemberPointRecordService.java
... ... @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.member.service.point;
3 3 import cn.iocoder.yudao.framework.common.pojo.PageParam;
4 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 5 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO;
  6 +import cn.iocoder.yudao.module.member.controller.app.point.vo.AppMemberPointRecordPageReqVO;
6 7 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
7 8 import cn.iocoder.yudao.module.member.enums.point.MemberPointBizTypeEnum;
8 9  
... ... @@ -25,10 +26,10 @@ public interface MemberPointRecordService {
25 26 * 【会员】获得积分记录分页
26 27 *
27 28 * @param userId 用户编号
28   - * @param pageVO 分页查询
  29 + * @param pageReqVO 分页查询
29 30 * @return 签到记录分页
30 31 */
31   - PageResult<MemberPointRecordDO> getPointRecordPage(Long userId, PageParam pageVO);
  32 + PageResult<MemberPointRecordDO> getPointRecordPage(Long userId, AppMemberPointRecordPageReqVO pageReqVO);
32 33  
33 34 /**
34 35 * 创建用户积分记录
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/point/MemberPointRecordServiceImpl.java
... ... @@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
5 5 import cn.iocoder.yudao.framework.common.pojo.PageParam;
6 6 import cn.iocoder.yudao.framework.common.pojo.PageResult;
7 7 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO;
  8 +import cn.iocoder.yudao.module.member.controller.app.point.vo.AppMemberPointRecordPageReqVO;
8 9 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
9 10 import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
10 11 import cn.iocoder.yudao.module.member.dal.mysql.point.MemberPointRecordMapper;
... ... @@ -59,8 +60,8 @@ public class MemberPointRecordServiceImpl implements MemberPointRecordService {
59 60 }
60 61  
61 62 @Override
62   - public PageResult<MemberPointRecordDO> getPointRecordPage(Long userId, PageParam pageVO) {
63   - return memberPointRecordMapper.selectPage(userId, pageVO);
  63 + public PageResult<MemberPointRecordDO> getPointRecordPage(Long userId, AppMemberPointRecordPageReqVO pageReqVO) {
  64 + return memberPointRecordMapper.selectPage(userId, pageReqVO);
64 65 }
65 66  
66 67 @Override
... ...