| | |
| | | import com.stylefeng.guns.modular.system.model.OrderPosition; |
| | | import com.stylefeng.guns.modular.system.service.*; |
| | | import com.stylefeng.guns.modular.system.util.*; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.model.AddAccountInfoRequest; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyTravelItineraryRequest; |
| | | import com.stylefeng.guns.modular.system.util.zhenglian.ZhengLianUtil; |
| | | import com.stylefeng.guns.modular.system.util.zhenglian.model.TradeTerminalInfo; |
| | | import com.stylefeng.guns.modular.system.util.zhenglian.model.ZLUserInfo; |
| | | import com.stylefeng.guns.modular.system.warpper.BaseWarpper; |
| | | import com.stylefeng.guns.modular.system.warpper.OrderListWarpper; |
| | | import com.stylefeng.guns.modular.taxi.model.OrderTaxi; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.net.InetAddress; |
| | | import java.net.NetworkInterface; |
| | | import java.util.*; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> queryOrderList(Integer state, Integer pageNum, Integer size, Integer uid) throws Exception { |
| | | Driver driver = driverService.selectById(uid); |
| | | //获取证联数据 |
| | | if(null == driver.getCustId() || 0 == driver.getAccOpenFlag()){ |
| | | TradeTerminalInfo tradeTerminalInfo = new TradeTerminalInfo(); |
| | | tradeTerminalInfo.setTerminal("1"); |
| | | InetAddress inetAddress = InetAddress.getLocalHost(); |
| | | String ip = inetAddress.getHostAddress(); |
| | | tradeTerminalInfo.setIp(ip); |
| | | NetworkInterface networkInterface = NetworkInterface.getByInetAddress(inetAddress); |
| | | byte[] mac = networkInterface.getHardwareAddress(); |
| | | StringBuilder macAddress = new StringBuilder(); |
| | | for (int i = 0; i < mac.length; i++) { |
| | | macAddress.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "")); |
| | | } |
| | | |
| | | tradeTerminalInfo.setMac(macAddress.toString()); |
| | | ZLUserInfo userInfo = ZhengLianUtil.getUserInfo(driver.getEmpId().toString(), tradeTerminalInfo); |
| | | if(null != userInfo){ |
| | | driver.setCustId(userInfo.getCustId()); |
| | | driver.setAccOpenFlag(userInfo.getAccOpenFlag()); |
| | | driverService.updateById(driver); |
| | | } |
| | | } |
| | | //同步到中台 |
| | | if(null != driver.getAccOpenFlag() && 1 == driver.getAccOpenFlag() && 0 == driver.getIsSynchronous()){ |
| | | AddAccountInfoRequest request = new AddAccountInfoRequest(); |
| | | request.setCustId(driver.getCustId()); |
| | | request.setAccountNo(driver.getEmpId().toString()); |
| | | request.setAccountName(driver.getName()); |
| | | request.setMobile(driver.getPhone()); |
| | | Integer status = EmployeeUtil.addAccountInfo(request); |
| | | if(0 == status){ |
| | | driver.setIsSynchronous(1); |
| | | driverService.updateById(driver); |
| | | } |
| | | } |
| | | |
| | | |
| | | Integer page = pageNum; |
| | | pageNum = (pageNum - 1) * size; |
| | | List<Map<String, Object>> datas = new ArrayList<>(); |
| | |
| | | } |
| | | break; |
| | | case 2://出租 |
| | | OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); |
| | | if(null != orderPrivateCar && orderPrivateCar.getType() == 3){ |
| | | map = orderPrivateCarService.queryPushOrder(orderId); |
| | | }else{ |
| | | OrderTaxi orderTaxi = orderTaxiService.selectById(orderId); |
| | | if(null != orderTaxi && orderTaxi.getType() == 2){ |
| | | map = orderTaxiService.queryPushOrder(orderId); |
| | | }else{ |
| | | OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); |
| | | if(null != orderPrivateCar && orderPrivateCar.getType() == 3){ |
| | | map = orderPrivateCarService.queryPushOrder(orderId); |
| | | }else{ |
| | | map = orderTaxiService.queryPushOrder(orderId); |
| | | } |
| | | } |
| | | String order1 = String.valueOf(map.get("startLon")) + "," + String.valueOf(map.get("startLat")); |
| | | // TODO: 2023/11/4 无法修改 |
| | | String distance1 = gdMapElectricFenceUtil.getDistance(lon + "," + lat, order1, 1).get("distance"); |
| | | map.put("startDistance", ToolUtil.isNotEmpty(distance1) ? Double.valueOf(distance1) / 1000 : 0); |
| | | |
| | | //总距离 |
| | | |
| | | String end1 = String.valueOf(map.get("endLon")) + "," + String.valueOf(map.get("endLat")); |
| | | if(end1.equals(",")){ |
| | | map.put("totalDistance", 0); |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | Integer orderSource1 = Integer.valueOf(String.valueOf(map.get("orderSource"))); |
| | | if(orderSource1 == 1 || orderSource1 == 2 || orderSource1 == 3){ |