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 | package cn.iocoder.yudao.module.trade.controller.app.aftersale; | 1 | package cn.iocoder.yudao.module.trade.controller.app.aftersale; |
| 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.PageParam; | ||
| 5 | 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; | ||
| 6 | import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleCreateReqVO; | 6 | import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleCreateReqVO; |
| 7 | import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleDeliveryReqVO; | 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 | import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleRespVO; | 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 | import cn.iocoder.yudao.module.trade.service.aftersale.AfterSaleService; | 11 | import cn.iocoder.yudao.module.trade.service.aftersale.AfterSaleService; |
| 11 | import io.swagger.v3.oas.annotations.Operation; | 12 | import io.swagger.v3.oas.annotations.Operation; |
| 12 | import io.swagger.v3.oas.annotations.Parameter; | 13 | import io.swagger.v3.oas.annotations.Parameter; |
| @@ -31,16 +32,17 @@ public class AppAfterSaleController { | @@ -31,16 +32,17 @@ public class AppAfterSaleController { | ||
| 31 | 32 | ||
| 32 | @GetMapping(value = "/page") | 33 | @GetMapping(value = "/page") |
| 33 | @Operation(summary = "获得售后分页") | 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 | @GetMapping(value = "/get") | 40 | @GetMapping(value = "/get") |
| 40 | @Operation(summary = "获得售后订单") | 41 | @Operation(summary = "获得售后订单") |
| 41 | @Parameter(name = "id", description = "售后编号", required = true, example = "1") | 42 | @Parameter(name = "id", description = "售后编号", required = true, example = "1") |
| 42 | public CommonResult<AppAfterSaleRespVO> getAfterSale(@RequestParam("id") Long id) { | 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 | @PostMapping(value = "/create") | 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 | package cn.iocoder.yudao.module.trade.controller.app.delivery.vo.pickup; | 1 | package cn.iocoder.yudao.module.trade.controller.app.delivery.vo.pickup; |
| 2 | 2 | ||
| 3 | +import com.fasterxml.jackson.annotation.JsonFormat; | ||
| 3 | import io.swagger.v3.oas.annotations.media.Schema; | 4 | import io.swagger.v3.oas.annotations.media.Schema; |
| 5 | +import jakarta.validation.constraints.NotNull; | ||
| 4 | import lombok.Data; | 6 | import lombok.Data; |
| 5 | 7 | ||
| 8 | +import java.time.LocalTime; | ||
| 9 | + | ||
| 6 | @Schema(description = "用户 App - 自提门店 Response VO") | 10 | @Schema(description = "用户 App - 自提门店 Response VO") |
| 7 | @Data | 11 | @Data |
| 8 | public class AppDeliveryPickUpStoreRespVO { | 12 | public class AppDeliveryPickUpStoreRespVO { |
| @@ -28,6 +32,16 @@ public class AppDeliveryPickUpStoreRespVO { | @@ -28,6 +32,16 @@ public class AppDeliveryPickUpStoreRespVO { | ||
| 28 | @Schema(description = "门店详细地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "复旦大学路 188 号") | 32 | @Schema(description = "门店详细地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "复旦大学路 188 号") |
| 29 | private String detailAddress; | 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 | @Schema(description = "纬度", requiredMode = Schema.RequiredMode.REQUIRED, example = "5.88") | 45 | @Schema(description = "纬度", requiredMode = Schema.RequiredMode.REQUIRED, example = "5.88") |
| 32 | private Double latitude; | 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,7 +11,6 @@ import cn.iocoder.yudao.module.trade.controller.admin.base.member.user.MemberUse | ||
| 11 | import cn.iocoder.yudao.module.trade.controller.admin.base.product.property.ProductPropertyValueDetailRespVO; | 11 | import cn.iocoder.yudao.module.trade.controller.admin.base.product.property.ProductPropertyValueDetailRespVO; |
| 12 | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderBaseVO; | 12 | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderBaseVO; |
| 13 | import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleCreateReqVO; | 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 | import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.AfterSaleDO; | 14 | import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.AfterSaleDO; |
| 16 | import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.AfterSaleLogDO; | 15 | import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.AfterSaleLogDO; |
| 17 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; | 16 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; |
| @@ -63,10 +62,6 @@ public interface AfterSaleConvert { | @@ -63,10 +62,6 @@ public interface AfterSaleConvert { | ||
| 63 | 62 | ||
| 64 | ProductPropertyValueDetailRespVO convert(ProductPropertyValueDetailRespDTO bean); | 63 | ProductPropertyValueDetailRespVO convert(ProductPropertyValueDetailRespDTO bean); |
| 65 | 64 | ||
| 66 | - AppAfterSaleRespVO convert(AfterSaleDO bean); | ||
| 67 | - | ||
| 68 | - PageResult<AppAfterSaleRespVO> convertPage02(PageResult<AfterSaleDO> page); | ||
| 69 | - | ||
| 70 | default AfterSaleDetailRespVO convert(AfterSaleDO afterSale, TradeOrderDO order, TradeOrderItemDO orderItem, | 65 | default AfterSaleDetailRespVO convert(AfterSaleDO afterSale, TradeOrderDO order, TradeOrderItemDO orderItem, |
| 71 | MemberUserRespDTO user, List<AfterSaleLogDO> logs) { | 66 | MemberUserRespDTO user, List<AfterSaleLogDO> logs) { |
| 72 | AfterSaleDetailRespVO respVO = convert02(afterSale); | 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 | package cn.iocoder.yudao.module.trade.dal.mysql.aftersale; | 1 | package cn.iocoder.yudao.module.trade.dal.mysql.aftersale; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | 4 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 6 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | 5 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; |
| 7 | import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.AfterSalePageReqVO; | 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 | import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.AfterSaleDO; | 8 | import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.AfterSaleDO; |
| 9 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | 9 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| 10 | import org.apache.ibatis.annotations.Mapper; | 10 | import org.apache.ibatis.annotations.Mapper; |
| @@ -27,9 +27,10 @@ public interface AfterSaleMapper extends BaseMapperX<AfterSaleDO> { | @@ -27,9 +27,10 @@ public interface AfterSaleMapper extends BaseMapperX<AfterSaleDO> { | ||
| 27 | .orderByDesc(AfterSaleDO::getId)); | 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 | .orderByDesc(AfterSaleDO::getId)); | 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 | package cn.iocoder.yudao.module.trade.service.aftersale; | 1 | package cn.iocoder.yudao.module.trade.service.aftersale; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.AfterSaleDisagreeReqVO; | 4 | import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.AfterSaleDisagreeReqVO; |
| 6 | import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.AfterSalePageReqVO; | 5 | import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.AfterSalePageReqVO; |
| 7 | import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.AfterSaleRefuseReqVO; | 6 | import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.AfterSaleRefuseReqVO; |
| 8 | import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleCreateReqVO; | 7 | import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleCreateReqVO; |
| 9 | import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleDeliveryReqVO; | 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 | import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.AfterSaleDO; | 10 | import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.AfterSaleDO; |
| 11 | 11 | ||
| 12 | /** | 12 | /** |
| @@ -28,10 +28,10 @@ public interface AfterSaleService { | @@ -28,10 +28,10 @@ public interface AfterSaleService { | ||
| 28 | * 【会员】获得售后订单分页 | 28 | * 【会员】获得售后订单分页 |
| 29 | * | 29 | * |
| 30 | * @param userId 用户编号 | 30 | * @param userId 用户编号 |
| 31 | - * @param pageParam 分页参数 | 31 | + * @param pageReqVO 分页参数 |
| 32 | * @return 售后订单分页 | 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,7 +3,6 @@ package cn.iocoder.yudao.module.trade.service.aftersale; | ||
| 3 | import cn.hutool.core.map.MapUtil; | 3 | import cn.hutool.core.map.MapUtil; |
| 4 | import cn.hutool.core.util.ObjectUtil; | 4 | import cn.hutool.core.util.ObjectUtil; |
| 5 | import cn.hutool.core.util.StrUtil; | 5 | import cn.hutool.core.util.StrUtil; |
| 6 | -import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 7 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 8 | import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; | 7 | import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; |
| 9 | import cn.iocoder.yudao.module.pay.api.refund.PayRefundApi; | 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,6 +15,7 @@ import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.AfterSalePage | ||
| 16 | import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.AfterSaleRefuseReqVO; | 15 | import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.AfterSaleRefuseReqVO; |
| 17 | import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleCreateReqVO; | 16 | import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleCreateReqVO; |
| 18 | import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppAfterSaleDeliveryReqVO; | 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 | import cn.iocoder.yudao.module.trade.convert.aftersale.AfterSaleConvert; | 19 | import cn.iocoder.yudao.module.trade.convert.aftersale.AfterSaleConvert; |
| 20 | import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.AfterSaleDO; | 20 | import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.AfterSaleDO; |
| 21 | import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressDO; | 21 | import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressDO; |
| @@ -87,8 +87,8 @@ public class AfterSaleServiceImpl implements AfterSaleService { | @@ -87,8 +87,8 @@ public class AfterSaleServiceImpl implements AfterSaleService { | ||
| 87 | } | 87 | } |
| 88 | 88 | ||
| 89 | @Override | 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 | @Override | 94 | @Override |