Commit 3750dc76c7689ba4b6454ceabe6115346a5d73a0
1 parent
ef656cf7
mall + trade:
1、获取订单结算信息,增加积分的 mock 返回
Showing
5 changed files
with
45 additions
and
34 deletions
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 | } | ... | ... |