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 package cn.iocoder.yudao.module.trade.controller.app.order.vo; 1 package cn.iocoder.yudao.module.trade.controller.app.order.vo;
2 2
3 import cn.iocoder.yudao.framework.common.validation.InEnum; 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 import cn.iocoder.yudao.module.trade.enums.order.TradeOrderTypeEnum; 6 import cn.iocoder.yudao.module.trade.enums.order.TradeOrderTypeEnum;
5 import com.fasterxml.jackson.annotation.JsonIgnore; 7 import com.fasterxml.jackson.annotation.JsonIgnore;
6 import io.swagger.v3.oas.annotations.media.Schema; 8 import io.swagger.v3.oas.annotations.media.Schema;
@@ -9,6 +11,7 @@ import lombok.Data; @@ -9,6 +11,7 @@ import lombok.Data;
9 import javax.validation.Valid; 11 import javax.validation.Valid;
10 import javax.validation.constraints.AssertTrue; 12 import javax.validation.constraints.AssertTrue;
11 import javax.validation.constraints.Min; 13 import javax.validation.constraints.Min;
  14 +import javax.validation.constraints.NotEmpty;
12 import javax.validation.constraints.NotNull; 15 import javax.validation.constraints.NotNull;
13 import java.util.List; 16 import java.util.List;
14 17
@@ -19,17 +22,32 @@ public class AppTradeOrderSettlementReqVO { @@ -19,17 +22,32 @@ public class AppTradeOrderSettlementReqVO {
19 @NotNull(message = "交易类型不能为空") 22 @NotNull(message = "交易类型不能为空")
20 @InEnum(value = TradeOrderTypeEnum.class, message = "交易类型必须是 {value}") 23 @InEnum(value = TradeOrderTypeEnum.class, message = "交易类型必须是 {value}")
21 @Deprecated // TODO 芋艿:后续干掉这个字段,对于前端不需要关注这个 24 @Deprecated // TODO 芋艿:后续干掉这个字段,对于前端不需要关注这个
22 - private Integer type; 25 + private Integer type = 1;
23 26
24 @Schema(description = "商品项数组", requiredMode = Schema.RequiredMode.REQUIRED) 27 @Schema(description = "商品项数组", requiredMode = Schema.RequiredMode.REQUIRED)
25 - @NotNull(message = "商品不能为空") 28 + @NotEmpty(message = "商品不能为空")
26 private List<Item> items; 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 @Schema(description = "收件地址编号", example = "1") 43 @Schema(description = "收件地址编号", example = "1")
29 private Long addressId; 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 @Schema(description = "秒杀活动编号", example = "1024") 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,12 +6,16 @@ import lombok.AllArgsConstructor;
6 import lombok.Data; 6 import lombok.Data;
7 import lombok.NoArgsConstructor; 7 import lombok.NoArgsConstructor;
8 8
  9 +import javax.validation.constraints.NotNull;
9 import java.util.List; 10 import java.util.List;
10 11
11 @Schema(description = "用户 App - 交易订单结算信息 Response VO") 12 @Schema(description = "用户 App - 交易订单结算信息 Response VO")
12 @Data 13 @Data
13 public class AppTradeOrderSettlementRespVO { 14 public class AppTradeOrderSettlementRespVO {
14 15
  16 + @Schema(description = "交易类型", required = true, example = "1") // 对应 TradeOrderTypeEnum 枚举
  17 + private Integer type = 1; // TODO 芋艿:改成计算
  18 +
15 @Schema(description = "购物项数组", requiredMode = Schema.RequiredMode.REQUIRED) 19 @Schema(description = "购物项数组", requiredMode = Schema.RequiredMode.REQUIRED)
16 private List<Item> items; 20 private List<Item> items;
17 21
@@ -21,6 +25,12 @@ public class AppTradeOrderSettlementRespVO { @@ -21,6 +25,12 @@ public class AppTradeOrderSettlementRespVO {
21 @Schema(description = "收件地址", requiredMode = Schema.RequiredMode.REQUIRED) 25 @Schema(description = "收件地址", requiredMode = Schema.RequiredMode.REQUIRED)
22 private Address address; 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 @Schema(description = "购物项") 34 @Schema(description = "购物项")
25 @Data 35 @Data
26 public static class Item { 36 public static class Item {
@@ -90,26 +100,17 @@ public class AppTradeOrderSettlementRespVO { @@ -90,26 +100,17 @@ public class AppTradeOrderSettlementRespVO {
90 @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15601691300") 100 @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15601691300")
91 private String mobile; 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 @Schema(description = "详细地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "望京悠乐汇 A 座") 109 @Schema(description = "详细地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "望京悠乐汇 A 座")
109 private String detailAddress; 110 private String detailAddress;
110 111
111 @Schema(description = "是否默认收件地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") 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,7 +3,6 @@ package cn.iocoder.yudao.module.trade.convert.order;
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 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.collection.CollectionUtils; 5 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
6 -import cn.iocoder.yudao.framework.ip.core.Area;  
7 import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils; 6 import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils;
8 import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO; 7 import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO;
9 import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; 8 import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
@@ -303,14 +302,11 @@ public interface TradeOrderConvert { @@ -303,14 +302,11 @@ public interface TradeOrderConvert {
303 default AppTradeOrderSettlementRespVO convert(TradePriceCalculateRespBO calculate, AddressRespDTO address) { 302 default AppTradeOrderSettlementRespVO convert(TradePriceCalculateRespBO calculate, AddressRespDTO address) {
304 AppTradeOrderSettlementRespVO respVO = convert0(calculate, address); 303 AppTradeOrderSettlementRespVO respVO = convert0(calculate, address);
305 if (address != null) { 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 return respVO; 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,6 +176,7 @@ public class TradeOrderDO extends BaseDO {
176 * 176 *
177 * 关联 DeliveryTemplateDO 的 id 编号 177 * 关联 DeliveryTemplateDO 的 id 编号
178 */ 178 */
  179 + // TODO 芋艿:需要删除
179 private Long deliveryTemplateId; 180 private Long deliveryTemplateId;
180 /** 181 /**
181 * 发货物流公司编号 182 * 发货物流公司编号
@@ -243,6 +244,7 @@ public class TradeOrderDO extends BaseDO { @@ -243,6 +244,7 @@ public class TradeOrderDO extends BaseDO {
243 * 对应 taobao 的 trade.coupon_fee 字段 244 * 对应 taobao 的 trade.coupon_fee 字段
244 */ 245 */
245 private Integer couponPrice; 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,18 +31,12 @@ public class AddressRespDTO {
31 */ 31 */
32 private Integer areaId; 32 private Integer areaId;
33 /** 33 /**
34 - * 邮编  
35 - */  
36 - private String postCode;  
37 - /**  
38 * 收件详细地址 34 * 收件详细地址
39 */ 35 */
40 private String detailAddress; 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 }