From 06ea0fe23faf2238d9d1141826ecb404367aecec Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期五, 18 十月 2024 10:49:38 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java | 78 ++++++++++++-------------------------- 1 files changed, 25 insertions(+), 53 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java index 36e040b..3680d02 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java @@ -127,15 +127,15 @@ coupon = coupon.add(tActivityStatisticslVO.getCouponDiscountAmount()); stringBuilder.append("优惠券抵扣").append("+"); } - if (tActivityStatisticslVO.getVipDiscountAmount()!=null - && - (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + if (tActivityStatisticslVO.getVipDiscountAmount()!=null &&(tActivityStatisticslVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ discount = discount.add(tActivityStatisticslVO.getVipDiscountAmount()); stringBuilder.append("会员抵扣").append("+"); } - stringBuilder.deleteCharAt(stringBuilder.length()-1); - tActivityStatisticslVO.setType(stringBuilder.toString()); - tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime())); + if (stringBuilder.length()>0){ + stringBuilder.deleteCharAt(stringBuilder.length()-1); + tActivityStatisticslVO.setType(stringBuilder.toString()); + } + tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime()); break; case 2: StringBuilder stringBuilder1 = new StringBuilder(); @@ -155,7 +155,7 @@ } stringBuilder1.deleteCharAt(stringBuilder1.length()-1); tActivityStatisticslVO.setType(stringBuilder1.toString()); - tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime())); + tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime()); break; case 3: // 会员订单 优惠金额大于0 @@ -165,19 +165,19 @@ vipActivity = vipActivity.add(tActivityStatisticslVO.getVipDiscountAmount()); } tActivityStatisticslVO.setType("会员活动"); - tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime())); + tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime()); break; case 4: // 赠送会员订单 如果支付金额为0 那么就是后台赠送的会员 if (tActivityStatisticslVO.getPaymentAmount().compareTo(BigDecimal.ZERO)==0){ grantVip = grantVip.add(tActivityStatisticslVO.getOrderAmount()); tActivityStatisticslVO.setType("赠送会员"); - tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime())); + tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime()); }else{ // 赠送 grantVip = grantVip.add(tActivityStatisticslVO.getVipDiscountAmount()); tActivityStatisticslVO.setType("赠送会员"); - tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime())); + tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime()); } break; } @@ -202,7 +202,7 @@ public Map<String, Object> getMyShoppingOrderList(GetMyShoppingOrderList query) { Long userId = tokenService.getLoginUserApplet().getUserId(); LambdaQueryWrapper<TShoppingOrder> wrapper = new LambdaQueryWrapper<TShoppingOrder>().eq(TShoppingOrder::getDelFlag, 0) - .eq(TShoppingOrder::getAppUserId, userId); + .eq(TShoppingOrder::getAppUserId, userId).eq(TShoppingOrder::getPaymentStatus, 2); if(query.getStatus() != 0){ wrapper.eq(TShoppingOrder::getStatus, query.getStatus()); } @@ -255,7 +255,7 @@ TAppUserAddress userAddress = appUserAddressClient.getAppUserAddressById(shoppingOrder.getAppUserAddressId()).getData(); info.setConsignee(userAddress.getName()); info.setPhone(userAddress.getPhone()); - info.setAddress(userAddress.getAddress()); + info.setAddress(userAddress.getProvince() + userAddress.getCity() + userAddress.getDistrict() + userAddress.getAddress()); info.setExpressCompany(shoppingOrder.getExpressCompany()); info.setExpressNumber(shoppingOrder.getExpressNumber()); String name = ""; @@ -364,6 +364,9 @@ shoppingOrderRefund.setRefundRemark("全额退款"); shoppingOrderRefund.setRefundTotalAmount(refundAmount.add(bigDecimal)); shoppingOrderRefund.setPayAmount(shoppingOrder.getPaymentAmount()); + + shoppingOrder.setCancellationTime(LocalDateTime.now()); + shoppingOrder.setCancellationId(shoppingOrder.getAppUserId()); if(1 == paymentType){ WxPaymentRefundModel model = new WxPaymentRefundModel(); model.setOut_trade_no(shoppingOrder.getCode()); @@ -378,6 +381,7 @@ model.setAmount(amount); R<String> orderR = wxPaymentClient.refundOrderR(model); if(200 == orderR.getCode()){ + this.updateById(shoppingOrder); shoppingOrderRefundService.save(shoppingOrderRefund); } } @@ -389,49 +393,9 @@ dto.setRefundReason("取消订单"); RefundResp resp = aliPaymentClient.refund(dto).getData(); if(null != resp){ + this.updateById(shoppingOrder); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-DDTHH:mm:ss+TIMEZONE"); AjaxResult success = cancelShoppingOrderWxRefund(resp.getOutTradeNo(), resp.getTradeNo(), "SUCCESS", sdf1.format(new Date())); - if(success.isSuccess()){ - shoppingOrderRefundService.save(shoppingOrderRefund); - //商品 - if(shoppingOrder.getOrderType() == 1){ - //redis锁 和支付使用同一个锁 - RedisLock redisLock = new RedisLock(redisTemplate, "SHOPPING_GOODS_LOCK", 5, 30000); - try { - redisLock.lock(); - TGoods goods = goodsClient.getGoodsById(shoppingOrder.getGoodsId()).getData(); - Integer inventory = goods.getInventory(); - if(-1 != inventory){ - goods.setInventory(inventory + shoppingOrder.getPurchaseQuantity()); - goodsClient.updateGoods(goods); - } - }catch (Exception e){ - e.printStackTrace(); - }finally { - //解锁 - redisLock.unlock(); - } - } - //优惠券 - if(shoppingOrder.getOrderType() == 2){ - //redis锁 和支付使用同一个锁 - RedisLock redisLock = new RedisLock(redisTemplate, "SHOPPING_COUPON_LOCK", 5, 30000); - try { - redisLock.lock(); - TCoupon coupon = couponClient.getCouponById1(shoppingOrder.getCouponId()).getData(); - Integer inventory = coupon.getInventoryQuantity(); - if(-1 != inventory){ - coupon.setInventoryQuantity(inventory + shoppingOrder.getPurchaseQuantity()); - couponClient.updateCoupon(coupon); - } - }catch (Exception e){ - e.printStackTrace(); - }finally { - //解锁 - redisLock.unlock(); - } - } - } } } return AjaxResult.success(); @@ -457,6 +421,13 @@ shoppingOrderRefundService.updateById(one); //判断是否需要回退库存 TShoppingOrder shoppingOrder = this.getById(one.getShoppingOrderId()); + shoppingOrder.setStatus(4); + shoppingOrder.setRefundCode(one.getRefundSerialNumber()); + shoppingOrder.setRefundAmount(one.getRefundAmount()); + shoppingOrder.setRefundStatus(2); + shoppingOrder.setRefundTime(one.getRefundTime()); + this.updateById(shoppingOrder); + //商品 if(shoppingOrder.getOrderType() == 1){ //redis锁 和支付使用同一个锁 @@ -584,6 +555,7 @@ if (data1!=null){ tShoppingOrder.setName(data1.getName()); } + tShoppingOrder.setStatus(3); break; } if (tShoppingOrder.getAppUserId() != null){ -- Gitblit v1.7.1