| | |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> queryOrderList(Integer state, Integer pageNum, Integer size, Integer uid) throws Exception { |
| | | public List<Map<String, Object>> queryOrderList(Integer state, Integer pageNum, Integer size, Integer uid, Integer language) throws Exception { |
| | | pageNum = (pageNum - 1) * size; |
| | | List<Map<String, Object>> datas = new ArrayList<>(); |
| | | //出租车 |
| | | // List<Map<String, Object>> list = orderTaxiService.queryOrderList(state, uid); |
| | | // datas.addAll(list); |
| | | //专车 |
| | | List<Map<String, Object>> list1 = orderPrivateCarService.queryOrderList(state, uid); |
| | | List<Map<String, Object>> list1 = orderPrivateCarService.queryOrderList(state, uid, language); |
| | | datas.addAll(list1); |
| | | //跨城 |
| | | // List<Map<String, Object>> list2 = orderCrossCityService.queryOrderList(state, uid); |
| | | // datas.addAll(list2); |
| | | //小件物流 |
| | | List<Map<String, Object>> list3 = orderLogisticsService.queryOrderList(uid); |
| | | List<Map<String, Object>> list3 = orderLogisticsService.queryOrderList(uid, language); |
| | | datas.addAll(list3); |
| | | |
| | | //分页 |
| | |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> queryOrderList1(Integer state, Integer type, Integer pageNum, Integer size, Integer uid) throws Exception { |
| | | public List<Map<String, Object>> queryOrderList1(Integer state, Integer type, Integer pageNum, Integer size, Integer uid, Integer language) throws Exception { |
| | | pageNum = (pageNum - 1) * size; |
| | | List<Map<String, Object>> datas = new ArrayList<>(); |
| | | if(type == 1){ |
| | | //出租车 |
| | | List<Map<String, Object>> list = orderTaxiService.queryOrderList(state, uid); |
| | | List<Map<String, Object>> list = orderTaxiService.queryOrderList(language, state, uid); |
| | | datas.addAll(list); |
| | | //专车 |
| | | List<Map<String, Object>> list1 = orderPrivateCarService.queryOrderList(state, uid); |
| | | List<Map<String, Object>> list1 = orderPrivateCarService.queryOrderList(state, uid, language); |
| | | datas.addAll(list1); |
| | | //跨城 |
| | | List<Map<String, Object>> list2 = orderCrossCityService.queryOrderList(state, uid); |
| | | List<Map<String, Object>> list2 = orderCrossCityService.queryOrderList(language, state, uid); |
| | | datas.addAll(list2); |
| | | }else{//小件物流 |
| | | List<Map<String, Object>> list3 = orderLogisticsService.queryOrderList(uid); |
| | | List<Map<String, Object>> list3 = orderLogisticsService.queryOrderList(uid, language); |
| | | datas.addAll(list3); |
| | | } |
| | | |
| | |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public List<OrderListWarpper> queryMyAllOrder(Integer state, Integer pageNum, Integer size, Integer uid) throws Exception { |
| | | public List<OrderListWarpper> queryMyAllOrder(Integer state, Integer pageNum, Integer size, Integer uid, Integer language) throws Exception { |
| | | pageNum = (pageNum - 1) * size; |
| | | List<Map<String, Object>> datas = new ArrayList<>(); |
| | | //出租车 |
| | | // List<Map<String, Object>> list = orderTaxiService.queryMyAllOrder(state, uid); |
| | | // datas.addAll(list); |
| | | //专车 |
| | | List<Map<String, Object>> list1 = orderPrivateCarService.queryMyAllOrder(state, uid); |
| | | List<Map<String, Object>> list1 = orderPrivateCarService.queryMyAllOrder(state, uid, language); |
| | | datas.addAll(list1); |
| | | //跨城 |
| | | // List<Map<String, Object>> list2 = orderCrossCityService.queryMyAllOrder(state, uid); |
| | | // datas.addAll(list2); |
| | | //小件物流 |
| | | List<Map<String, Object>> list3 = orderLogisticsService.queryMyAllOrder(state, uid); |
| | | List<Map<String, Object>> list3 = orderLogisticsService.queryMyAllOrder(state, uid, language); |
| | | datas.addAll(list3); |
| | | |
| | | List<OrderListWarpper> orderListWarpper = OrderListWarpper.getOrderListWarpper(datas); |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Map<String, Object> queryPushOrder(Integer orderId, Integer orderType, String lon, String lat) throws Exception{ |
| | | public Map<String, Object> queryPushOrder(Integer orderId, Integer orderType, String lon, String lat, Integer language) throws Exception{ |
| | | Map<String, Object> map = null; |
| | | switch (orderType){ |
| | | case 1://专车 |
| | | map = orderPrivateCarService.queryPushOrder(orderId); |
| | | map = orderPrivateCarService.queryPushOrder(orderId, language); |
| | | DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(map.get("startLat").toString()), Double.valueOf(map.get("startLon").toString()), Double.valueOf(lat), Double.valueOf(lon)); |
| | | map.put("startDistance", null != distancematrix ? distancematrix.getDistance() / 1000 : 0); |
| | | |
| | |
| | | Integer orderSource = Integer.valueOf(String.valueOf(map.get("orderSource"))); |
| | | if(orderSource == 1 || orderSource == 2 || orderSource == 3){ |
| | | if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 1 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 1){ |
| | | map.put("type", "乘客创建"); |
| | | map.put("type", language == 1 ? "乘客创建" : language == 2 ? "Passenger creation" : "Créé par passager"); |
| | | } |
| | | if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 1 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 2){ |
| | | map.put("type", "改派"); |
| | | map.put("type", language == 1 ? "改派" : language == 2 ? "reassignment" : "recruté"); |
| | | } |
| | | if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 2 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 1){ |
| | | map.put("type", "预约"); |
| | | map.put("type", language == 1 ? "预约" : language == 2 ? "Make an appointment" : "rendez-vous"); |
| | | } |
| | | if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 2 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 2){ |
| | | map.put("type", "改派"); |
| | | map.put("type", language == 1 ? "改派" : language == 2 ? "reassignment" : "recruté"); |
| | | } |
| | | } |
| | | if(orderSource == 5){ |
| | | if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 1 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 1){ |
| | | map.put("type", "调度创建"); |
| | | map.put("type", language == 1 ? "调度创建" : language == 2 ? "Scheduling creation" : "Création de planning"); |
| | | } |
| | | if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 1 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 2){ |
| | | map.put("type", "改派"); |
| | | map.put("type", language == 1 ? "改派" : language == 2 ? "reassignment" : "recruté"); |
| | | } |
| | | if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 2 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 1){ |
| | | map.put("type", "预约"); |
| | | map.put("type", language == 1 ? "预约" : language == 2 ? "Make an appointment" : "rendez-vous"); |
| | | } |
| | | if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 2 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 2){ |
| | | map.put("type", "改派"); |
| | | map.put("type", language == 1 ? "改派" : language == 2 ? "reassignment" : "recruté"); |
| | | } |
| | | } |
| | | break; |
| | |
| | | // } |
| | | break; |
| | | case 4://市内小件物流 |
| | | map = orderLogisticsService.queryPushOrder(orderId); |
| | | map = orderLogisticsService.queryPushOrder(orderId, language); |
| | | DistancematrixVo distancematrix1 = GoogleMapUtil.getDistancematrix(Double.valueOf(map.get("startLat").toString()), Double.valueOf(map.get("startLon").toString()), Double.valueOf(lat), Double.valueOf(lon)); |
| | | map.put("startDistance", null != distancematrix1 ? distancematrix1.getDistance() / 1000 : 0); |
| | | |
| | |
| | | Integer orderSource3 = Integer.valueOf(String.valueOf(map.get("orderSource"))); |
| | | if(orderSource3 == 1 || orderSource3 == 2 || orderSource3 == 3){ |
| | | if(Integer.valueOf(String.valueOf(map.get("isReassign"))) == 1){ |
| | | map.put("type", "乘客创建"); |
| | | map.put("type", language == 1 ? "乘客创建" : language == 2 ? "Passenger creation" : "Créé par passager"); |
| | | } |
| | | if(Integer.valueOf(String.valueOf(map.get("isReassign"))) == 2){ |
| | | map.put("type", "改派"); |
| | | map.put("type", language == 1 ? "改派" : language == 2 ? "reassignment" : "recruté"); |
| | | } |
| | | } |
| | | if(orderSource3 == 5){ |
| | | if(Integer.valueOf(String.valueOf(map.get("isReassign"))) == 1){ |
| | | map.put("type", "调度创建"); |
| | | map.put("type", language == 1 ? "调度创建" : language == 2 ? "Scheduling creation" : "Création de planning"); |
| | | } |
| | | if(Integer.valueOf(String.valueOf(map.get("isReassign"))) == 2){ |
| | | map.put("type", "改派"); |
| | | map.put("type", language == 1 ? "改派" : language == 2 ? "reassignment" : "recruté"); |
| | | } |
| | | } |
| | | break; |
| | |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public Map<String, Object> queryOrderInfo(Integer orderId, Integer orderType) throws Exception { |
| | | public Map<String, Object> queryOrderInfo(Integer language, Integer orderId, Integer orderType) throws Exception { |
| | | Map<String, Object> map = null; |
| | | switch (orderType){ |
| | | case 1://专车 |
| | | map = orderPrivateCarService.queryOrderInfo(orderId); |
| | | map = orderPrivateCarService.queryOrderInfo(language, orderId); |
| | | break; |
| | | case 2://出租 |
| | | // map = orderTaxiService.queryOrderInfo(orderId); |
| | |
| | | // map = orderCrossCityService.queryOrderCrossCityInfo(orderId); |
| | | break; |
| | | case 4://同城小件 |
| | | map = orderLogisticsService.queryOrderInfo(orderId); |
| | | map = orderLogisticsService.queryOrderInfo(language, orderId); |
| | | break; |
| | | case 5://跨城小件 |
| | | // map = orderLogisticsService.queryOrderInfo(orderId); |
| | |
| | | public ResultUtil process(Integer orderId, Integer orderType, Integer state, Integer uid, Double lon, Double lat,String phone, Integer language) throws Exception { |
| | | ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lon); |
| | | if(null == reverseGeocode){ |
| | | return ResultUtil.error(language == 1 ? "无效的经纬度" : language == 2 ? "Invalid latitude and longitude" : "Latitude et longitude invalides"); |
| | | return ResultUtil.error(language == 1 ? "无效的经纬度" : language == 2 ? "Invalid longitude and latitude" : "Longitude et latitude non valides"); |
| | | } |
| | | String address = reverseGeocode.getAddress(); |
| | | switch (orderType){ |
| | |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public ResultUtil confirmFees(Integer orderId, Integer orderType, Integer type, Double travelFee, Double parkingFee, Double crossingFee) throws Exception { |
| | | public ResultUtil confirmFees(Integer language, Integer orderId, Integer orderType, Integer type, Double travelFee, Double parkingFee, Double crossingFee) throws Exception { |
| | | switch (orderType){ |
| | | case 1://专车 |
| | | return orderPrivateCarService.confirmFees(orderId, type, parkingFee, crossingFee); |
| | | return orderPrivateCarService.confirmFees(language, orderId, type, parkingFee, crossingFee); |
| | | case 2://出租 |
| | | return orderTaxiService.confirmFees(orderId, type, travelFee, parkingFee, crossingFee); |
| | | case 3://城际(没有此流程) |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Map<String, Object> queryToBePaidPage(Integer orderId, Integer orderType) throws Exception{ |
| | | public Map<String, Object> queryToBePaidPage(Integer language, Integer orderId, Integer orderType) throws Exception{ |
| | | switch (orderType){ |
| | | case 1://专车 |
| | | return orderPrivateCarService.queryOrderInfo(orderId); |
| | | return orderPrivateCarService.queryOrderInfo(language, orderId); |
| | | case 2://出租 |
| | | return orderTaxiService.queryOrderInfo(orderId); |
| | | return orderTaxiService.queryOrderInfo(language, orderId); |
| | | case 3://城际(没有此流程) |
| | | return null; |
| | | case 4:// |
| | |
| | | case 1: |
| | | OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); |
| | | if(orderPrivateCar.getState() == 8 || orderPrivateCar.getState() == 9){ |
| | | return ResultUtil.error(language == 1 ? "订单已完成支付,不允许重复支付" : language == 2 ? "The order has been paid, no double payment is allowed" : "La commande a été payée, aucun paiement en double n’est autorisé"); |
| | | return ResultUtil.error(language == 1 ? "订单已完成支付,不允许重复支付" : language == 2 ? "The order has been paid, recurring payments is not allowed." : "La commande a été payée, les paiements récurrents ne sont pas autorisés."); |
| | | } |
| | | if(orderPrivateCar.getState() != 7){ |
| | | return ResultUtil.error(language == 1 ? "订单不在待支付,无法完成订单" : language == 2 ? "Order is not pending payment, order cannot be completed" : "La commande n’est pas en attente de paiement, la commande ne peut pas être complétée"); |
| | | return ResultUtil.error(language == 1 ? "订单不在待支付,无法完成订单" : language == 2 ? "The order is no longer with Pending Payment, unable to complete the order." : "La commande n’est plus en attente de paiement, il est impossible de terminer la commande."); |
| | | } |
| | | orderPrivateCar.setPayManner(2);//其他方式支付 |
| | | orderPrivateCar.setRedPacketMoney(0D); |
| | |
| | | case 2: |
| | | OrderTaxi orderTaxi = orderTaxiService.selectById(orderId); |
| | | if(orderTaxi.getState() == 8 || orderTaxi.getState() == 9){ |
| | | return ResultUtil.error(language == 1 ? "订单已完成支付,不允许重复支付" : language == 2 ? "The order has been paid, no double payment is allowed" : "La commande a été payée, aucun paiement en double n’est autorisé"); |
| | | return ResultUtil.error(language == 1 ? "订单已完成支付,不允许重复支付" : language == 2 ? "The order has been paid, recurring payments is not allowed." : "La commande a été payée, les paiements récurrents ne sont pas autorisés."); |
| | | } |
| | | if(orderTaxi.getState() != 7){ |
| | | return ResultUtil.error(language == 1 ? "订单不在待支付,无法完成订单" : language == 2 ? "Order is not pending payment, order cannot be completed" : "La commande n’est pas en attente de paiement, la commande ne peut pas être complétée"); |
| | | return ResultUtil.error(language == 1 ? "订单不在待支付,无法完成订单" : language == 2 ? "The order is no longer with Pending Payment, unable to complete the order." : "La commande n’est plus en attente de paiement, il est impossible de terminer la commande."); |
| | | } |
| | | orderTaxi.setPayManner(2);//其他方式支付 |
| | | orderTaxi.setRedPacketMoney(0D); |
| | |
| | | */ |
| | | @Override |
| | | public void taskSmsSend() throws Exception { |
| | | Integer language = 2; |
| | | //获取未支付订单 |
| | | Date day = new Date(); |
| | | List<OrderPrivateCar> orderList = orderPrivateCarService.getSmsOrderList(); |
| | |
| | | String sData = aLiSendSms.sendSms1(order.getPassengersPhone(), "SMS_215342869", "{\"time\":\"" + DateUtil.format(order.getGetoffTime(),"yyyy-MM-dd HH:mm:ss") + "\",\"money\":\"" + order.getOrderMoney() + "\"}"); |
| | | } |
| | | //添加消息记录 |
| | | systemNoticeService.addSystemNotice(1, "有一笔订单未付款,请前往支付!", order.getUserId()); |
| | | systemNoticeService.addSystemNotice(1, language == 1 ? "有一笔订单未付款,请前往支付!" : language == 2 ? "There is an order pending payment, please pay." : "Il y a une commande en attente de paiement, veuillez payer.", order.getUserId()); |
| | | } |
| | | }else{ |
| | | if(order.getSmsTime().getTime()+24*60*60*1000L<day.getTime()){ |
| | |
| | | } |
| | | |
| | | //添加消息记录 |
| | | systemNoticeService.addSystemNotice(1, "有一笔订单未付款,请前往支付!", order.getUserId()); |
| | | systemNoticeService.addSystemNotice(1, language == 1 ? "有一笔订单未付款,请前往支付!" : language == 2 ? "There is an order pending payment, please pay." : "Il y a une commande en attente de paiement, veuillez payer.", order.getUserId()); |
| | | } |
| | | } |
| | | } |
| | |
| | | OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); |
| | | money = orderPrivateCar.getPayMoney(); |
| | | if(orderPrivateCar.getPayType() != 4){ |
| | | return ResultUtil.error(language == 1 ? "无法进行支付" : language == 2 ? "Unable to pay" : "Impossibilité de procéder au paiement"); |
| | | return ResultUtil.error(language == 1 ? "无法进行支付" : language == 2 ? "Unable to make payments" : "Impossible d’effectuer des paiements"); |
| | | } |
| | | if(orderPrivateCar.getDriverPay() == 2){ |
| | | return ResultUtil.error(language == 1 ? "不能重复支付" : language == 2 ? "Non-repeatable payment" : "Aucun paiement en double"); |
| | | return ResultUtil.error(language == 1 ? "不能重复支付" : language == 2 ? "Unable to recur payments" : "Impossible de récurrence des paiements"); |
| | | } |
| | | if(payType == 2){//余额支付 |
| | | if(payType == 3){//余额支付 |
| | | if(driver.getBalance().compareTo(money) < 0){ |
| | | return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde insuffisant du compte"); |
| | | return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant"); |
| | | } |
| | | } |
| | | } |
| | |
| | | OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId); |
| | | money = orderLogistics.getPayMoney(); |
| | | if(orderLogistics.getPayType() != 4){ |
| | | return ResultUtil.error(language == 1 ? "无法进行支付" : language == 2 ? "Unable to pay" : "Impossibilité de procéder au paiement"); |
| | | return ResultUtil.error(language == 1 ? "无法进行支付" : language == 2 ? "Unable to make payments" : "Impossible d’effectuer des paiements"); |
| | | } |
| | | if(orderLogistics.getDriverPay() == 2){ |
| | | return ResultUtil.error(language == 1 ? "不能重复支付" : language == 2 ? "Non-repeatable payment" : "Aucun paiement en double"); |
| | | return ResultUtil.error(language == 1 ? "不能重复支付" : language == 2 ? "Unable to recur payments" : "Impossible de récurrence des paiements"); |
| | | } |
| | | if(payType == 2){//余额支付 |
| | | if(payType == 3){//余额支付 |
| | | if(driver.getBalance().compareTo(money) < 0){ |
| | | return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde insuffisant du compte"); |
| | | return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant"); |
| | | } |
| | | } |
| | | } |
| | |
| | | if(resultUtil.getCode()==200){ |
| | | paymentRecordService.saveData(1, uid, 2, orderId, orderType, 1, money, null, 1);//添加预支付数据 |
| | | }else{ |
| | | resultUtil = ResultUtil.error(language == 1 ? "支付失败" : language == 2 ? "Payment failure" : "Paiement échoué", ""); |
| | | resultUtil = ResultUtil.error(language == 1 ? "支付失败" : language == 2 ? "Payment failure" : "Échec de paiement", ""); |
| | | } |
| | | return resultUtil; |
| | | } |
| | |
| | | if(resultUtil.getCode()==200){ |
| | | paymentRecordService.saveData(1, uid, 2, orderId, orderType, 2, money, null, 1);//添加预支付数据 |
| | | }else{ |
| | | resultUtil = ResultUtil.error(language == 1 ? "支付失败" : language == 2 ? "Payment failure" : "Paiement échoué", ""); |
| | | resultUtil = ResultUtil.error(language == 1 ? "支付失败" : language == 2 ? "Payment failure" : "Échec de paiement", ""); |
| | | } |
| | | return resultUtil; |
| | | } |