zhibing.pu
2024-08-13 00ee134d5bcb07e9a07633963e68ba7e9fa215c2
UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -135,8 +135,8 @@
    @Autowired
    private GDMapGeocodingUtil gdMapGeocodingUtil;
    @Autowired
    private ChinaMobileUtil chinaMobileUtil;
//    @Autowired
//    private ChinaMobileUtil chinaMobileUtil;
    @Autowired
    private GDFalconUtil gdFalconUtil;
@@ -310,19 +310,23 @@
                orderMoney = v;
            }
        }
        String code = orderId + "_3_fei";
        if(payType == 1){//微信支付
            resultUtil = payMoneyUtil.weixinpay("完成订单",orderId +"",orderId + "_3_fei",orderMoney+"","/base/wxPayOrderTaxi","JSAPI",userInfo.getAppletsOpenId());
            if(ToolUtil.isEmpty(userInfo.getAppletsOpenId())){
                return ResultUtil.error("未授权微信,无法完成支付");
            }
            resultUtil = payMoneyUtil.weixinpay("完成订单",orderId +"", code,orderMoney+"","/base/wxPayOrderTaxi","JSAPI",userInfo.getAppletsOpenId());
            if(resultUtil.getCode()==200){
                paymentRecordService.saveData(1, null, null, orderId, 3, 1, orderMoney, null, 1);//添加预支付数据
                paymentRecordService.saveData(1, null, null, orderId, 3, 1, orderMoney, null, 1, code);//添加预支付数据
                resultUtil = resultUtil;
            }else{
                resultUtil = ResultUtil.error("获取支付信息失败", "");
            }
        }
        if(payType == 2){//支付宝支付
            resultUtil = payMoneyUtil.alipay("完成订单","完成订单",orderId + ",3" ,orderMoney+"","/base/aliPayOrderTaxi");
            resultUtil = payMoneyUtil.alipay("完成订单","完成订单", "",orderId + ",3" ,orderMoney+"","/base/aliPayOrderTaxi");
            if(resultUtil.getCode()==200){
                paymentRecordService.saveData(1, null, null, orderId, 3, 2, orderMoney, null, 1);//添加预支付数据
                paymentRecordService.saveData(1, null, null, orderId, 3, 2, orderMoney, null, 1, code);//添加预支付数据
                resultUtil = resultUtil;
            }else{
                resultUtil = ResultUtil.error("获取支付信息失败", "");
@@ -361,7 +365,7 @@
            //添加已收入明细
            Line line = lineService.selectById(orderCrossCity.getLineId());
            Double speMoney = Double.valueOf(line.getRakeRate());
            BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN);//企业收入
            BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))).setScale(2, BigDecimal.ROUND_HALF_EVEN);//企业收入
            BigDecimal c = new BigDecimal(orderCrossCity.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);//司机收入
            incomeService.saveData(1, orderCrossCity.getCompanyId(), 2, orderCrossCity.getId(), 3, d.doubleValue());
            incomeService.saveData(2, orderCrossCity.getDriverId(), 2, orderCrossCity.getId(), 3, c.doubleValue());
@@ -435,7 +439,7 @@
            //添加已收入明细
            Line line = lineService.selectById(orderCrossCity.getLineId());
            Double speMoney = Double.valueOf(line.getRakeRate());
            BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN);//企业收入
            BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100)), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN);//企业收入
            BigDecimal c = new BigDecimal(orderCrossCity.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);//司机收入
            incomeService.saveData(1, orderCrossCity.getCompanyId(), 2, orderCrossCity.getId(), 3, d.doubleValue());
            incomeService.saveData(2, orderCrossCity.getDriverId(), 2, orderCrossCity.getId(), 3, c.doubleValue());
@@ -575,11 +579,11 @@
        //调用移动的小号接口
        Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString());
        Region region = regionMapper.query(geocode.get("districtCode"));
        Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
        if(String.valueOf(map.get("code")).equals("200")){
            orderCrossCity.setTelX(map.get("telX"));
            orderCrossCity.setBindId(map.get("bindId"));
        }
//        Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
//        if(String.valueOf(map.get("code")).equals("200")){
//            orderCrossCity.setTelX(map.get("telX"));
//            orderCrossCity.setBindId(map.get("bindId"));
//        }
        this.insert(orderCrossCity);
        if(driver.getState() == 2){
@@ -767,15 +771,18 @@
        }else{
            orderCancel = orderCancelService.selectById(cancleId);
        }
        CancleOrder query = cancleOrderService.query(1, 3, orderCrossCity.getCompanyId());
        if(null != query){
            String code = id + "_3_fei";
            if(payType == 1){//微信支付
                if(ToolUtil.isEmpty(userInfo.getAppletsOpenId())){
                    return ResultUtil.error("未授权微信,无法完成支付");
                }
                orderCancel.setPayType(1);
                orderCancelService.updateById(orderCancel);
                resultUtil = payMoneyUtil.weixinpay("订单取消",id +"",id + "_3_fei",query.getMoney()+"","/base/wxCancelOrderTaxi","JSAPI",userInfo.getAppletsOpenId());
                resultUtil = payMoneyUtil.weixinpay("订单取消",id +"", code,query.getMoney()+"","/base/wxCancelOrderTaxi","JSAPI",userInfo.getAppletsOpenId());
                if(resultUtil.getCode()==200){
                    paymentRecordService.saveData(1, null, null, id, 3, 1, query.getMoney(), null, 1);//添加预支付数据
                    paymentRecordService.saveData(1, null, null, id, 3, 1, query.getMoney(), null, 1, code);//添加预支付数据
                    resultUtil = resultUtil;
                }else{
                    resultUtil = ResultUtil.error("获取支付信息失败", "");
@@ -784,9 +791,9 @@
            if(payType == 2){//支付宝支付
                orderCancel.setPayType(2);
                orderCancelService.updateById(orderCancel);
                resultUtil = payMoneyUtil.alipay("订单取消","订单取消",id + ",3",query.getMoney()+"","/base/aliCancelOrderTaxi");
                resultUtil = payMoneyUtil.alipay("订单取消","订单取消", "",id + ",3",query.getMoney()+"","/base/aliCancelOrderTaxi");
                if(resultUtil.getCode()==200){
                    paymentRecordService.saveData(1, null, null, id, 3, 2, query.getMoney(), null, 1);//添加预支付数据
                    paymentRecordService.saveData(1, null, null, id, 3, 2, query.getMoney(), null, 1, code);//添加预支付数据
                    resultUtil = resultUtil;
                }else{
                    resultUtil = ResultUtil.error("获取支付信息失败", "");
@@ -803,9 +810,9 @@
                userInfoService.updateById(userInfo);
                //解除小号绑定
                if(orderCrossCity.getBindId() != null){
                    chinaMobileUtil.midAxbUnBindSend(orderCrossCity.getBindId(),orderCrossCity.getTelX());
                }
//                if(orderCrossCity.getBindId() != null){
//                    chinaMobileUtil.midAxbUnBindSend(orderCrossCity.getBindId(),orderCrossCity.getTelX());
//                }
                orderCrossCity.setState(10);
                orderCrossCity.setTelX("");
@@ -1059,9 +1066,9 @@
            transactionDetailsService.saveData(orderCrossCity.getUserId(), "取消订单", query.getAmount(), 2, 1, 1, 3, query.getOrderId());
            orderCrossCity.setState(10);
            //解除小号绑定
            if(orderCrossCity.getBindId() != null){
                chinaMobileUtil.midAxbUnBindSend(orderCrossCity.getBindId(),orderCrossCity.getTelX());
            }
//            if(orderCrossCity.getBindId() != null){
//                chinaMobileUtil.midAxbUnBindSend(orderCrossCity.getBindId(),orderCrossCity.getTelX());
//            }
            orderCrossCity.setBindId("");
            orderCrossCity.setTelX("");
            this.updateById(orderCrossCity);
@@ -1295,8 +1302,8 @@
        if(null == distance){
            System.err.println("查询距离出错了");
        }else{
            d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString();
            t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + "";
            d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString();
            t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + "";
        }
        OrderServerWarpper orderServerWarpper = new OrderServerWarpper();
        orderServerWarpper.setOrderId(orderCrossCity.getId());
@@ -1318,8 +1325,8 @@
            if(null == distance){
                System.err.println("查询距离出错了");
            }else{
                d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString();
                t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + "";
                d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString();
                t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + "";
            }
            orderServerWarpper.setReservationMileage("0");
            orderServerWarpper.setReservationTime("0");