From 32c6afd546e8ba7c8fd97be0b37550c797bc8162 Mon Sep 17 00:00:00 2001
From: luofl <1442745593@qq.com>
Date: 星期三, 12 二月 2025 09:25:40 +0800
Subject: [PATCH] 修改物流信息导入模板
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java | 284 +++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 199 insertions(+), 85 deletions(-)
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
index 0bd2117..efbe37e 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
@@ -11,6 +11,7 @@
import com.ruoyi.account.api.vo.PaymentUserCoupon;
import com.ruoyi.account.api.vo.PaymentUserCouponVo;
import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.order.mapper.ShoppingCartMapper;
@@ -141,6 +142,9 @@
throw new RuntimeException("根据类型(1=服务商品,2=单品商品)获取商品数据失败");
}
List<Integer> goodsIds = data.stream().map(Goods::getId).collect(Collectors.toList());
+ if(goodsIds.isEmpty()){
+ return new ArrayList<>();
+ }
//查询符合商品类型的商品数据
List<ShoppingCart> list = this.list(new LambdaQueryWrapper<ShoppingCart>().eq(ShoppingCart::getAppUserId, userid)
.in(ShoppingCart::getGoodsId, goodsIds).eq(ShoppingCart::getStatus, 1));
@@ -190,7 +194,7 @@
info.setVip(appUser.getVipId());
GoodsSeckill goodsSeckill = seckillActivityInfoClient.getSeckillActivityInfo(info).getData();
//没有秒杀活动或者添加的普通商品则不使用秒杀活动价格
- if(null == goodsSeckill || type == 1){
+ if((null == goodsSeckill || (null == goodsSeckill.getCashPayment() && null == goodsSeckill.getPointPayment())) || type == 1){
//没有秒杀价,则判断门店特价
GetGoodsBargainPrice goodsBargainPrice = new GetGoodsBargainPrice();
goodsBargainPrice.setGoodsId(goodsId);
@@ -209,17 +213,17 @@
area.setVip(appUser.getVipId());
area.setGoodsId(goodsId);
GoodsArea goodsArea = goodsAreaClient.getGoodsArea(area).getData();
- if(null == goodsArea){
+ if(null == goodsArea || (null == goodsArea.getCashPayment() && null == goodsArea.getPointPayment())){
//没有地区价格,则使用会员价格
GoodsVip goodsVip = goodsVipClient.getGoodsVip(goodsId, appUser.getVipId()).getData();
- if(null == goodsVip){
+ if(null == goodsVip || (null == goodsVip.getCashPayment() && null == goodsVip.getPointPayment())){
//没有配置价格,直接使用原始基础价格
return null;
}else{
price.setCash(goodsVip.getSellingPrice());
price.setPoint(goodsVip.getIntegral());
- price.setCashPayment(goodsVip.getCashPayment() == 1);
- price.setPointPayment(goodsVip.getPointPayment() == 1);
+ price.setCashPayment(null != goodsVip.getCashPayment() && goodsVip.getCashPayment() == 1);
+ price.setPointPayment(null != goodsVip.getPointPayment() && goodsVip.getPointPayment() == 1);
price.setEarnSpendingPoints(goodsVip.getEarnSpendingPoints());
price.setSuperiorSubcommission(goodsVip.getSuperiorSubcommission());
price.setSuperiorRebatePoints(goodsVip.getSuperiorRebatePoints());
@@ -236,8 +240,8 @@
}else{
price.setCash(goodsArea.getSellingPrice());
price.setPoint(goodsArea.getIntegral());
- price.setCashPayment(goodsArea.getCashPayment() == 1);
- price.setPointPayment(goodsArea.getPointPayment() == 1);
+ price.setCashPayment(null !=goodsArea.getCashPayment() && goodsArea.getCashPayment() == 1);
+ price.setPointPayment(null !=goodsArea.getPointPayment() && goodsArea.getPointPayment() == 1);
price.setEarnSpendingPoints(goodsArea.getEarnSpendingPoints());
price.setSuperiorSubcommission(goodsArea.getSuperiorSubcommission());
price.setSuperiorRebatePoints(goodsArea.getSuperiorRebatePoints());
@@ -304,8 +308,8 @@
if(goodsSeckill.getCashPayment() == 0 && goodsSeckill.getPointPayment() == 1){
price.setPoint(goodsSeckill.getIntegral());
}
- price.setCashPayment(goodsSeckill.getCashPayment() == 1);
- price.setPointPayment(goodsSeckill.getPointPayment() == 1);
+ price.setCashPayment(null != goodsSeckill.getCashPayment() && goodsSeckill.getCashPayment() == 1);
+ price.setPointPayment(null != goodsSeckill.getPointPayment() && goodsSeckill.getPointPayment() == 1);
price.setEndTime(goodsSeckill.getEndTime());
price.setEarnSpendingPoints(goodsSeckill.getEarnSpendingPoints());
price.setSuperiorSubcommission(goodsSeckill.getSuperiorSubcommission());
@@ -329,6 +333,29 @@
@Override
public Long addGoods(ShoppingCart shoppingCart) {
Long userid = tokenService.getLoginUserApplet().getUserid();
+ long goodsSaleNum = orderService.getGoodsSaleNum(shoppingCart.getGoodsId(), null, userid);
+ long count = count(new LambdaQueryWrapper<ShoppingCart>()
+ .eq(ShoppingCart::getGoodsId, shoppingCart.getGoodsId())
+ .eq(ShoppingCart::getStatus,1)
+ .eq(ShoppingCart::getAppUserId, userid));
+ goodsSaleNum += count;
+ Goods goods = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData();
+
+ Integer maxNum = 0;
+ if(shoppingCart.getType() == 2){
+ R<SeckillActivityInfo> r = seckillActivityInfoClient.getSeckillActivityInfoByGoodsId(shoppingCart.getGoodsId());
+ if (R.isError(r)){
+ throw new ServiceException("获取秒杀商品失败!");
+ }
+ SeckillActivityInfo seckillActivityInfo = r.getData();
+ maxNum = seckillActivityInfo.getMaxNum();
+ }else {
+ maxNum = goods.getPurchaseLimit();
+ }
+
+ if(null != goods.getPurchaseLimit() && -1 != maxNum && (goodsSaleNum + shoppingCart.getNumber()) > maxNum){
+ throw new ServiceException("超出购买数量限制");
+ }
ShoppingCart one = this.getOne(new LambdaQueryWrapper<ShoppingCart>().eq(ShoppingCart::getAppUserId, userid)
.eq(ShoppingCart::getGoodsId, shoppingCart.getGoodsId()).eq(ShoppingCart::getType, shoppingCart.getType()).eq(ShoppingCart::getStatus, 1));
if(null != one){
@@ -351,15 +378,18 @@
*/
@Override
public R setGoodsNumber(SetGoodsNumber setGoodsNumber) {
+
+ ShoppingCart shoppingCart = this.getById(setGoodsNumber.getId());
if(0 >= setGoodsNumber.getNumber()){
return R.fail("修改数量不能小于等于0");
}
- ShoppingCart shoppingCart = this.getById(setGoodsNumber.getId());
if(null != shoppingCart){
- Goods goods = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData();
- if(null != goods.getPurchaseLimit() && -1 != goods.getPurchaseLimit() && goods.getPurchaseLimit() < setGoodsNumber.getNumber()){
+ Goods goods1 = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData();
+ if(null != goods1.getPurchaseLimit() && -1 != goods1.getPurchaseLimit()
+ && goods1.getPurchaseLimit() < setGoodsNumber.getNumber()
+ && setGoodsNumber.getNumber() >= shoppingCart.getNumber()){
return R.fail("修改数量不能大于限购数量");
}
@@ -418,12 +448,14 @@
BigDecimal bigDecimal = BigDecimal.ZERO;
for (MyShoppingCartVo myShoppingCartVo : goodsList) {
bigDecimal = bigDecimal.add(myShoppingCartVo.getCash().multiply(new BigDecimal(myShoppingCartVo.getNumber())));
+ myShoppingCartVo.setEarnSpendingPoints(myShoppingCartVo.getEarnSpendingPoints() * myShoppingCartVo.getNumber());
}
confirmOrderVo.setOrderMoney(bigDecimal);
}else{
int sum = 0;
for (MyShoppingCartVo myShoppingCartVo : goodsList) {
- sum += (myShoppingCartVo.getPoint() * myShoppingCartVo.getNumber());
+ sum += ((null != myShoppingCartVo.getPoint() ? myShoppingCartVo.getPoint() : 0) * myShoppingCartVo.getNumber());
+ myShoppingCartVo.setEarnSpendingPoints((null != myShoppingCartVo.getEarnSpendingPoints() ? myShoppingCartVo.getEarnSpendingPoints() : 0) * myShoppingCartVo.getNumber());
}
confirmOrderVo.setOrderPoint(sum);
}
@@ -532,6 +564,10 @@
confirmOrderVo.setDiscountAmount(activityAmount);
int earnPoint = goodsList.stream().mapToInt(MyShoppingCartVo::getEarnSpendingPoints).sum();
confirmOrderVo.setEarnPoint(earnPoint);
+ if(null != paymentMoney && BigDecimal.ZERO.compareTo(paymentMoney) > 0){
+ paymentMoney = BigDecimal.ZERO;
+ }
+
//支付金额,订单金额-订单优惠
confirmOrderVo.setPayMoney(paymentMoney);
confirmOrderVo.setResidualPoint(appUser.getAvailablePoint().intValue());
@@ -539,6 +575,7 @@
UserAddress userAddress = userAddressClient.getDefaultUserAddress(userid).getData();
if(null != userAddress){
userAddress.setIdStr(userAddress.getId().toString());
+ userAddress.setRecieveAddress(userAddress.getProvince() + userAddress.getCity() + userAddress.getDistrict() + userAddress.getRecieveAddress());
confirmOrderVo.setUserAddress(userAddress);
}
confirmOrderVo.setPaymentType(confirmOrder.getPaymentType());
@@ -564,11 +601,11 @@
}
}else{
//部分商品适用
- BigDecimal goodsMoney = BigDecimal.ZERO;
+ BigDecimal goodsMoney = BigDecimal.ZERO;
for (MyShoppingCartVo myShoppingCartVo : goodsList) {
Integer goodsId = myShoppingCartVo.getGoodsId();
BigDecimal cash = myShoppingCartVo.getCash();
- if(forGoodIds.contains(goodsId)){
+ if(forGoodIds.contains(String.valueOf(goodsId))){
goodsMoney = goodsMoney.add(cash);
}
}
@@ -716,7 +753,7 @@
num += num1;
ShoppingCart shoppingCart = this.getById(id);
//判断当前数量是否已经超出限购数量(需要计算已经购买的数量)
- Integer goodsSaleNum = orderService.getGoodsSaleNum(shoppingCart.getGoodsId(), type);
+ Integer goodsSaleNum = orderService.getGoodsSaleNum(shoppingCart.getGoodsId(), type, userid);
Goods goods = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData();
if(1 == type){
if(null != goods.getPurchaseLimit() && -1 != goods.getPurchaseLimit() && (goodsSaleNum + num1) > goods.getPurchaseLimit()){
@@ -939,6 +976,10 @@
}
}
}
+ if(BigDecimal.ZERO.compareTo(paymentMoney) > 0){
+ paymentMoney = BigDecimal.ZERO;
+ }
+
//构建订单明细
Order order = new Order();
order.setAppUserId(userid);
@@ -953,7 +994,7 @@
order.setGoodName(goodName.substring(0, goodName.length() - 1));
Goods goods = goodsClient.getGoodsById(goodsList.get(0).getGoodsId()).getData();
order.setOrderType(goods.getType());
- order.setOrderStatus(goods.getType() == 1 ? 3 : 1);
+ order.setOrderStatus(goods.getType() == 1 ? 3 : (shoppingCartPayment.getDistributionMode() == 2 ? 1 : 2));
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
order.setOrderNumber("QJS" + getNumber(3) + sdf.format(new Date()));
order.setTotalAmount(orderMoney.setScale(2, RoundingMode.HALF_EVEN));
@@ -975,7 +1016,7 @@
if(null != orderActivityInfo1){
order.setActivityJson(JSON.toJSONString(orderActivityInfo1));
}
- if(null != shoppingCartPayment.getUserAddressId()){
+ if(2 == shoppingCartPayment.getDistributionMode()){
UserAddress address = userAddressClient.getUserAddressById(shoppingCartPayment.getUserAddressId()).getData();
order.setExpressAmount(expressFee);
order.setAddressJson(JSON.toJSONString(address));
@@ -986,6 +1027,7 @@
order.setDelFlag(0);
order.setCreateTime(LocalDateTime.now());
order.setExpressPayMethod(shoppingCartPayment.getFreightPaymentType());
+ order.setDistributionMode(shoppingCartPayment.getDistributionMode());
if(2 == shoppingCartPayment.getPaymentType()){
BigDecimal balance = appUser.getBalance();
@@ -995,7 +1037,7 @@
}
if(3 == shoppingCartPayment.getPaymentType()){
Integer availablePoint = appUser.getAvailablePoint();
- if(availablePoint < orderPoint){
+ if(availablePoint.compareTo(orderPoint) < 0){
return R.fail("账户可用积分不足");
}
}
@@ -1059,21 +1101,96 @@
//开始构建支付数据
//现金支付
paymentMoney = paymentMoney.add(expressFee).setScale(2, RoundingMode.HALF_EVEN);
+ if(BigDecimal.ZERO.compareTo(paymentMoney) > 0){
+ paymentMoney = BigDecimal.ZERO;
+ }
if(1 == shoppingCartPayment.getPaymentType()){
- //调起微信支付
- String goodsNames = goodsList.stream().map(MyShoppingCartVo::getName).collect(Collectors.joining("\n"));
- UniPayResult uniPayResult = PaymentUtil.uniPay(order.getOrderNumber(), paymentMoney.doubleValue(), order.getOrderType() == 1 ? "购买服务商品" : "购买单品商品",
- goodsNames, "", "/order/shopping-cart/shoppingCartPaymentCallback", appUser.getWxOpenid(), null);
- if(null == uniPayResult || !"100".equals(uniPayResult.getRa_Code())){
- return R.fail(null == uniPayResult ? "支付失败" : uniPayResult.getRb_CodeMsg());
+ if(BigDecimal.ZERO.compareTo(paymentMoney) < 0){
+ //调起微信支付
+ String goodsNames = goodsList.stream().map(MyShoppingCartVo::getName).collect(Collectors.joining("\n"));
+ UniPayResult uniPayResult = PaymentUtil.uniPay(order.getOrderNumber(), paymentMoney.doubleValue(), order.getOrderType() == 1 ? "购买服务商品" : "购买单品商品",
+ goodsNames, "", "/order/shopping-cart/shoppingCartPaymentCallback", appUser.getWxOpenid(), null);
+ if(null == uniPayResult || !"100".equals(uniPayResult.getRa_Code())){
+ return R.fail(null == uniPayResult ? "支付失败" : uniPayResult.getRb_CodeMsg());
+ }
+ String rc_result = uniPayResult.getRc_Result();
+ JSONObject jsonObject = JSON.parseObject(rc_result);
+ jsonObject.put("orderId", order.getId().toString());
+ //将支付数据添加到redis队列中,便于定时任务去校验是否完成支付,没有完成支付支付,15分钟后关闭订单。
+ long second = LocalDateTime.now().plusMinutes(15).toEpochSecond(ZoneOffset.UTC);
+ redisTemplate.opsForZSet().add("OrderPayment", order.getOrderNumber(), second);
+ return R.ok(jsonObject.toJSONString());
+ }else{
+
+ earnPoint = order.getGetPoint();
+ appUser = appUserClient.getAppUserById(order.getAppUserId());
+ Integer lavePoint = appUser.getLavePoint();
+ paymentMoney = order.getPaymentAmount();
+ //构建积分流水记录
+ if(earnPoint > 0){
+ PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData();
+ int earnPoint1 = 0;
+ if(null != pointSetting && 1 == pointSetting.getBuyPointOpen()){
+ earnPoint1 = new BigDecimal(earnPoint).multiply(pointSetting.getBuyPoint().divide(new BigDecimal(100))).intValue();
+ }
+ appUser.setShopPoint(appUser.getShopPoint() + earnPoint);
+ appUser.setLavePoint(appUser.getLavePoint() + earnPoint);
+ appUser.setTotalPoint(appUser.getTotalPoint() + earnPoint);
+ appUser.setAvailablePoint(appUser.getAvailablePoint() + earnPoint1);
+ appUser.setTotalAvailablePoint(appUser.getTotalAvailablePoint() + earnPoint1);
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("shopPoint", earnPoint);
+ jsonObject.put("availablePoint", earnPoint1);
+ if(null != pointSetting && 1 == pointSetting.getBuyPointGift()){
+ appUser.setTransferablePoint(appUser.getTransferablePoint() + earnPoint1);
+ jsonObject.put("transferablePoint", earnPoint1);
+ }
+
+ if(earnPoint > 0){
+ UserPoint userPoint = new UserPoint();
+ userPoint.setType(1);
+ userPoint.setHistoricalPoint(lavePoint);
+ userPoint.setVariablePoint(earnPoint);
+ userPoint.setBalance(appUser.getLavePoint());
+ userPoint.setCreateTime(LocalDateTime.now());
+ userPoint.setAppUserId(appUser.getId());
+ userPoint.setObjectId(order.getId());
+ userPoint.setExtention(jsonObject.toJSONString());
+ userPointClient.saveUserPoint(userPoint);
+ }
+ }
+ appUser.setShopAmount(appUser.getShopAmount().add(paymentMoney).setScale(2, RoundingMode.HALF_EVEN));
+ appUser.setLastShopTime(LocalDateTime.now());
+ appUserClient.editAppUserById(appUser);
+ //变更等级
+ appUserClient.vipUpgrade(appUser.getId());
+ //修改订支付状态
+ order.setPayStatus(2);
+ //自提
+ if(order.getOrderType() == 1 && StringUtils.isEmpty(order.getAddressJson())){
+ order.setOrderStatus(2);
+ }
+ orderService.updateById(order);
+
+ //处理优惠券
+ if(null != order.getUserCouponId()){
+ UserCoupon userCoupon = userCouponClient.getUserCoupon(order.getUserCouponId()).getData();
+ if(null != userCoupon && null == userCoupon.getUseTime()){
+ userCoupon.setStatus(2);
+ userCoupon.setUseTime(LocalDateTime.now());
+ userCouponClient.editUserCoupon(userCoupon);
+ }
+ }
+
+
+ //删除购物车数据
+ userid = tokenService.getLoginUserApplet().getUserid();
+ List<OrderGood> list1 = orderGoodService.list(new LambdaQueryWrapper<OrderGood>().eq(OrderGood::getOrderId, order.getId()));
+ List<Integer> goodsIds1 = list1.stream().map(OrderGood::getGoodsId).collect(Collectors.toList());
+ this.remove(new LambdaQueryWrapper<ShoppingCart>().eq(ShoppingCart::getAppUserId, userid).in(ShoppingCart::getGoodsId, goodsIds1));
+
}
- String rc_result = uniPayResult.getRc_Result();
- JSONObject jsonObject = JSON.parseObject(rc_result);
- jsonObject.put("orderId", order.getId().toString());
- //将支付数据添加到redis队列中,便于定时任务去校验是否完成支付,没有完成支付支付,15分钟后关闭订单。
- long second = LocalDateTime.now().plusMinutes(15).toEpochSecond(ZoneOffset.UTC);
- redisTemplate.opsForZSet().add("OrderPayment", order.getOrderNumber(), second);
- return R.ok(jsonObject.toJSONString());
}
//账户余额
BigDecimal redPacketAmount = BigDecimal.ZERO;
@@ -1098,7 +1215,7 @@
totalDistributionAmount = totalDistributionAmount.subtract(paymentMoney1);
balance = balance.subtract(paymentMoney1);
appUser.setTotalRedPacketAmount(totalRedPacketAmount);
- appUser.setTotalDistributionAmount(totalDistributionAmount);
+// appUser.setTotalDistributionAmount(totalDistributionAmount);
appUser.setBalance(balance);
distributionAmount = paymentMoney1;
}else{
@@ -1106,7 +1223,7 @@
totalDistributionAmount = BigDecimal.ZERO;
balance = balance.subtract(paymentMoney1);
appUser.setTotalRedPacketAmount(totalRedPacketAmount);
- appUser.setTotalDistributionAmount(totalDistributionAmount);
+// appUser.setTotalDistributionAmount(totalDistributionAmount);
appUser.setBalance(balance);
distributionAmount = totalDistributionAmount;
}
@@ -1153,6 +1270,7 @@
//构建余额明细变动记录
BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
balanceChangeRecord.setAppUserId(appUser.getId());
+ balanceChangeRecord.setVipId(appUser.getVipId());
balanceChangeRecord.setOrderId(order.getId());
balanceChangeRecord.setChangeType(5);
balanceChangeRecord.setBeforeAmount(balance.add(paymentMoney));
@@ -1177,11 +1295,7 @@
userCouponClient.editUserCoupon(userCoupon);
}
}
- //添加查询快递信息队列
- if(StringUtils.isNotEmpty(order.getExpressJson())){
- //一小时后定时查询快递信息
- redisTemplate.opsForZSet().add("order_express", order.getId(), LocalDateTime.now().plusHours(1).toEpochSecond(ZoneOffset.UTC));
- }
+
}
//积分支付
if(3 == shoppingCartPayment.getPaymentType()){
@@ -1219,16 +1333,18 @@
}
//构建积分流水记录
- UserPoint userPoint = new UserPoint();
- userPoint.setType(11);
- userPoint.setHistoricalPoint(lavePoint);
- userPoint.setVariablePoint(orderPoint);
- userPoint.setBalance(appUser.getLavePoint());
- userPoint.setCreateTime(LocalDateTime.now());
- userPoint.setAppUserId(appUser.getId());
- userPoint.setObjectId(order.getId());
- userPoint.setExtention((tra >= 0 ? orderPoint : transferablePoint) + "");
- userPointClient.saveUserPoint(userPoint);
+ if(orderPoint > 0){
+ UserPoint userPoint = new UserPoint();
+ userPoint.setType(11);
+ userPoint.setHistoricalPoint(lavePoint);
+ userPoint.setVariablePoint(orderPoint);
+ userPoint.setBalance(appUser.getLavePoint());
+ userPoint.setCreateTime(LocalDateTime.now());
+ userPoint.setAppUserId(appUser.getId());
+ userPoint.setObjectId(order.getId());
+ userPoint.setExtention((tra >= 0 ? orderPoint : transferablePoint) + "");
+ userPointClient.saveUserPoint(userPoint);
+ }
appUser.setLastShopTime(LocalDateTime.now());
appUserClient.editAppUserById(appUser);
@@ -1258,7 +1374,7 @@
totalDistributionAmount = totalDistributionAmount.subtract(expressFee1);
balance = balance.subtract(expressFee1);
appUser.setTotalRedPacketAmount(totalRedPacketAmount);
- appUser.setTotalDistributionAmount(totalDistributionAmount);
+// appUser.setTotalDistributionAmount(totalDistributionAmount);
appUser.setBalance(balance);
distributionAmount = expressFee1;
}else{
@@ -1266,7 +1382,7 @@
totalDistributionAmount = BigDecimal.ZERO;
balance = balance.subtract(expressFee1);
appUser.setTotalRedPacketAmount(totalRedPacketAmount);
- appUser.setTotalDistributionAmount(totalDistributionAmount);
+// appUser.setTotalDistributionAmount(totalDistributionAmount);
appUser.setBalance(balance);
distributionAmount = totalDistributionAmount;
}
@@ -1276,6 +1392,7 @@
//构建余额明细变动记录
BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
balanceChangeRecord.setAppUserId(appUser.getId());
+ balanceChangeRecord.setVipId(appUser.getVipId());
balanceChangeRecord.setOrderId(order.getId());
balanceChangeRecord.setChangeType(5);
balanceChangeRecord.setBeforeAmount(balance.add(expressFee));
@@ -1303,14 +1420,7 @@
//删除购物车数据
this.removeBatchByIds(ids);
}
- //添加查询快递信息队列
- if(StringUtils.isNotEmpty(order.getExpressJson())){
- //一小时后定时查询快递信息
- SystemConfig systemConfig = systemConfigClient.getSystemConfig(3).getData();
- JSONObject jsonObject = JSON.parseObject(systemConfig.getContent());
- Integer waitTime = jsonObject.getInteger("waitTime");
- redisTemplate.opsForZSet().add("order_express", order.getId(), LocalDateTime.now().plusHours(waitTime).toEpochSecond(ZoneOffset.UTC));
- }
+
}
//添加账户余额支付明细
@@ -1370,16 +1480,18 @@
jsonObject.put("transferablePoint", earnPoint1);
}
- UserPoint userPoint = new UserPoint();
- userPoint.setType(1);
- userPoint.setHistoricalPoint(lavePoint);
- userPoint.setVariablePoint(earnPoint);
- userPoint.setBalance(appUser.getLavePoint());
- userPoint.setCreateTime(LocalDateTime.now());
- userPoint.setAppUserId(appUser.getId());
- userPoint.setObjectId(order.getId());
- userPoint.setExtention(jsonObject.toJSONString());
- userPointClient.saveUserPoint(userPoint);
+ if(earnPoint > 0){
+ UserPoint userPoint = new UserPoint();
+ userPoint.setType(1);
+ userPoint.setHistoricalPoint(lavePoint);
+ userPoint.setVariablePoint(earnPoint);
+ userPoint.setBalance(appUser.getLavePoint());
+ userPoint.setCreateTime(LocalDateTime.now());
+ userPoint.setAppUserId(appUser.getId());
+ userPoint.setObjectId(order.getId());
+ userPoint.setExtention(jsonObject.toJSONString());
+ userPointClient.saveUserPoint(userPoint);
+ }
}
appUser.setShopAmount(appUser.getShopAmount().add(paymentMoney).setScale(2, RoundingMode.HALF_EVEN));
appUser.setLastShopTime(LocalDateTime.now());
@@ -1403,17 +1515,17 @@
userCouponClient.editUserCoupon(userCoupon);
}
}
- //添加查询快递信息队列
- if(StringUtils.isNotEmpty(order.getExpressJson())){
- //一小时后定时查询快递信息
- redisTemplate.opsForZSet().add("order_express", order.getId(), LocalDateTime.now().plusHours(1).toEpochSecond(ZoneOffset.UTC));
- }
//删除购物车数据
- Long userid = tokenService.getLoginUserApplet().getUserid();
+ Long userid = order.getAppUserId();
List<OrderGood> list = orderGoodService.list(new LambdaQueryWrapper<OrderGood>().eq(OrderGood::getOrderId, order.getId()));
List<Integer> goodsIds = list.stream().map(OrderGood::getGoodsId).collect(Collectors.toList());
this.remove(new LambdaQueryWrapper<ShoppingCart>().eq(ShoppingCart::getAppUserId, userid).in(ShoppingCart::getGoodsId, goodsIds));
+
+ //商品销量增加
+ for (Integer goodsId : goodsIds) {
+ goodsClient.editGoodsNum(goodsId, 1);
+ }
return R.ok();
}
@@ -1449,16 +1561,18 @@
}
//构建积分流水记录
- UserPoint userPoint = new UserPoint();
- userPoint.setType(11);
- userPoint.setHistoricalPoint(lavePoint);
- userPoint.setVariablePoint(orderPoint);
- userPoint.setBalance(appUser.getLavePoint());
- userPoint.setCreateTime(LocalDateTime.now());
- userPoint.setAppUserId(appUser.getId());
- userPoint.setObjectId(order.getId());
- userPoint.setExtention((tra >= 0 ? orderPoint : transferablePoint) + "");
- userPointClient.saveUserPoint(userPoint);
+ if(orderPoint > 0){
+ UserPoint userPoint = new UserPoint();
+ userPoint.setType(11);
+ userPoint.setHistoricalPoint(lavePoint);
+ userPoint.setVariablePoint(orderPoint);
+ userPoint.setBalance(appUser.getLavePoint());
+ userPoint.setCreateTime(LocalDateTime.now());
+ userPoint.setAppUserId(appUser.getId());
+ userPoint.setObjectId(order.getId());
+ userPoint.setExtention((tra >= 0 ? orderPoint : transferablePoint) + "");
+ userPointClient.saveUserPoint(userPoint);
+ }
//积分支付不反积分
--
Gitblit v1.7.1