Pu Zhibing
4 天以前 0c41f99c7f1a0d7deeeef23a5b3b890aed32ce63
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java
@@ -1,5 +1,6 @@
package com.stylefeng.guns.modular.system.controller.specialTrain;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
@@ -10,9 +11,13 @@
import com.stylefeng.guns.core.util.SinataUtil;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.system.dao.OrderCancelMapper;
import com.stylefeng.guns.modular.system.dao.TCompanyMapper;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
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.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Sort;
@@ -35,6 +40,7 @@
 * @author fengshuonan
 * @Date 2020-09-02 17:28:59
 */
@Slf4j
@Controller
@RequestMapping("/abnormal")
public class TAbnormalOrderCarController extends BaseController {
@@ -84,8 +90,10 @@
    @Autowired
    private ITSystemNoticeService systemNoticeService;
    @Autowired
    private TCompanyMapper tCompanyMapper;
    /**
     * 跳转到快车订单首页
     */
@@ -117,7 +125,7 @@
            Object o2 = item.get("responsibilityType");
            if(o2!=null){
                if(Integer.valueOf(o2.toString())>2){
                    TAbnormalPayOrder tAbnormalPayOrder = tAbnormalPayOrderService.selectOne(new EntityWrapper<TAbnormalPayOrder>().eq("type", 1).eq("orderNum", item.get("orderNum")));
                    TAbnormalPayOrder tAbnormalPayOrder = tAbnormalPayOrderService.selectOne(new EntityWrapper<TAbnormalPayOrder>().eq("type", 1).eq("orderNum",tOrderPrivateCarId));
                    model.addAttribute("money",tAbnormalPayOrder.getPayMoney());
                }
            }
@@ -148,7 +156,7 @@
            model.addAttribute("show",0);
            if(o2!=null){
                if(Integer.valueOf(o2.toString())>2){
                    TAbnormalPayOrder tAbnormalPayOrder = tAbnormalPayOrderService.selectOne(new EntityWrapper<TAbnormalPayOrder>().eq("type", 2).eq("orderNum", item.get("orderNum")));
                    TAbnormalPayOrder tAbnormalPayOrder = tAbnormalPayOrderService.selectOne(new EntityWrapper<TAbnormalPayOrder>().eq("type", 2).eq("orderNum",tOrderPrivateCarId));
                    model.addAttribute("money",tAbnormalPayOrder.getPayMoney());
                }
            }
@@ -168,7 +176,7 @@
            Object o2 = item.get("responsibilityType");
            if(o2!=null){
                if(Integer.valueOf(o2.toString())>2){
                    TAbnormalPayOrder tAbnormalPayOrder = tAbnormalPayOrderService.selectOne(new EntityWrapper<TAbnormalPayOrder>().eq("type", 3).eq("orderNum", item.get("orderNum")));
                    TAbnormalPayOrder tAbnormalPayOrder = tAbnormalPayOrderService.selectOne(new EntityWrapper<TAbnormalPayOrder>().eq("type", 3).eq("orderNum",tOrderPrivateCarId));
                    model.addAttribute("money",tAbnormalPayOrder.getPayMoney());
                }
            }
@@ -710,8 +718,78 @@
            }
            tOrderPrivateCar.setAbnormalRemark(remark);
            tOrderPrivateCarService.updateById(tOrderPrivateCar);
        }
            //平台全责和司机全责需要调起备付金支付
            if(9 == tOrderPrivateCar.getState()){
                TDriver driver = tDriverService.selectById(tOrderPrivateCar.getDriverId());
                TCompany company = tCompanyMapper.selectById(driver.getCompanyId());
                TUser userInfo = userService.selectById(tOrderPrivateCar.getUserId());
                if(null == tOrderPrivateCar.getIsCreated()){
                    //先调中台创建订单
                    CreateOrderRequest createOrderRequest = new CreateOrderRequest();
                    createOrderRequest.setTreatShopId(driver.getEmpId().toString());
                    createOrderRequest.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (tOrderPrivateCar.getPromotion() == 2 ? 1 : 0) + "\"}");
                    createOrderRequest.setCharge(tOrderPrivateCar.getOrderMoney());
                    createOrderRequest.setOrderNo("PR" + tOrderPrivateCar.getId());
                    createOrderRequest.setOrderId(tOrderPrivateCar.getTravelId());
                    createOrderRequest.setCustomerId(userInfo.getOnconUUID());
                    OrderInfo orderInfo = com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil.tradeOrderCreate(createOrderRequest);
                    tOrderPrivateCar.setIsCreated(1);
                    tOrderPrivateCar.setTravelId(orderInfo.getOrderId());
                    tOrderPrivateCarService.updateById(tOrderPrivateCar);
                }
                //使用备付金进行支付订单
                TradePayOffData tradePayOffData = new TradePayOffData();
                tradePayOffData.setPartnerPayId(tOrderPrivateCar.getTravelId());
                tradePayOffData.setTotalFee(tOrderPrivateCar.getOrderMoney().multiply(new BigDecimal(100)).toString());
                tradePayOffData.setOrderDesc("完成订单");
                PayInfo payInfo = com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil.tradePayOff(tradePayOffData);
                String retCode = payInfo.getRetCode();
                if (!"000000".equals(retCode)) {
                    log.error("备付金支付失败:{}", payInfo.getRetMsg());
                    return "备付金支付失败:" + payInfo.getRetMsg();
                }
                PayInfoData data = payInfo.getData();
                String status = data.getStatus();
                if ("3".equals(status)) {
                    log.error("备付金支付失败:{}", payInfo.getRetMsg());
                    return "备付金支付失败:" + payInfo.getRetMsg();
                }
                if("0".equals(status)){
                    //查询支付信息
                    GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest();
                    getPaymentInfoDataRequest.setPartnerPayId(tOrderPrivateCar.getTravelId());
                    GetPaymentInfo getPaymentInfo = com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil.paymentInfo(getPaymentInfoDataRequest);
                    status = getPaymentInfo.getStatus();
                }
                PayInfoData payInfoData = payInfo.getData();
                PaymentInfo paymentInfo = payInfoData.getPaymentInfos().get(0);
                if(!"0".equals(status)) {
                    //支付成功,通知三方
                    PaymentOrderRequest paymentOrderRequest = new PaymentOrderRequest();
                    paymentOrderRequest.setPayItemId(paymentInfo.getPayItemId());
                    paymentOrderRequest.setPaymentInfo(JSON.toJSONString(payInfoData.getPaymentInfos()));
                    paymentOrderRequest.setOrderId(tOrderPrivateCar.getTravelId());
                    paymentOrderRequest.setCharge(tOrderPrivateCar.getOrderMoney());
                    paymentOrderRequest.setPayTime(data.getPayTime());
                    paymentOrderRequest.setPaymentSerialNumber(payInfoData.getPayId());
                    OrderInfo orderInfo1 = OrderUtil.paymentOrder(paymentOrderRequest);
                    //中台修改订单状态
                    ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest();
                    request1.setOrderId(tOrderPrivateCar.getTravelId());
                    request1.setStatus(9);
                    if (null != tOrderPrivateCar.getDriverId()) {
                        request1.setDriverId(driver.getEmpId().toString());
                        request1.setSupplierShopId(company.getEnterCode());
                    }
                    if (2 == tOrderPrivateCar.getPromotion()) {
                        TDriver driver2 = tDriverService.selectById(tOrderPrivateCar.getPromotionDriverId());
                        request1.setPromoterId(driver2.getEmpId().toString());
                    }
                    OrderUtil.modifyTravelItinerary(request1);
                }
            }
        }
        if(type==2){
            TOrderCrossCity tOrderCrossCity = tOrderCrossCityService.selectOne(new EntityWrapper<TOrderCrossCity>().eq("id", orderNum));
            userId = tOrderCrossCity.getUserId();
@@ -791,6 +869,7 @@
        tSystemNotice.setInsertTime(new Date());
        systemNoticeService.insert(tSystemNotice);
        return SUCCESS_TIP;
    }