Commit c019136f07e4f3aacc1cdbeb62f2475e48c45890
1 parent
2f5afdb5
✨ Member:增加积分记录的时间筛选
Showing
10 changed files
with
60 additions
and
14 deletions
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<MemberPointRecordDO | @@ -27,9 +28,14 @@ public interface MemberPointRecordMapper extends BaseMapperX<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 |