Commit 4dde700f35b57db4d6eee3fa7c7a678f26552492

Authored by YunaiV
1 parent 00a08d6c

feat:【MALL】App 售后筛选时,增加 status 过滤

yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/aftersale/AppAfterSaleController.java
1 1 package cn.iocoder.yudao.module.trade.controller.app.aftersale;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4   -import cn.iocoder.yudao.framework.common.pojo.PageParam;
5 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  5 +import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
6 6 import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleCreateReqVO;
7 7 import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleDeliveryReqVO;
  8 +import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSalePageReqVO;
8 9 import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleRespVO;
9   -import cn.iocoder.yudao.module.trade.convert.aftersale.AfterSaleConvert;
  10 +import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.AfterSaleDO;
10 11 import cn.iocoder.yudao.module.trade.service.aftersale.AfterSaleService;
11 12 import io.swagger.v3.oas.annotations.Operation;
12 13 import io.swagger.v3.oas.annotations.Parameter;
... ... @@ -31,16 +32,17 @@ public class AppAfterSaleController {
31 32  
32 33 @GetMapping(value = "/page")
33 34 @Operation(summary = "获得售后分页")
34   - public CommonResult<PageResult<AppAfterSaleRespVO>> getAfterSalePage(PageParam pageParam) {
35   - return success(AfterSaleConvert.INSTANCE.convertPage02(
36   - afterSaleService.getAfterSalePage(getLoginUserId(), pageParam)));
  35 + public CommonResult<PageResult<AppAfterSaleRespVO>> getAfterSalePage(AppAfterSalePageReqVO pageReqVO) {
  36 + PageResult<AfterSaleDO> pageResult = afterSaleService.getAfterSalePage(getLoginUserId(), pageReqVO);
  37 + return success(BeanUtils.toBean(pageResult, AppAfterSaleRespVO.class));
37 38 }
38 39  
39 40 @GetMapping(value = "/get")
40 41 @Operation(summary = "获得售后订单")
41 42 @Parameter(name = "id", description = "售后编号", required = true, example = "1")
42 43 public CommonResult<AppAfterSaleRespVO> getAfterSale(@RequestParam("id") Long id) {
43   - return success(AfterSaleConvert.INSTANCE.convert(afterSaleService.getAfterSale(getLoginUserId(), id)));
  44 + AfterSaleDO afterSale = afterSaleService.getAfterSale(getLoginUserId(), id);
  45 + return success(BeanUtils.toBean(afterSale, AppAfterSaleRespVO.class));
44 46 }
45 47  
46 48 @PostMapping(value = "/create")
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/aftersale/vo/AppAfterSalePageReqVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.trade.controller.app.aftersale.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 lombok.EqualsAndHashCode;
  7 +import lombok.ToString;
  8 +
  9 +import java.util.Set;
  10 +
  11 +@Schema(description = "用户 App - 交易售后分页 Request VO")
  12 +@Data
  13 +@EqualsAndHashCode(callSuper = true)
  14 +@ToString(callSuper = true)
  15 +public class AppAfterSalePageReqVO extends PageParam {
  16 +
  17 + @Schema(description = "售后状态", example = "10, 20")
  18 + private Set<Integer> statuses;
  19 +
  20 +}
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/delivery/vo/pickup/AppDeliveryPickUpStoreRespVO.java
1 1 package cn.iocoder.yudao.module.trade.controller.app.delivery.vo.pickup;
2 2  
  3 +import com.fasterxml.jackson.annotation.JsonFormat;
3 4 import io.swagger.v3.oas.annotations.media.Schema;
  5 +import jakarta.validation.constraints.NotNull;
4 6 import lombok.Data;
5 7  
  8 +import java.time.LocalTime;
  9 +
6 10 @Schema(description = "用户 App - 自提门店 Response VO")
7 11 @Data
8 12 public class AppDeliveryPickUpStoreRespVO {
... ... @@ -28,6 +32,16 @@ public class AppDeliveryPickUpStoreRespVO {
28 32 @Schema(description = "门店详细地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "复旦大学路 188 号")
29 33 private String detailAddress;
30 34  
  35 + @Schema(description = "营业开始时间", requiredMode = Schema.RequiredMode.REQUIRED)
  36 + @NotNull(message = "营业开始时间不能为空")
  37 + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm")
  38 + private LocalTime openingTime;
  39 +
  40 + @Schema(description = "营业结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
  41 + @NotNull(message = "营业结束时间不能为空")
  42 + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm")
  43 + private LocalTime closingTime;
  44 +
31 45 @Schema(description = "纬度", requiredMode = Schema.RequiredMode.REQUIRED, example = "5.88")
32 46 private Double latitude;
33 47  
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/aftersale/AfterSaleConvert.java
... ... @@ -11,7 +11,6 @@ import cn.iocoder.yudao.module.trade.controller.admin.base.member.user.MemberUse
11 11 import cn.iocoder.yudao.module.trade.controller.admin.base.product.property.ProductPropertyValueDetailRespVO;
12 12 import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderBaseVO;
13 13 import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleCreateReqVO;
14   -import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleRespVO;
15 14 import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.AfterSaleDO;
16 15 import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.AfterSaleLogDO;
17 16 import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO;
... ... @@ -63,10 +62,6 @@ public interface AfterSaleConvert {
63 62  
64 63 ProductPropertyValueDetailRespVO convert(ProductPropertyValueDetailRespDTO bean);
65 64  
66   - AppAfterSaleRespVO convert(AfterSaleDO bean);
67   -
68   - PageResult<AppAfterSaleRespVO> convertPage02(PageResult<AfterSaleDO> page);
69   -
70 65 default AfterSaleDetailRespVO convert(AfterSaleDO afterSale, TradeOrderDO order, TradeOrderItemDO orderItem,
71 66 MemberUserRespDTO user, List<AfterSaleLogDO> logs) {
72 67 AfterSaleDetailRespVO respVO = convert02(afterSale);
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/mysql/aftersale/AfterSaleMapper.java
1 1 package cn.iocoder.yudao.module.trade.dal.mysql.aftersale;
2 2  
3   -import cn.iocoder.yudao.framework.common.pojo.PageParam;
4 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 4 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
6 5 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
7 6 import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.AfterSalePageReqVO;
  7 +import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSalePageReqVO;
8 8 import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.AfterSaleDO;
9 9 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
10 10 import org.apache.ibatis.annotations.Mapper;
... ... @@ -27,9 +27,10 @@ public interface AfterSaleMapper extends BaseMapperX&lt;AfterSaleDO&gt; {
27 27 .orderByDesc(AfterSaleDO::getId));
28 28 }
29 29  
30   - default PageResult<AfterSaleDO> selectPage(Long userId, PageParam pageParam) {
31   - return selectPage(pageParam, new LambdaQueryWrapperX<AfterSaleDO>()
32   - .eqIfPresent(AfterSaleDO::getUserId, userId)
  30 + default PageResult<AfterSaleDO> selectPage(Long userId, AppAfterSalePageReqVO pageReqVO) {
  31 + return selectPage(pageReqVO, new LambdaQueryWrapperX<AfterSaleDO>()
  32 + .eq(AfterSaleDO::getUserId, userId)
  33 + .inIfPresent(AfterSaleDO::getStatus, pageReqVO.getStatuses())
33 34 .orderByDesc(AfterSaleDO::getId));
34 35 }
35 36  
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/aftersale/AfterSaleService.java
1 1 package cn.iocoder.yudao.module.trade.service.aftersale;
2 2  
3   -import cn.iocoder.yudao.framework.common.pojo.PageParam;
4 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 4 import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.AfterSaleDisagreeReqVO;
6 5 import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.AfterSalePageReqVO;
7 6 import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.AfterSaleRefuseReqVO;
8 7 import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleCreateReqVO;
9 8 import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleDeliveryReqVO;
  9 +import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSalePageReqVO;
10 10 import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.AfterSaleDO;
11 11  
12 12 /**
... ... @@ -28,10 +28,10 @@ public interface AfterSaleService {
28 28 * 【会员】获得售后订单分页
29 29 *
30 30 * @param userId 用户编号
31   - * @param pageParam 分页参数
  31 + * @param pageReqVO 分页参数
32 32 * @return 售后订单分页
33 33 */
34   - PageResult<AfterSaleDO> getAfterSalePage(Long userId, PageParam pageParam);
  34 + PageResult<AfterSaleDO> getAfterSalePage(Long userId, AppAfterSalePageReqVO pageReqVO);
35 35  
36 36 /**
37 37 * 【会员】获得售后单
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/aftersale/AfterSaleServiceImpl.java
... ... @@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.trade.service.aftersale;
3 3 import cn.hutool.core.map.MapUtil;
4 4 import cn.hutool.core.util.ObjectUtil;
5 5 import cn.hutool.core.util.StrUtil;
6   -import cn.iocoder.yudao.framework.common.pojo.PageParam;
7 6 import cn.iocoder.yudao.framework.common.pojo.PageResult;
8 7 import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
9 8 import cn.iocoder.yudao.module.pay.api.refund.PayRefundApi;
... ... @@ -16,6 +15,7 @@ import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.AfterSalePage
16 15 import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.AfterSaleRefuseReqVO;
17 16 import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleCreateReqVO;
18 17 import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleDeliveryReqVO;
  18 +import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSalePageReqVO;
19 19 import cn.iocoder.yudao.module.trade.convert.aftersale.AfterSaleConvert;
20 20 import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.AfterSaleDO;
21 21 import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressDO;
... ... @@ -87,8 +87,8 @@ public class AfterSaleServiceImpl implements AfterSaleService {
87 87 }
88 88  
89 89 @Override
90   - public PageResult<AfterSaleDO> getAfterSalePage(Long userId, PageParam pageParam) {
91   - return tradeAfterSaleMapper.selectPage(userId, pageParam);
  90 + public PageResult<AfterSaleDO> getAfterSalePage(Long userId, AppAfterSalePageReqVO pageReqVO) {
  91 + return tradeAfterSaleMapper.selectPage(userId, pageReqVO);
92 92 }
93 93  
94 94 @Override
... ...