Pu Zhibing
2 天以前 79eff526c529e9389d518edb516dac37119ce3aa
新增加跨城支付
3个文件已修改
252 ■■■■■ 已修改文件
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/OrderCrossCity.java 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/OrderCrossCity.java
@@ -355,6 +355,65 @@
    private Date successTime;
    /**
     * 是否异常订单 1否 2是
     */
    @TableField("abnormal")
    private Integer abnormal;
    /**
     * 推广订单 1否 2是
     */
    @TableField("promotion")
    private Integer promotion;
    /**
     * 乘客反馈情况
     */
    @TableField("abnormalIntro")
    private String abnormalIntro;
    /**
     * 乘客反馈图片
     */
    @TableField("abnormalImg")
    private String abnormalImg;
    private String promotionUser;
    private String promotionPhone;
    /**
     * 中台行程id
     */
    private String travelId;
    /**
     * 中台是否已创建订单(0=否,1=是)
     */
    private Integer isCreated;
    /**
     * 是否是追缴单(0=否,1=是)
     */
    private Integer recoveryOrder;
    /**
     * 是否生成追缴单(0=否,1=是)
     */
    private Integer isGenerateRecoveryOrder;
    /**
     * 原始订单id
     */
    private Integer oldOrderId;
    private Integer abnormalStatus;
    private String abnormalRemark;
    private BigDecimal responsibilityMoney;
    private Date recoveryOrderCreateDate;
    public Integer getResponsibilityType() {
        return responsibilityType;
    }
@@ -931,6 +990,126 @@
        this.splitAllocation = splitAllocation;
    }
    public String getAbnormalRemark() {
        return abnormalRemark;
    }
    public void setAbnormalRemark(String abnormalRemark) {
        this.abnormalRemark = abnormalRemark;
    }
    public Integer getAbnormal() {
        return abnormal;
    }
    public void setAbnormal(Integer abnormal) {
        this.abnormal = abnormal;
    }
    public Integer getPromotion() {
        return promotion;
    }
    public void setPromotion(Integer promotion) {
        this.promotion = promotion;
    }
    public String getAbnormalIntro() {
        return abnormalIntro;
    }
    public void setAbnormalIntro(String abnormalIntro) {
        this.abnormalIntro = abnormalIntro;
    }
    public String getAbnormalImg() {
        return abnormalImg;
    }
    public void setAbnormalImg(String abnormalImg) {
        this.abnormalImg = abnormalImg;
    }
    public String getPromotionUser() {
        return promotionUser;
    }
    public void setPromotionUser(String promotionUser) {
        this.promotionUser = promotionUser;
    }
    public String getPromotionPhone() {
        return promotionPhone;
    }
    public void setPromotionPhone(String promotionPhone) {
        this.promotionPhone = promotionPhone;
    }
    public String getTravelId() {
        return travelId;
    }
    public void setTravelId(String travelId) {
        this.travelId = travelId;
    }
    public Integer getIsCreated() {
        return isCreated;
    }
    public void setIsCreated(Integer isCreated) {
        this.isCreated = isCreated;
    }
    public Integer getRecoveryOrder() {
        return recoveryOrder;
    }
    public void setRecoveryOrder(Integer recoveryOrder) {
        this.recoveryOrder = recoveryOrder;
    }
    public Integer getIsGenerateRecoveryOrder() {
        return isGenerateRecoveryOrder;
    }
    public void setIsGenerateRecoveryOrder(Integer isGenerateRecoveryOrder) {
        this.isGenerateRecoveryOrder = isGenerateRecoveryOrder;
    }
    public Integer getOldOrderId() {
        return oldOrderId;
    }
    public void setOldOrderId(Integer oldOrderId) {
        this.oldOrderId = oldOrderId;
    }
    public Integer getAbnormalStatus() {
        return abnormalStatus;
    }
    public void setAbnormalStatus(Integer abnormalStatus) {
        this.abnormalStatus = abnormalStatus;
    }
    public BigDecimal getResponsibilityMoney() {
        return responsibilityMoney;
    }
    public void setResponsibilityMoney(BigDecimal responsibilityMoney) {
        this.responsibilityMoney = responsibilityMoney;
    }
    public Date getRecoveryOrderCreateDate() {
        return recoveryOrderCreateDate;
    }
    public void setRecoveryOrderCreateDate(Date recoveryOrderCreateDate) {
        this.recoveryOrderCreateDate = recoveryOrderCreateDate;
    }
    @Override
    public String toString() {
        return "OrderCrossCity{" +
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -24,7 +24,10 @@
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.service.impl.CarServiceImpl;
import com.stylefeng.guns.modular.system.service.impl.CompanyServiceImpl;
import com.stylefeng.guns.modular.system.util.*;
import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyTravelItineraryRequest;
import com.stylefeng.guns.modular.system.warpper.BaseWarpper;
import com.stylefeng.guns.modular.system.warpper.MerchantCouponListWarpper;
import com.stylefeng.guns.modular.taxi.dao.OrderTaxiMapper;
@@ -162,6 +165,7 @@
    private CarModelMapper carModelMapper;
    @Autowired
    private CarServiceImpl carServiceImpl;
    private CompanyServiceImpl companyServiceImpl;
    /**
@@ -265,6 +269,8 @@
            return ResultUtil.error("订单已被取消,不能继续操作");
        }
        UserInfo userInfo = userInfoMapper.selectById(orderCrossCity.getUserId());
        Driver driver = driverService.selectById(orderCrossCity.getDriverId());
        Company company = companyServiceImpl.selectById(driver.getCompanyId());
        switch (state){
            case 3://出发前往预约点
                orderCrossCity.setState(3);
@@ -293,11 +299,22 @@
                orderCrossCity.setGetoffTime(new Date());
                orderCrossCity.setState(8);//跨城直接到待评价
                orderCrossCity.setEndServiceTime(new Date());
                Driver driver = driverService.selectById(orderCrossCity.getDriverId());
                //添加抽成及收入记录
                Map<String, Object> map = incomeService.saveIncome(orderCrossCity.getId(), 3, orderCrossCity.getOrderMoney());
                orderCrossCity.setSplitAllocation(JSON.toJSONString(map));
                //非追缴单才需要记录收入
                if(0 == orderCrossCity.getRecoveryOrder()){
                    //添加收入
                    Double orderMoney = (2 == orderCrossCity.getAbnormal() && 2 == orderCrossCity.getAbnormalStatus() ? orderCrossCity.getResponsibilityMoney().doubleValue() : orderCrossCity.getOrderMoney());
                    Map<String, Object> map = incomeService.saveIncome(orderCrossCity.getId(), 3, orderMoney);
                    orderCrossCity.setSplitAllocation(JSON.toJSONString(map));
                }
                //待审核的异常单修改状态为已关闭
                if(2 == orderCrossCity.getAbnormal() && 1 == orderCrossCity.getAbnormalStatus()){
                    orderCrossCity.setAbnormalStatus(3);
                    orderCrossCity.setResponsibilityMoney(new BigDecimal(orderCrossCity.getOrderMoney()));
                    orderCrossCity.setResponsibilityType(3);
                    orderCrossCity.setAbnormalRemark("乘客已支付订单,申诉已自动关闭");
                }
                //还原座位数
                LineShiftDriver lineShiftDriver = lineShiftDriverMapper.selectById(orderCrossCity.getLineShiftDriverId());
@@ -390,6 +407,21 @@
        }
        this.updateById(orderCrossCity);
        //中台修改订单状态
        ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest();
        request1.setOrderId(orderCrossCity.getTravelId());
        request1.setStatus(orderCrossCity.getState());
        if (null != orderCrossCity.getDriverId()) {
            request1.setDriverId(driver.getEmpId().toString());
            request1.setSupplierShopId(company.getEnterCode());
        }
        if (2 == orderCrossCity.getPromotion()) {
            Driver driver2 = driverService.selectById(orderCrossCity.getPromotionDriverId());
            request1.setPromoterId(driver2.getEmpId().toString());
        }
        OrderUtil.modifyTravelItinerary(request1);
        // TODO: 2020/6/5 推送状态
        new Thread(new Runnable() {
            @Override
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
@@ -556,6 +556,21 @@
                    orderCrossCity.setIsReassign(2);
                    orderCrossCityService.updateById(orderCrossCity);
                    if(ToolUtil.isNotEmpty(orderCrossCity.getTravelId())){
                        Company company = companyService.selectById(driver.getCompanyId());
                        //中台修改订单状态
                        ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
                        request.setOrderId(orderCrossCity.getTravelId());
                        request.setStatus(orderCrossCity.getState());
                        request.setDriverId(driver.getEmpId().toString());
                        if (2 == orderCrossCity.getPromotion()) {
                            Driver driver1 = driverService.selectById(orderCrossCity.getPromotionDriverId());
                            request.setPromoterId(driver1.getEmpId().toString());
                        }
                        request.setSupplierShopId(company.getEnterCode());
                        OrderUtil.modifyTravelItinerary(request);
                    }
                    //添加已收入明细
                    incomeService.saveData(1, orderCrossCity.getCompanyId(), 4, orderCrossCity.getId(), 3, reassign.getMoney());
                }
@@ -569,15 +584,15 @@
//                    jgPushUtil.push(2, "有新的改派订单需要处理,请及时处理!", "订单改派", map, "DISPATCH" + dispatch.getId());
//                }
            }
            if (reassign.getPayType() == 4) {
                String[] split1 = ids.split(",");
                resultUtil = placeAnOrder1(new BigDecimal(aDouble), 4, 3, Integer.valueOf(split1[0]));
                for (String id : split1) {
                    // TODO 司机云闪付 跨城改派调起云闪付
                    paymentRecordService.saveData(1, uid, 2, Integer.valueOf(id), 3, 4, aDouble, "", 1);//添加预支付数据
                }
            }
//            if (reassign.getPayType() == 4) {
//
//                String[] split1 = ids.split(",");
//                resultUtil = placeAnOrder1(new BigDecimal(aDouble), 4, 3, Integer.valueOf(split1[0]));
//                for (String id : split1) {
//                     TODO 司机云闪付 跨城改派调起云闪付
//                    paymentRecordService.saveData(1, uid, 2, Integer.valueOf(id), 3, 4, aDouble, "", 1);//添加预支付数据
//                }
//            }
        }
        return resultUtil;
    }