Commit d10f49b6a7b6b03f89b464ee8e278908a7bf712c
1 parent
636cc794
promotion:优化价格计算的接口,增加 orderPrice 字段
Showing
9 changed files
with
61 additions
and
28 deletions
yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/price/dto/PriceCalculateRespDTO.java
| @@ -48,10 +48,18 @@ public class PriceCalculateRespDTO { | @@ -48,10 +48,18 @@ public class PriceCalculateRespDTO { | ||
| 48 | * 商品原价(总),单位:分 | 48 | * 商品原价(总),单位:分 |
| 49 | * | 49 | * |
| 50 | * 基于 {@link OrderItem#getOriginalPrice()} 求和 | 50 | * 基于 {@link OrderItem#getOriginalPrice()} 求和 |
| 51 | + * | ||
| 51 | * 对应 taobao 的 trade.total_fee 字段 | 52 | * 对应 taobao 的 trade.total_fee 字段 |
| 52 | */ | 53 | */ |
| 53 | private Integer originalPrice; | 54 | private Integer originalPrice; |
| 54 | /** | 55 | /** |
| 56 | + * 订单原价(总),单位:分 | ||
| 57 | + * | ||
| 58 | + * 基于 {@link OrderItem#getPayPrice()} 求和 | ||
| 59 | + * 和 {@link #originalPrice} 的差异:去除商品级优惠 | ||
| 60 | + */ | ||
| 61 | + private Integer orderPrice; | ||
| 62 | + /** | ||
| 55 | * 订单优惠(总),单位:分 | 63 | * 订单优惠(总),单位:分 |
| 56 | * | 64 | * |
| 57 | * 订单级优惠:对主订单的优惠,常见如:订单满 200 元减 10 元;订单满 80 包邮。 | 65 | * 订单级优惠:对主订单的优惠,常见如:订单满 200 元减 10 元;订单满 80 包邮。 |
| @@ -82,6 +90,7 @@ public class PriceCalculateRespDTO { | @@ -82,6 +90,7 @@ public class PriceCalculateRespDTO { | ||
| 82 | * - {@link #couponPrice} | 90 | * - {@link #couponPrice} |
| 83 | * - {@link #pointPrice} | 91 | * - {@link #pointPrice} |
| 84 | * + {@link #deliveryPrice} | 92 | * + {@link #deliveryPrice} |
| 93 | + * - {@link #discountPrice} | ||
| 85 | */ | 94 | */ |
| 86 | private Integer payPrice; | 95 | private Integer payPrice; |
| 87 | /** | 96 | /** |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/convert/price/PriceConvert.java
| @@ -36,7 +36,8 @@ public interface PriceConvert { | @@ -36,7 +36,8 @@ public interface PriceConvert { | ||
| 36 | orderItem.setPayPrice(orderItem.getOriginalPrice()).setOrderDividePrice(orderItem.getOriginalPrice()); | 36 | orderItem.setPayPrice(orderItem.getOriginalPrice()).setOrderDividePrice(orderItem.getOriginalPrice()); |
| 37 | priceCalculate.getOrder().getItems().add(orderItem); | 37 | priceCalculate.getOrder().getItems().add(orderItem); |
| 38 | // 补充价格信息到 Order 中 | 38 | // 补充价格信息到 Order 中 |
| 39 | - order.setOriginalPrice(order.getOriginalPrice() + orderItem.getOriginalPrice()).setPayPrice(order.getOriginalPrice()); | 39 | + order.setOriginalPrice(order.getOriginalPrice() + orderItem.getOriginalPrice()) |
| 40 | + .setOrderPrice(order.getOriginalPrice()).setPayPrice(order.getOriginalPrice()); | ||
| 40 | }); | 41 | }); |
| 41 | return priceCalculate; | 42 | return priceCalculate; |
| 42 | } | 43 | } |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/price/PriceServiceImpl.java
| @@ -420,13 +420,16 @@ public class PriceServiceImpl implements PriceService { | @@ -420,13 +420,16 @@ public class PriceServiceImpl implements PriceService { | ||
| 420 | */ | 420 | */ |
| 421 | private void modifyOrderItemPayPrice(PriceCalculateRespDTO.OrderItem orderItem, Integer newPayPrice, | 421 | private void modifyOrderItemPayPrice(PriceCalculateRespDTO.OrderItem orderItem, Integer newPayPrice, |
| 422 | PriceCalculateRespDTO priceCalculate) { | 422 | PriceCalculateRespDTO priceCalculate) { |
| 423 | + // diffPayPrice 等于额外增加的商品级的优惠 | ||
| 423 | int diffPayPrice = orderItem.getPayPrice() - newPayPrice; | 424 | int diffPayPrice = orderItem.getPayPrice() - newPayPrice; |
| 424 | // 设置 OrderItem 价格相关字段 | 425 | // 设置 OrderItem 价格相关字段 |
| 425 | orderItem.setDiscountPrice(orderItem.getDiscountPrice() + diffPayPrice); | 426 | orderItem.setDiscountPrice(orderItem.getDiscountPrice() + diffPayPrice); |
| 426 | orderItem.setPayPrice(newPayPrice); | 427 | orderItem.setPayPrice(newPayPrice); |
| 427 | orderItem.setOrderDividePrice(orderItem.getPayPrice() - orderItem.getOrderPartPrice()); | 428 | orderItem.setOrderDividePrice(orderItem.getPayPrice() - orderItem.getOrderPartPrice()); |
| 428 | // 设置 Order 相关相关字段 | 429 | // 设置 Order 相关相关字段 |
| 429 | - priceCalculate.getOrder().setPayPrice(priceCalculate.getOrder().getPayPrice() - diffPayPrice); | 430 | + PriceCalculateRespDTO.Order order = priceCalculate.getOrder(); |
| 431 | + order.setPayPrice(order.getPayPrice() - diffPayPrice); | ||
| 432 | + order.setOrderPrice(order.getOrderPrice() - diffPayPrice); | ||
| 430 | } | 433 | } |
| 431 | 434 | ||
| 432 | /** | 435 | /** |
yudao-module-mall/yudao-module-promotion-biz/src/test/java/cn/iocoder/yudao/module/promotion/service/price/PriceServiceTest.java
| @@ -64,6 +64,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest { | @@ -64,6 +64,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest { | ||
| 64 | // 断言 Order 部分 | 64 | // 断言 Order 部分 |
| 65 | PriceCalculateRespDTO.Order order = priceCalculate.getOrder(); | 65 | PriceCalculateRespDTO.Order order = priceCalculate.getOrder(); |
| 66 | assertEquals(order.getOriginalPrice(), 200); | 66 | assertEquals(order.getOriginalPrice(), 200); |
| 67 | + assertEquals(order.getOrderPrice(), 180); | ||
| 67 | assertEquals(order.getDiscountPrice(), 0); | 68 | assertEquals(order.getDiscountPrice(), 0); |
| 68 | assertEquals(order.getPointPrice(), 0); | 69 | assertEquals(order.getPointPrice(), 0); |
| 69 | assertEquals(order.getDeliveryPrice(), 0); | 70 | assertEquals(order.getDeliveryPrice(), 0); |
| @@ -126,6 +127,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest { | @@ -126,6 +127,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest { | ||
| 126 | // 断言 Order 部分 | 127 | // 断言 Order 部分 |
| 127 | PriceCalculateRespDTO.Order order = priceCalculate.getOrder(); | 128 | PriceCalculateRespDTO.Order order = priceCalculate.getOrder(); |
| 128 | assertEquals(order.getOriginalPrice(), 350); | 129 | assertEquals(order.getOriginalPrice(), 350); |
| 130 | + assertEquals(order.getOrderPrice(), 210); | ||
| 129 | assertEquals(order.getDiscountPrice(), 0); | 131 | assertEquals(order.getDiscountPrice(), 0); |
| 130 | assertEquals(order.getPointPrice(), 0); | 132 | assertEquals(order.getPointPrice(), 0); |
| 131 | assertEquals(order.getDeliveryPrice(), 0); | 133 | assertEquals(order.getDeliveryPrice(), 0); |
| @@ -217,6 +219,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest { | @@ -217,6 +219,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest { | ||
| 217 | // 断言 Order 部分 | 219 | // 断言 Order 部分 |
| 218 | PriceCalculateRespDTO.Order order = priceCalculate.getOrder(); | 220 | PriceCalculateRespDTO.Order order = priceCalculate.getOrder(); |
| 219 | assertEquals(order.getOriginalPrice(), 470); | 221 | assertEquals(order.getOriginalPrice(), 470); |
| 222 | + assertEquals(order.getOrderPrice(), 470); | ||
| 220 | assertEquals(order.getDiscountPrice(), 130); | 223 | assertEquals(order.getDiscountPrice(), 130); |
| 221 | assertEquals(order.getPointPrice(), 0); | 224 | assertEquals(order.getPointPrice(), 0); |
| 222 | assertEquals(order.getDeliveryPrice(), 0); | 225 | assertEquals(order.getDeliveryPrice(), 0); |
| @@ -314,6 +317,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest { | @@ -314,6 +317,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest { | ||
| 314 | // 断言 Order 部分 | 317 | // 断言 Order 部分 |
| 315 | PriceCalculateRespDTO.Order order = priceCalculate.getOrder(); | 318 | PriceCalculateRespDTO.Order order = priceCalculate.getOrder(); |
| 316 | assertEquals(order.getOriginalPrice(), 350); | 319 | assertEquals(order.getOriginalPrice(), 350); |
| 320 | + assertEquals(order.getOrderPrice(), 350); | ||
| 317 | assertEquals(order.getDiscountPrice(), 0); | 321 | assertEquals(order.getDiscountPrice(), 0); |
| 318 | assertEquals(order.getPointPrice(), 0); | 322 | assertEquals(order.getPointPrice(), 0); |
| 319 | assertEquals(order.getDeliveryPrice(), 0); | 323 | assertEquals(order.getDeliveryPrice(), 0); |
| @@ -386,6 +390,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest { | @@ -386,6 +390,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest { | ||
| 386 | // 断言 Order 部分 | 390 | // 断言 Order 部分 |
| 387 | PriceCalculateRespDTO.Order order = priceCalculate.getOrder(); | 391 | PriceCalculateRespDTO.Order order = priceCalculate.getOrder(); |
| 388 | assertEquals(order.getOriginalPrice(), 470); | 392 | assertEquals(order.getOriginalPrice(), 470); |
| 393 | + assertEquals(order.getOrderPrice(), 470); | ||
| 389 | assertEquals(order.getDiscountPrice(), 0); | 394 | assertEquals(order.getDiscountPrice(), 0); |
| 390 | assertEquals(order.getPointPrice(), 0); | 395 | assertEquals(order.getPointPrice(), 0); |
| 391 | assertEquals(order.getDeliveryPrice(), 0); | 396 | assertEquals(order.getDeliveryPrice(), 0); |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java
| @@ -43,13 +43,12 @@ public class AppTradeOrderController { | @@ -43,13 +43,12 @@ public class AppTradeOrderController { | ||
| 43 | @PreAuthenticated | 43 | @PreAuthenticated |
| 44 | public CommonResult<Long> createTradeOrder(@RequestBody AppTradeOrderCreateReqVO createReqVO, | 44 | public CommonResult<Long> createTradeOrder(@RequestBody AppTradeOrderCreateReqVO createReqVO, |
| 45 | HttpServletRequest servletRequest) { | 45 | HttpServletRequest servletRequest) { |
| 46 | - // 获取登录用户 | 46 | + // 获取登录用户、用户 IP 地址 |
| 47 | Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); | 47 | Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); |
| 48 | - // 获取用户ip地址 | ||
| 49 | String clientIp = ServletUtil.getClientIP(servletRequest); | 48 | String clientIp = ServletUtil.getClientIP(servletRequest); |
| 50 | // 创建交易订单,预支付记录 | 49 | // 创建交易订单,预支付记录 |
| 51 | - Long result = tradeOrderService.createTradeOrder(loginUserId, clientIp, createReqVO); | ||
| 52 | - return CommonResult.success(result); | 50 | + Long orderId = tradeOrderService.createTradeOrder(loginUserId, clientIp, createReqVO); |
| 51 | + return CommonResult.success(orderId); | ||
| 53 | } | 52 | } |
| 54 | 53 | ||
| 55 | @GetMapping("/get") | 54 | @GetMapping("/get") |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderCreateReqVO.java
| @@ -19,7 +19,7 @@ public class AppTradeOrderCreateReqVO { | @@ -19,7 +19,7 @@ public class AppTradeOrderCreateReqVO { | ||
| 19 | @ApiModelProperty(name = "优惠劵编号", example = "1024") | 19 | @ApiModelProperty(name = "优惠劵编号", example = "1024") |
| 20 | private Long couponId; | 20 | private Long couponId; |
| 21 | 21 | ||
| 22 | - @ApiModelProperty(name = "备注", example = "1024") | 22 | + @ApiModelProperty(name = "备注", example = "这个是我的订单哟") |
| 23 | private String remark; | 23 | private String remark; |
| 24 | 24 | ||
| 25 | @ApiModelProperty(name = "是否来自购物车", required = true, example = "true", notes = "true - 来自购物车;false - 立即购买") | 25 | @ApiModelProperty(name = "是否来自购物车", required = true, example = "true", notes = "true - 来自购物车;false - 立即购买") |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderDO.java
| @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.trade.dal.dataobject.order; | @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.trade.dal.dataobject.order; | ||
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.enums.TerminalEnum; | 3 | import cn.iocoder.yudao.framework.common.enums.TerminalEnum; |
| 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 5 | +import cn.iocoder.yudao.module.promotion.api.price.dto.PriceCalculateRespDTO.OrderItem; | ||
| 5 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderCancelTypeEnum; | 6 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderCancelTypeEnum; |
| 6 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderRefundStatusEnum; | 7 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderRefundStatusEnum; |
| 7 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; | 8 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; |
| @@ -74,7 +75,7 @@ public class TradeOrderDO extends BaseDO { | @@ -74,7 +75,7 @@ public class TradeOrderDO extends BaseDO { | ||
| 74 | /** | 75 | /** |
| 75 | * 购买的商品数量 | 76 | * 购买的商品数量 |
| 76 | */ | 77 | */ |
| 77 | - private Integer productCount; // total_num | 78 | + private Integer productCount; |
| 78 | /** | 79 | /** |
| 79 | * 订单完成时间 | 80 | * 订单完成时间 |
| 80 | */ | 81 | */ |
| @@ -116,14 +117,25 @@ public class TradeOrderDO extends BaseDO { | @@ -116,14 +117,25 @@ public class TradeOrderDO extends BaseDO { | ||
| 116 | * 商品原价(总),单位:分 | 117 | * 商品原价(总),单位:分 |
| 117 | * | 118 | * |
| 118 | * 基于 {@link TradeOrderItemDO#getTotalOriginalPrice()} 求和 | 119 | * 基于 {@link TradeOrderItemDO#getTotalOriginalPrice()} 求和 |
| 120 | + * | ||
| 121 | + * 对应 taobao 的 trade.total_fee 字段 | ||
| 119 | */ | 122 | */ |
| 120 | private Integer originalPrice; | 123 | private Integer originalPrice; |
| 121 | /** | 124 | /** |
| 125 | + * 订单原价(总),单位:分 | ||
| 126 | + * | ||
| 127 | + * 基于 {@link OrderItem#getPayPrice()} 求和 | ||
| 128 | + * 和 {@link #originalPrice} 的差异:去除商品级优惠 | ||
| 129 | + */ | ||
| 130 | + private Integer orderPrice; | ||
| 131 | + /** | ||
| 122 | * 订单优惠(总),单位:分 | 132 | * 订单优惠(总),单位:分 |
| 123 | * | 133 | * |
| 124 | - * 例如说:满减折扣;不包括优惠劵、商品优惠(TODO) | 134 | + * 订单级优惠:对主订单的优惠,常见如:订单满 200 元减 10 元;订单满 80 包邮。 |
| 135 | + * | ||
| 136 | + * 对应 taobao 的 order.discount_fee 字段 | ||
| 125 | */ | 137 | */ |
| 126 | - private Integer promotionPrice; | 138 | + private Integer discountPrice; |
| 127 | /** | 139 | /** |
| 128 | * 运费金额,单位:分 | 140 | * 运费金额,单位:分 |
| 129 | */ | 141 | */ |
| @@ -137,12 +149,12 @@ public class TradeOrderDO extends BaseDO { | @@ -137,12 +149,12 @@ public class TradeOrderDO extends BaseDO { | ||
| 137 | /** | 149 | /** |
| 138 | * 应付金额(总),单位:分 | 150 | * 应付金额(总),单位:分 |
| 139 | * | 151 | * |
| 140 | - * = {@link #originalPrice} | ||
| 141 | - * + {@link #deliveryPrice} | ||
| 142 | - * + {@link #adjustPrice} | ||
| 143 | - * - {@link #promotionPrice} | 152 | + * = {@link OrderItem#getPayPrice()} 求和 |
| 144 | * - {@link #couponPrice} | 153 | * - {@link #couponPrice} |
| 145 | * - {@link #pointPrice} | 154 | * - {@link #pointPrice} |
| 155 | + * + {@link #deliveryPrice} | ||
| 156 | + * - {@link #discountPrice} | ||
| 157 | + * + {@link #adjustPrice} | ||
| 146 | */ | 158 | */ |
| 147 | private Integer payPrice; | 159 | private Integer payPrice; |
| 148 | /** | 160 | /** |
| @@ -164,11 +176,11 @@ public class TradeOrderDO extends BaseDO { | @@ -164,11 +176,11 @@ public class TradeOrderDO extends BaseDO { | ||
| 164 | * | 176 | * |
| 165 | * 关联 DeliveryTemplateDO 的 id 编号 | 177 | * 关联 DeliveryTemplateDO 的 id 编号 |
| 166 | */ | 178 | */ |
| 167 | - private Long deliveryTemplateId; // dvy_id | 179 | + private Long deliveryTemplateId; |
| 168 | /** | 180 | /** |
| 169 | * 物流公司单号 | 181 | * 物流公司单号 |
| 170 | */ | 182 | */ |
| 171 | - private String expressNo; // dvy_flow_id | 183 | + private String expressNo; |
| 172 | /** | 184 | /** |
| 173 | * 发货状态 | 185 | * 发货状态 |
| 174 | * | 186 | * |
| @@ -227,10 +239,14 @@ public class TradeOrderDO extends BaseDO { | @@ -227,10 +239,14 @@ public class TradeOrderDO extends BaseDO { | ||
| 227 | private Long couponId; | 239 | private Long couponId; |
| 228 | /** | 240 | /** |
| 229 | * 优惠劵减免金额,单位:分 | 241 | * 优惠劵减免金额,单位:分 |
| 242 | + * | ||
| 243 | + * 对应 taobao 的 trade.coupon_fee 字段 | ||
| 230 | */ | 244 | */ |
| 231 | private Integer couponPrice; | 245 | private Integer couponPrice; |
| 232 | /** | 246 | /** |
| 233 | * 积分抵扣的金额,单位:分 | 247 | * 积分抵扣的金额,单位:分 |
| 248 | + * | ||
| 249 | + * 对应 taobao 的 trade.point_fee 字段 | ||
| 234 | */ | 250 | */ |
| 235 | private Integer pointPrice; | 251 | private Integer pointPrice; |
| 236 | 252 |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderService.java
| @@ -3,18 +3,20 @@ package cn.iocoder.yudao.module.trade.service.order; | @@ -3,18 +3,20 @@ package cn.iocoder.yudao.module.trade.service.order; | ||
| 3 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; | 3 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; |
| 4 | 4 | ||
| 5 | /** | 5 | /** |
| 6 | - * TODO @LeeYan9: 类注释 | 6 | + * 交易订单 Service 接口 |
| 7 | + * | ||
| 7 | * @author LeeYan9 | 8 | * @author LeeYan9 |
| 8 | * @since 2022-08-26 | 9 | * @since 2022-08-26 |
| 9 | */ | 10 | */ |
| 10 | public interface TradeOrderService { | 11 | public interface TradeOrderService { |
| 11 | 12 | ||
| 12 | /** | 13 | /** |
| 13 | - * 创建交易订单 TODO @LeeYan9: 方法注释, 和参数要空一行 | 14 | + * 创建交易订单 |
| 15 | + * | ||
| 14 | * @param loginUserId 登录用户 | 16 | * @param loginUserId 登录用户 |
| 15 | - * @param clientIp 用户ip地址 // TODO @LeeYan9: 中英文之间, 空一行哈 | 17 | + * @param clientIp 用户 IP 地址 |
| 16 | * @param createReqVO 创建交易订单请求模型 | 18 | * @param createReqVO 创建交易订单请求模型 |
| 17 | - * @return 交易订单创建结果 | 19 | + * @return 交易订单的编号 |
| 18 | */ | 20 | */ |
| 19 | Long createTradeOrder(Long loginUserId, String clientIp, AppTradeOrderCreateReqVO createReqVO); | 21 | Long createTradeOrder(Long loginUserId, String clientIp, AppTradeOrderCreateReqVO createReqVO); |
| 20 | } | 22 | } |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderServiceImpl.java
| @@ -45,14 +45,17 @@ import java.util.Map; | @@ -45,14 +45,17 @@ import java.util.Map; | ||
| 45 | import java.util.Objects; | 45 | import java.util.Objects; |
| 46 | 46 | ||
| 47 | /** | 47 | /** |
| 48 | - * TODO @LeeYan9: 注释 | 48 | + * 交易订单 Service 实现类 |
| 49 | + * | ||
| 49 | * @author LeeYan9 | 50 | * @author LeeYan9 |
| 50 | * @since 2022-08-26 | 51 | * @since 2022-08-26 |
| 51 | */ | 52 | */ |
| 52 | @Service | 53 | @Service |
| 53 | public class TradeOrderServiceImpl implements TradeOrderService { | 54 | public class TradeOrderServiceImpl implements TradeOrderService { |
| 54 | 55 | ||
| 55 | - // TODO @LeeYan9: 相同类型的, 可以放在一起,不用空行; 例如说 Mapper 和 API 和 Properties | 56 | + // TODO LeeYan9: 静态变量, 需要在最前面哈; 另外, 静态变量的注释最好写下; |
| 57 | + private static final String BLANK_PLACEHOLDER = " "; | ||
| 58 | + private static final String MULTIPLIER_PLACEHOLDER = "x"; | ||
| 56 | 59 | ||
| 57 | @Resource | 60 | @Resource |
| 58 | private TradeOrderMapper tradeOrderMapper; | 61 | private TradeOrderMapper tradeOrderMapper; |
| @@ -71,15 +74,10 @@ public class TradeOrderServiceImpl implements TradeOrderService { | @@ -71,15 +74,10 @@ public class TradeOrderServiceImpl implements TradeOrderService { | ||
| 71 | @Resource | 74 | @Resource |
| 72 | private TradeOrderProperties tradeOrderProperties; | 75 | private TradeOrderProperties tradeOrderProperties; |
| 73 | 76 | ||
| 74 | - // TODO LeeYan9: 静态变量, 需要在最前面哈; 另外, 静态变量的注释最好写下; | ||
| 75 | - private static final String BLANK_PLACEHOLDER = " "; | ||
| 76 | - private static final String MULTIPLIER_PLACEHOLDER = "x"; | ||
| 77 | - | ||
| 78 | @Override | 77 | @Override |
| 79 | @Transactional(rollbackFor = Exception.class) | 78 | @Transactional(rollbackFor = Exception.class) |
| 80 | public Long createTradeOrder(Long loginUserId, String clientIp, AppTradeOrderCreateReqVO createReqVO) { | 79 | public Long createTradeOrder(Long loginUserId, String clientIp, AppTradeOrderCreateReqVO createReqVO) { |
| 81 | - | ||
| 82 | - List<Item> items = createReqVO.getItems(); // TODO @LeeYan9: 方法第一行, 不用空哈; | 80 | + List<Item> items = createReqVO.getItems(); |
| 83 | // 商品SKU检查 sku可售状态,库存 | 81 | // 商品SKU检查 sku可售状态,库存 |
| 84 | List<ProductSkuRespDTO> skuInfos = productSkuApi.getSkuList(CollectionUtils.convertSet(items, Item::getSkuId)); | 82 | List<ProductSkuRespDTO> skuInfos = productSkuApi.getSkuList(CollectionUtils.convertSet(items, Item::getSkuId)); |
| 85 | Map<Long, ProductSkuRespDTO> skuInfoMap = CollectionUtils.convertMap(skuInfos, ProductSkuRespDTO::getId); | 83 | Map<Long, ProductSkuRespDTO> skuInfoMap = CollectionUtils.convertMap(skuInfos, ProductSkuRespDTO::getId); |