liujie
7 天以前 729a5a0592cac7750e8b476c5fcb25bfc3ff8d25
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -6,7 +6,6 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.account.controller.AppOrderController;
import com.stylefeng.guns.modular.account.unionpay.GetOpenBodySig;
import com.stylefeng.guns.modular.account.unionpay.QrCodeConfiguration;
import com.stylefeng.guns.modular.account.unionpay.Util;
@@ -21,7 +20,6 @@
import com.stylefeng.guns.modular.crossCity.warpper.OrderCrossCityWarpper;
import com.stylefeng.guns.modular.specialTrain.dao.OrderPrivateCarMapper;
import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
import com.stylefeng.guns.modular.system.dao.PhoneMapper;
import com.stylefeng.guns.modular.system.dao.RegionMapper;
import com.stylefeng.guns.modular.system.dao.SysIntegralMapper;
@@ -33,25 +31,18 @@
import com.stylefeng.guns.modular.system.warpper.MerchantCouponListWarpper;
import com.stylefeng.guns.modular.taxi.dao.OrderTaxiMapper;
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
import io.swagger.models.auth.In;
import org.apache.commons.lang.time.DateFormatUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -83,6 +74,8 @@
    @Resource
    private UserInfoMapper userInfoMapper;
    @Autowired
    private IOpenCityService openCityService;
    @Autowired
    private DateUtil dateUtil;
@@ -116,49 +109,47 @@
    @Resource
    private OrderPrivateCarMapper orderPrivateCarMapper;
    @Resource
    private OrderTaxiMapper orderTaxiMapper;
    @Resource
    private PhoneMapper phoneMapper;
    @Autowired
    private IOrderPositionService orderPositionService;
    @Autowired
    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
    @Resource
    private MongoTemplate mongoTemplate;
    @Autowired
    private IOrderCancelService orderCancelService;
    @Autowired
    private GeodesyUtil geodesyUtil;
    @Autowired
    private PayMoneyUtil payMoneyUtil;
    @Autowired
    private IOrderAdditionalFeeService orderAdditionalFeeService;
    @Autowired
    private RedisUtil redisUtil;
    @Resource
    private RedisTemplate<String, Object> redisTemplate;
    @Autowired
    private IMerchantActivityService merchantActivityService;
    @Autowired
    private IMerchantActivitySlaveService merchantActivitySlaveService;
    @Autowired
    private IUserMerchantCouponService userMerchantCouponService;
    @Autowired
    private IMerchantCouponService merchantCouponService;
    @Autowired
    private QrCodeConfiguration qrCodeConfiguration;
    @Value("${filePath}")
    private String filePath;
    @Value("${pushMinistryOfTransport}")
    private boolean pushMinistryOfTransport;
@@ -243,7 +234,8 @@
        map.put("orderNumber", orderCrossCity.getOrderNum());
        map.put("totalMoney", new BigDecimal(totalMoney).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
        map.put("serverMoney", new BigDecimal(serverMoney).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
        Phone phone = phoneMapper.queryInfo(orderCrossCity.getCompanyId(), 1);
        OpenCity openCity = openCityService.openCity1(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString());
        Phone phone = phoneMapper.queryInfo(openCity.getId(), 1, 1);
        map.put("emergencyCall", null != phone ? phone.getPhone() : "110");
        map.put("orders", JSON.toJSONString(order));
@@ -368,13 +360,13 @@
                    }
                    merchantActivityService.updateBatchById(merchantActivities);
                }
                String value = redisUtil.getValue("merchantVoucher");
                String value = (String) redisTemplate.opsForValue().get("merchantVoucher");
                JSONObject jsonObject = JSON.parseObject(value);
                if(null == jsonObject){
                    jsonObject = new JSONObject();
                }
                jsonObject.put(userInfo.getPhone(), listWarppers);
                redisUtil.setStrValue("merchantVoucher", jsonObject.toJSONString());
                redisTemplate.opsForValue().set("merchantVoucher", jsonObject.toJSONString());
                pushUtil.removeTask(orderId, 3);//删除定时任务,结束推送数据
                systemNoticeService.addSystemNotice(1, "司机已结束本次行程,谢谢使用", orderCrossCity.getUserId(), 1);
@@ -552,16 +544,16 @@
        orderCrossCity.setIsReassign(1);
        orderCrossCity.setLineShiftDriverId(orderCrossCityWarpper.getLineShiftDriverId());
        //调用高德创建轨迹
        String s = gdFalconUtil.selectTerminal(driver.getPhone());
        String track = gdFalconUtil.createTrack(s);
        orderCrossCity.setTrackId(track);
//        String s = gdFalconUtil.selectTerminal(driver.getPhone());
//        String track = gdFalconUtil.createTrack(s);
//        orderCrossCity.setTrackId(track);
        //调用移动的小号接口
        Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000));
        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(), (System.currentTimeMillis() + 86400000));
//        if(String.valueOf(map.get("code")).equals("200")){
//            orderCrossCity.setTelX(map.get("telX"));
//            orderCrossCity.setBindId(map.get("bindId"));
//        }
        if(orderCrossCityWarpper.getTravelMode() == 2){//包车
//            orderCrossCity.setSeatNumber(lineShiftDriver.getLaveSeatNumber());
//            orderCrossCity.setPeopleNumber(lineShiftDriver.getLaveSeat());
@@ -864,7 +856,8 @@
                UserInfo userInfo = userInfoMapper.selectById(orderCrossCity.getUserId());
                SysIntegral query1 = sysIntegralMapper.query(orderCrossCity.getCompanyId());
                OpenCity openCity = openCityService.openCity1(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString());
                SysIntegral query1 = sysIntegralMapper.query(openCity.getId());
                userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分
                userInfoMapper.updateById(userInfo);
                System.out.println("==============userInfo修改完毕==================="+userInfo);
@@ -955,18 +948,8 @@
                orderPosition.setInsertTime(new Date());
                //将数据存储到文件中
                List<OrderPosition> orderPositions = orderPositionService.queryPosition(orderCrossCity.getId(), 3);
                File file = new File(filePath + orderCrossCity.getId() + "_3" + ".txt");
                if(!file.exists()){
                    file.getParentFile().mkdirs();
                    file.createNewFile();
                }
                //写入相应的文件
                PrintWriter out = new PrintWriter(new FileWriter(file));
                orderPositions.add(orderPosition);
                System.err.println("存储新数据:" + JSON.toJSONString(orderPositions));
                out.write(JSON.toJSONString(orderPositions));
                out.flush();
                out.close();
                mongoTemplate.save(orderPositions);
            }
        }
        return false;//上层不需要处理