Commit 4dde700f35b57db4d6eee3fa7c7a678f26552492
1 parent
00a08d6c
feat:【MALL】App 售后筛选时,增加 status 过滤
Showing
7 changed files
with
53 additions
and
21 deletions
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<AfterSaleDO> { |
| 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 | ... | ... |