Pu Zhibing
3 天以前 ca73af429b960124ab9b32ccfd5572e3f1df2bc2
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
@@ -1,6 +1,8 @@
package com.stylefeng.guns.modular.system.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
@@ -87,6 +89,9 @@
    @Autowired
    private RedisUtil redisUtil;
    @Autowired
    private IAppOperationLogService appOperationLogService;
    /**
     * 提交改派申请
@@ -96,18 +101,9 @@
     */
    @Override
    public ResultUtil saveData(Reassign reassign, Integer uid, Integer type) throws Exception {
        boolean lock = redisUtil.lock(reassign.getOrderId() + "_reassign", 10);
        boolean lock = redisUtil.lock(reassign.getOrderId() + "_reassign", 10, 30);
        if(!lock){
            int num1 = 1;
            while (num1 <= 10){
                Thread.sleep(3000);//等待3秒
                lock = redisUtil.lock(reassign.getOrderId() + "_reassign", 10);
                if(lock){
                    break;
                }else{
                    num1++;
                }
            }
            return ResultUtil.error("系统繁忙,请稍后重试");
        }
    
        ResultUtil resultUtil = ResultUtil.success();
@@ -190,7 +186,7 @@
                    driver.setBalance(new BigDecimal(balance).subtract(new BigDecimal(aDouble)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                    driverService.updateById(driver);
                    //添加交易明细
                    transactionDetailsService.saveDriverData(uid, "司机改派支付", aDouble, 2, 1, 2, reassign.getOrderType(), reassign.getOrderId(), driver.getBalance());
                    transactionDetailsService.saveDriverData(uid, "司机改派支付", aDouble, 2, 1, 2, reassign.getOrderType(), reassign.getOrderId(), driver.getLaveBusinessMoney());
            
            
                    //修改改派通知状态
@@ -201,6 +197,7 @@
                            orderPrivateCar.setState(11);
                            orderPrivateCar.setReassignNotice(2);
                            orderPrivateCarService.updateById(orderPrivateCar);
                            appOperationLogService.addAppOperationLog(uid, "{\"type\":\"司机申请改派\",\"orderId\":\"" + orderPrivateCar.getId() + "\",\"driver\":\"" + JSON.toJSONString(orderPrivateCar) + "\"}");
                    
                            //添加已收入明细
                            incomeService.saveData(1, orderPrivateCar.getCompanyId(), 4, orderPrivateCar.getId(), 1, reassign.getMoney());
@@ -354,7 +351,7 @@
                driverService.updateById(driver);
                for(String id : split){
                    //添加交易明细
                    transactionDetailsService.saveDriverData(uid, "司机改派支付", aDouble, 2, 1, 2, 3, Integer.valueOf(id),driver.getBalance());
                    transactionDetailsService.saveDriverData(uid, "司机改派支付", aDouble, 2, 1, 2, 3, Integer.valueOf(id),driver.getLaveBusinessMoney());
                }
                //修改改派通知状态
@@ -418,7 +415,7 @@
                PaymentRecord query = paymentRecordService.query(1, null, null, Integer.valueOf(key), 3, type, 1);
                if(null != query){
                    //添加交易明细
                    transactionDetailsService.saveDriverData(reassigns.get(0).getOriginalDriverId(), "司机改派支付", reassigns.get(0).getMoney(), 2, 1, 2, 3, Integer.valueOf(key),driver.getBalance());
                    transactionDetailsService.saveDriverData(reassigns.get(0).getOriginalDriverId(), "司机改派支付", reassigns.get(0).getMoney(), 2, 1, 2, 3, Integer.valueOf(key),driver.getLaveBusinessMoney());
                    for(Reassign reassign : reassigns){
                        reassign.setState(2);
                        reassign.setPayOrder(order_id);
@@ -462,7 +459,7 @@
            PaymentRecord query = paymentRecordService.query(1, null, null, reassign.getOrderId(), reassign.getOrderType(), type, 1);
            if(null != query){
                //添加交易明细
                transactionDetailsService.saveDriverData(reassign.getOriginalDriverId(), "司机改派支付", reassign.getMoney(), 2, 1, 2, reassign.getOrderType(), reassign.getOrderId(),driver.getBalance());
                transactionDetailsService.saveDriverData(reassign.getOriginalDriverId(), "司机改派支付", reassign.getMoney(), 2, 1, 2, reassign.getOrderType(), reassign.getOrderId(),driver.getLaveBusinessMoney());
                reassign.setState(2);
                reassign.setPayOrder(order_id);
                reassign.setPayTime(new Date());