|
@@ -26,10 +26,12 @@ import com.chelvc.cloud.vehicle.api.param.OrderPagingParam;
|
|
import com.chelvc.cloud.vehicle.server.copier.OrderCopier;
|
|
import com.chelvc.cloud.vehicle.server.copier.OrderCopier;
|
|
import com.chelvc.cloud.vehicle.server.dao.OmsOrderMapper;
|
|
import com.chelvc.cloud.vehicle.server.dao.OmsOrderMapper;
|
|
import com.chelvc.cloud.vehicle.server.dao.OmsOrderSettingMapper;
|
|
import com.chelvc.cloud.vehicle.server.dao.OmsOrderSettingMapper;
|
|
|
|
+import com.chelvc.cloud.vehicle.server.entity.Goods;
|
|
import com.chelvc.cloud.vehicle.server.entity.OmsOrder;
|
|
import com.chelvc.cloud.vehicle.server.entity.OmsOrder;
|
|
import com.chelvc.cloud.vehicle.server.entity.OmsOrderItem;
|
|
import com.chelvc.cloud.vehicle.server.entity.OmsOrderItem;
|
|
import com.chelvc.cloud.vehicle.server.entity.OmsOrderSetting;
|
|
import com.chelvc.cloud.vehicle.server.entity.OmsOrderSetting;
|
|
import com.chelvc.cloud.vehicle.server.entity.UserCoupon;
|
|
import com.chelvc.cloud.vehicle.server.entity.UserCoupon;
|
|
|
|
+import com.chelvc.cloud.vehicle.server.service.GoodsService;
|
|
import com.chelvc.cloud.vehicle.server.service.IOmsOrderItemService;
|
|
import com.chelvc.cloud.vehicle.server.service.IOmsOrderItemService;
|
|
import com.chelvc.cloud.vehicle.server.service.IOmsOrderService;
|
|
import com.chelvc.cloud.vehicle.server.service.IOmsOrderService;
|
|
import com.chelvc.cloud.vehicle.server.service.OmsCartItemService;
|
|
import com.chelvc.cloud.vehicle.server.service.OmsCartItemService;
|
|
@@ -66,6 +68,8 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
|
|
|
|
|
|
private final UserCouponService userCouponService;
|
|
private final UserCouponService userCouponService;
|
|
|
|
|
|
|
|
+ private final GoodsService goodsService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public ConfirmOrderResultDTO generateConfirmOrder(OmsOrderModifyParam orderParam) {
|
|
public ConfirmOrderResultDTO generateConfirmOrder(OmsOrderModifyParam orderParam) {
|
|
ConfirmOrderResultDTO result = new ConfirmOrderResultDTO();
|
|
ConfirmOrderResultDTO result = new ConfirmOrderResultDTO();
|
|
@@ -98,26 +102,52 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
|
|
//获取购物车及优惠信息
|
|
//获取购物车及优惠信息
|
|
Long userId = SessionContextHolder.getId();
|
|
Long userId = SessionContextHolder.getId();
|
|
List<OmsCartItemDTO> cartPromotionItemList = omsCartItemService.listPromotion(orderParam.getCartIds());
|
|
List<OmsCartItemDTO> cartPromotionItemList = omsCartItemService.listPromotion(orderParam.getCartIds());
|
|
- for (OmsCartItemDTO cartPromotionItem : cartPromotionItemList) {
|
|
|
|
|
|
+ if (!StringUtils.isEmpty(orderParam.getGoodsId())){
|
|
|
|
+ Goods goods = this.goodsService.getById(orderParam.getGoodsId());
|
|
|
|
+ if (goods == null){
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
//生成下单商品信息
|
|
//生成下单商品信息
|
|
OmsOrderItem orderItem = new OmsOrderItem();
|
|
OmsOrderItem orderItem = new OmsOrderItem();
|
|
- orderItem.setGoodsId(cartPromotionItem.getGoodsId());
|
|
|
|
- orderItem.setGoodsName(cartPromotionItem.getGoodsName());
|
|
|
|
- orderItem.setGoodsPic(cartPromotionItem.getGoodsPic());
|
|
|
|
- orderItem.setGoodsAttr(cartPromotionItem.getGoodsAttr());
|
|
|
|
- orderItem.setGoodsBrand(cartPromotionItem.getGoodsBrand());
|
|
|
|
- orderItem.setGoodsSn(cartPromotionItem.getGoodsSn());
|
|
|
|
- orderItem.setGoodsPrice(cartPromotionItem.getPrice());
|
|
|
|
- orderItem.setGoodsQuantity(cartPromotionItem.getQuantity());
|
|
|
|
- orderItem.setGoodsSkuId(cartPromotionItem.getGoodsSkuId());
|
|
|
|
- orderItem.setGoodsSkuCode(cartPromotionItem.getGoodsSkuCode());
|
|
|
|
- orderItem.setGoodsCategoryId(cartPromotionItem.getGoodsCategoryId());
|
|
|
|
|
|
+ orderItem.setGoodsId(goods.getId());
|
|
|
|
+ orderItem.setGoodsName(goods.getName());
|
|
|
|
+ orderItem.setGoodsPic(goods.getLogo());
|
|
|
|
+ orderItem.setGoodsAttr(null);
|
|
|
|
+ orderItem.setGoodsBrand(null);
|
|
|
|
+ orderItem.setGoodsSn(null);
|
|
|
|
+ orderItem.setGoodsPrice(new BigDecimal(goods.getOriginalPrice()));
|
|
|
|
+ orderItem.setGoodsQuantity(1);
|
|
|
|
+ orderItem.setGoodsSkuId(null);
|
|
|
|
+ orderItem.setGoodsSkuCode(null);
|
|
|
|
+ orderItem.setGoodsCategoryId(goods.getCategoryId());
|
|
// orderItem.setPromotionAmount(cartPromotionItem.getReduceAmount());
|
|
// orderItem.setPromotionAmount(cartPromotionItem.getReduceAmount());
|
|
// orderItem.setPromotionName(cartPromotionItem.getPromotionMessage());
|
|
// orderItem.setPromotionName(cartPromotionItem.getPromotionMessage());
|
|
orderItem.setGiftIntegration(0L);
|
|
orderItem.setGiftIntegration(0L);
|
|
orderItem.setGiftGrowth(0);
|
|
orderItem.setGiftGrowth(0);
|
|
orderItemList.add(orderItem);
|
|
orderItemList.add(orderItem);
|
|
|
|
+ }else{
|
|
|
|
+ for (OmsCartItemDTO cartPromotionItem : cartPromotionItemList) {
|
|
|
|
+ //生成下单商品信息
|
|
|
|
+ OmsOrderItem orderItem = new OmsOrderItem();
|
|
|
|
+ orderItem.setGoodsId(cartPromotionItem.getGoodsId());
|
|
|
|
+ orderItem.setGoodsName(cartPromotionItem.getGoodsName());
|
|
|
|
+ orderItem.setGoodsPic(cartPromotionItem.getGoodsPic());
|
|
|
|
+ orderItem.setGoodsAttr(cartPromotionItem.getGoodsAttr());
|
|
|
|
+ orderItem.setGoodsBrand(cartPromotionItem.getGoodsBrand());
|
|
|
|
+ orderItem.setGoodsSn(cartPromotionItem.getGoodsSn());
|
|
|
|
+ orderItem.setGoodsPrice(cartPromotionItem.getPrice());
|
|
|
|
+ orderItem.setGoodsQuantity(cartPromotionItem.getQuantity());
|
|
|
|
+ orderItem.setGoodsSkuId(cartPromotionItem.getGoodsSkuId());
|
|
|
|
+ orderItem.setGoodsSkuCode(cartPromotionItem.getGoodsSkuCode());
|
|
|
|
+ orderItem.setGoodsCategoryId(cartPromotionItem.getGoodsCategoryId());
|
|
|
|
+// orderItem.setPromotionAmount(cartPromotionItem.getReduceAmount());
|
|
|
|
+// orderItem.setPromotionName(cartPromotionItem.getPromotionMessage());
|
|
|
|
+ orderItem.setGiftIntegration(0L);
|
|
|
|
+ orderItem.setGiftGrowth(0);
|
|
|
|
+ orderItemList.add(orderItem);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+
|
|
//判断购物车中商品是否都有库存
|
|
//判断购物车中商品是否都有库存
|
|
// if (!hasStock(cartPromotionItemList)) {
|
|
// if (!hasStock(cartPromotionItemList)) {
|
|
// Asserts.fail("库存不足,无法下单");
|
|
// Asserts.fail("库存不足,无法下单");
|