From f938ddb895cdcdfc925cfaa268c0ed8638f3b2a3 Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期四, 17 八月 2023 11:39:25 +0800
Subject: [PATCH] update
---
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java | 64 ++++++++++++++++++++++++++++++-
1 files changed, 61 insertions(+), 3 deletions(-)
diff --git a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java
index 30e5b1c..02a3d6b 100644
--- a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java
+++ b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java
@@ -1,6 +1,5 @@
package com.supersavedriving.user.modular.system.service.impl;
-import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
@@ -524,6 +523,7 @@
}
}
}
+ redisUtil.setStrValue("newOrder", "true");
return ResultUtil.success(order.getId());
}
@@ -718,6 +718,7 @@
order1.setHallOrder(1);
OrderServiceImpl.this.updateById(order1);
ExtraPushOrder(order);
+ redisUtil.setStrValue("lobbyOrder", "true");
}
}
}, num4 * 1000);
@@ -725,6 +726,7 @@
order.setHallOrder(1);
this.updateById(order);
ExtraPushOrder(order);
+ redisUtil.setStrValue("lobbyOrder", "true");
}
redisUtil.unlock();
}catch (Exception e){
@@ -814,8 +816,10 @@
PushOrderInfoWarpper pushOrderInfoWarpper = new PushOrderInfoWarpper();
pushOrderInfoWarpper.setId(order.getId());
pushOrderInfoWarpper.setState(order.getState());
+ pushOrderInfoWarpper.setCancelObject(1);
pushUtil.pushOrderInfo(order.getDriverId(), 2, pushOrderInfoWarpper);
}
+ redisUtil.setStrValue("cancelOrder", "true");
return ResultUtil.success();
}
@@ -1540,6 +1544,7 @@
CompanyFundFlow companyFundFlow = new CompanyFundFlow();
companyFundFlow.setBalance(new BigDecimal(balance));
companyFundFlow.setObjectType(1);
+ companyFundFlow.setDriverId(driver.getId());
companyFundFlow.setType(5);
companyFundFlow.setMoney(new BigDecimal(order.getDiscountedPrice()));
companyFundFlow.setCreateTime(new Date());
@@ -1589,6 +1594,7 @@
JSONObject jsonObject = JSON.parseObject(systemConfig.getContent());
Double num2 = jsonObject.getDouble("num2");
Double num3 = jsonObject.getDouble("num3");
+ Double num4_ = jsonObject.getDouble("num4");
if(order.getOrderMoney().compareTo(num2) >= 0){//订单金额大于num2开始分佣
AccountChangeDetail accountChangeDetail1 = new AccountChangeDetail();
accountChangeDetail1.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(5));
@@ -1990,11 +1996,60 @@
}
}
}
- //处理代理商抽佣
+ //处理平台抽佣
+ if(num4_ > 0){
+ //先平台抽佣
+ num4_ = (num3 >= num4_ ? num4_ : num3);
+ Revenue revenue = new Revenue();
+ revenue.setType(2);
+ revenue.setUserType(4);
+ revenue.setUserId(driver.getAgentId());
+ revenue.setOrderId(order.getId());
+ revenue.setAmount(num4_);
+ revenue.setCreateTime(new Date());
+ revenueService.insert(revenue);
+ //司机充值记录分账
+ Double num4_1 = num4_;
+ List<RechargeRecord> rechargeRecords = rechargeRecordService.selectList(new EntityWrapper<RechargeRecord>().eq("type", 2).eq("userId", driver.getId()).eq("payStatus", 2).gt("surplusDividedAmount", 0).orderBy("createTime"));
+ for (RechargeRecord rechargeRecord : rechargeRecords) {
+ Double surplusDividedAmount = rechargeRecord.getSurplusDividedAmount();
+ if(surplusDividedAmount.compareTo(num4_1) >= 0){
+ ResultUtil fengzhang = fengzhang(3, null, "553021440975", order.getId().longValue(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num4_1, 3);
+ if(10000 == fengzhang.getCode()){
+ rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num4_1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
+ rechargeRecordService.updateById(rechargeRecord);
+ }
+ break;
+ }else{
+ ResultUtil fengzhang = fengzhang(3, null, "553021440975", order.getId().longValue(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3);
+ if(10000 == fengzhang.getCode()){
+ rechargeRecord.setSurplusDividedAmount(0D);
+ rechargeRecordService.updateById(rechargeRecord);
+ num4_1 = new BigDecimal(num4_1).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+ }else{
+ break;
+ }
+ }
+ }
+ Double balance = revenueService.queryAgentBalance(driver.getAgentId());
+ //记录企业流水
+ CompanyFundFlow companyFundFlow = new CompanyFundFlow();
+ companyFundFlow.setType(3);
+ companyFundFlow.setObjectType(1);
+ companyFundFlow.setObjectId(null);
+ companyFundFlow.setBalance(new BigDecimal(balance));
+ companyFundFlow.setMoney(new BigDecimal(num4_));
+ companyFundFlow.setCreateTime(new Date());
+ companyFundFlowService.insert(companyFundFlow);
+ double v = new BigDecimal(num3).subtract(new BigDecimal(num4_)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+ num3 = (num3 >= num4_ ? v : 0);
+ }
+
+ //代理商分佣
if(num3 > 0 && null != driver){
Double balance = revenueService.queryAgentBalance(driver.getAgentId());
Revenue revenue = new Revenue();
- revenue.setType(1);
+ revenue.setType(2);
revenue.setUserType(3);
revenue.setUserId(driver.getAgentId());
revenue.setOrderId(order.getId());
@@ -2027,6 +2082,7 @@
}
}
+ //记录企业流水
CompanyFundFlow companyFundFlow = new CompanyFundFlow();
companyFundFlow.setType(3);
companyFundFlow.setObjectType(2);
@@ -2148,6 +2204,7 @@
CompanyFundFlow companyFundFlow = new CompanyFundFlow();
companyFundFlow.setBalance(new BigDecimal(balance));
companyFundFlow.setObjectType(1);
+ companyFundFlow.setDriverId(driver.getId());
companyFundFlow.setType(5);
companyFundFlow.setMoney(new BigDecimal(order.getDiscountedPrice()));
companyFundFlow.setCreateTime(new Date());
@@ -2321,6 +2378,7 @@
CompanyFundFlow companyFundFlow = new CompanyFundFlow();
companyFundFlow.setBalance(new BigDecimal(balance));
companyFundFlow.setObjectType(1);
+ companyFundFlow.setDriverId(driver.getId());
companyFundFlow.setType(5);
companyFundFlow.setMoney(new BigDecimal(order.getDiscountedPrice()));
companyFundFlow.setCreateTime(new Date());
--
Gitblit v1.7.1