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/WXShopOrderServiceImpl.java | 33 ++++++++++++++++++++++----------- 1 files changed, 22 insertions(+), 11 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java index c3832e8..dee24d6 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java @@ -3,8 +3,7 @@ import cn.hutool.core.collection.CollUtil; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import com.matrix.component.rabbitmq.RabiitMqTemplate; -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.component.wechat.externalInterface.weixinUtil.WeixinServiceUtil; @@ -16,7 +15,6 @@ import com.matrix.system.common.dao.BusParameterSettingsDao; import com.matrix.system.common.dao.CustomerDataDictionaryDao; import com.matrix.system.common.interceptor.HostInterceptor; -import com.matrix.system.constance.Dictionary; import com.matrix.system.hive.bean.SysVipInfo; import com.matrix.system.hive.dao.ShoppingGoodsDao; import com.matrix.system.hive.dao.SysVipInfoDao; @@ -55,7 +53,7 @@ @Autowired private WxShopOrderUtil wxShopOrderUtil; @Autowired - private RedisUserLoginUtils redisUserLoginUtils; + private UserCacheManager userCacheManager; @Autowired private WeixinServiceUtil weixinServiceUtil; @Autowired @@ -128,7 +126,7 @@ @Transactional(rollbackFor = Exception.class) @Override public ShopOrder createShopOrder(ShopOrderDto shopOrderDto) throws Exception { - SysVipInfo sysVipInfo = redisUserLoginUtils.getLoginUser(SysVipInfo.class); + SysVipInfo sysVipInfo = userCacheManager.getLoginUser(); @@ -154,12 +152,23 @@ shopOrder.setOrderType(ShopOrder.ORDER_TYPE_GOODS); List<ShopOrderDetails> details = new ArrayList<>(); + // 是否包含实物商品 + boolean hasRealGoods = false; + Integer orderCount = 0; for (OrderItemDto orderItemDto : shopOrderDto.getOrderItemList()) { ShopOrderDetails shopOrderDetails = new ShopOrderDetails(); shopOrderDetails.setCreateBy(AppConstance.SYSTEM_USER); shopOrderDetails.setUpdateBy(AppConstance.SYSTEM_USER); shopOrderDetails.setpId(orderItemDto.getProductId()); + + if (!hasRealGoods) { + ShopProduct shopProduct = shopProductDao.selectById(orderItemDto.getProductId()); + if (shopProduct.getIsUnrealProduct() == 2) { + hasRealGoods = true; + } + } + shopOrderDetails.setsId(orderItemDto.getSkuId()); shopOrderDetails.setCount(orderItemDto.getCount()); if(ShopOrderDetails.PAYTYPE_MICRO==orderItemDto.getPayType()){ @@ -200,6 +209,10 @@ shopOrder.setOrderType(ShopOrder.ORDER_TYPE_GOODS); //购买方式 shopOrder.setShippingMethod(shopOrderDto.getDeliverySelect()); + // 客户选择的物流配送,且没有实物产品(全是虚拟产品), 则直接门店自提,无需填写配送单 + if (ShopOrder.SHIPPING_METHOD_WL == shopOrderDto.getDeliverySelect() && !hasRealGoods) { + shopOrder.setShippingMethod(ShopOrder.SHIPPING_METHOD_MDZT); + } //生成订单号 shopOrder.setOrderNo(WxUtils.getOrderNum()); //设置支付状态 @@ -273,7 +286,7 @@ //支付总积分 Integer scoreCount=0; - SysVipInfo sysVipInfo = redisUserLoginUtils.getLoginUser(SysVipInfo.class); + SysVipInfo sysVipInfo = userCacheManager.getLoginUser(); //计算购物车中物品的优惠信息 List<OrderItemDto> orderItemDtos = shopOrderDto.getOrderItemList() @@ -449,7 +462,7 @@ */ @Override public AjaxResult getMyOrderInfo(OrderInfoQueryPOJO orderInfoQueryPOJO) { - SysVipInfo sysVipInfo = redisUserLoginUtils.getLoginUser(SysVipInfo.class); + SysVipInfo sysVipInfo = userCacheManager.getLoginUser(); orderInfoQueryPOJO.setSort("update_time"); if (orderInfoQueryPOJO.getOffset() >= 1) { orderInfoQueryPOJO.setOffset((orderInfoQueryPOJO.getOffset() - 1) * orderInfoQueryPOJO.getLimit()); @@ -466,7 +479,7 @@ */ @Override public AjaxResult getOrderInfoById(Integer orderId) { - SysVipInfo sysVipInfo = redisUserLoginUtils.getLoginUser(SysVipInfo.class); + SysVipInfo sysVipInfo = userCacheManager.getLoginUser(); ShopOrder shopOrder = shopOrderDao.selectOrderInfoById(sysVipInfo.getId(), orderId); return new AjaxResult(AjaxResult.STATUS_SUCCESS, Arrays.asList(shopOrder)); } @@ -488,7 +501,7 @@ } if (shopOrder.getDiscountAmount() != null && shopOrder.getDiscountAmount().compareTo(BigDecimal.ZERO) > 0) { ShopCouponRecord shopCouponRecord = new ShopCouponRecord(); - SysVipInfo sysVipInfo = redisUserLoginUtils.getLoginUser(SysVipInfo.class); + SysVipInfo sysVipInfo = userCacheManager.getLoginUser(); shopCouponRecord.setUserId(sysVipInfo.getId()); shopCouponRecord.setOrderId(orderId); List<ShopCouponRecord> recordList = shopCouponRecordDao.selectByModel(shopCouponRecord); @@ -614,8 +627,6 @@ * @param orderId * @return */ - @Autowired - RabiitMqTemplate rabiitMqTemplate; @Override public AjaxResult findOrderPayStatus(Integer orderId) { -- Gitblit v1.9.1