From 05fcfa75d9bcd29f44c5a28d1a665a496347dce1 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 13 Aug 2021 14:43:16 +0800 Subject: [PATCH] fix --- zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java | 44 +++++++++++++++++++++----------------------- 1 files changed, 21 insertions(+), 23 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 e702535..c3832e8 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,7 +3,6 @@ import cn.hutool.core.collection.CollUtil; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import com.matrix.system.hive.bean.SysVipInfo; import com.matrix.component.rabbitmq.RabiitMqTemplate; import com.matrix.component.redis.RedisUserLoginUtils; import com.matrix.component.tools.WxUtils; @@ -17,6 +16,8 @@ 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; import com.matrix.system.score.dao.ScoreVipDetailDao; @@ -29,7 +30,6 @@ import com.matrix.system.shopXcx.api.service.ShoppingCartService; import com.matrix.system.shopXcx.api.service.WXShopOrderService; import com.matrix.system.shopXcx.api.service.WxShopCouponService; -import com.matrix.system.shopXcx.api.tools.WxShopCouponUtil; import com.matrix.system.shopXcx.api.tools.WxShopOrderUtil; import com.matrix.system.shopXcx.api.vo.CouponReceiveInfoVO; import com.matrix.system.shopXcx.bean.*; @@ -55,8 +55,6 @@ @Autowired private WxShopOrderUtil wxShopOrderUtil; @Autowired - private WxShopCouponUtil wxShopCouponUtil; - @Autowired private RedisUserLoginUtils redisUserLoginUtils; @Autowired private WeixinServiceUtil weixinServiceUtil; @@ -68,8 +66,6 @@ private ShopOrderDao shopOrderDao; @Autowired private ShopOrderDetailsDao shopOrderDetailsDao; - @Autowired - private ShopCouponDao shopCouponDao; @Autowired private ShopProductDao shopProductDao; @Autowired @@ -131,27 +127,25 @@ */ @Transactional(rollbackFor = Exception.class) @Override - public AjaxResult createShopOrder(ShopOrderDto shopOrderDto) throws Exception { + public ShopOrder createShopOrder(ShopOrderDto shopOrderDto) throws Exception { SysVipInfo sysVipInfo = redisUserLoginUtils.getLoginUser(SysVipInfo.class); - //校验收货地址 + ShopReceiveAddress shopReceiveAddress = shopReceiveAddressDao.selectById(shopOrderDto.getReceiveAddrId()); - if (shopReceiveAddress == null) { - return new AjaxResult(AjaxResult.STATUS_FAIL, "请选择正确的收获地址"); - } + //计算订单优惠信息 AjaxResult caculateResult= buildDiscountExplain(shopOrderDto); DiscountExplain discountExplain= (DiscountExplain) caculateResult.getMapInfo().get("discountExplain"); - if(discountExplain.getScorePay()!=null){ //校验用户积分是否够用 int score=scoreVipDetailDao.selectUserTotalScore(sysVipInfo.getId()); if(score<discountExplain.getScorePay()){ - return AjaxResult.buildFailInstance("积分不足"); + throw new GlobleException("积分不足"); } } + ShopOrder shopOrder = new ShopOrder(); shopOrder.setCompanyId(sysVipInfo.getCompanyId()); @@ -200,6 +194,7 @@ shopOrder.setUserId(sysVipInfo.getId()); shopOrder.setCreateBy("微信小程序生成"); shopOrder.setUpdateBy("微信小程序生成"); + shopOrder.setPayMethod(shopOrderDto.getPayMethod()); shopOrder.setCommodityPrice(discountExplain.getBillPrice()); shopOrder.setPurchaseQuantity(orderCount); shopOrder.setOrderType(ShopOrder.ORDER_TYPE_GOODS); @@ -256,11 +251,8 @@ - BrandWCPayRequestData payData = startPayment(shopOrder); - AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, Arrays.asList(payData)); - result.putInMap("orderId", shopOrder.getId()); - return result; + return shopOrder; } @Override @@ -327,7 +319,7 @@ List<CouponReceiveInfoVO> usefulCoupon = new ArrayList<>(); CouponReceiveInfoVO shopCoupon = new CouponReceiveInfoVO(); //满足店铺活动的订单不能使用优惠券 - if (conditionsGroupCount > 0) { + if (conditionsGroupCount <= 0) { //计算可用优惠券 usefulCoupon = wxShopCouponService.getCartVoCouponList(sysVipInfo.getCompanyId(), orderItemDtos); //获取用户使用的优惠券 @@ -355,9 +347,11 @@ //计算运费 - discountExplain.setPostage(calculationPostage(discountExplain.getPayPrice(), HostInterceptor.getCompanyId())); - - + if(ShopOrder.SHIPPING_METHOD_WL==shopOrderDto.getDeliverySelect()){ + discountExplain.setPostage(calculationPostage(billPrice, HostInterceptor.getCompanyId())); + }else{ + discountExplain.setPostage(BigDecimal.ZERO); + } //账单总金额 discountExplain.setBillPrice(billPrice.add(discountExplain.getPostage())); @@ -392,11 +386,15 @@ @Override public AjaxResult orderSettlement(int orderId) throws Exception { ShopOrder shopOrder = shopOrderDao.selectById(orderId); + if (shopOrder == null) { - throw new GlobleException("订单不存在!"); + return AjaxResult.buildFailInstance("订单不存在!"); + } + if (ShopOrder.SHOP_ORDER_PAY_METHOD_WX != shopOrder.getPayMethod()) { + return AjaxResult.buildFailInstance("支付方式错误"); } if (!shopOrder.getPayResult().equals(ShopOrder.ORDER_PAY_STATUS_WAIT)) { - throw new GlobleException("该订单不是待支付状态!"); + return AjaxResult.buildFailInstance("该订单不是待支付状态!"); } if(shopOrder.getScorePay()!=null){ -- Gitblit v1.9.1