Pu Zhibing
3 天以前 e0201ae86d66acd7127a9c01080731ee22e4b974
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;
    /**
     * 跳转到快车改派管理首页
     */
@@ -245,35 +251,44 @@
            for (int i = 0; i < mapList.size(); i++) {
                Map<String,Object> d=mapList.get(i);
                values[i] = new String[title.length];
                values[i][0]=d.get("insertTime").toString();
                values[i][1]=d.get("originalDriver").toString();
                values[i][2]=d.get("reason").toString();
                values[i][3]=d.get("orderNum").toString();
                values[i][4]=d.get("addOrderUser").toString();
                values[i][5]=d.get("travelTime").toString();
                values[i][6]=d.get("startAddress").toString();
                values[i][7]=d.get("endAddress").toString();
                values[i][8]=d.get("originalCar").toString();
                values[i][9]=d.get("money").toString();
                values[i][0]=null == d.get("insertTime") ? "" : d.get("insertTime").toString();
                values[i][1]=null == d.get("originalDriver") ? "" : d.get("originalDriver").toString();
                values[i][2]=null == d.get("reason") ? "" : d.get("reason").toString();
                values[i][3]=null == d.get("orderNum") ? "" : d.get("orderNum").toString();
                values[i][4]=null == d.get("addOrderUser") ? "" : d.get("addOrderUser").toString();
                values[i][5]=null == d.get("travelTime") ? "" : d.get("travelTime").toString();
                values[i][6]=null == d.get("startAddress") ? "" : d.get("startAddress").toString();
                values[i][7]=null == d.get("endAddress") ? "" : d.get("endAddress").toString();
                values[i][8]=null == d.get("originalCar") ? "" : d.get("originalCar").toString();
                values[i][9]=null == d.get("money") ? "" : d.get("money").toString();
                values[i][10]=d.get("nowDriver")==null?"":d.get("nowDriver").toString();
                values[i][11]=d.get("nowCar")==null?"":d.get("nowCar").toString();
                values[i][12]=d.get("orderState").toString().equals("1")?"待接单":
                        d.get("orderState").toString().equals("2")?"待出发":
                                d.get("orderState").toString().equals("3")?"待到达预约地点":
                                        d.get("orderState").toString().equals("4")?"待取货":
                                                d.get("orderState").toString().equals("5")?"服务中":
                                                        d.get("orderState").toString().equals("6")?"已送达":
                                                                d.get("orderState").toString().equals("7")?"待支付":
                                                                        d.get("orderState").toString().equals("8")?"需补差价":
                                                                                d.get("orderState").toString().equals("9")?"已取货":
                                                                                        d.get("orderState").toString().equals("10")?"已取消":
                                                                                                d.get("orderState").toString().equals("11")?"改派中":
                                                                                                        d.get("orderState").toString().equals("12")?"已支付差价":"";
                values[i][13]=d.get("state").toString().equals("1")?"提交申请":
                        d.get("state").toString().equals("2")?"已支付":
                                d.get("state").toString().equals("3")?"已改派":
                                        d.get("state").toString().equals("4")?"已取消":
                                                d.get("state").toString().equals("5")?"已拒绝":"";
                if(null == d.get("orderState")){
                    values[i][12]="";
                }else{
                    values[i][12]=d.get("orderState").toString().equals("1")?"待接单":
                            d.get("orderState").toString().equals("2")?"待出发":
                                    d.get("orderState").toString().equals("3")?"待到达预约地点":
                                            d.get("orderState").toString().equals("4")?"待乘客上车":
                                                    d.get("orderState").toString().equals("5")?"服务中":
                                                            d.get("orderState").toString().equals("6")?"已送达":
                                                                    d.get("orderState").toString().equals("7")?"待支付":
                                                                            d.get("orderState").toString().equals("8")?"待评价":
                                                                                    d.get("orderState").toString().equals("9")?"已完成":
                                                                                            d.get("orderState").toString().equals("10")?"已取消":
                                                                                                    d.get("orderState").toString().equals("11")?"改派中":
                                                                                                            d.get("orderState").toString().equals("12")?"取消待支付":"";
                }
                if(null == d.get("state")){
                    values[i][13]="";
                }else{
                    values[i][13]=d.get("state").toString().equals("1")?"提交申请":
                            d.get("state").toString().equals("2")?"已支付":
                                    d.get("state").toString().equals("3")?"已改派":
                                            d.get("state").toString().equals("4")?"已取消":
                                                    d.get("state").toString().equals("5")?"已拒绝":"";
                }
            }
            String fileNameTitle="快车改派";
            HSSFWorkbook wb = ExcelUtil.getHSSFWorkbookTime(fileNameTitle+time, title, values, null,insertTime);
@@ -335,7 +350,7 @@
            Date date = new Date();
            DateFormat format = new SimpleDateFormat("yyyyMMdd");
            String time = format.format(date);
            String fileName = "快车改派"+time+".xls";
            String fileName = "跨城改派"+time+".xls";
            String[] title = new String[] {"申请改派时间","申请司机","申请原因","订单编号","下单用户","出发时间","出发地","目的地"
                    ,"原服务车辆","改派处罚金","改派服务司机","改派服务车辆","订单当前状态","改派状态"};
@@ -353,37 +368,46 @@
            for (int i = 0; i < mapList.size(); i++) {
                Map<String,Object> d=mapList.get(i);
                values[i] = new String[title.length];
                values[i][0]=d.get("insertTime").toString();
                values[i][1]=d.get("originalDriver").toString();
                values[i][2]=d.get("reason").toString();
                values[i][3]=d.get("orderNum").toString();
                values[i][4]=d.get("addOrderUser").toString();
                values[i][5]=d.get("travelTime").toString();
                values[i][6]=d.get("startAddress").toString();
                values[i][7]=d.get("endAddress").toString();
                values[i][8]=d.get("originalCar").toString();
                values[i][9]=d.get("money").toString();
                values[i][0]=null == d.get("insertTime") ? "" : d.get("insertTime").toString();
                values[i][1]=null == d.get("originalDriver") ? "" : d.get("originalDriver").toString();
                values[i][2]=null == d.get("reason") ? "" : d.get("reason").toString();
                values[i][3]=null == d.get("orderNum") ? "" : d.get("orderNum").toString();
                values[i][4]=null == d.get("addOrderUser") ? "" : d.get("addOrderUser").toString();
                values[i][5]=null == d.get("travelTime") ? "" : d.get("travelTime").toString();
                values[i][6]=null == d.get("startAddress") ? "" : d.get("startAddress").toString();
                values[i][7]=null == d.get("endAddress") ? "" : d.get("endAddress").toString();
                values[i][8]=null == d.get("originalCar") ? "" : d.get("originalCar").toString();
                values[i][9]=null == d.get("money") ? "" : d.get("money").toString();
                values[i][10]=d.get("nowDriver")==null?"":d.get("nowDriver").toString();
                values[i][11]=d.get("nowCar")==null?"":d.get("nowCar").toString();
                values[i][12]=d.get("orderState").toString().equals("1")?"待接单":
                        d.get("orderState").toString().equals("2")?"待出发":
                                d.get("orderState").toString().equals("3")?"待到达预约地点":
                                        d.get("orderState").toString().equals("4")?"待取货":
                                                d.get("orderState").toString().equals("5")?"服务中":
                                                        d.get("orderState").toString().equals("6")?"已送达":
                                                                d.get("orderState").toString().equals("7")?"待支付":
                                                                        d.get("orderState").toString().equals("8")?"需补差价":
                                                                                d.get("orderState").toString().equals("9")?"已取货":
                                                                                        d.get("orderState").toString().equals("10")?"已取消":
                                                                                                d.get("orderState").toString().equals("11")?"改派中":
                                                                                                        d.get("orderState").toString().equals("12")?"已支付差价":"";
                values[i][13]=d.get("state").toString().equals("1")?"提交申请":
                        d.get("state").toString().equals("2")?"已支付":
                                d.get("state").toString().equals("3")?"已改派":
                                        d.get("state").toString().equals("4")?"已取消":
                                                d.get("state").toString().equals("5")?"已拒绝":"";
                if(null == d.get("orderState")){
                    values[i][12]="";
                }else{
                    values[i][12]=d.get("orderState").toString().equals("1")?"待接单":
                            d.get("orderState").toString().equals("2")?"待出发":
                                    d.get("orderState").toString().equals("3")?"待到达预约地点":
                                            d.get("orderState").toString().equals("4")?"待乘客上车":
                                                    d.get("orderState").toString().equals("5")?"服务中":
                                                            d.get("orderState").toString().equals("6")?"已送达":
                                                                    d.get("orderState").toString().equals("7")?"待支付":
                                                                            d.get("orderState").toString().equals("8")?"待评价":
                                                                                    d.get("orderState").toString().equals("9")?"已完成":
                                                                                            d.get("orderState").toString().equals("10")?"已取消":
                                                                                                    d.get("orderState").toString().equals("11")?"改派中":
                                                                                                            d.get("orderState").toString().equals("12")?"取消待支付":"";
                }
                if(null == d.get("state")){
                    values[i][13]="";
                }else{
                    values[i][13]=d.get("state").toString().equals("1")?"提交申请":
                            d.get("state").toString().equals("2")?"已支付":
                                    d.get("state").toString().equals("3")?"已改派":
                                            d.get("state").toString().equals("4")?"已取消":
                                                    d.get("state").toString().equals("5")?"已拒绝":"";
                }
            }
            String fileNameTitle="快车改派";
            String fileNameTitle="跨城改派";
            HSSFWorkbook wb = ExcelUtil.getHSSFWorkbookTime(fileNameTitle+time, title, values, null,insertTime);
            this.setResponseHeader(response, fileName);
            OutputStream os = response.getOutputStream();
@@ -444,7 +468,7 @@
            Date date = new Date();
            DateFormat format = new SimpleDateFormat("yyyyMMdd");
            String time = format.format(date);
            String fileName = "快车改派"+time+".xls";
            String fileName = "小件物流改派"+time+".xls";
            String[] title = new String[] {"申请改派时间","申请司机","申请原因","订单编号","下单用户","出发时间","出发地","目的地"
                    ,"原服务车辆","改派处罚金","改派服务司机","改派服务车辆","订单当前状态","改派状态"};
@@ -462,37 +486,46 @@
            for (int i = 0; i < mapList.size(); i++) {
                Map<String,Object> d=mapList.get(i);
                values[i] = new String[title.length];
                values[i][0]=d.get("insertTime").toString();
                values[i][1]=d.get("originalDriver").toString();
                values[i][2]=d.get("reason").toString();
                values[i][3]=d.get("orderNum").toString();
                values[i][4]=d.get("addOrderUser").toString();
                values[i][5]=d.get("travelTime").toString();
                values[i][6]=d.get("startAddress").toString();
                values[i][7]=d.get("endAddress").toString();
                values[i][8]=d.get("originalCar").toString();
                values[i][9]=d.get("money").toString();
                values[i][0]=null == d.get("insertTime") ? "" : d.get("insertTime").toString();
                values[i][1]=null == d.get("originalDriver") ? "" : d.get("originalDriver").toString();
                values[i][2]=null == d.get("reason") ? "" : d.get("reason").toString();
                values[i][3]=null == d.get("orderNum") ? "" : d.get("orderNum").toString();
                values[i][4]=null == d.get("addOrderUser") ? "" : d.get("addOrderUser").toString();
                values[i][5]=null == d.get("travelTime") ? "" : d.get("travelTime").toString();
                values[i][6]=null == d.get("startAddress") ? "" : d.get("startAddress").toString();
                values[i][7]=null == d.get("endAddress") ? "" : d.get("endAddress").toString();
                values[i][8]=null == d.get("originalCar") ? "" : d.get("originalCar").toString();
                values[i][9]=null == d.get("money") ? "" : d.get("money").toString();
                values[i][10]=d.get("nowDriver")==null?"":d.get("nowDriver").toString();
                values[i][11]=d.get("nowCar")==null?"":d.get("nowCar").toString();
                values[i][12]=d.get("orderState").toString().equals("1")?"待接单":
                        d.get("orderState").toString().equals("2")?"待出发":
                                d.get("orderState").toString().equals("3")?"待到达预约地点":
                                        d.get("orderState").toString().equals("4")?"待取货":
                                                d.get("orderState").toString().equals("5")?"服务中":
                                                        d.get("orderState").toString().equals("6")?"已送达":
                                                                d.get("orderState").toString().equals("7")?"待支付":
                                                                        d.get("orderState").toString().equals("8")?"需补差价":
                                                                                d.get("orderState").toString().equals("9")?"已取货":
                                                                                        d.get("orderState").toString().equals("10")?"已取消":
                                                                                                d.get("orderState").toString().equals("11")?"改派中":
                                                                                                        d.get("orderState").toString().equals("12")?"已支付差价":"";
                values[i][13]=d.get("state").toString().equals("1")?"提交申请":
                        d.get("state").toString().equals("2")?"已支付":
                                d.get("state").toString().equals("3")?"已改派":
                                        d.get("state").toString().equals("4")?"已取消":
                                                d.get("state").toString().equals("5")?"已拒绝":"";
                if(null == d.get("orderState")){
                    values[i][12]="";
                }else{
                    values[i][12]=d.get("orderState").toString().equals("1")?"待接单":
                            d.get("orderState").toString().equals("2")?"待出发":
                                    d.get("orderState").toString().equals("3")?"待到达预约地点":
                                            d.get("orderState").toString().equals("4")?"待取货":
                                                    d.get("orderState").toString().equals("5")?"服务中":
                                                            d.get("orderState").toString().equals("6")?"已送达":
                                                                    d.get("orderState").toString().equals("7")?"待支付":
                                                                            d.get("orderState").toString().equals("8")?"需补差价":
                                                                                    d.get("orderState").toString().equals("9")?"已取货":
                                                                                            d.get("orderState").toString().equals("10")?"已取消":
                                                                                                    d.get("orderState").toString().equals("11")?"改派中":
                                                                                                            d.get("orderState").toString().equals("12")?"已支付差价":"";
                }
                if(null == d.get("state")){
                    values[i][13]="";
                }else{
                    values[i][13]=d.get("state").toString().equals("1")?"提交申请":
                            d.get("state").toString().equals("2")?"已支付":
                                    d.get("state").toString().equals("3")?"已改派":
                                            d.get("state").toString().equals("4")?"已取消":
                                                    d.get("state").toString().equals("5")?"已拒绝":"";
                }
            }
            String fileNameTitle="快车改派";
            String fileNameTitle="小件物流改派";
            HSSFWorkbook wb = ExcelUtil.getHSSFWorkbookTime(fileNameTitle+time, title, values, null,insertTime);
            this.setResponseHeader(response, fileName);
            OutputStream os = response.getOutputStream();
@@ -552,7 +585,7 @@
            Date date = new Date();
            DateFormat format = new SimpleDateFormat("yyyyMMdd");
            String time = format.format(date);
            String fileName = "快车改派"+time+".xls";
            String fileName = "出租车改派"+time+".xls";
            String[] title = new String[] {"申请改派时间","申请司机","申请原因","订单编号","下单用户","出发时间","出发地","目的地"
                    ,"原服务车辆","改派处罚金","改派服务司机","改派服务车辆","订单当前状态","改派状态"};
@@ -588,22 +621,26 @@
                    values[i][12]=d.get("orderState").toString().equals("1")?"待接单":
                            d.get("orderState").toString().equals("2")?"待出发":
                                    d.get("orderState").toString().equals("3")?"待到达预约地点":
                                            d.get("orderState").toString().equals("4")?"待取货":
                                            d.get("orderState").toString().equals("4")?"待乘客上车":
                                                    d.get("orderState").toString().equals("5")?"服务中":
                                                            d.get("orderState").toString().equals("6")?"已送达":
                                                            d.get("orderState").toString().equals("6")?"完成服务":
                                                                    d.get("orderState").toString().equals("7")?"待支付":
                                                                            d.get("orderState").toString().equals("8")?"需补差价":
                                                                                    d.get("orderState").toString().equals("9")?"已取货":
                                                                            d.get("orderState").toString().equals("8")?"待评价":
                                                                                    d.get("orderState").toString().equals("9")?"已完成":
                                                                                            d.get("orderState").toString().equals("10")?"已取消":
                                                                                                    d.get("orderState").toString().equals("11")?"改派中":
                                                                                                            d.get("orderState").toString().equals("12")?"已支付差价":"";
                                                                                                            d.get("orderState").toString().equals("12")?"取消待支付":"";
                }
                values[i][13]=d.get("state").toString().equals("1")?"提交申请":
                        d.get("state").toString().equals("2")?"已支付":
                                d.get("state").toString().equals("3")?"已改派":
                                        d.get("state").toString().equals("4")?"已取消":
                                                d.get("state").toString().equals("5")?"已拒绝":"";
                if(null == d.get("state")){
                    values[i][13]="";
                }else{
                    values[i][13]=d.get("state").toString().equals("1")?"提交申请":
                            d.get("state").toString().equals("2")?"已支付":
                                    d.get("state").toString().equals("3")?"已改派":
                                            d.get("state").toString().equals("4")?"已取消":
                                                    d.get("state").toString().equals("5")?"已拒绝":"";
                }
            }
            String fileNameTitle="快车改派";
            HSSFWorkbook wb = ExcelUtil.getHSSFWorkbookTime(fileNameTitle+time, title, values, null,insertTime);
@@ -776,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) {
@@ -797,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());
@@ -854,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);
                    }
                }
@@ -908,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();
        }
@@ -1245,6 +1279,7 @@
        }
        if(driver.getState() == 2){
            driver.setState(3);
            itDriverService.updateById(driver);
        }
        //修改订单数据
@@ -1269,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());