yangdamao 2 年之前
父节点
当前提交
7dd8d24f76

+ 36 - 6
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -991,14 +991,44 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             orderGoods.setCompany(bo.getOrderStudent().getCompany());*/
             orderGoods.setCompany(bo.getOrderStudent().getCompany());*/
             //成交价
             //成交价
             orderGoods.setStatus(1);
             orderGoods.setStatus(1);
-            orderGoods.setGoodsRealPrice(goods.getStandPrice());
-            orderGoods.setGoodsPrice(goods.getStandPrice());
             orderGoods.setCreateTime(DateUtils.getNowTime());
             orderGoods.setCreateTime(DateUtils.getNowTime());
             orderGoods.setUpdateTime(DateUtils.getNowTime());
             orderGoods.setUpdateTime(DateUtils.getNowTime());
-            //订单价格不计算优惠
-            totalPrice = totalPrice.add(goods.getStandPrice());
-            //暂不计算优惠券
-            payPrice = payPrice.add(goods.getStandPrice());
+            if (StringUtils.isNotBlank(g.getDistributionCode())){
+                //分销订单
+                DistributionActivity activity = iDistributionActivityService
+                        .getOne(new LambdaQueryWrapper<DistributionActivity>()
+                                .eq(DistributionActivity::getCode, g.getDistributionCode())
+                                .eq(DistributionActivity::getStatus, 1));
+                if (ObjectUtils.isNull(activity)){
+                    throw new CustomException(String.format("分销订单创建失败【%s】",g.getDistributionCode()));
+                }
+                if (DateUtils.getNowTime() < activity.getStartTime() || DateUtils.getNowTime() > activity.getEndTime()){
+                    throw new CustomException(String.format("分销活动已结束【%s】",g.getDistributionCode()));
+                }
+                //活动价格
+                ActivityGoodsPrice goodsPrice = iActivityGoodsPriceService
+                        .getOne(new LambdaQueryWrapper<ActivityGoodsPrice>()
+                                .eq(ActivityGoodsPrice::getGoodsId, g.getGoodsId())
+                                .eq(ActivityGoodsPrice::getActivityCode, activity.getCode()));
+                if (ObjectUtils.isNull(goodsPrice)){
+                    throw new CustomException(String.format("分销活动价格拉取失败【%s】",g.getDistributionCode()));
+                }
+                orderGoods.setDistributionCode(activity.getCode());
+                orderGoods.setDistributionLinkCode(g.getDistributionLinkCode());
+                orderGoods.setGoodsRealPrice(goodsPrice.getGoodsPrice());
+                orderGoods.setGoodsPrice(goodsPrice.getGoodsPrice());
+                //订单价格不计算优惠
+                totalPrice = totalPrice.add(goodsPrice.getGoodsPrice());
+                //暂不计算优惠券
+                payPrice = payPrice.add(goodsPrice.getGoodsPrice());
+            }else{
+                orderGoods.setGoodsRealPrice(goods.getStandPrice());
+                orderGoods.setGoodsPrice(goods.getStandPrice());
+                //订单价格不计算优惠
+                totalPrice = totalPrice.add(goods.getStandPrice());
+                //暂不计算优惠券
+                payPrice = payPrice.add(goods.getStandPrice());
+            }
             boolean orderGoodsRs = iOrderGoodsService.save(orderGoods);
             boolean orderGoodsRs = iOrderGoodsService.save(orderGoods);
 
 
             boolean canRepeatBuy = false;
             boolean canRepeatBuy = false;

+ 8 - 5
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderGoodsVo.java

@@ -1,15 +1,12 @@
 package com.zhongzheng.modules.order.vo;
 package com.zhongzheng.modules.order.vo;
 
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.zhongzheng.common.annotation.Excel;
 import com.zhongzheng.common.annotation.Excel;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import java.math.BigDecimal;
-
 import com.zhongzheng.modules.exam.vo.ExamApplyGoodsVo;
 import com.zhongzheng.modules.exam.vo.ExamApplyGoodsVo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
-import java.util.Date;
+
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.List;
 
 
 
 
@@ -333,4 +330,10 @@ public class OrderGoodsVo {
 
 
 	@ApiModelProperty("是否外链商品:0否 1是")
 	@ApiModelProperty("是否外链商品:0否 1是")
 	private Integer externalLinkStatus;
 	private Integer externalLinkStatus;
+
+	@ApiModelProperty("分销码")
+	private String distributionCode;
+
+	@ApiModelProperty("是否外链商品:0否 1是")
+	private String distributionLinkCode;
 }
 }

+ 2 - 0
zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsMapper.xml

@@ -57,6 +57,8 @@
         <result property="externalLink" column="external_link"/>
         <result property="externalLink" column="external_link"/>
         <result property="externalLinkStatus" column="external_link_status"/>
         <result property="externalLinkStatus" column="external_link_status"/>
         <result property="periodStatus" column="period_status"/>
         <result property="periodStatus" column="period_status"/>
+        <result property="distributionCode" column="distribution_code"/>
+        <result property="distributionLinkCode" column="distribution_link_code"/>
 
 
         <result property="code" column="code"/>
         <result property="code" column="code"/>
         <result property="goodsName" column="goods_name"/>
         <result property="goodsName" column="goods_name"/>