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/WxShopActivitiesGroupServiceImpl.java | 59 +++++++++++++++++++++++++++++------------------------------ 1 files changed, 29 insertions(+), 30 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopActivitiesGroupServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopActivitiesGroupServiceImpl.java index be14cdf..5cdb27c 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopActivitiesGroupServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopActivitiesGroupServiceImpl.java @@ -2,13 +2,11 @@ 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.common.init.UserCacheManager; import com.matrix.component.tools.WxUtils; import com.matrix.component.wechat.externalInterface.protocol.paramProtocol.BrandWCPayRequestData; import com.matrix.core.exception.GlobleException; import com.matrix.core.pojo.AjaxResult; -import com.matrix.core.tools.LogUtil; import com.matrix.core.tools.StringUtils; import com.matrix.system.common.constance.AppConstance; import com.matrix.system.constance.Dictionary; @@ -44,7 +42,7 @@ private ShopActivitiesGroupInfoDao shopActivitiesGroupInfoDao; @Autowired - private RedisUserLoginUtils redisUserLoginUtils; + private UserCacheManager userCacheManager; @Autowired private ShopActivitiesGroupPriceDao shopActivitiesGroupPriceDao; @@ -91,7 +89,7 @@ @Override @Transactional(rollbackFor = Exception.class) public AjaxResult createGroupBuy(CreateGroupBuyDTO createGroupBuyDTO) throws Exception { - BizUser bizUser = redisUserLoginUtils.getLoginUser(BizUser.class); + SysVipInfo sysVipInfo = userCacheManager.getLoginUser(); ShopActivitiesGroupPrice groupPrice = shopActivitiesGroupPriceDao.selectById(createGroupBuyDTO.getGpId()); ShopActivitiesGroupInfo groupInfo = shopActivitiesGroupInfoDao.selectGroupInfoByActId(groupPrice.getActId()); @@ -103,7 +101,7 @@ // 判断最大开团数量 if (groupInfo.getGiHeadDiscount() != null && groupInfo.getGiHeadDiscount() != 0) { - int createCnt = shopActivitiesGroupJoinDao.selectCreateGroupBuyCount(shopActivities.getId(), bizUser.getOpenId()); + int createCnt = shopActivitiesGroupJoinDao.selectCreateGroupBuyCount(shopActivities.getId(), sysVipInfo.getOpenId()); if (createCnt > groupInfo.getGiHeadDiscount()) { return AjaxResult.buildFailInstance("达到最大开团数量"); } @@ -114,14 +112,14 @@ return AjaxResult.buildFailInstance("达到最大限购数量"); } - int count = shopActivitiesGroupJoinUserDao.selectCountHasBuy(groupInfo.getId(), bizUser.getOpenId()); + int count = shopActivitiesGroupJoinUserDao.selectCountHasBuy(groupInfo.getId(), sysVipInfo.getOpenId()); if (count + createGroupBuyDTO.getCount() > groupInfo.getGiLimitBuy()) { return AjaxResult.buildFailInstance("达到最大限购数量"); } } // 判断该用户在这个活动中是否存在拼团,并判断该拼团订单是否已付款 - ShopActivitiesGroupJoin existGroupJoin = shopActivitiesGroupJoinDao.selectExistGroupingJoinByUser(groupPrice.getActId(), bizUser.getOpenId()); + ShopActivitiesGroupJoin existGroupJoin = shopActivitiesGroupJoinDao.selectExistGroupingJoinByUser(groupPrice.getActId(), sysVipInfo.getOpenId()); if (existGroupJoin != null) { if (existGroupJoin.getGjStatus() == ShopActivitiesGroupJoin.ACTIVITIES_JOIN_WAIT_PAY) { return new AjaxResult(AjaxResult.STATUS_FAIL, "您该活动有个订单未付款"); @@ -129,7 +127,7 @@ return new AjaxResult(AjaxResult.STATUS_FAIL, "该活动已存在拼团"); } - boolean isOld = isOldUser(bizUser.getPhoneNumber()); + boolean isOld = isOldUser(sysVipInfo.getPhone()); // 老用户和老带新的开团都必须是老用户 if (ShopActivitiesGroupInfo.GROUP_TYPE_ALL_OLD == groupInfo.getGiType() || ShopActivitiesGroupInfo.GROUP_TYPE_OLD_AND_NEW == groupInfo.getGiType()) { if (!isOld) { @@ -146,7 +144,7 @@ createGroupBuyDTO.setPrice(groupPrice.getGpPrice()); createGroupBuyDTO.setGoodsId(groupInfo.getGoodsId().intValue()); - createGroupBuyDTO.setOpenId(bizUser.getOpenId()); + createGroupBuyDTO.setUserId(sysVipInfo.getId()); ShopOrder shopOrder = createOrderByGroupBuy(createGroupBuyDTO); ShopActivitiesGroupJoin groupJoin = new ShopActivitiesGroupJoin(); @@ -158,19 +156,19 @@ groupJoin.setGjEndTime(gjEndTime.getTime()); groupJoin.setGiId(groupInfo.getId()); groupJoin.setGjStatus(ShopActivitiesGroupJoin.ACTIVITIES_JOIN_WAIT_PAY); - groupJoin.setCreateBy(bizUser.getNickName() == null ? "游客" : bizUser.getNickName()); - groupJoin.setUpdateBy(bizUser.getNickName() == null ? "游客" : bizUser.getNickName()); - groupJoin.setGjHeadId(bizUser.getOpenId()); + groupJoin.setCreateBy(sysVipInfo.getNickName() == null ? "游客" : sysVipInfo.getNickName()); + groupJoin.setUpdateBy(sysVipInfo.getNickName() == null ? "游客" : sysVipInfo.getNickName()); + groupJoin.setGjHeadId(sysVipInfo.getId()); groupJoin.setCompanyId(shopActivities.getCompanyId()); shopActivitiesGroupJoinDao.insert(groupJoin); ShopActivitiesGroupJoinUser joinUser = new ShopActivitiesGroupJoinUser(); joinUser.setGjId(groupJoin.getId()); joinUser.setGiId(groupInfo.getId()); - joinUser.setUserId(bizUser.getOpenId()); + joinUser.setUserId(sysVipInfo.getId()); joinUser.setIsHead(ShopActivitiesGroupJoinUser.USER_IS_HEAD_Y); - joinUser.setCreateBy(bizUser.getNickName() == null ? "游客" : bizUser.getNickName()); - joinUser.setUpdateBy(bizUser.getNickName() == null ? "游客" : bizUser.getNickName()); + joinUser.setCreateBy(sysVipInfo.getNickName() == null ? "游客" : sysVipInfo.getNickName()); + joinUser.setUpdateBy(sysVipInfo.getNickName() == null ? "游客" : sysVipInfo.getNickName()); joinUser.setIsHasPay(ShopActivitiesGroupJoinUser.IS_HAS_PAY_N); joinUser.setIsHasCancel(ShopActivitiesGroupJoinUser.IS_HAS_CANCEL_N); Calendar payEndTime = Calendar.getInstance(); @@ -193,7 +191,7 @@ @Transactional(rollbackFor = Exception.class) @Override public AjaxResult joinGroupBuy(CreateGroupBuyDTO createGroupBuyDTO) throws Exception { - BizUser bizUser = redisUserLoginUtils.getLoginUser(BizUser.class); + SysVipInfo sysVipInfo = userCacheManager.getLoginUser(); // TODO 需判断拼团结束时间以及当前拼团是否已满员 @@ -202,7 +200,7 @@ return AjaxResult.buildFailInstance("该拼团不存在"); } - if (groupJoin.getGjHeadId().equals(bizUser.getOpenId())) { + if (groupJoin.getGjHeadId().equals(sysVipInfo.getOpenId())) { return AjaxResult.buildFailInstance("您是拼团团长,无法加入拼团"); } @@ -210,7 +208,7 @@ return AjaxResult.buildFailInstance("该拼团时间已结束"); } - ShopActivitiesGroupJoinUser groupJoinUser = shopActivitiesGroupJoinUserDao.selectGroupJoinUserByUserIdAndGjId(bizUser.getOpenId(), groupJoin.getId()); + ShopActivitiesGroupJoinUser groupJoinUser = shopActivitiesGroupJoinUserDao.selectGroupJoinUserByUserIdAndGjId(sysVipInfo.getOpenId(), groupJoin.getId()); if (groupJoinUser != null) { return AjaxResult.buildFailInstance("您已加入了该拼团"); } @@ -228,7 +226,7 @@ return AjaxResult.buildFailInstance("达到最大限购数量"); } - int count = shopActivitiesGroupJoinUserDao.selectCountHasBuy(groupInfo.getId(), bizUser.getOpenId()); + int count = shopActivitiesGroupJoinUserDao.selectCountHasBuy(groupInfo.getId(), sysVipInfo.getOpenId()); if (count + createGroupBuyDTO.getCount() > groupInfo.getGiLimitBuy()) { return AjaxResult.buildFailInstance("达到最大限购数量"); } @@ -243,7 +241,7 @@ return AjaxResult.buildFailInstance("该拼团已满员"); } - boolean isOld = isOldUser(bizUser.getPhoneNumber()); + boolean isOld = isOldUser(sysVipInfo.getPhone()); // 老用户 -- 加入拼团的都必须是老用户 if (ShopActivitiesGroupInfo.GROUP_TYPE_ALL_OLD == groupInfo.getGiType()) { if (!isOld) { @@ -272,7 +270,7 @@ createGroupBuyDTO.setPrice(groupPrice.getGpPrice()); createGroupBuyDTO.setGoodsId(groupInfo.getGoodsId().intValue()); - createGroupBuyDTO.setOpenId(bizUser.getOpenId()); + createGroupBuyDTO.setUserId(sysVipInfo.getId()); ShopOrder shopOrder = createOrderByGroupBuy(createGroupBuyDTO); ShopActivitiesGroupJoinUser joinUser = new ShopActivitiesGroupJoinUser(); @@ -281,12 +279,12 @@ Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.MINUTE, Integer.parseInt(payTimeLimit)); joinUser.setPayEndTime(calendar.getTime()); - joinUser.setUserId(bizUser.getOpenId()); + joinUser.setUserId(sysVipInfo.getId()); joinUser.setGiId(groupInfo.getId()); joinUser.setGjId(groupJoin.getId()); joinUser.setIsHead(ShopActivitiesGroupJoinUser.USER_IS_HEAD_N); - joinUser.setCreateBy(bizUser.getNickName() == null ? "游客" : bizUser.getNickName()); - joinUser.setUpdateBy(bizUser.getNickName() == null ? "游客" : bizUser.getNickName()); + joinUser.setCreateBy(sysVipInfo.getNickName() == null ? "游客" : sysVipInfo.getNickName()); + joinUser.setUpdateBy(sysVipInfo.getNickName() == null ? "游客" : sysVipInfo.getNickName()); joinUser.setIsNewUser(isOld ? 2 : 1); joinUser.setIsHasCancel(ShopActivitiesGroupJoinUser.IS_HAS_CANCEL_N); joinUser.setCompanyId(groupJoin.getCompanyId()); @@ -318,8 +316,9 @@ if (shopReceiveAddress == null) { throw new GlobleException("请选择正确的收获地址"); } - + SysVipInfo user=userCacheManager.getLoginUser(); ShopOrder shopOrder = new ShopOrder(); + shopOrder.setCompanyId(user.getCompanyId()); shopOrder.setStoreId(Integer.parseInt(createGroupBuyDTO.getShopId().toString())); shopOrder.setOrderType(ShopOrder.ORDER_TYPE_SERVICE); @@ -360,7 +359,7 @@ //TODO 更新库存和销量 更新库存和销量[考虑和erp库存联动] wxShopOrderUtil.updateProductAndSkuInfo(details); - shopOrder.setUserId(createGroupBuyDTO.getOpenId()); + shopOrder.setUserId(createGroupBuyDTO.getUserId()); shopOrder.setCreateBy("微信小程序生成"); shopOrder.setUpdateBy("微信小程序生成"); shopOrder.setCommodityPrice(createGroupBuyDTO.getPrice()); @@ -389,15 +388,15 @@ shopOrder.setPayResult(ShopOrder.ORDER_WX_STATUS_WAIT_PAY); //如果没有提交购买方式或配送方式不是物流 //获取邮费 - BigDecimal postPrice = wxShopOrderService.calculationPostage(createGroupBuyDTO.getAddressId(), createGroupBuyDTO.getPrice()); + BigDecimal postPrice = wxShopOrderService.calculationPostage(createGroupBuyDTO.getPrice(),user.getCompanyId()); shopOrder.setPostage(postPrice); BigDecimal payPrice = createGroupBuyDTO.getPrice().multiply(BigDecimal.valueOf(createGroupBuyDTO.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