无关风月
2025-01-14 e6d027eb78f32fec9a9788976f694a85fa3b768a
ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.java
@@ -41,6 +41,8 @@
    @Autowired
    private ITOrderTaxiService tOrderTaxiService;
    @Autowired
    private ITPubTransactionDetailsService pubTransactionDetailsService;
    @Autowired
    private ITOrderPositionService tOrderPositionService;
@@ -103,6 +105,32 @@
    public String tOrderTaxiUpdate(@PathVariable Integer tOrderTaxiId, Model model) {
        Map<String, Object> tOrderTaxi = tOrderTaxiService.getTaxiOrderDetailById(tOrderTaxiId);
        model.addAttribute("item",tOrderTaxi);
        // 查询司机扣款
        TPubTransactionDetails tPubTransactionDetails = pubTransactionDetailsService.selectOne(new EntityWrapper<TPubTransactionDetails>()
                .eq("userId", tOrderTaxi.get("driverId"))
                .eq("state", 2)
                .eq("type", 1)
                .eq("userType", 6)
                .eq("payState", 2)
                .last("LIMIT 1"));
        if (tPubTransactionDetails==null){
            model.addAttribute("companyMoney","");
            model.addAttribute("driverMoney","");
        }else{
            model.addAttribute("companyMoney",tPubTransactionDetails.getMoney());
            model.addAttribute("driverMoney",new BigDecimal(tOrderTaxi.get("payMoney").toString()).subtract(tPubTransactionDetails.getMoney()));
        }
        if (tOrderTaxi.get("payManner")!=null){
            if(tOrderTaxi.get("payManner").equals("1")){
                model.addAttribute("payMannerStr","线上收款");
            }else {
                model.addAttribute("payMannerStr","计费打表");
            }
        }
        LogObjectHolder.me().set(tOrderTaxi);
        return PREFIX + "tOrderTaxi_edit.html";
    }
@@ -174,29 +202,27 @@
     * @param orderDetailId
     * @return
     */
    public static String URL = "https://yingyan.baidu.com/api/v3/track/gettrack?";
    public static String AK = "WQhfsluNzEeUHUxoH4jc4JiCQOXw4Mnx";
    @ResponseBody
    @RequestMapping(value = "/getOrderTrack", method = RequestMethod.POST)
    public ResultUtil getOrderTrack(String orderDetailId){
        if(ToolUtil.isNotEmpty(orderDetailId)){
            try {
//                List<TOrderPosition> list = tOrderPositionService.selectList(new EntityWrapper<TOrderPosition>().eq("orderType", 2).eq("orderId", orderDetailId).orderBy("insertTime"));
                /*if(list.size() == 0){
                    return ResultUtil.error("该订单没有运行轨迹");
                }*/
                //将数据存储到文件中
                File file = new File(filePath + orderDetailId + "_2.txt");
                if(!file.exists()){
                    return ResultUtil.success(new ArrayList<>());
                }
                //读取文件(字符流)
                BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));
                //循环取出数据
                String str = null;
                StringBuffer sb = new StringBuffer();
                while ((str = in.readLine()) != null) {
                    sb.append(str);
                }
                List<TOrderPosition> list = JSONArray.parseArray(sb.toString(), TOrderPosition.class);
                TOrderTaxi tOrderTaxi = tOrderTaxiService.selectById(orderDetailId);
                TDriver tDriver = driverService.selectById(tOrderTaxi.getDriverId());
                SearchHttpAK ta = new SearchHttpAK();
                Map params = new LinkedHashMap<String, String>();
                params.put("ak", AK);
                params.put("entity_name", tDriver.getPhone());
                params.put("service_id", "241187");
                long start = tOrderTaxi.getStartServiceTime().getTime() / 1000L;
                long end = tOrderTaxi.getEndServiceTime().getTime() / 1000L;
                params.put("start_time", start+"");
                params.put("end_time", end+"");
                String s = ta.requestGetAK(URL, params);
                List<TOrderPositionBaiDu> list = JSONArray.parseArray(s.toString(), TOrderPositionBaiDu.class);
                resultUtil = ResultUtil.success(list);
            }catch (Exception e){
                e.printStackTrace();