From bbe0a2fd03063316e50cf141986bda984599bbda Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Tue, 22 Feb 2022 23:41:42 +0800
Subject: [PATCH] Merge branch 'developer'

---
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopActivitiesSecKillServiceImpl.java |   28 +++++++++++++++-------------
 1 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopActivitiesSecKillServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopActivitiesSecKillServiceImpl.java
index bf2e433..b7f8f78 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopActivitiesSecKillServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopActivitiesSecKillServiceImpl.java
@@ -2,8 +2,8 @@
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
-import com.matrix.biz.bean.BizUser;
-import com.matrix.component.redis.RedisUserLoginUtils;
+import com.matrix.system.hive.bean.SysVipInfo;
+import com.matrix.system.common.init.UserCacheManager;
 import com.matrix.component.tools.WxUtils;
 import com.matrix.component.wechat.externalInterface.protocol.paramProtocol.BrandWCPayRequestData;
 import com.matrix.core.exception.GlobleException;
@@ -55,13 +55,13 @@
     @Autowired
     private ShopOrderDetailsDao shopOrderDetailsDao;
     @Autowired
-    private RedisUserLoginUtils redisUserLoginUtils;
+    private UserCacheManager userCacheManager;
     @Autowired
     private ShopActivitiesSeckillRecordDao shopActivitiesSeckillRecordDao;
 
     @Override
     public AjaxResult createSecKillOrder(CreateSecKillDTO secKillDTO) throws Exception {
-        BizUser bizUser = redisUserLoginUtils.getLoginUser(BizUser.class);
+        SysVipInfo sysVipInfo = userCacheManager.getLoginUser();
         ShopActivitiesSeckillInfo seckillInfo = shopActivitiesSeckillInfoDao.selectById(secKillDTO.getId());
         if (seckillInfo == null) {
             return AjaxResult.buildFailInstance("秒杀不存在");
@@ -86,7 +86,7 @@
                 return AjaxResult.buildFailInstance("购买数量超过最大限购数量");
             }
 
-            int count = shopActivitiesSeckillRecordDao.selectCountSecKill(seckillInfo.getId(), bizUser.getOpenId());
+            int count = shopActivitiesSeckillRecordDao.selectCountSecKill(seckillInfo.getId(), sysVipInfo.getOpenId());
             if (secKillDTO.getCount() + count > seckillInfo.getSiLimitCnt()) {
                 return AjaxResult.buildFailInstance("购买数量超过最大限购数量");
             }
@@ -94,15 +94,15 @@
 
         secKillDTO.setPrice(seckillInfo.getSiPrice());
         secKillDTO.setGoodsId(seckillInfo.getGoodsId().intValue());
-        secKillDTO.setOpenId(bizUser.getOpenId());
+        secKillDTO.setOpenId(sysVipInfo.getOpenId());
         ShopOrder shopOrder = createOrder(secKillDTO);
 
         ShopActivitiesSeckillRecord seckillRecord = new ShopActivitiesSeckillRecord();
         seckillRecord.setOrderId(shopOrder.getId().longValue());
         seckillRecord.setSiId(seckillInfo.getId());
-        seckillRecord.setUserId(bizUser.getOpenId());
-        seckillRecord.setCreateBy(bizUser.getNickName() == null ? "游客" : bizUser.getNickName());
-        seckillRecord.setUpdateBy(bizUser.getNickName() == null ? "游客" : bizUser.getNickName());
+        seckillRecord.setUserId(sysVipInfo.getId());
+        seckillRecord.setCreateBy(sysVipInfo.getNickName() == null ? "游客" : sysVipInfo.getNickName());
+        seckillRecord.setUpdateBy(sysVipInfo.getNickName() == null ? "游客" : sysVipInfo.getNickName());
         seckillRecord.setCompanyId(seckillInfo.getCompanyId());
 
         // 同步锁
@@ -126,6 +126,7 @@
     }
 
     private ShopOrder createOrder(CreateSecKillDTO secKillDTO) {
+        SysVipInfo sysVipInfo = userCacheManager.getLoginUser();
         ShopReceiveAddress shopReceiveAddress = shopReceiveAddressDao.selectById(secKillDTO.getAddressId());
         if (shopReceiveAddress == null) {
             throw new GlobleException("请选择正确的收获地址");
@@ -172,11 +173,12 @@
         //TODO 更新库存和销量 更新库存和销量[考虑和erp库存联动]
         wxShopOrderUtil.updateProductAndSkuInfo(details);
 
-        shopOrder.setUserId(secKillDTO.getOpenId());
+        shopOrder.setUserId(secKillDTO.getId());
         shopOrder.setCreateBy("微信小程序生成");
         shopOrder.setUpdateBy("微信小程序生成");
         shopOrder.setCommodityPrice(secKillDTO.getPrice());
         shopOrder.setPurchaseQuantity(1);
+        shopOrder.setCompanyId(sysVipInfo.getCompanyId());
         //购买方式
         shopOrder.setShippingMethod(secKillDTO.getShippingMethod());
         //生成订单号
@@ -201,15 +203,15 @@
         shopOrder.setPayResult(ShopOrder.ORDER_WX_STATUS_WAIT_PAY);
         //如果没有提交购买方式或配送方式不是物流
         //获取邮费
-        BigDecimal postPrice = wxShopOrderService.calculationPostage(secKillDTO.getAddressId(), secKillDTO.getPrice());
+        BigDecimal postPrice = wxShopOrderService.calculationPostage(secKillDTO.getPrice(),sysVipInfo.getCompanyId());
         shopOrder.setPostage(postPrice);
         BigDecimal payPrice = secKillDTO.getPrice().multiply(BigDecimal.valueOf(secKillDTO.getCount())).add(shopOrder.getPostage());
         shopOrder.setOrderMoney(payPrice);
         DiscountExplain discountExplain = new DiscountExplain();
         discountExplain.setPayPrice(payPrice);
         discountExplain.setPostage(postPrice);
-        discountExplain.setActivity(BigDecimal.ZERO);
-        discountExplain.setCoupon(BigDecimal.ZERO);
+        discountExplain.setActivityPrice(BigDecimal.ZERO);
+        discountExplain.setCouponPrice(BigDecimal.ZERO);
         discountExplain.setBillPrice(payPrice);
         Gson g = new GsonBuilder().create();
         shopOrder.setDiscountExplain(g.toJson(discountExplain));

--
Gitblit v1.9.1