From 1c40baaf9ca0183945b9881d11ceed5aeebc8290 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 23 十月 2025 11:35:44 +0800
Subject: [PATCH] 修改bug
---
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java | 153 ++++++++++++++++++++++++++-------------------------
1 files changed, 78 insertions(+), 75 deletions(-)
diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java
index b159b28..8a325fd 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java
@@ -9,6 +9,7 @@
import com.stylefeng.guns.core.shiro.ShiroUser;
import com.stylefeng.guns.core.util.ExcelUtil;
import com.stylefeng.guns.core.util.SinataUtil;
+import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.system.dao.LineShiftDriverMapper;
import com.stylefeng.guns.modular.system.dao.OrderCancelMapper;
import com.stylefeng.guns.modular.system.model.*;
@@ -16,6 +17,9 @@
import com.stylefeng.guns.modular.system.util.HttpRequestUtil;
import com.stylefeng.guns.modular.system.util.PushURL;
import com.stylefeng.guns.modular.system.util.ResultUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
+import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -32,10 +36,7 @@
import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* 快车改派管理控制器
@@ -43,6 +44,7 @@
* @author fengshuonan
* @Date 2020-09-03 14:20:27
*/
+@Slf4j
@Controller
@RequestMapping("/tReassign")
public class TReassignController extends BaseController {
@@ -89,8 +91,12 @@
private ITOrderTaxiService orderTaxiService;
@Autowired
private ShiroExtUtil shiroExtUtil;
-
-
+ @Autowired
+ private ITCompanyService iTCompanyService;
+ @Autowired
+ private IUserService sysUserService;
+
+
/**
* 跳转到快车改派管理首页
*/
@@ -807,6 +813,7 @@
@ResponseBody
public Object optCross(@RequestParam Integer tReassignId,@RequestParam Integer optType) {
try {
+
TReassign tReassign = tReassignService.selectById(tReassignId);
ShiroUser user = shiroExtUtil.getUser();
if (1 == optType) {
@@ -828,6 +835,23 @@
TOrderCrossCity tOrderCrossCity = itOrderCrossCityService.selectById(tReassign.getOrderId());
tOrderCrossCity.setState(tOrderCrossCity.getOldState());
itOrderCrossCityService.updateById(tOrderCrossCity);
+
+ //中台修改订单状态
+ if(ToolUtil.isNotEmpty(tOrderCrossCity.getTravelId())){
+ TCompany company = iTCompanyService.selectById(driver.getCompanyId());
+ //中台修改订单状态
+ ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
+ request.setOrderId(tOrderCrossCity.getTravelId());
+ request.setStatus(tOrderCrossCity.getState());
+ request.setDriverId(driver.getEmpId().toString());
+ if (2 == tOrderCrossCity.getPromotion()) {
+ TDriver driver1 = itDriverService.selectById(tOrderCrossCity.getPromotionDriverId());
+ request.setPromoterId(driver1.getEmpId().toString());
+ }
+ request.setSupplierShopId(company.getEnterCode());
+ OrderUtil.modifyTravelItinerary(request);
+ }
+
}else if (2 == optType){
tReassign.setState(4);
tReassign.setReviewer(user.getId());
@@ -885,45 +909,40 @@
//添加交易明细
transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", orderCrossCity.getPayMoney().doubleValue(), 1, 1, 1, 3, tReassign.getOrderId());
}else{
-// PaymentRecord query = paymentRecordService.query(1, null, null, tReassign.getOrderId(), 3, null, 2).get(0);
-// if(null == query){
-// return ResultUtil.error("订单还未进行支付");
-// }
-// Map<String, Object> merrefund = icbcPayUtil.merrefund(query.getCode(), "", query.getAmount(), tReassign.getOrderId() + "_3", orderCrossCity.getOrderNum());
-// if(Integer.valueOf(merrefund.get("code").toString()) == 0){
-// boolean b = true;
-// while (b){
-// Map<String, Object> refundqry = icbcPayUtil.refundqry("", query.getCode(), orderCrossCity.getOrderNum());
-// if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 0){//成功
-// //添加交易明细
-// transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", query.getAmount(), 1, 1, 1, 3, tReassign.getOrderId());
-// }
-// if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 1){//失败
-// return ResultUtil.error("订单取消失败(退款不成功)");
-// }
-// if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 2){//未知
-// return ResultUtil.error("退款返回未知异常");
-// }
-// }
-// }
- }
+ //中台订单退款操作
+ if(ToolUtil.isNotEmpty(orderCrossCity.getTravelId())){
+ User user1 = sysUserService.selectById(user.getId());
+ List<PaymentRecord> list = paymentRecordService.query(1, orderCrossCity.getUserId(), 1, orderCrossCity.getId(), 3, 1, 2);
+ PaymentRecord query = list.get(0);
+ TradeOrderRefundRequest request = new TradeOrderRefundRequest();
+ request.setPartnerPayId(orderCrossCity.getTravelId());
+ request.setPayId(query.getCode());
+ request.setRefundTotalFee(orderCrossCity.getPayMoney().multiply(new BigDecimal(100)).intValue() + "");
+ request.setRemark("服务商取消订单退款");
+ request.setRefundType("RF");
- //添加负的收入明细
- List<Income> incomes = incomeService.selectList(new EntityWrapper<Income>().eq("type", 2).eq("incomeId", tReassign.getOrderId()).eq("orderType", 3));
- for(Income income : incomes){
- if(income.getUserType() == 2){//处理司机的收入
- TDriver driver = itDriverService.selectById(income.getObjectId());
- driver.setBalance(driver.getBalance().subtract(new BigDecimal(income.getMoney())));
- driver.setLaveBusinessMoney(new BigDecimal(driver.getLaveBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue());
- driver.setBusinessMoney(new BigDecimal(driver.getBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue());
- itDriverService.updateById(driver);
+ RefundInfoRequest refundInfo = new RefundInfoRequest();
+ refundInfo.setPayItemId(orderCrossCity.getTravelId());
+ refundInfo.setPayId(query.getCode());
+ refundInfo.setTradeFee(orderCrossCity.getPayMoney().multiply(new BigDecimal(100)).intValue() + "");
+ request.setRefundInfos(new ArrayList<RefundInfoRequest>(){{
+ add(refundInfo);
+ }});
+ TradeOrderRefund tradeOrderRefund = OrderUtil.tradeOrderRefund(request);
+ //退款通知
+ OrderRefundNoticeRequest request1 = new OrderRefundNoticeRequest();
+ request1.setOrderId(orderCrossCity.getTravelId());
+ request1.setRefundPayNum(tradeOrderRefund.getRefundId());
+ request1.setRefundType("5");
+ request1.setApplyRefundCharge(orderCrossCity.getPayMoney());
+ request1.setActualRefundCharge(orderCrossCity.getPayMoney());
+ request1.setRefundAccount(user1.getEmpId().toString());
+ request1.setRemark("服务商取消订单退款");
+ OrderUtil.orderRefundNotice(request1);
+
+ //添加交易明细
+ transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", query.getAmount(), 1, 1, 1, 3, tReassign.getOrderId());
}
- Income income1 = new Income();
- BeanUtils.copyProperties(income, income1);
- income1.setMoney(income.getMoney() * -1);
- income1.setId(null);
- income1.setInsertTime(new Date());
- incomeService.insert(income1);
}
}
@@ -939,22 +958,6 @@
orderCancel.setUserId(user.getId());
orderCancelMapper.insert(orderCancel);
}
-
- //返回驾驶员处罚金
- TDriver originalDriver = itDriverService.selectById(tReassign.getOriginalDriverId());
-
- //增加交易明细
- TPubTransactionDetails details = new TPubTransactionDetails();
- details.setUserId(originalDriver.getId());
- details.setInsertTime(new Date());
- details.setRemark("【跨城改派】:改派失败或订单取消");
- details.setMoney(new BigDecimal(tReassign.getMoney()));
- details.setState(1);
- details.setType(1);
- details.setUserType(2);
- details.setOrderType(3);
- details.setOrderId(tReassign.getOrderId());
- itPubTransactionDetailsService.insert(details);
}catch (Exception e){
e.printStackTrace();
}
@@ -1276,6 +1279,7 @@
}
if(driver.getState() == 2){
driver.setState(3);
+ itDriverService.updateById(driver);
}
//修改订单数据
@@ -1300,24 +1304,23 @@
tReassign.setCompleteTime(new Date());
tReassignService.updateById(tReassign);
- //修改收入明细,转给新司机(因为是先支付金额)
- List<Income> incomes = incomeService.selectList(new EntityWrapper<Income>().eq("userType", 2).eq("objectId", oldDriver.getId()).eq("type", 2).eq("incomeId", tReassign.getOrderId()).eq("orderType", 3));
- if(incomes.size() > 0){
- Income income = incomes.get(0);
- income.setObjectId(driverId);
- incomeService.updateById(income);
+ TCompany company = iTCompanyService.selectById(driver.getCompanyId());
- oldDriver.setBusinessMoney(oldDriver.getBusinessMoney() - income.getMoney());
- oldDriver.setLaveBusinessMoney(oldDriver.getLaveBusinessMoney() - income.getMoney());
- oldDriver.setBalance(oldDriver.getBalance().subtract(new BigDecimal(income.getMoney())));
-
- driver.setBusinessMoney(driver.getBusinessMoney() + income.getMoney());
- driver.setLaveBusinessMoney(driver.getLaveBusinessMoney() + income.getMoney());
- driver.setBalance(driver.getBalance().add(new BigDecimal(income.getMoney())));
-
+ //中台修改订单状态
+ if(ToolUtil.isNotEmpty(tOrderCrossCity.getTravelId())){
+ ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest();
+ request1.setOrderId(tOrderCrossCity.getTravelId());
+ request1.setStatus(tOrderCrossCity.getState());
+ if (null != tOrderCrossCity.getDriverId()) {
+ request1.setDriverId(driver.getEmpId().toString());
+ request1.setSupplierShopId(company.getEnterCode());
+ }
+ if (2 == tOrderCrossCity.getPromotion()) {
+ TDriver driver2 = itDriverService.selectById(tOrderCrossCity.getPromotionDriverId());
+ request1.setPromoterId(driver2.getEmpId().toString());
+ }
+ OrderUtil.modifyTravelItinerary(request1);
}
- itDriverService.updateById(oldDriver);
- itDriverService.updateById(driver);
//增加推送
Map<String,String> map = new HashMap<>();
map.put("orderId", tOrderCrossCity.getId().toString());
--
Gitblit v1.7.1