Commit 7fc9689f07337a06398432d7a9b17eefc8b90d5c
1 parent
0b9ddddd
trade:定义管理后台的订单分页接口
Showing
18 changed files
with
327 additions
and
48 deletions
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/enums/TerminalEnum.java
| @@ -15,10 +15,9 @@ import java.util.Arrays; | @@ -15,10 +15,9 @@ import java.util.Arrays; | ||
| 15 | @Getter | 15 | @Getter |
| 16 | public enum TerminalEnum implements IntArrayValuable { | 16 | public enum TerminalEnum implements IntArrayValuable { |
| 17 | 17 | ||
| 18 | - //TODO terminal 重复,请参考 '订单来源终端:[1:小程序 2:H5 3:iOS 4:安卓]' | ||
| 19 | MINI_PROGRAM(1, "小程序"), | 18 | MINI_PROGRAM(1, "小程序"), |
| 20 | H5(2, "H5"), | 19 | H5(2, "H5"), |
| 21 | - IOS(3, "iOS"), | 20 | + IOS(3, "苹果"), |
| 22 | ANDROID(3, "安卓"),; | 21 | ANDROID(3, "安卓"),; |
| 23 | 22 | ||
| 24 | public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(TerminalEnum::getTerminal).toArray(); | 23 | public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(TerminalEnum::getTerminal).toArray(); |
yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/order/TradeOrderStatusEnum.java
| @@ -17,12 +17,11 @@ import java.util.Arrays; | @@ -17,12 +17,11 @@ import java.util.Arrays; | ||
| 17 | @Getter | 17 | @Getter |
| 18 | public enum TradeOrderStatusEnum implements IntArrayValuable { | 18 | public enum TradeOrderStatusEnum implements IntArrayValuable { |
| 19 | 19 | ||
| 20 | - UNPAID(0, "未付款"), | ||
| 21 | - PAID(10, "已付款"), // 例如说,拼团订单,支付后,需要拼团成功后,才会处于待发货 | ||
| 22 | - UNDELIVERED(20, "待发货"), | ||
| 23 | - DELIVERED(30, "已发货"), | ||
| 24 | - COMPLETED(40, "已完成"), | ||
| 25 | - CANCELED(50, "已取消"); | 20 | + UNPAID(0, "待支付"), |
| 21 | + UNDELIVERED(10, "待发货"), | ||
| 22 | + DELIVERED(20, "已发货"), | ||
| 23 | + COMPLETED(30, "已完成"), | ||
| 24 | + CANCELED(40, "已取消"); | ||
| 26 | 25 | ||
| 27 | // TODO 芋艿: TAKE("待核验"):虚拟订单需要核验商品 | 26 | // TODO 芋艿: TAKE("待核验"):虚拟订单需要核验商品 |
| 28 | 27 | ||
| @@ -56,16 +55,6 @@ public enum TradeOrderStatusEnum implements IntArrayValuable { | @@ -56,16 +55,6 @@ public enum TradeOrderStatusEnum implements IntArrayValuable { | ||
| 56 | } | 55 | } |
| 57 | 56 | ||
| 58 | /** | 57 | /** |
| 59 | - * 判断指定状态,是否正处于【已支付】状态 | ||
| 60 | - * | ||
| 61 | - * @param status 指定状态 | ||
| 62 | - * @return 是否 | ||
| 63 | - */ | ||
| 64 | - public static boolean isPaid(Integer status) { | ||
| 65 | - return ObjectUtil.equal(PAID.getStatus(), status); | ||
| 66 | - } | ||
| 67 | - | ||
| 68 | - /** | ||
| 69 | * 判断指定状态,是否正处于【待发货】状态 | 58 | * 判断指定状态,是否正处于【待发货】状态 |
| 70 | * | 59 | * |
| 71 | * @param status 指定状态 | 60 | * @param status 指定状态 |
| @@ -112,7 +101,7 @@ public enum TradeOrderStatusEnum implements IntArrayValuable { | @@ -112,7 +101,7 @@ public enum TradeOrderStatusEnum implements IntArrayValuable { | ||
| 112 | * @return 是否 | 101 | * @return 是否 |
| 113 | */ | 102 | */ |
| 114 | public static boolean havePaid(Integer status) { | 103 | public static boolean havePaid(Integer status) { |
| 115 | - return ObjectUtils.equalsAny(status, PAID.getStatus(), UNDELIVERED.getStatus(), | 104 | + return ObjectUtils.equalsAny(status, UNDELIVERED.getStatus(), |
| 116 | DELIVERED.getStatus(), COMPLETED.getStatus()); | 105 | DELIVERED.getStatus(), COMPLETED.getStatus()); |
| 117 | } | 106 | } |
| 118 | 107 |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/TradeAfterSaleBaseVO.java
| 1 | package cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo; | 1 | package cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.module.trade.controller.admin.base.product.property.ProductPropertyRespVO; | 3 | +import cn.iocoder.yudao.module.trade.controller.admin.base.product.property.ProductPropertyValueDetailRespVO; |
| 4 | import io.swagger.annotations.ApiModelProperty; | 4 | import io.swagger.annotations.ApiModelProperty; |
| 5 | import lombok.Data; | 5 | import lombok.Data; |
| 6 | import org.springframework.format.annotation.DateTimeFormat; | 6 | import org.springframework.format.annotation.DateTimeFormat; |
| @@ -73,7 +73,7 @@ public class TradeAfterSaleBaseVO { | @@ -73,7 +73,7 @@ public class TradeAfterSaleBaseVO { | ||
| 73 | private Long skuId; | 73 | private Long skuId; |
| 74 | 74 | ||
| 75 | @ApiModelProperty(value = "规格值数组") | 75 | @ApiModelProperty(value = "规格值数组") |
| 76 | - private List<ProductPropertyRespVO> properties; | 76 | + private List<ProductPropertyValueDetailRespVO> properties; |
| 77 | 77 | ||
| 78 | @ApiModelProperty(value = "商品图片", example = "https://www.iocoder.cn/2.png") | 78 | @ApiModelProperty(value = "商品图片", example = "https://www.iocoder.cn/2.png") |
| 79 | private String picUrl; | 79 | private String picUrl; |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/base/product/property/ProductPropertyRespVO.java renamed to yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/base/product/property/ProductPropertyValueDetailRespVO.java
| @@ -4,14 +4,20 @@ import io.swagger.annotations.ApiModel; | @@ -4,14 +4,20 @@ import io.swagger.annotations.ApiModel; | ||
| 4 | import io.swagger.annotations.ApiModelProperty; | 4 | import io.swagger.annotations.ApiModelProperty; |
| 5 | import lombok.Data; | 5 | import lombok.Data; |
| 6 | 6 | ||
| 7 | -@ApiModel("管理后台 - 商品规格 Response VO") | 7 | +@ApiModel("管理后台 - 商品规格 + 规格值的明细 Response VO") |
| 8 | @Data | 8 | @Data |
| 9 | -public class ProductPropertyRespVO { | 9 | +public class ProductPropertyValueDetailRespVO { |
| 10 | 10 | ||
| 11 | - @ApiModelProperty(value = "属性编号", required = true, example = "1") | 11 | + @ApiModelProperty(value = "属性的编号", required = true, example = "1") |
| 12 | private Long propertyId; | 12 | private Long propertyId; |
| 13 | 13 | ||
| 14 | - @ApiModelProperty(value = "属性值编号", required = true, example = "2") | 14 | + @ApiModelProperty(value = "属性的名称", required = true, example = "颜色") |
| 15 | + private String propertyName; | ||
| 16 | + | ||
| 17 | + @ApiModelProperty(value = "属性值的编号", required = true, example = "1024") | ||
| 15 | private Long valueId; | 18 | private Long valueId; |
| 16 | 19 | ||
| 20 | + @ApiModelProperty(value = "属性值的名称", required = true, example = "红色") | ||
| 21 | + private String valueName; | ||
| 22 | + | ||
| 17 | } | 23 | } |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/TradeOrderController.java
| 1 | package cn.iocoder.yudao.module.trade.controller.admin.order; | 1 | package cn.iocoder.yudao.module.trade.controller.admin.order; |
| 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.security.core.util.SecurityFrameworkUtils; | 4 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderDeliveryReqVO; | 5 | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderDeliveryReqVO; |
| 6 | +import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderPageItemRespVO; | ||
| 7 | +import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderPageReqVO; | ||
| 8 | +import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; | ||
| 6 | import cn.iocoder.yudao.module.trade.service.order.TradeOrderService; | 9 | import cn.iocoder.yudao.module.trade.service.order.TradeOrderService; |
| 7 | import io.swagger.annotations.Api; | 10 | import io.swagger.annotations.Api; |
| 8 | import io.swagger.annotations.ApiOperation; | 11 | import io.swagger.annotations.ApiOperation; |
| 9 | import lombok.extern.slf4j.Slf4j; | 12 | import lombok.extern.slf4j.Slf4j; |
| 10 | import org.springframework.security.access.prepost.PreAuthorize; | 13 | import org.springframework.security.access.prepost.PreAuthorize; |
| 11 | import org.springframework.validation.annotation.Validated; | 14 | import org.springframework.validation.annotation.Validated; |
| 12 | -import org.springframework.web.bind.annotation.PostMapping; | ||
| 13 | -import org.springframework.web.bind.annotation.RequestBody; | ||
| 14 | -import org.springframework.web.bind.annotation.RequestMapping; | ||
| 15 | -import org.springframework.web.bind.annotation.RestController; | 15 | +import org.springframework.web.bind.annotation.*; |
| 16 | 16 | ||
| 17 | import javax.annotation.Resource; | 17 | import javax.annotation.Resource; |
| 18 | 18 | ||
| @@ -29,6 +29,14 @@ public class TradeOrderController { | @@ -29,6 +29,14 @@ public class TradeOrderController { | ||
| 29 | @Resource | 29 | @Resource |
| 30 | private TradeOrderService tradeOrderService; | 30 | private TradeOrderService tradeOrderService; |
| 31 | 31 | ||
| 32 | + @GetMapping("/page") | ||
| 33 | + @ApiOperation("获得交易订单分页") | ||
| 34 | + @PreAuthorize("@ss.hasPermission('trade:order:query')") | ||
| 35 | + public CommonResult<PageResult<TradeOrderPageItemRespVO>> getOrderPage(TradeOrderPageReqVO reqVO) { | ||
| 36 | + PageResult<TradeOrderDO> pageResult = tradeOrderService.getOrderPage(reqVO); | ||
| 37 | + return success(null); | ||
| 38 | + } | ||
| 39 | + | ||
| 32 | @PostMapping("/delivery") | 40 | @PostMapping("/delivery") |
| 33 | @ApiOperation("发货订单") | 41 | @ApiOperation("发货订单") |
| 34 | @PreAuthorize("@ss.hasPermission('trade:order:delivery')") | 42 | @PreAuthorize("@ss.hasPermission('trade:order:delivery')") |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderBaseVO.java
0 → 100755
| 1 | +package cn.iocoder.yudao.module.trade.controller.admin.order.vo; | ||
| 2 | + | ||
| 3 | +import io.swagger.annotations.ApiModelProperty; | ||
| 4 | +import lombok.Data; | ||
| 5 | + | ||
| 6 | +import java.time.LocalDateTime; | ||
| 7 | +import java.util.Date; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | +* 交易订单 Base VO,提供给添加、修改、详细的子 VO 使用 | ||
| 11 | +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||
| 12 | +*/ | ||
| 13 | +@Data | ||
| 14 | +public class TradeOrderBaseVO { | ||
| 15 | + | ||
| 16 | + // ========== 订单基本信息 ========== | ||
| 17 | + | ||
| 18 | + @ApiModelProperty(value = "订单编号", required = true, example = "1024") | ||
| 19 | + private Long id; | ||
| 20 | + | ||
| 21 | + @ApiModelProperty(value = "订单流水号", required = true, example = "1146347329394184195") | ||
| 22 | + private String no; | ||
| 23 | + | ||
| 24 | + @ApiModelProperty(value = "创建时间", required = true, notes = "下单时间") | ||
| 25 | + private Date createTime; | ||
| 26 | + | ||
| 27 | + @ApiModelProperty(value = "订单来源", required = true, example = "1", notes = "参见 TerminalEnum 枚举") | ||
| 28 | + private Integer terminal; | ||
| 29 | + | ||
| 30 | + @ApiModelProperty(value = "用户编号", required = true, example = "2048") | ||
| 31 | + private Long userId; | ||
| 32 | + | ||
| 33 | + @ApiModelProperty(value = "用户 IP", required = true, example = "127.0.0.1") | ||
| 34 | + private String userIp; | ||
| 35 | + | ||
| 36 | + @ApiModelProperty(value = "用户备注", required = true, example = "你猜") | ||
| 37 | + private String userRemark; | ||
| 38 | + | ||
| 39 | + @ApiModelProperty(value = "订单状态", required = true, example = "1", notes = "参见 TradeOrderStatusEnum 枚举") | ||
| 40 | + private Integer status; | ||
| 41 | + | ||
| 42 | + @ApiModelProperty(value = "购买的商品数量", required = true, example = "10") | ||
| 43 | + private Integer productCount; | ||
| 44 | + | ||
| 45 | + @ApiModelProperty(value = "订单完成时间") | ||
| 46 | + private LocalDateTime finishTime; | ||
| 47 | + | ||
| 48 | + @ApiModelProperty(value = "订单取消时间") | ||
| 49 | + private LocalDateTime cancelTime; | ||
| 50 | + | ||
| 51 | + @ApiModelProperty(value = "取消类型", example = "10", notes = "参见 TradeOrderCancelTypeEnum 枚举") | ||
| 52 | + private Integer cancelType; | ||
| 53 | + | ||
| 54 | + @ApiModelProperty(value = "商家备注", example = "你猜一下") | ||
| 55 | + private String remark; | ||
| 56 | + | ||
| 57 | + // ========== 价格 + 支付基本信息 ========== | ||
| 58 | + | ||
| 59 | + @ApiModelProperty(value = "支付订单编号", required = true, example = "1024") | ||
| 60 | + private Long payOrderId; | ||
| 61 | + | ||
| 62 | + @ApiModelProperty(value = "是否已支付", required = true, example = "true") | ||
| 63 | + private Boolean payed; | ||
| 64 | + | ||
| 65 | + @ApiModelProperty(value = "付款时间") | ||
| 66 | + private LocalDateTime payTime; | ||
| 67 | + | ||
| 68 | + @ApiModelProperty(value = "支付渠道", required = true, example = "wx_lite", notes = "参见 PayChannelEnum 枚举") | ||
| 69 | + private String payChannelCode; | ||
| 70 | + | ||
| 71 | + @ApiModelProperty(value = "商品原价(总)", required = true, example = "1000", notes = "单位:分") | ||
| 72 | + private Integer originalPrice; | ||
| 73 | + | ||
| 74 | + @ApiModelProperty(value = "订单原价(总)", required = true, example = "1000", notes = "单位:分") | ||
| 75 | + private Integer orderPrice; | ||
| 76 | + | ||
| 77 | + @ApiModelProperty(value = "订单优惠(总)", required = true, example = "100", notes = "单位:分") | ||
| 78 | + private Integer discountPrice; | ||
| 79 | + | ||
| 80 | + @ApiModelProperty(value = "运费金额", required = true, example = "100", notes = "单位:分") | ||
| 81 | + private Integer deliveryPrice; | ||
| 82 | + | ||
| 83 | + @ApiModelProperty(value = "订单调价(总)", required = true, example = "100", notes = "单位:分") | ||
| 84 | + private Integer adjustPrice; | ||
| 85 | + | ||
| 86 | + @ApiModelProperty(value = "应付金额(总)", required = true, example = "1000", notes = "单位:分") | ||
| 87 | + private Integer payPrice; | ||
| 88 | + | ||
| 89 | + // ========== 收件 + 物流基本信息 ========== | ||
| 90 | + | ||
| 91 | + @ApiModelProperty(value = "配送模板编号", example = "1024") | ||
| 92 | + private Long deliveryTemplateId; | ||
| 93 | + | ||
| 94 | + @ApiModelProperty(value = "发货物流公司编号", example = "1024") | ||
| 95 | + private Long logisticsId; | ||
| 96 | + | ||
| 97 | + @ApiModelProperty(value = "发货物流单号", example = "1024") | ||
| 98 | + private String logisticsNo; | ||
| 99 | + | ||
| 100 | + @ApiModelProperty(value = "发货状态", required = true, example = "1", notes = "参见 TradeOrderDeliveryStatusEnum 枚举") | ||
| 101 | + private Integer deliveryStatus; | ||
| 102 | + | ||
| 103 | + @ApiModelProperty(value = "发货时间") | ||
| 104 | + private LocalDateTime deliveryTime; | ||
| 105 | + | ||
| 106 | + @ApiModelProperty(value = "收货时间") | ||
| 107 | + private LocalDateTime receiveTime; | ||
| 108 | + | ||
| 109 | + @ApiModelProperty(value = "收件人名称", required = true, example = "张三") | ||
| 110 | + private String receiverName; | ||
| 111 | + | ||
| 112 | + @ApiModelProperty(value = "收件人手机", required = true, example = "13800138000") | ||
| 113 | + private String receiverMobile; | ||
| 114 | + | ||
| 115 | + @ApiModelProperty(value = "收件人地区编号", required = true, example = "110000") | ||
| 116 | + private Integer receiverAreaId; | ||
| 117 | + | ||
| 118 | + @ApiModelProperty(value = "收件人邮编", required = true, example = "100000") | ||
| 119 | + private Integer receiverPostCode; | ||
| 120 | + | ||
| 121 | + @ApiModelProperty(value = "收件人详细地址", required = true, example = "中关村大街 1 号") | ||
| 122 | + private String receiverDetailAddress; | ||
| 123 | + | ||
| 124 | + // ========== 售后基本信息 ========== | ||
| 125 | + | ||
| 126 | + @ApiModelProperty(value = "售后状态", example = "1", notes = "参见 TradeOrderAfterSaleStatusEnum 枚举") | ||
| 127 | + private Integer afterSaleStatus; | ||
| 128 | + | ||
| 129 | + @ApiModelProperty(value = "退款金额", required = true, example = "100", notes = "单位:分") | ||
| 130 | + private Integer refundPrice; | ||
| 131 | + | ||
| 132 | + // ========== 营销基本信息 ========== | ||
| 133 | + | ||
| 134 | + @ApiModelProperty(value = "优惠劵编号", example = "1024") | ||
| 135 | + private Long couponId; | ||
| 136 | + | ||
| 137 | + @ApiModelProperty(value = "优惠劵减免金额", required = true, example = "100", notes = "单位:分") | ||
| 138 | + private Integer couponPrice; | ||
| 139 | + | ||
| 140 | + @ApiModelProperty(value = "积分抵扣的金额", required = true, example = "100", notes = "单位:分") | ||
| 141 | + private Integer pointPrice; | ||
| 142 | +} |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderItemBaseVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.trade.controller.admin.order.vo; | ||
| 2 | + | ||
| 3 | +import io.swagger.annotations.ApiModelProperty; | ||
| 4 | +import lombok.Data; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * 交易订单项 Base VO,提供给添加、修改、详细的子 VO 使用 | ||
| 8 | + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||
| 9 | + */ | ||
| 10 | +@Data | ||
| 11 | +public class TradeOrderItemBaseVO { | ||
| 12 | + | ||
| 13 | + // ========== 订单项基本信息 ========== | ||
| 14 | + | ||
| 15 | + @ApiModelProperty(value = "编号", required = true, example = "1") | ||
| 16 | + private Long id; | ||
| 17 | + | ||
| 18 | + @ApiModelProperty(value = "用户编号", required = true, example = "1") | ||
| 19 | + private Long userId; | ||
| 20 | + | ||
| 21 | + @ApiModelProperty(value = "订单编号", required = true, example = "1") | ||
| 22 | + private Long orderId; | ||
| 23 | + | ||
| 24 | + // ========== 商品基本信息 ========== | ||
| 25 | + | ||
| 26 | + @ApiModelProperty(value = "商品 SPU 编号", required = true, example = "1") | ||
| 27 | + private Long spuId; | ||
| 28 | + | ||
| 29 | + @ApiModelProperty(value = "商品 SPU 名称", required = true, example = "芋道源码") | ||
| 30 | + private String spuName; | ||
| 31 | + | ||
| 32 | + @ApiModelProperty(value = "商品 SKU 编号", required = true, example = "1") | ||
| 33 | + private Long skuId; | ||
| 34 | + | ||
| 35 | + @ApiModelProperty(value = "商品图片", required = true, example = "https://www.iocoder.cn/1.png") | ||
| 36 | + private String picUrl; | ||
| 37 | + | ||
| 38 | + @ApiModelProperty(value = "购买数量", required = true, example = "1") | ||
| 39 | + private Integer count; | ||
| 40 | + | ||
| 41 | + // ========== 价格 + 支付基本信息 ========== | ||
| 42 | + | ||
| 43 | + @ApiModelProperty(value = "商品原价(总)", required = true, example = "100", notes = "单位:分") | ||
| 44 | + private Integer originalPrice; | ||
| 45 | + | ||
| 46 | + @ApiModelProperty(value = "商品原价(单)", required = true, example = "100", notes = "单位:分") | ||
| 47 | + private Integer originalUnitPrice; | ||
| 48 | + | ||
| 49 | + @ApiModelProperty(value = "商品优惠(总)", required = true, example = "100", notes = "单位:分") | ||
| 50 | + private Integer discountPrice; | ||
| 51 | + | ||
| 52 | + @ApiModelProperty(value = "商品实付金额(总)", required = true, example = "100", notes = "单位:分") | ||
| 53 | + private Integer payPrice; | ||
| 54 | + | ||
| 55 | + @ApiModelProperty(value = "子订单分摊金额(总)", required = true, example = "100", notes = "单位:分") | ||
| 56 | + private Integer orderPartPrice; | ||
| 57 | + | ||
| 58 | + @ApiModelProperty(value = "分摊后子订单实付金额(总)", required = true, example = "100", notes = "单位:分") | ||
| 59 | + private Integer orderDividePrice; | ||
| 60 | + | ||
| 61 | + // ========== 营销基本信息 ========== | ||
| 62 | + | ||
| 63 | + // TODO 芋艿:在捉摸一下 | ||
| 64 | + | ||
| 65 | + // ========== 售后基本信息 ========== | ||
| 66 | + | ||
| 67 | + @ApiModelProperty(value = "售后状态", required = true, example = "1", notes = "参见 TradeOrderItemAfterSaleStatusEnum 枚举类") | ||
| 68 | + private Integer afterSaleStatus; | ||
| 69 | + | ||
| 70 | +} |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderPageItemRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.trade.controller.admin.order.vo; | ||
| 2 | + | ||
| 3 | +import cn.iocoder.yudao.module.trade.controller.admin.base.product.property.ProductPropertyValueDetailRespVO; | ||
| 4 | +import io.swagger.annotations.ApiModel; | ||
| 5 | +import lombok.Data; | ||
| 6 | + | ||
| 7 | +import java.util.List; | ||
| 8 | + | ||
| 9 | +@ApiModel("管理后台 - 交易订单的分页项 Response VO") | ||
| 10 | +@Data | ||
| 11 | +public class TradeOrderPageItemRespVO { | ||
| 12 | + | ||
| 13 | + /** | ||
| 14 | + * 订单项列表 | ||
| 15 | + */ | ||
| 16 | + private List<Item> items; | ||
| 17 | + | ||
| 18 | + @ApiModel("管理后台 - 交易订单的分页项的订单项目") | ||
| 19 | + @Data | ||
| 20 | + public static class Item extends TradeOrderItemBaseVO { | ||
| 21 | + | ||
| 22 | + /** | ||
| 23 | + * 规格值数组 | ||
| 24 | + */ | ||
| 25 | + private List<ProductPropertyValueDetailRespVO> properties; | ||
| 26 | + | ||
| 27 | + } | ||
| 28 | + | ||
| 29 | +} |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderPageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.trade.controller.admin.order.vo; | ||
| 2 | + | ||
| 3 | +import cn.iocoder.yudao.framework.common.validation.InEnum; | ||
| 4 | +import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; | ||
| 5 | +import io.swagger.annotations.ApiModel; | ||
| 6 | +import io.swagger.annotations.ApiModelProperty; | ||
| 7 | +import lombok.Data; | ||
| 8 | + | ||
| 9 | +@ApiModel("管理后台 - 交易订单的分页 Request VO") | ||
| 10 | +@Data | ||
| 11 | +public class TradeOrderPageReqVO { | ||
| 12 | + | ||
| 13 | + @ApiModelProperty(value = "订单状态", example = "1", notes = "参见 TradeOrderStatusEnum 枚举") | ||
| 14 | + @InEnum(value = TradeOrderStatusEnum.class, message = "订单状态必须是 {value}") | ||
| 15 | + private Integer status; | ||
| 16 | + | ||
| 17 | +} |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/base/property/AppProductPropertyValueDetailRespVO.java
| @@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel; | @@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel; | ||
| 4 | import io.swagger.annotations.ApiModelProperty; | 4 | import io.swagger.annotations.ApiModelProperty; |
| 5 | import lombok.Data; | 5 | import lombok.Data; |
| 6 | 6 | ||
| 7 | -@ApiModel("用户 App - 规格 + 规格值 Response VO") | 7 | +@ApiModel("用户 App - 商品规格 + 规格值的明细 Response VO") |
| 8 | @Data | 8 | @Data |
| 9 | public class AppProductPropertyValueDetailRespVO { | 9 | public class AppProductPropertyValueDetailRespVO { |
| 10 | 10 |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java
| @@ -8,8 +8,8 @@ import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; | @@ -8,8 +8,8 @@ import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; | ||
| 8 | import cn.iocoder.yudao.module.pay.api.notify.dto.PayOrderNotifyReqDTO; | 8 | import cn.iocoder.yudao.module.pay.api.notify.dto.PayOrderNotifyReqDTO; |
| 9 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; | 9 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; |
| 10 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderGetCreateInfoRespVO; | 10 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderGetCreateInfoRespVO; |
| 11 | -import cn.iocoder.yudao.module.trade.controller.app.order.vo.TradeOrderPageReqVO; | ||
| 12 | -import cn.iocoder.yudao.module.trade.controller.app.order.vo.TradeOrderRespVO; | 11 | +import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderPageReqVO; |
| 12 | +import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderRespVO; | ||
| 13 | import cn.iocoder.yudao.module.trade.service.order.TradeOrderService; | 13 | import cn.iocoder.yudao.module.trade.service.order.TradeOrderService; |
| 14 | import io.swagger.annotations.Api; | 14 | import io.swagger.annotations.Api; |
| 15 | import io.swagger.annotations.ApiImplicitParam; | 15 | import io.swagger.annotations.ApiImplicitParam; |
| @@ -65,14 +65,14 @@ public class AppTradeOrderController { | @@ -65,14 +65,14 @@ public class AppTradeOrderController { | ||
| 65 | @GetMapping("/get") | 65 | @GetMapping("/get") |
| 66 | @ApiOperation("获得交易订单") | 66 | @ApiOperation("获得交易订单") |
| 67 | @ApiImplicitParam(name = "tradeOrderId", value = "交易订单编号", required = true, dataTypeClass = Long.class) | 67 | @ApiImplicitParam(name = "tradeOrderId", value = "交易订单编号", required = true, dataTypeClass = Long.class) |
| 68 | - public CommonResult<TradeOrderRespVO> getTradeOrder(@RequestParam("tradeOrderId") Integer tradeOrderId) { | 68 | + public CommonResult<AppTradeOrderRespVO> getTradeOrder(@RequestParam("tradeOrderId") Integer tradeOrderId) { |
| 69 | // return success(tradeOrderService.getTradeOrder(tradeOrderId)); | 69 | // return success(tradeOrderService.getTradeOrder(tradeOrderId)); |
| 70 | return null; | 70 | return null; |
| 71 | } | 71 | } |
| 72 | 72 | ||
| 73 | @GetMapping("/page") | 73 | @GetMapping("/page") |
| 74 | @ApiOperation("获得订单交易分页") | 74 | @ApiOperation("获得订单交易分页") |
| 75 | - public CommonResult<PageResult<TradeOrderRespVO>> pageTradeOrder(TradeOrderPageReqVO pageVO) { | 75 | + public CommonResult<PageResult<AppTradeOrderRespVO>> pageTradeOrder(AppTradeOrderPageReqVO pageVO) { |
| 76 | // return success(tradeOrderService.pageTradeOrder(UserSecurityContextHolder.getUserId(), pageVO)); | 76 | // return success(tradeOrderService.pageTradeOrder(UserSecurityContextHolder.getUserId(), pageVO)); |
| 77 | return null; | 77 | return null; |
| 78 | } | 78 | } |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/TradeOrderItemRespVO.java renamed to yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderItemRespVO.java
| @@ -6,9 +6,10 @@ import lombok.Data; | @@ -6,9 +6,10 @@ import lombok.Data; | ||
| 6 | 6 | ||
| 7 | import java.time.LocalDateTime; | 7 | import java.time.LocalDateTime; |
| 8 | 8 | ||
| 9 | +// TODO 芋艿:字段优化 | ||
| 9 | @ApiModel("交易订单项 Response VO") | 10 | @ApiModel("交易订单项 Response VO") |
| 10 | @Data | 11 | @Data |
| 11 | -public class TradeOrderItemRespVO { | 12 | +public class AppTradeOrderItemRespVO { |
| 12 | 13 | ||
| 13 | @ApiModelProperty(value = "id自增长", required = true) | 14 | @ApiModelProperty(value = "id自增长", required = true) |
| 14 | private Integer id; | 15 | private Integer id; |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/TradeOrderPageReqVO.java renamed to yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderPageReqVO.java
| @@ -6,10 +6,11 @@ import io.swagger.annotations.ApiModelProperty; | @@ -6,10 +6,11 @@ import io.swagger.annotations.ApiModelProperty; | ||
| 6 | import lombok.Data; | 6 | import lombok.Data; |
| 7 | import lombok.EqualsAndHashCode; | 7 | import lombok.EqualsAndHashCode; |
| 8 | 8 | ||
| 9 | +// TODO 芋艿:字段优化 | ||
| 9 | @ApiModel("交易订单分页 Request VO") | 10 | @ApiModel("交易订单分页 Request VO") |
| 10 | @Data | 11 | @Data |
| 11 | @EqualsAndHashCode(callSuper = true) | 12 | @EqualsAndHashCode(callSuper = true) |
| 12 | -public class TradeOrderPageReqVO extends PageParam { | 13 | +public class AppTradeOrderPageReqVO extends PageParam { |
| 13 | 14 | ||
| 14 | @ApiModelProperty(value = "订单状态", example = "1", notes = "参见 TradeOrderStatusEnum 枚举") | 15 | @ApiModelProperty(value = "订单状态", example = "1", notes = "参见 TradeOrderStatusEnum 枚举") |
| 15 | private Integer orderStatus; | 16 | private Integer orderStatus; |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/TradeOrderRespVO.java renamed to yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderRespVO.java
| @@ -6,9 +6,10 @@ import io.swagger.annotations.*; | @@ -6,9 +6,10 @@ import io.swagger.annotations.*; | ||
| 6 | import java.time.LocalDateTime; | 6 | import java.time.LocalDateTime; |
| 7 | import java.util.*; | 7 | import java.util.*; |
| 8 | 8 | ||
| 9 | +// TODO 芋艿:字段优化 | ||
| 9 | @ApiModel("订单交易 Response VO") | 10 | @ApiModel("订单交易 Response VO") |
| 10 | @Data | 11 | @Data |
| 11 | -public class TradeOrderRespVO { | 12 | +public class AppTradeOrderRespVO { |
| 12 | 13 | ||
| 13 | @ApiModelProperty(value = "订单编号", required = true) | 14 | @ApiModelProperty(value = "订单编号", required = true) |
| 14 | private Integer id; | 15 | private Integer id; |
| @@ -66,7 +67,7 @@ public class TradeOrderRespVO { | @@ -66,7 +67,7 @@ public class TradeOrderRespVO { | ||
| 66 | * | 67 | * |
| 67 | * // TODO 芋艿,后续考虑怎么优化下,目前是内嵌了别的 dto | 68 | * // TODO 芋艿,后续考虑怎么优化下,目前是内嵌了别的 dto |
| 68 | */ | 69 | */ |
| 69 | - private List<TradeOrderItemRespVO> orderItems; | 70 | + private List<AppTradeOrderItemRespVO> orderItems; |
| 70 | 71 | ||
| 71 | 72 | ||
| 72 | } | 73 | } |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderDO.java
| @@ -47,7 +47,7 @@ public class TradeOrderDO extends BaseDO { | @@ -47,7 +47,7 @@ public class TradeOrderDO extends BaseDO { | ||
| 47 | */ | 47 | */ |
| 48 | private Integer type; // TODO order_promotion_type | 48 | private Integer type; // TODO order_promotion_type |
| 49 | /** | 49 | /** |
| 50 | - * 订单来源终端 | 50 | + * 订单来源 |
| 51 | * | 51 | * |
| 52 | * 枚举 {@link TerminalEnum} | 52 | * 枚举 {@link TerminalEnum} |
| 53 | */ | 53 | */ |
| @@ -97,6 +97,10 @@ public class TradeOrderDO extends BaseDO { | @@ -97,6 +97,10 @@ public class TradeOrderDO extends BaseDO { | ||
| 97 | 97 | ||
| 98 | // ========== 价格 + 支付基本信息 ========== | 98 | // ========== 价格 + 支付基本信息 ========== |
| 99 | 99 | ||
| 100 | + // 价格文档 - 淘宝:https://open.taobao.com/docV3.htm?docId=108471&docType=1 | ||
| 101 | + // 价格文档 - 京东到家:https://openo2o.jddj.com/api/getApiDetail/182/4d1494c5e7ac4679bfdaaed950c5bc7f.htm | ||
| 102 | + // 价格文档 - 有赞:https://doc.youzanyun.com/detail/API/0/906 | ||
| 103 | + | ||
| 100 | /** | 104 | /** |
| 101 | * 支付订单编号 | 105 | * 支付订单编号 |
| 102 | * | 106 | * |
| @@ -115,17 +119,12 @@ public class TradeOrderDO extends BaseDO { | @@ -115,17 +119,12 @@ public class TradeOrderDO extends BaseDO { | ||
| 115 | */ | 119 | */ |
| 116 | private LocalDateTime payTime; | 120 | private LocalDateTime payTime; |
| 117 | /** | 121 | /** |
| 118 | - * 支付成功的支付渠道 | 122 | + * 支付渠道 |
| 119 | * | 123 | * |
| 120 | * 对应 PayChannelEnum 枚举 | 124 | * 对应 PayChannelEnum 枚举 |
| 121 | */ | 125 | */ |
| 122 | private String payChannelCode; | 126 | private String payChannelCode; |
| 123 | 127 | ||
| 124 | - // ========== 价格 + 支付基本信息 ========== | ||
| 125 | - // 价格文档 - 淘宝:https://open.taobao.com/docV3.htm?docId=108471&docType=1 | ||
| 126 | - // 价格文档 - 京东到家:https://openo2o.jddj.com/api/getApiDetail/182/4d1494c5e7ac4679bfdaaed950c5bc7f.htm | ||
| 127 | - // 价格文档 - 有赞:https://doc.youzanyun.com/detail/API/0/906 | ||
| 128 | - | ||
| 129 | /** | 128 | /** |
| 130 | * 商品原价(总),单位:分 | 129 | * 商品原价(总),单位:分 |
| 131 | * | 130 | * |
| @@ -222,7 +221,7 @@ public class TradeOrderDO extends BaseDO { | @@ -222,7 +221,7 @@ public class TradeOrderDO extends BaseDO { | ||
| 222 | */ | 221 | */ |
| 223 | private String receiverDetailAddress; | 222 | private String receiverDetailAddress; |
| 224 | 223 | ||
| 225 | - // ========== 退款基本信息 ========== | 224 | + // ========== 售后基本信息 ========== |
| 226 | /** | 225 | /** |
| 227 | * 收货状态 | 226 | * 收货状态 |
| 228 | * | 227 | * |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderItemDO.java
| @@ -140,7 +140,7 @@ public class TradeOrderItemDO extends BaseDO { | @@ -140,7 +140,7 @@ public class TradeOrderItemDO extends BaseDO { | ||
| 140 | 140 | ||
| 141 | // TODO 芋艿:在捉摸一下 | 141 | // TODO 芋艿:在捉摸一下 |
| 142 | 142 | ||
| 143 | - // ========== 退款基本信息 ========== | 143 | + // ========== 售后基本信息 ========== |
| 144 | /** | 144 | /** |
| 145 | * 售后状态 | 145 | * 售后状态 |
| 146 | * | 146 | * |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderService.java
| 1 | package cn.iocoder.yudao.module.trade.service.order; | 1 | package cn.iocoder.yudao.module.trade.service.order; |
| 2 | 2 | ||
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 3 | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderDeliveryReqVO; | 4 | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderDeliveryReqVO; |
| 5 | +import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderPageReqVO; | ||
| 4 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; | 6 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; |
| 5 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; | 7 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; |
| 6 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; | 8 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; |
| @@ -58,6 +60,14 @@ public interface TradeOrderService { | @@ -58,6 +60,14 @@ public interface TradeOrderService { | ||
| 58 | */ | 60 | */ |
| 59 | TradeOrderDO getOrder(Long userId, Long id); | 61 | TradeOrderDO getOrder(Long userId, Long id); |
| 60 | 62 | ||
| 63 | + /** | ||
| 64 | + * 获得交易订单分页 | ||
| 65 | + * | ||
| 66 | + * @param reqVO 分页请求 | ||
| 67 | + * @return 交易订单 | ||
| 68 | + */ | ||
| 69 | + PageResult<TradeOrderDO> getOrderPage(TradeOrderPageReqVO reqVO); | ||
| 70 | + | ||
| 61 | // =================== Order Item =================== | 71 | // =================== Order Item =================== |
| 62 | 72 | ||
| 63 | /** | 73 | /** |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderServiceImpl.java
| @@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil; | @@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil; | ||
| 6 | import cn.iocoder.yudao.framework.common.core.KeyValue; | 6 | import cn.iocoder.yudao.framework.common.core.KeyValue; |
| 7 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 7 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 8 | import cn.iocoder.yudao.framework.common.enums.TerminalEnum; | 8 | import cn.iocoder.yudao.framework.common.enums.TerminalEnum; |
| 9 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 9 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | 10 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 10 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | 11 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 11 | import cn.iocoder.yudao.module.member.api.address.AddressApi; | 12 | import cn.iocoder.yudao.module.member.api.address.AddressApi; |
| @@ -25,6 +26,7 @@ import cn.iocoder.yudao.module.promotion.api.coupon.dto.CouponUseReqDTO; | @@ -25,6 +26,7 @@ import cn.iocoder.yudao.module.promotion.api.coupon.dto.CouponUseReqDTO; | ||
| 25 | import cn.iocoder.yudao.module.promotion.api.price.PriceApi; | 26 | import cn.iocoder.yudao.module.promotion.api.price.PriceApi; |
| 26 | import cn.iocoder.yudao.module.promotion.api.price.dto.PriceCalculateRespDTO; | 27 | import cn.iocoder.yudao.module.promotion.api.price.dto.PriceCalculateRespDTO; |
| 27 | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderDeliveryReqVO; | 28 | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderDeliveryReqVO; |
| 29 | +import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderPageReqVO; | ||
| 28 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; | 30 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; |
| 29 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO.Item; | 31 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO.Item; |
| 30 | import cn.iocoder.yudao.module.trade.convert.order.TradeOrderConvert; | 32 | import cn.iocoder.yudao.module.trade.convert.order.TradeOrderConvert; |
| @@ -419,6 +421,11 @@ public class TradeOrderServiceImpl implements TradeOrderService { | @@ -419,6 +421,11 @@ public class TradeOrderServiceImpl implements TradeOrderService { | ||
| 419 | return order; | 421 | return order; |
| 420 | } | 422 | } |
| 421 | 423 | ||
| 424 | + @Override | ||
| 425 | + public PageResult<TradeOrderDO> getOrderPage(TradeOrderPageReqVO reqVO) { | ||
| 426 | + return null; | ||
| 427 | + } | ||
| 428 | + | ||
| 422 | // =================== Order Item =================== | 429 | // =================== Order Item =================== |
| 423 | 430 | ||
| 424 | @Override | 431 | @Override |