puzhibing
2026-01-22 ebbea74189184f4f4f2e8486966ff6bb21817d62
修改bug
9个文件已修改
353 ■■■■■ 已修改文件
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/QianYunTongConfig.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/yesDriver_selectCar.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderCrossCity/tOrderCrossCity.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserQYTTravel/guns-admin/src/test/java/com/stylefeng/guns/GunsApplicationTest.java 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -791,6 +791,7 @@
        orderCrossCity.setPayManner(1);
        orderCrossCity.setPayMoney(orderCrossCity.getOrderMoney());
        orderCrossCity.setState(2);
        orderCrossCity.setPayTime(new Date());
        orderCrossCityMapper.updateById(orderCrossCity);
        paymentRecordService.saveData(1, orderCrossCity.getDriverId(), orderCrossCity.getPayType(), orderId, 3, 2, orderCrossCity.getPayMoney(), order_id, 2);//添加预支付数据
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java
@@ -659,7 +659,7 @@
            for (String s : split) {
                TDriver tDriver = driverService.selectById(s);
                DriverWork driverWork = driverWorkService.selectOne(new EntityWrapper<DriverWork>().eq("driverId", s).eq("state", 1));
                if(null != driverWork && !list.contains(s)){
                if(!list.contains(s) && null != driverWork){
                    throw new RuntimeException(tDriver.getName() + "上班中,不能取消授权");
                }
            }
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
@@ -888,12 +888,12 @@
            TDriver tDriver = tDriverService.selectById(tDriverId);
            DriverWork driverWork = iDriverWorkService.selectOne(new EntityWrapper<DriverWork>().eq("driverId", tDriverId).eq("state", 1));
            if(null != driverWork && !tDriver.getCarId().equals(carId)){
                throw new RuntimeException("司机上班中,不能更换车辆");
                return ResultUtil.error("司机上班中,不能更换车辆");
            }
            tDriver.setCarId(carId);
            tDriverService.updateById(tDriver);
        }
        return SUCCESS_TIP;
        return ResultUtil.success();
    }
    /**
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java
@@ -718,42 +718,42 @@
                    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 new ErrorTip(500, "备付金支付失败:" + payInfo.getRetMsg());
                }
                PayInfoData data = payInfo.getData();
                String status = data.getStatus();
                if ("3".equals(status)) {
                    log.error("备付金支付失败:{}", payInfo.getRetMsg());
                    return new ErrorTip(500, "备付金支付失败:" + 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);
//                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 new ErrorTip(500, "备付金支付失败:" + payInfo.getRetMsg());
//                }
//                PayInfoData data = payInfo.getData();
//                String status = data.getStatus();
//                if ("3".equals(status)) {
//                    log.error("备付金支付失败:{}", payInfo.getRetMsg());
//                    return new ErrorTip(500, "备付金支付失败:" + 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);
//
                    //添加收入
                    Map<String, Object> map = null;
                    try {
@@ -776,7 +776,8 @@
                        request1.setPromoterId(driver2.getEmpId().toString());
                    }
                    OrderUtil.modifyTravelItinerary(request1);
                }
//                }
                tOrderPrivateCar.setPayType(5);
                tOrderPrivateCar.setPayMoney(tOrderPrivateCar.getOrderMoney());
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/QianYunTongConfig.java
@@ -167,8 +167,8 @@
            this.setApiUrl("https://test-zhongtai.stqcloud.com:10070");
            this.setBucketName("bucuTest0625");
            this.setAppId("wxcc3c9058e2b294db");
            this.setEndPoint("http://10.88.152.214:27731/v1");
            this.setAccount("1c2e41f0dcb411f0a0e9dbc62f2c3adc");
            this.setEndPoint("http://10.88.152.214:27741/v1");
            this.setAccount("133bf9dedcb411f0a0e9dbc62f2c3adc");
            this.setAccessKey("WIVX6PDNO2PJTRSM1J6B");
            this.setSecretKey("eEOceRq9gUCRFfez7jyBRU9AluYtb8OVFPmJlVMJ");
        }
@@ -180,8 +180,8 @@
            this.setApiUrl("https://test-zhongtai.stqcloud.com:10070");
            this.setBucketName("bucuTest0625");
            this.setAppId("wxcc3c9058e2b294db");
            this.setEndPoint("http://10.88.152.214:27731/v1");
            this.setAccount("1c2e41f0dcb411f0a0e9dbc62f2c3adc");
            this.setEndPoint("http://10.88.152.214:27741/v1");
            this.setAccount("133bf9dedcb411f0a0e9dbc62f2c3adc");
            this.setAccessKey("WIVX6PDNO2PJTRSM1J6B");
            this.setSecretKey("eEOceRq9gUCRFfez7jyBRU9AluYtb8OVFPmJlVMJ");
        }
ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/yesDriver_selectCar.js
@@ -143,9 +143,13 @@
    }
    //提交信息
    var ajax = new $ax(Feng.ctxPath + "/tDriver/selectCarOpt", function(data){
        Feng.success("操作成功!");
        window.parent.YesDriver.table.refresh();
        SelectCar.close();
        if(data.status == 200){
            Feng.success("操作成功!");
            window.parent.YesDriver.table.refresh();
            SelectCar.close();
        }else{
            Feng.error(data.msg);
        }
    },function(data){
        Feng.error("操作失败!" + data.responseJSON.message + "!");
    });
ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderCrossCity/tOrderCrossCity.js
@@ -64,12 +64,12 @@
        },
        {title: '所属公司', field: 'companyName', visible: true, align: 'center', valign: 'middle',
        },
        {title: '班次时间', field: 'travelTime', visible: true, align: 'center', valign: 'middle',width:'10%',
        {title: '班次时间', field: 'setOutTime', visible: true, align: 'center', valign: 'middle',width:'10%',
            formatter: function (value, row) {
                var btn = "";
                if(row.travelTime != '' && row.travelTime != null) {
                    var time = row.travelTime.replace(" ",'<br>');
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.travelTime + '" onfocus="TUser.tooltip()">' + time + '</p>']
                if(row.setOutTime != '' && row.setOutTime != null) {
                    var time = row.setOutTime.replace(" ",'<br>');
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.setOutTime + '" onfocus="TUser.tooltip()">' + time + '</p>']
                }
                return btn;
            }
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -834,6 +834,7 @@
            orderCrossCity.setState(2);//跨城支付完成后才开始服务
            orderCrossCity.setPayType(3);
            orderCrossCity.setPayMoney(orderMoney);
            orderCrossCity.setPayTime(new Date());
            
            //处理优惠券和红包
            if (null != userCouponRecord) {
@@ -1191,6 +1192,7 @@
            orderCrossCity.setState(2);//跨城支付完成后才开始服务
            orderCrossCity.setPayType(3);
            orderCrossCity.setPayMoney(orderMoney);
            orderCrossCity.setPayTime(new Date());
            
            //处理优惠券和红包
            if (null != userCouponRecord) {
@@ -1259,6 +1261,7 @@
            orderCrossCity.setPayType(type);
            orderCrossCity.setPayMoney(query.getAmount());
            orderCrossCity.setBillNo(no);
            orderCrossCity.setPayTime(new Date());
            this.updateById(orderCrossCity);
            
            UserInfo userInfo = userInfoService.selectById(orderCrossCity.getUserId());
UserQYTTravel/guns-admin/src/test/java/com/stylefeng/guns/GunsApplicationTest.java
@@ -1,121 +1,121 @@
package com.stylefeng.guns;
import com.alibaba.fastjson.JSON;
import com.itextpdf.text.DocumentException;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.shunfeng.model.DriverRide;
import com.stylefeng.guns.modular.shunfeng.model.Evaluate;
import com.stylefeng.guns.modular.shunfeng.model.OrderRide;
import com.stylefeng.guns.modular.shunfeng.service.IDriverRideService;
import com.stylefeng.guns.modular.shunfeng.service.IEvaluateService;
import com.stylefeng.guns.modular.shunfeng.service.IOrderRideService;
import com.stylefeng.guns.modular.shunfeng.util.SensitiveWordUtil;
import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
import com.stylefeng.guns.modular.system.dao.SensitiveWordsMapper;
import com.stylefeng.guns.modular.system.model.Company;
import com.stylefeng.guns.modular.system.model.Driver;
import com.stylefeng.guns.modular.system.model.SensitiveWords;
import com.stylefeng.guns.modular.system.model.UserInfo;
import com.stylefeng.guns.modular.system.model.vo.TripOrderVo;
import com.stylefeng.guns.modular.system.pdf.TripSheetGenerator;
import com.stylefeng.guns.modular.system.service.ICompanyService;
import com.stylefeng.guns.modular.system.service.IDriverService;
import com.stylefeng.guns.modular.system.service.IUserInfoService;
import com.stylefeng.guns.modular.system.util.EmailUtil;
import com.stylefeng.guns.modular.system.util.ResultUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.AESUtils;
import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
import com.stylefeng.guns.modular.taxi.service.IPaymentRecordService;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource;
import javax.mail.MessagingException;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.util.*;
/**
 * SpringBoot方式启动类
 *
 * @author stylefeng
 * @Date 2017/5/21 12:06
 */
@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest
public class GunsApplicationTest {
    @Autowired
    private IOrderPrivateCarService orderPrivateCarService;
    @Autowired
    private IUserInfoService userInfoService;
    @Autowired
    private IDriverService driverService;
    @Autowired
    private ICompanyService companyService;
    @Autowired
    private IPaymentRecordService paymentRecordService;
    @Autowired
    private EmailUtil emailUtil;
    /*顺风车司机*/
    @Autowired
    private IDriverRideService driverRideService;
    @Resource
    private SensitiveWordsMapper sensitiveWordsMapper;
    /*评价*/
    @Autowired
    private IEvaluateService evaluateService;
    /*顺风车订单*/
    @Autowired
    private TripSheetGenerator tripSheetGenerator;
    @Test
    public void test(){
        List<TripOrderVo> tripOrderVos = new ArrayList<>();
        TripOrderVo tripOrderVo = new TripOrderVo();
        tripOrderVo.setOrderId(1);
        tripOrderVo.setOrderTime("2026-01-07 12:00:01");
        tripOrderVo.setStartAddress("测试地址1");
        tripOrderVo.setEndAddress("测试地址2");
        tripOrderVo.setCompanyName("fuwushang");
        tripOrderVo.setCity("成都市");
        tripOrderVo.setBoardingTime(new Date());
        tripOrderVo.setPayMoney(10D);
        tripOrderVo.setServerCarModel("网约车");
        tripOrderVos.add(tripOrderVo);
        tripOrderVo = new TripOrderVo();
        tripOrderVo.setOrderId(1);
        tripOrderVo.setOrderTime("2026-01-07 12:00:01");
        tripOrderVo.setStartAddress("测试地址1");
        tripOrderVo.setEndAddress("测试地址2");
        tripOrderVo.setCompanyName("fuwushang");
        tripOrderVo.setCity("成都市");
        tripOrderVo.setBoardingTime(new Date());
        tripOrderVo.setPayMoney(10D);
        tripOrderVo.setServerCarModel("网约车");
        tripOrderVos.add(tripOrderVo);
        try {
            String filePath = tripSheetGenerator.generatePdf(tripOrderVos);
        } catch (DocumentException e) {
            throw new RuntimeException(e);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}
//package com.stylefeng.guns;
//
//import com.alibaba.fastjson.JSON;
//import com.itextpdf.text.DocumentException;
//import com.stylefeng.guns.core.util.ToolUtil;
//import com.stylefeng.guns.modular.shunfeng.model.DriverRide;
//import com.stylefeng.guns.modular.shunfeng.model.Evaluate;
//import com.stylefeng.guns.modular.shunfeng.model.OrderRide;
//import com.stylefeng.guns.modular.shunfeng.service.IDriverRideService;
//import com.stylefeng.guns.modular.shunfeng.service.IEvaluateService;
//import com.stylefeng.guns.modular.shunfeng.service.IOrderRideService;
//import com.stylefeng.guns.modular.shunfeng.util.SensitiveWordUtil;
//import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
//import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
//import com.stylefeng.guns.modular.system.dao.SensitiveWordsMapper;
//import com.stylefeng.guns.modular.system.model.Company;
//import com.stylefeng.guns.modular.system.model.Driver;
//import com.stylefeng.guns.modular.system.model.SensitiveWords;
//import com.stylefeng.guns.modular.system.model.UserInfo;
//import com.stylefeng.guns.modular.system.model.vo.TripOrderVo;
//import com.stylefeng.guns.modular.system.pdf.TripSheetGenerator;
//import com.stylefeng.guns.modular.system.service.ICompanyService;
//import com.stylefeng.guns.modular.system.service.IDriverService;
//import com.stylefeng.guns.modular.system.service.IUserInfoService;
//import com.stylefeng.guns.modular.system.util.EmailUtil;
//import com.stylefeng.guns.modular.system.util.ResultUtil;
//import com.stylefeng.guns.modular.system.util.qianyuntong.AESUtils;
//import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil;
//import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil;
//import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
//import com.stylefeng.guns.modular.taxi.service.IPaymentRecordService;
//import lombok.extern.slf4j.Slf4j;
//import org.junit.Test;
//import org.junit.runner.RunWith;
//import org.springframework.beans.BeanUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.test.context.SpringBootTest;
//import org.springframework.test.context.junit4.SpringRunner;
//
//import javax.annotation.Resource;
//import javax.mail.MessagingException;
//import java.io.IOException;
//import java.io.UnsupportedEncodingException;
//import java.math.BigDecimal;
//import java.util.*;
//
///**
// * SpringBoot方式启动类
// *
// * @author stylefeng
// * @Date 2017/5/21 12:06
// */
//@Slf4j
//@RunWith(SpringRunner.class)
//@SpringBootTest
//public class GunsApplicationTest {
//
//    @Autowired
//    private IOrderPrivateCarService orderPrivateCarService;
//
//    @Autowired
//    private IUserInfoService userInfoService;
//
//    @Autowired
//    private IDriverService driverService;
//    @Autowired
//    private ICompanyService companyService;
//    @Autowired
//    private IPaymentRecordService paymentRecordService;
//    @Autowired
//    private EmailUtil emailUtil;
//    /*顺风车司机*/
//    @Autowired
//    private IDriverRideService driverRideService;
//
//    @Resource
//    private SensitiveWordsMapper sensitiveWordsMapper;
//    /*评价*/
//    @Autowired
//    private IEvaluateService evaluateService;
//    /*顺风车订单*/
//    @Autowired
//    private TripSheetGenerator tripSheetGenerator;
//
//
//
//
//    @Test
//    public void test(){
//        List<TripOrderVo> tripOrderVos = new ArrayList<>();
//        TripOrderVo tripOrderVo = new TripOrderVo();
//        tripOrderVo.setOrderId(1);
//        tripOrderVo.setOrderTime("2026-01-07 12:00:01");
//        tripOrderVo.setStartAddress("测试地址1");
//        tripOrderVo.setEndAddress("测试地址2");
//        tripOrderVo.setCompanyName("fuwushang");
//        tripOrderVo.setCity("成都市");
//        tripOrderVo.setBoardingTime(new Date());
//        tripOrderVo.setPayMoney(10D);
//        tripOrderVo.setServerCarModel("网约车");
//        tripOrderVos.add(tripOrderVo);
//        tripOrderVo = new TripOrderVo();
//        tripOrderVo.setOrderId(1);
//        tripOrderVo.setOrderTime("2026-01-07 12:00:01");
//        tripOrderVo.setStartAddress("测试地址1");
//        tripOrderVo.setEndAddress("测试地址2");
//        tripOrderVo.setCompanyName("fuwushang");
//        tripOrderVo.setCity("成都市");
//        tripOrderVo.setBoardingTime(new Date());
//        tripOrderVo.setPayMoney(10D);
//        tripOrderVo.setServerCarModel("网约车");
//        tripOrderVos.add(tripOrderVo);
//        try {
//            String filePath = tripSheetGenerator.generatePdf(tripOrderVos);
//        } catch (DocumentException e) {
//            throw new RuntimeException(e);
//        } catch (IOException e) {
//            throw new RuntimeException(e);
//        }
//    }
//}