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,6 +2,7 @@ package cn.iocoder.yudao.module.trade.controller.app.brokerage;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 import cn.iocoder.yudao.framework.common.pojo.PageResult; 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  5 +import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
5 import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated; 6 import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated;
6 import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.record.AppBrokerageProductPriceRespVO; 7 import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.record.AppBrokerageProductPriceRespVO;
7 import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.record.AppBrokerageRecordPageReqVO; 8 import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.record.AppBrokerageRecordPageReqVO;
@@ -39,7 +40,7 @@ public class AppBrokerageRecordController { @@ -39,7 +40,7 @@ public class AppBrokerageRecordController {
39 public CommonResult<PageResult<AppBrokerageRecordRespVO>> getBrokerageRecordPage(@Valid AppBrokerageRecordPageReqVO pageReqVO) { 40 public CommonResult<PageResult<AppBrokerageRecordRespVO>> getBrokerageRecordPage(@Valid AppBrokerageRecordPageReqVO pageReqVO) {
40 PageResult<BrokerageRecordDO> pageResult = brokerageRecordService.getBrokerageRecordPage( 41 PageResult<BrokerageRecordDO> pageResult = brokerageRecordService.getBrokerageRecordPage(
41 BrokerageRecordConvert.INSTANCE.convert(pageReqVO, getLoginUserId())); 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 @GetMapping("/get-product-brokerage-price") 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,11 +6,20 @@ import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageRecordBizTypeEnum;
6 import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageRecordStatusEnum; 6 import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageRecordStatusEnum;
7 import io.swagger.v3.oas.annotations.media.Schema; 7 import io.swagger.v3.oas.annotations.media.Schema;
8 import lombok.Data; 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 @Schema(description = "应用 App - 分销记录分页 Request VO") 15 @Schema(description = "应用 App - 分销记录分页 Request VO")
11 @Data 16 @Data
12 public class AppBrokerageRecordPageReqVO extends PageParam { 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 @Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") 23 @Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
15 @InEnum(value = BrokerageRecordBizTypeEnum.class, message = "业务类型必须是 {value}") 24 @InEnum(value = BrokerageRecordBizTypeEnum.class, message = "业务类型必须是 {value}")
16 private Integer bizType; 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 +12,18 @@ public class AppBrokerageRecordRespVO {
12 @Schema(description = "记录编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") 12 @Schema(description = "记录编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
13 private Long id; 13 private Long id;
14 14
  15 + @Schema(description = "业务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
  16 + private String bizId;
  17 +
15 @Schema(description = "分销标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "用户下单") 18 @Schema(description = "分销标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "用户下单")
16 private String title; 19 private String title;
17 20
18 @Schema(description = "分销金额,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000") 21 @Schema(description = "分销金额,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
19 private Integer price; 22 private Integer price;
20 23
  24 + @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
  25 + private Integer status;
  26 +
21 @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) 27 @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
22 private LocalDateTime createTime; 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,8 +70,6 @@ public interface BrokerageRecordConvert {
70 70
71 BrokerageRecordPageReqVO convert(AppBrokerageRecordPageReqVO pageReqVO, Long userId); 71 BrokerageRecordPageReqVO convert(AppBrokerageRecordPageReqVO pageReqVO, Long userId);
72 72
73 - PageResult<AppBrokerageRecordRespVO> convertPage02(PageResult<BrokerageRecordDO> pageResult);  
74 -  
75 default PageResult<AppBrokerageUserRankByPriceRespVO> convertPage03(PageResult<AppBrokerageUserRankByPriceRespVO> pageResult, Map<Long, MemberUserRespDTO> userMap) { 73 default PageResult<AppBrokerageUserRankByPriceRespVO> convertPage03(PageResult<AppBrokerageUserRankByPriceRespVO> pageResult, Map<Long, MemberUserRespDTO> userMap) {
76 for (AppBrokerageUserRankByPriceRespVO vo : pageResult.getList()) { 74 for (AppBrokerageUserRankByPriceRespVO vo : pageResult.getList()) {
77 copyTo(userMap.get(vo.getId()), vo); 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,7 +3,9 @@ package cn.iocoder.yudao.module.member.controller.app.point;
3 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 import cn.iocoder.yudao.framework.common.pojo.PageParam; 4 import cn.iocoder.yudao.framework.common.pojo.PageParam;
5 import cn.iocoder.yudao.framework.common.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  6 +import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
6 import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated; 7 import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated;
  8 +import cn.iocoder.yudao.module.member.controller.app.point.vo.AppMemberPointRecordPageReqVO;
7 import cn.iocoder.yudao.module.member.controller.app.point.vo.AppMemberPointRecordRespVO; 9 import cn.iocoder.yudao.module.member.controller.app.point.vo.AppMemberPointRecordRespVO;
8 import cn.iocoder.yudao.module.member.convert.point.MemberPointRecordConvert; 10 import cn.iocoder.yudao.module.member.convert.point.MemberPointRecordConvert;
9 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO; 11 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
@@ -33,9 +35,10 @@ public class AppMemberPointRecordController { @@ -33,9 +35,10 @@ public class AppMemberPointRecordController {
33 @GetMapping("/page") 35 @GetMapping("/page")
34 @Operation(summary = "获得用户积分记录分页") 36 @Operation(summary = "获得用户积分记录分页")
35 @PreAuthenticated 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,6 +34,4 @@ public interface MemberPointRecordConvert {
34 } 34 }
35 PageResult<MemberPointRecordRespVO> convertPage(PageResult<MemberPointRecordDO> pageResult); 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,6 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; 5 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
6 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; 6 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
7 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO; 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 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO; 9 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
9 import org.apache.ibatis.annotations.Mapper; 10 import org.apache.ibatis.annotations.Mapper;
10 11
@@ -27,9 +28,14 @@ public interface MemberPointRecordMapper extends BaseMapperX&lt;MemberPointRecordDO @@ -27,9 +28,14 @@ public interface MemberPointRecordMapper extends BaseMapperX&lt;MemberPointRecordDO
27 .orderByDesc(MemberPointRecordDO::getId)); 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 .eq(MemberPointRecordDO::getUserId, userId) 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 .orderByDesc(MemberPointRecordDO::getId)); 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,6 +3,7 @@ package cn.iocoder.yudao.module.member.service.point;
3 import cn.iocoder.yudao.framework.common.pojo.PageParam; 3 import cn.iocoder.yudao.framework.common.pojo.PageParam;
4 import cn.iocoder.yudao.framework.common.pojo.PageResult; 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO; 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 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO; 7 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
7 import cn.iocoder.yudao.module.member.enums.point.MemberPointBizTypeEnum; 8 import cn.iocoder.yudao.module.member.enums.point.MemberPointBizTypeEnum;
8 9
@@ -25,10 +26,10 @@ public interface MemberPointRecordService { @@ -25,10 +26,10 @@ public interface MemberPointRecordService {
25 * 【会员】获得积分记录分页 26 * 【会员】获得积分记录分页
26 * 27 *
27 * @param userId 用户编号 28 * @param userId 用户编号
28 - * @param pageVO 分页查询 29 + * @param pageReqVO 分页查询
29 * @return 签到记录分页 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,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
5 import cn.iocoder.yudao.framework.common.pojo.PageParam; 5 import cn.iocoder.yudao.framework.common.pojo.PageParam;
6 import cn.iocoder.yudao.framework.common.pojo.PageResult; 6 import cn.iocoder.yudao.framework.common.pojo.PageResult;
7 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO; 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 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO; 9 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
9 import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; 10 import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
10 import cn.iocoder.yudao.module.member.dal.mysql.point.MemberPointRecordMapper; 11 import cn.iocoder.yudao.module.member.dal.mysql.point.MemberPointRecordMapper;
@@ -59,8 +60,8 @@ public class MemberPointRecordServiceImpl implements MemberPointRecordService { @@ -59,8 +60,8 @@ public class MemberPointRecordServiceImpl implements MemberPointRecordService {
59 } 60 }
60 61
61 @Override 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 @Override 67 @Override