Commit 3750dc76c7689ba4b6454ceabe6115346a5d73a0

Authored by YunaiV
1 parent ef656cf7

mall + trade:

1、获取订单结算信息,增加积分的 mock 返回
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderSettlementReqVO.java
1 1 package cn.iocoder.yudao.module.trade.controller.app.order.vo;
2 2  
3 3 import cn.iocoder.yudao.framework.common.validation.InEnum;
  4 +import cn.iocoder.yudao.framework.common.validation.Mobile;
  5 +import cn.iocoder.yudao.module.trade.enums.delivery.DeliveryTypeEnum;
4 6 import cn.iocoder.yudao.module.trade.enums.order.TradeOrderTypeEnum;
5 7 import com.fasterxml.jackson.annotation.JsonIgnore;
6 8 import io.swagger.v3.oas.annotations.media.Schema;
... ... @@ -9,6 +11,7 @@ import lombok.Data;
9 11 import javax.validation.Valid;
10 12 import javax.validation.constraints.AssertTrue;
11 13 import javax.validation.constraints.Min;
  14 +import javax.validation.constraints.NotEmpty;
12 15 import javax.validation.constraints.NotNull;
13 16 import java.util.List;
14 17  
... ... @@ -19,17 +22,32 @@ public class AppTradeOrderSettlementReqVO {
19 22 @NotNull(message = "交易类型不能为空")
20 23 @InEnum(value = TradeOrderTypeEnum.class, message = "交易类型必须是 {value}")
21 24 @Deprecated // TODO 芋艿:后续干掉这个字段,对于前端不需要关注这个
22   - private Integer type;
  25 + private Integer type = 1;
23 26  
24 27 @Schema(description = "商品项数组", requiredMode = Schema.RequiredMode.REQUIRED)
25   - @NotNull(message = "商品不能为空")
  28 + @NotEmpty(message = "商品不能为空")
26 29 private List<Item> items;
27 30  
  31 + @Schema(description = "优惠劵编号", example = "1024")
  32 + private Long couponId;
  33 +
  34 + @Schema(description = "是否使用积分", required = true, example = "true")
  35 + @NotNull(message = "是否使用积分不能为空")
  36 + private Boolean pointStatus;
  37 +
  38 + // ========== 配送相关相关字段 ==========
  39 + @Schema(description = "配送方式", required = true, example = "1")
  40 + @InEnum(value = DeliveryTypeEnum.class, message = "配送方式不正确")
  41 + private Integer deliveryType;
  42 +
28 43 @Schema(description = "收件地址编号", example = "1")
29 44 private Long addressId;
30 45  
31   - @Schema(description = "优惠劵编号", example = "1024")
32   - private Long couponId;
  46 + @Schema(description = "收件人名称", example = "芋艿") // 选择门店自提时,该字段为联系人名
  47 + private String receiverName;
  48 + @Schema(description = "收件人手机", example = "15601691300") // 选择门店自提时,该字段为联系人手机
  49 + @Mobile(message = "收件人手机格式不正确")
  50 + private String receiverMobile;
33 51  
34 52 // ========== 秒杀活动相关字段 ==========
35 53 @Schema(description = "秒杀活动编号", example = "1024")
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderSettlementRespVO.java
... ... @@ -6,12 +6,16 @@ import lombok.AllArgsConstructor;
6 6 import lombok.Data;
7 7 import lombok.NoArgsConstructor;
8 8  
  9 +import javax.validation.constraints.NotNull;
9 10 import java.util.List;
10 11  
11 12 @Schema(description = "用户 App - 交易订单结算信息 Response VO")
12 13 @Data
13 14 public class AppTradeOrderSettlementRespVO {
14 15  
  16 + @Schema(description = "交易类型", required = true, example = "1") // 对应 TradeOrderTypeEnum 枚举
  17 + private Integer type = 1; // TODO 芋艿:改成计算
  18 +
15 19 @Schema(description = "购物项数组", requiredMode = Schema.RequiredMode.REQUIRED)
16 20 private List<Item> items;
17 21  
... ... @@ -21,6 +25,12 @@ public class AppTradeOrderSettlementRespVO {
21 25 @Schema(description = "收件地址", requiredMode = Schema.RequiredMode.REQUIRED)
22 26 private Address address;
23 27  
  28 + @Schema(description = "已使用的积分", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
  29 + private Integer usedPoint;
  30 +
  31 + @Schema(description = "总积分", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
  32 + private Integer totalPoint;
  33 +
24 34 @Schema(description = "购物项")
25 35 @Data
26 36 public static class Item {
... ... @@ -90,26 +100,17 @@ public class AppTradeOrderSettlementRespVO {
90 100 @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15601691300")
91 101 private String mobile;
92 102  
93   - @Schema(description = "省份编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
94   - private Integer provinceId;
95   - @Schema(description = "省份名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "北京")
96   - private String provinceName;
97   -
98   - @Schema(description = "城市编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
99   - private Integer cityId;
100   - @Schema(description = "城市名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "北京")
101   - private String cityName;
102   -
103   - @Schema(description = "地区编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
104   - private Integer districtId;
105   - @Schema(description = "地区名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "朝阳区")
106   - private String districtName;
  103 + @Schema(description = "地区编号", requiredMode = Schema.RequiredMode.REQUIRED)
  104 + @NotNull(message = "地区编号不能为空")
  105 + private Long areaId;
  106 + @Schema(description = "地区名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "上海上海市普陀区")
  107 + private String areaName;
107 108  
108 109 @Schema(description = "详细地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "望京悠乐汇 A 座")
109 110 private String detailAddress;
110 111  
111 112 @Schema(description = "是否默认收件地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
112   - private Boolean defaulted;
  113 + private Boolean defaultStatus;
113 114  
114 115 }
115 116  
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/order/TradeOrderConvert.java
... ... @@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.trade.convert.order;
3 3 import cn.hutool.core.collection.CollUtil;
4 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 5 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
6   -import cn.iocoder.yudao.framework.ip.core.Area;
7 6 import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils;
8 7 import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO;
9 8 import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
... ... @@ -303,14 +302,11 @@ public interface TradeOrderConvert {
303 302 default AppTradeOrderSettlementRespVO convert(TradePriceCalculateRespBO calculate, AddressRespDTO address) {
304 303 AppTradeOrderSettlementRespVO respVO = convert0(calculate, address);
305 304 if (address != null) {
306   - Area area = AreaUtils.getArea(address.getAreaId());
307   - respVO.getAddress().setDistrictId(area.getId());
308   - respVO.getAddress().setDistrictName(area.getName());
309   - respVO.getAddress().setCityId(area.getParent().getId());
310   - respVO.getAddress().setCityName(area.getParent().getName());
311   - respVO.getAddress().setProvinceId(area.getParent().getParent().getId());
312   - respVO.getAddress().setProvinceName(area.getParent().getParent().getName());
  305 + respVO.getAddress().setAreaName(AreaUtils.format(address.getAreaId()));
313 306 }
  307 + // TODO 芋艿:积分的接入;
  308 + respVO.setUsedPoint(1);
  309 + respVO.setTotalPoint(100);
314 310 return respVO;
315 311 }
316 312  
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderDO.java
... ... @@ -176,6 +176,7 @@ public class TradeOrderDO extends BaseDO {
176 176 *
177 177 * 关联 DeliveryTemplateDO 的 id 编号
178 178 */
  179 + // TODO 芋艿:需要删除
179 180 private Long deliveryTemplateId;
180 181 /**
181 182 * 发货物流公司编号
... ... @@ -243,6 +244,7 @@ public class TradeOrderDO extends BaseDO {
243 244 * 对应 taobao 的 trade.coupon_fee 字段
244 245 */
245 246 private Integer couponPrice;
  247 + // TODO 芋艿:需要记录使用的积分;
246 248 /**
247 249 * 积分抵扣的金额,单位:分
248 250 *
... ...
yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/address/dto/AddressRespDTO.java
... ... @@ -31,18 +31,12 @@ public class AddressRespDTO {
31 31 */
32 32 private Integer areaId;
33 33 /**
34   - * 邮编
35   - */
36   - private String postCode;
37   - /**
38 34 * 收件详细地址
39 35 */
40 36 private String detailAddress;
41 37 /**
42 38 * 是否默认
43   - *
44   - * true - 默认收件地址
45 39 */
46   - private Boolean defaulted;
  40 + private Boolean defaultStatus;
47 41  
48 42 }
... ...