From 8522e469e00e1cf6c0410165b0f76c806c13ca83 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期六, 16 八月 2025 09:17:04 +0800 Subject: [PATCH] 合并代码 --- UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java | 1001 ++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 689 insertions(+), 312 deletions(-) diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java index b6fb4c6..b12b209 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java @@ -9,16 +9,25 @@ import com.stylefeng.guns.modular.call.server.IOrderCallService; import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity; import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService; +import com.stylefeng.guns.modular.shunfeng.model.OrderRide; +import com.stylefeng.guns.modular.shunfeng.service.IOrderRideService; import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics; import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService; import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar; import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService; +import com.stylefeng.guns.modular.system.dao.CarMapper; import com.stylefeng.guns.modular.system.dao.SystemPriceMapper; import com.stylefeng.guns.modular.system.model.*; +import com.stylefeng.guns.modular.system.model.vo.TripOrderVo; +import com.stylefeng.guns.modular.system.model.vo.TripSheetVo; import com.stylefeng.guns.modular.system.model.vo.UnPayOrderVO; +import com.stylefeng.guns.modular.system.pdf.TripSheetGenerator; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.*; +import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil; +import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyTravelItineraryRequest; import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallback; +import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallbackData; import com.stylefeng.guns.modular.system.warpper.*; import com.stylefeng.guns.modular.taxi.model.OrderTaxi; import com.stylefeng.guns.modular.taxi.model.PaymentRecord; @@ -31,6 +40,9 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.RedisTemplate; @@ -39,8 +51,13 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.File; import java.io.PrintWriter; +import java.io.Serializable; +import java.lang.reflect.InvocationTargetException; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.*; /** @@ -66,28 +83,28 @@ @Autowired private IOrderService orderService; - + @Autowired private IDriverService driverService; - + @Autowired private WeChatUtil weChatUtil; - + @Autowired private IOrderPrivateCarService orderPrivateCarService; - + @Autowired private GDMapGeocodingUtil gdMapGeocodingUtil; - + @Autowired private IComplaintService complaintService; - + @Autowired private IOrderEvaluateService orderEvaluateService; - + @Autowired private IOrderCrossCityService orderCrossCityService; - + @Autowired private IOrderLogisticsService orderLogisticsService; @@ -120,7 +137,7 @@ @Autowired private IAdditionalFeeService additionalFeeService; - + @Autowired private ITEnterpriseWithdrawalService enterpriseWithdrawalService; @Autowired @@ -129,18 +146,30 @@ private IUserCouponRecordService userCouponRecordService; @Value("${pushMinistryOfTransport}") private boolean pushMinistryOfTransport; - + @Resource private SystemPriceMapper systemPriceMapper; - + @Resource private RedisTemplate<String, Object> redisTemplate; - + @Resource private ISystemPriceCityService systemPriceCityService; + @Value("${trip.sheet.filePath}") + private String filePath; + @Autowired + private EmailUtil emailUtil; + @Autowired + private TripSheetGenerator tripSheetGenerator; + @Autowired + private IServerCarModelService serverCarModelService; - + + @Autowired + private IOrderRideService orderRideService; + + /** * 获取正在进行中的订单 * @@ -153,16 +182,16 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<List<OrderStatusWarpper>> queryServingOrder(HttpServletRequest request){ + public ResultUtil<List<OrderStatusWarpper>> queryServingOrder(HttpServletRequest request) { try { Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ + if (null == uid) { return ResultUtil.tokenErr(); } List<OrderStatusWarpper> data = new ArrayList<>(); List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12); - for(OrderPrivateCar orderPrivateCar : orderPrivateCars){ - if(orderPrivateCar.getState() == 11){ + for (OrderPrivateCar orderPrivateCar : orderPrivateCars) { + if (orderPrivateCar.getState() == 11) { orderPrivateCar.setState(orderPrivateCar.getOldState()); } OrderStatusWarpper orderStatusWarpper = new OrderStatusWarpper(); @@ -173,8 +202,8 @@ data.add(orderStatusWarpper); } List<OrderTaxi> list = orderTaxiService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12); - for(OrderTaxi orderTaxi : list){ - if(orderTaxi.getState() == 11){ + for (OrderTaxi orderTaxi : list) { + if (orderTaxi.getState() == 11) { orderTaxi.setState(orderTaxi.getOldState()); } OrderStatusWarpper orderStatusWarpper = new OrderStatusWarpper(); @@ -185,8 +214,8 @@ data.add(orderStatusWarpper); } List<OrderCrossCity> orderCrossCities = orderCrossCityService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12); - for(OrderCrossCity orderCrossCity : orderCrossCities){ - if(orderCrossCity.getState() == 11){ + for (OrderCrossCity orderCrossCity : orderCrossCities) { + if (orderCrossCity.getState() == 11) { orderCrossCity.setState(orderCrossCity.getOldState()); } OrderStatusWarpper orderStatusWarpper = new OrderStatusWarpper(); @@ -197,17 +226,16 @@ data.add(orderStatusWarpper); } return ResultUtil.success(data); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - - /** * 获取个人中心订单列表 + * * @param type * @param pageNum * @param size @@ -218,19 +246,19 @@ @PostMapping("/api/order/queryMyOrderList") @ApiOperation(value = "获取个人中心订单列表", tags = {"用户端-个人中心"}, notes = "") @ApiImplicitParams({ - @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流, 5=跨城小件物流,6=包车,7=助老模式)", name = "type", required = true, dataType = "int"), - @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"), - @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"), - @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流, 5=跨城小件物流,6=包车,7=助老模式,8顺风车)", name = "type", required = true, dataType = "int"), + @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"), + @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"), + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<List<OrderWarpper>> queryMyOrderList(Integer type, Integer pageNum, Integer size, HttpServletRequest request){ + public ResultUtil<List<OrderWarpper>> queryMyOrderList(Integer type, Integer pageNum, Integer size, HttpServletRequest request) { try { Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ + if (null == uid) { return ResultUtil.tokenErr(); } List<Map<String, Object>> list = null; - switch (type){ + switch (type) { case 1: list = orderPrivateCarService.queryMyOrderList(uid, pageNum, size); break; @@ -252,9 +280,12 @@ case 7: // list = orderCallService.queryMyOrderList(uid, pageNum, size); break; + case 8: + list = orderRideService.queryMyOrderList(uid, pageNum, size); + break; } return ResultUtil.success(OrderWarpper.getOrderWarpper(list)); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } @@ -262,6 +293,7 @@ /** * 获取消费记录 + * * @param pageNum * @param size * @param request @@ -275,10 +307,10 @@ @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<List<TravelRecordWarpper>> queryMyTravelRecord(Integer pageNum, Integer size, HttpServletRequest request){ + public ResultUtil<List<TravelRecordWarpper>> queryMyTravelRecord(Integer pageNum, Integer size, HttpServletRequest request) { try { Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ + if (null == uid) { return ResultUtil.tokenErr(); } Integer page = pageNum; @@ -287,7 +319,7 @@ .eq("type", 1).eq("userType", 1).eq("userId", uid).orderBy("insertTime desc limit " + pageNum + ", " + size)); List<Map<String, Object>> list = new ArrayList<>(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - for(TransactionDetails t : transactionDetails){ + for (TransactionDetails t : transactionDetails) { Map<String, Object> map = new HashMap<>(); map.put("money", t.getState() == 1 ? t.getMoney() : -1 * t.getMoney()); map.put("time", sdf.format(t.getInsertTime())); @@ -298,7 +330,7 @@ List<TravelRecordWarpper> orderWarpper = TravelRecordWarpper.getTravelRecordWarpper(list); return ResultUtil.success(orderWarpper); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } @@ -307,6 +339,7 @@ /** * 发票页获取订单列表 + * * @param type * @param orderType * @param startTime @@ -334,17 +367,17 @@ }) public ResultUtil<List<OrderWarpper>> queryInvoiceOrder(Integer type, Integer orderType, Date startTime, Date endTime, Double startMoney, Double endMoney, - Integer pageNum, Integer size, HttpServletRequest request){ + Integer pageNum, Integer size, HttpServletRequest request) { Integer page = pageNum; pageNum = (pageNum - 1) * size; try { Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ + if (null == uid) { return ResultUtil.tokenErr(); } List<Map<String, Object>> list = new ArrayList<>(); - if(null != orderType){ - switch (orderType){ + if (null != orderType) { + switch (orderType) { case 1://专车 list = orderPrivateCarService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid); break; @@ -361,7 +394,7 @@ list = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType); break; } - }else{ + } else { //专车 List<Map<String, Object>> maps = orderPrivateCarService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid); list.addAll(maps); @@ -380,25 +413,25 @@ } //分页 - if(list.size() >= page * size){ + if (list.size() >= page * size) { list = list.subList(pageNum, pageNum + size); - }else if(pageNum < list.size() && list.size() < page * size){ + } else if (pageNum < list.size() && list.size() < page * size) { list = list.subList(pageNum, list.size()); - }else{ + } else { list = new ArrayList<>(); } return ResultUtil.success(OrderWarpper.getOrderWarpper(list)); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - /** * 继续等待推单操作 + * * @param id * @return */ @@ -410,45 +443,46 @@ @ApiImplicitParam(value = "订单类型(1=专车,2=出租车)", name = "orderType", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil pushOrderTaxi(Integer id, Integer orderType){ + public ResultUtil pushOrderTaxi(Integer id, Integer orderType) { try { - switch (orderType){ + switch (orderType) { case 1: return orderPrivateCarService.pushOrderPrivateCar(id); case 2: return orderTaxiService.pushOrderTaxi(id); } return ResultUtil.success(); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - - + + /** * 获取服务中的详情数据 + * * @param orderId * @param orderType * @return */ @ResponseBody @PostMapping("/api/order/queryOrderInfo") - @ApiOperation(value = "获取服务中的详情数据", tags = {"用户端-服务中"}, notes = "",response = OrderInfoWarpper.class) + @ApiOperation(value = "获取服务中的详情数据", tags = {"用户端-服务中"}, notes = "", response = OrderInfoWarpper.class) @ApiImplicitParams({ @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<OrderInfoWarpper> queryOrderInfo(Integer orderId, Integer orderType, HttpServletRequest request){ + public ResultUtil<OrderInfoWarpper> queryOrderInfo(Integer orderId, Integer orderType, HttpServletRequest request) { try { Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ + if (null == uid) { return ResultUtil.tokenErr(); } Map<String, Object> map = null; List<OrderAdditionalFeeWarpper> list = new ArrayList<>(); - switch (orderType){ + switch (orderType) { case 1://专车 map = orderPrivateCarService.queryOrderInfo(uid, orderId); break; @@ -460,16 +494,13 @@ break; } - if(map.get("companyId") != null){ + if (map.get("companyId") != null) { Company companyId = companyService.selectById(map.get("companyId").toString()); map.put("companyName", companyId.getName()); - }else { - String string = map.get("driverId").toString(); - Driver driver = driverService.selectById(string); - Company company = companyService.selectById(driver.getCompanyId()); - map.put("companyName", company.getName()); + } else { + map.put("companyName", ""); } - if(map.get("telX") != null){ + if (map.get("telX") != null) { map.put("driverPhone", map.get("telX")); } List<OrderAdditionalFee> orderAdditionalFees = orderAdditionalFeeService.selectList(new EntityWrapper<OrderAdditionalFee>().eq("orderType", orderType).eq("orderId", orderId)); @@ -482,35 +513,35 @@ }); OrderInfoWarpper orderInfoWarpper = OrderInfoWarpper.getOrderInfoWarpper(map, list); orderType = orderInfoWarpper.getOrderType(); - if(orderType==1){ + if (orderType == 1) { - if(orderInfoWarpper.getPid()!=0){ - orderId=orderInfoWarpper.getPid(); + if (orderInfoWarpper.getPid() != 0) { + orderId = orderInfoWarpper.getPid(); } - List<Map<String, Object>> orderList= orderPrivateCarService.queryOrderInfo2(orderId,4,null,null); - if(!orderList.isEmpty()){ + List<Map<String, Object>> orderList = orderPrivateCarService.queryOrderInfo2(orderId, 4, null, null); + if (!orderList.isEmpty()) { orderInfoWarpper.setMeetOrderList(JSON.parseArray(JSON.toJSONString(orderList), OrderCrossCityInfoWrapper.class)); - }else{ + } else { orderInfoWarpper.setMeetOrderList(new ArrayList<>()); } - orderList= orderPrivateCarService.queryOrderInfo2(orderId,6,null,null); - if(orderInfoWarpper.getState()>1 && orderInfoWarpper.getDriverId()!=0){ - String value = (String) redisTemplate.opsForValue().get("DRIVER" + String.valueOf(orderInfoWarpper.getDriverId())); - if(value==null || value.equals("")){ - if(orderList.isEmpty()){ - orderList= orderPrivateCarService.queryOrderInfo2(orderId,5,"0","0"); - }else{ - List<Map<String, Object>> orderList1 = orderPrivateCarService.queryOrderInfo2(orderId,5,"0","0"); - if(!orderList1.isEmpty()){ + orderList = orderPrivateCarService.queryOrderInfo2(orderId, 6, null, null); + if (orderInfoWarpper.getState() > 1 && orderInfoWarpper.getDriverId() != 0) { + String value = (String) redisTemplate.opsForValue().get("dache_DRIVER" + String.valueOf(orderInfoWarpper.getDriverId())); + if (value == null || value.equals("")) { + if (orderList.isEmpty()) { + orderList = orderPrivateCarService.queryOrderInfo2(orderId, 5, "0", "0"); + } else { + List<Map<String, Object>> orderList1 = orderPrivateCarService.queryOrderInfo2(orderId, 5, "0", "0"); + if (!orderList1.isEmpty()) { orderList.addAll(orderList1); } } - }else{ - if(orderList.isEmpty()){ - orderList= orderPrivateCarService.queryOrderInfo2(orderId,5,value.split(",")[0],value.split(",")[1]); - }else{ - List<Map<String, Object>> orderList1 = orderPrivateCarService.queryOrderInfo2(orderId,5,value.split(",")[0],value.split(",")[1]); - if(!orderList1.isEmpty()){ + } else { + if (orderList.isEmpty()) { + orderList = orderPrivateCarService.queryOrderInfo2(orderId, 5, value.split(",")[0], value.split(",")[1]); + } else { + List<Map<String, Object>> orderList1 = orderPrivateCarService.queryOrderInfo2(orderId, 5, value.split(",")[0], value.split(",")[1]); + if (!orderList1.isEmpty()) { orderList.addAll(orderList1); } } @@ -518,15 +549,14 @@ } - - if(!orderList.isEmpty()){ + if (!orderList.isEmpty()) { orderInfoWarpper.setGiveOrderList(JSON.parseArray(JSON.toJSONString(orderList), OrderCrossCityInfoWrapper.class)); - }else{ + } else { orderInfoWarpper.setGiveOrderList(new ArrayList<>()); } OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); - if(orderPrivateCar.getState()>1) { + if (orderPrivateCar.getState() > 1) { Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString()); String provinceCode = geocode.get("provinceCode"); String cityCode = geocode.get("cityCode"); @@ -536,9 +566,12 @@ if (null == systemPriceCity) { return ResultUtil.error("请先配置价格规则"); } + if (orderPrivateCar.getServerCarModelId() == null) { + orderPrivateCar.setServerCarModelId(0); + } Map<String, Object> query1 = systemPriceMapper.query(orderPrivateCar.getCompanyId(), 1, orderPrivateCar.getServerCarModelId(), systemPriceCity.getId()); - System.out.println("参数:" + orderPrivateCar.getCompanyId() + "|" + orderPrivateCar.getServerCarModelId()); - System.out.println("query1:" + query1); +// System.out.println("参数:" + orderPrivateCar.getCompanyId() + "|" + orderPrivateCar.getServerCarModelId()); +// System.out.println("query1:" + query1); //开始根据不同的方式计算金额 if (query1 != null) { JSONObject jsonObject = JSON.parseObject(query1.get("content").toString());//等待费 @@ -547,27 +580,27 @@ JSONObject contentPutTwo = JSON.parseObject(query1.get("contentPutTwo").toString());//2人拼成 JSONObject contentNotTwo = JSON.parseObject(query1.get("contentNotTwo").toString());//2人未拼成 JSONObject contentPutThree = JSON.parseObject(query1.get("contentPutThree").toString());//3人拼成 - JSONObject contentNotThree = JSON.parseObject(query1.get("contentNotThree").toString());//3人未拼成 - JSONObject contentExclusive = JSON.parseObject(query1.get("contentExclusive").toString());//独享 - JSONObject contentPrice = JSON.parseObject(query1.get("contentPrice").toString());//一口价 - //一口价 - orderInfoWarpper.setFareTypeNote1(query1.get("fareTypeNote1").toString()); - orderInfoWarpper.setFareTypeNote2(query1.get("fareTypeNote2").toString()); - orderInfoWarpper.setFareTypeNote3(query1.get("fareTypeNote3").toString()); - orderInfoWarpper.setContentPutOne(contentPutOne); - orderInfoWarpper.setContentNotOne(contentNotOne); + JSONObject contentNotThree = JSON.parseObject(query1.get("contentNotThree").toString());//3人未拼成 + JSONObject contentExclusive = JSON.parseObject(query1.get("contentExclusive").toString());//独享 + JSONObject contentPrice = JSON.parseObject(query1.get("contentPrice").toString());//一口价 + //一口价 + orderInfoWarpper.setFareTypeNote1(query1.get("fareTypeNote1").toString()); + orderInfoWarpper.setFareTypeNote2(query1.get("fareTypeNote2").toString()); + orderInfoWarpper.setFareTypeNote3(query1.get("fareTypeNote3").toString()); + orderInfoWarpper.setContentPutOne(contentPutOne); + orderInfoWarpper.setContentNotOne(contentNotOne); - orderInfoWarpper.setContentPutTwo(contentPutTwo); - orderInfoWarpper.setContentNotTwo(contentNotTwo); + orderInfoWarpper.setContentPutTwo(contentPutTwo); + orderInfoWarpper.setContentNotTwo(contentNotTwo); - orderInfoWarpper.setContentPutThree(contentPutThree); - orderInfoWarpper.setContentNotThree(contentNotThree); + orderInfoWarpper.setContentPutThree(contentPutThree); + orderInfoWarpper.setContentNotThree(contentNotThree); - orderInfoWarpper.setContentExclusive(contentExclusive); - orderInfoWarpper.setContentPrice(contentPrice); + orderInfoWarpper.setContentExclusive(contentExclusive); + orderInfoWarpper.setContentPrice(contentPrice); } - }else{ + } else { orderInfoWarpper.setContentPutOne(new JSONObject()); orderInfoWarpper.setContentNotOne(new JSONObject()); @@ -582,7 +615,7 @@ orderInfoWarpper.setContentPrice(new JSONObject()); } - }else{ + } else { orderInfoWarpper.setContentPutOne(new JSONObject()); orderInfoWarpper.setContentNotOne(new JSONObject()); @@ -597,11 +630,11 @@ orderInfoWarpper.setContentPrice(new JSONObject()); } String arriveTime = orderInfoWarpper.getArriveTime(); - if(ToolUtil.isNotEmpty(arriveTime)){ - orderInfoWarpper.setTime(arriveTime.substring(11,arriveTime.length()-3)); + if (ToolUtil.isNotEmpty(arriveTime)) { + orderInfoWarpper.setTime(arriveTime.substring(11, arriveTime.length() - 3)); } return ResultUtil.success(orderInfoWarpper); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } @@ -610,7 +643,7 @@ @ResponseBody @PostMapping("/api/order/addAppeal") - @ApiOperation(value = "发起申诉", tags = {"用户端-服务中"}, notes = "",response = OrderInfoWarpper.class) + @ApiOperation(value = "发起申诉", tags = {"用户端-服务中"}, notes = "", response = OrderInfoWarpper.class) @ApiImplicitParams({ @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"), @@ -618,34 +651,34 @@ @ApiImplicitParam(value = "申诉图片", name = "abnormalImg", required = true, dataType = "String"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<OrderInfoWarpper> addAppeal(Integer orderId, Integer orderType,String abnormalIntro, String abnormalImg, HttpServletRequest request){ + public ResultUtil<OrderInfoWarpper> addAppeal(Integer orderId, Integer orderType, String abnormalIntro, String abnormalImg, HttpServletRequest request) { try { Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ + if (null == uid) { return ResultUtil.tokenErr(); } - switch (orderType){ + switch (orderType) { case 1://专车 - orderPrivateCarService.addAppeal(uid, orderId,abnormalIntro,abnormalImg); + orderPrivateCarService.addAppeal(uid, orderId, abnormalIntro, abnormalImg); break; case 2://出租车 - orderTaxiService.addAppeal(uid,orderId,abnormalIntro,abnormalImg); + orderTaxiService.addAppeal(uid, orderId, abnormalIntro, abnormalImg); break; case 3://跨城 - orderCrossCityService.addAppeal(uid,orderId,abnormalIntro,abnormalImg); + orderCrossCityService.addAppeal(uid, orderId, abnormalIntro, abnormalImg); break; } return ResultUtil.success(); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - /** * 获取服务中的详情数据 + * * @param orderId * @param orderType * @return @@ -657,11 +690,11 @@ @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"), }) - public ResultUtil<OrderInfoWarpper> queryOrderInfo_(Integer orderId, Integer orderType){ + public ResultUtil<OrderInfoWarpper> queryOrderInfo_(Integer orderId, Integer orderType) { try { Map<String, Object> map = null; List<OrderAdditionalFeeWarpper> list = new ArrayList<>(); - switch (orderType){ + switch (orderType) { case 1://专车 map = orderPrivateCarService.queryOrderInfo(null, orderId); break; @@ -672,7 +705,7 @@ map = orderCrossCityService.queryOrderInfo(orderId); break; } - if(null != map.get("telX")){ + if (null != map.get("telX")) { map.put("driverPhone", map.get("telX")); } List<OrderAdditionalFee> orderAdditionalFees = orderAdditionalFeeService.selectList(new EntityWrapper<OrderAdditionalFee>().eq("orderType", orderType).eq("orderId", orderId)); @@ -684,17 +717,16 @@ list.add(orderAdditionalFeeWarpper); }); return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map, list)); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - - /** * 获取订单取消支付页面详情 + * * @param orderId * @param orderType * @return @@ -707,10 +739,10 @@ @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<OrderInfoWarpper> queryCancelPage(Integer orderId, Integer orderType, HttpServletRequest request){ + public ResultUtil<OrderInfoWarpper> queryCancelPage(Integer orderId, Integer orderType, HttpServletRequest request) { try { Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ + if (null == uid) { return ResultUtil.tokenErr(); } Map<String, Object> map = null; @@ -732,7 +764,7 @@ map.put("cancelPayMoney", r.getData().getAmount()); break; } - if(null != map.get("telX")){ + if (null != map.get("telX")) { map.put("driverPhone", map.get("telX")); } List<OrderAdditionalFee> orderAdditionalFees = orderAdditionalFeeService.selectList(new EntityWrapper<OrderAdditionalFee>().eq("orderType", orderType).eq("orderId", orderId)); @@ -744,7 +776,7 @@ list.add(orderAdditionalFeeWarpper); }); return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map, list)); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } @@ -753,6 +785,7 @@ /** * 获取订单轨迹坐标 + * * @param orderId * @param orderType * @return @@ -765,20 +798,20 @@ @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil queryTrack(Integer orderId, Integer orderType){ + public ResultUtil queryTrack(Integer orderId, Integer orderType) { try { List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, orderType); return ResultUtil.success(list); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - /** * 获取订单轨迹坐标 + * * @param orderId * @param orderType * @return @@ -790,11 +823,11 @@ @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"), }) - public ResultUtil queryTrack_(Integer orderId, Integer orderType){ + public ResultUtil queryTrack_(Integer orderId, Integer orderType) { try { List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, orderType); return ResultUtil.success(list); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } @@ -803,24 +836,25 @@ /** * 发送订单状态 + * * @param id * @param orderType * @return */ @ResponseBody @PostMapping("/base/order/sendOrderState") - public ResultUtil cancelOrder(Integer id, Integer orderType){ + public ResultUtil cancelOrder(Integer id, Integer orderType) { try { Integer driverId = null; Integer userId = null; Integer state = 0; - switch (orderType){ + switch (orderType) { case 1: OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(id); driverId = orderPrivateCar.getDriverId(); userId = orderPrivateCar.getUserId(); state = orderPrivateCar.getState(); - if(null != driverId){ + if (null != driverId) { pushUtil.pushOrderState(2, driverId, id, orderType, state, 0); } break; @@ -829,7 +863,7 @@ driverId = orderTaxi.getDriverId(); userId = orderTaxi.getUserId(); state = orderTaxi.getState(); - if(null != driverId){ + if (null != driverId) { pushUtil.pushOrderState(2, driverId, id, orderType, state, 0); } break; @@ -838,9 +872,9 @@ driverId = orderCrossCity.getDriverId(); userId = orderCrossCity.getUserId(); state = orderCrossCity.getState(); - if(orderCrossCity.getPayMoney() == null && state == 10){//支付的情况才推送取消 + if (orderCrossCity.getPayMoney() == null && state == 10) {//支付的情况才推送取消 break; - }else{ + } else { pushUtil.pushOrderState(2, driverId, id, orderType, state, 0); } break; @@ -849,9 +883,9 @@ driverId = orderLogistics.getDriverId(); userId = orderLogistics.getUserId(); state = orderLogistics.getState(); - if(orderLogistics.getPayMoney() == null && state == 10){//支付的情况才推送取消 + if (orderLogistics.getPayMoney() == null && state == 10) {//支付的情况才推送取消 break; - }else{ + } else { pushUtil.pushOrderState(2, driverId, id, orderType, state, 0); } break; @@ -860,16 +894,16 @@ driverId = orderLogistics1.getDriverId(); userId = orderLogistics1.getUserId(); state = orderLogistics1.getState(); - if(orderLogistics1.getPayMoney() == null && state == 10){//支付的情况才推送取消 + if (orderLogistics1.getPayMoney() == null && state == 10) {//支付的情况才推送取消 break; - }else{ + } else { pushUtil.pushOrderState(2, driverId, id, orderType, state, 0); } break; } pushUtil.pushOrderState(1, userId, id, orderType, state, 0); return ResultUtil.success(); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } @@ -878,6 +912,7 @@ /** * APP调用微信小程序支付 + * * @param orderId * @param orderType * @param type @@ -895,10 +930,10 @@ @ApiImplicitParam(value = "用户id", name = "uid", required = true, dataType = "int"), @ApiImplicitParam(value = "附加参数{\"key\":\"value\"}", name = "content", required = true, dataType = "string") }) - public ResultUtil weChatPay(Integer orderId, Integer orderType, Integer type, Integer userType, Integer uid, String content){ + public ResultUtil weChatPay(Integer orderId, Integer orderType, Integer type, Integer userType, Integer uid, String content) { try { return orderService.weChatPay(orderId, orderType, type, userType, uid, content); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } @@ -912,12 +947,12 @@ @ApiImplicitParam(value = "端口类型(1=用户端,2=司机端)", name = "userType", required = true, dataType = "int"), @ApiImplicitParam(value = "用户id", name = "uid", required = true, dataType = "int") }) - public ResultUtil queryUserOpenId(Integer uid, Integer userType){ - if(userType == 2){ + public ResultUtil queryUserOpenId(Integer uid, Integer userType) { + if (userType == 2) { Driver driver = driverService.selectById(uid); return ResultUtil.success(driver.getAppletsOpenId()); } - if(userType == 1){ + if (userType == 1) { UserInfo userInfo = userInfoService.selectById(uid); return ResultUtil.success(userInfo.getAppletsOpenId()); } @@ -933,14 +968,14 @@ @ApiImplicitParam(value = "用户id", name = "uid", required = true, dataType = "int"), @ApiImplicitParam(value = "小程序授权临时凭证", name = "jscode", required = true, dataType = "string"), }) - public ResultUtil getWeChatOpenId(Integer uid, Integer userType, String jscode){ + public ResultUtil getWeChatOpenId(Integer uid, Integer userType, String jscode) { Map<String, String> map = weChatUtil.code2Session(jscode); - if(userType == 2){ + if (userType == 2) { Driver driver = driverService.selectById(uid); driver.setAppletsOpenId(map.get("openid")); driverService.updateById(driver); } - if(userType == 1){ + if (userType == 1) { UserInfo userInfo = userInfoService.selectById(uid); userInfo.setAppletsOpenId(map.get("openid")); userInfoService.updateById(userInfo); @@ -949,9 +984,9 @@ } - /** * 获取预计行驶时间 + * * @param slon * @param slat * @param elon @@ -967,20 +1002,19 @@ @ApiImplicitParam(value = "终点经度", name = "elon", required = true, dataType = "double"), @ApiImplicitParam(value = "终点纬度", name = "elat", required = true, dataType = "double") }) - public ResultUtil<BaseWarpper> queryExpectedTime(Double slon, Double slat, Double elon, Double elat){ + public ResultUtil<BaseWarpper> queryExpectedTime(Double slon, Double slat, Double elon, Double elat) { try { return orderService.queryExpectedTime(slon, slat, elon, elat); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - - /** * 获取取消订单需要支付的费用金额 + * * @param id * @return */ @@ -992,9 +1026,9 @@ @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<BaseWarpper> queryCancleAmount(Integer id, Integer orderType){ + public ResultUtil<BaseWarpper> queryCancleAmount(Integer id, Integer orderType) { try { - switch (orderType){ + switch (orderType) { case 1: return orderPrivateCarService.queryCancleAmount(id); case 2: @@ -1003,17 +1037,16 @@ return orderCrossCityService.queryCancleAmount(id); } return ResultUtil.success(); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - - /** * 添加取消记录 + * * @param id * @param reason * @param remark @@ -1030,13 +1063,13 @@ @ApiImplicitParam(value = "备注", name = "remark", required = false, dataType = "string"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil addCancle(Integer id, Integer orderType, String reason, String remark, HttpServletRequest request){ + public ResultUtil addCancle(Integer id, Integer orderType, String reason, String remark, HttpServletRequest request) { try { Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ + if (null == uid) { return ResultUtil.tokenErr(); } - switch (orderType){ + switch (orderType) { case 1: return orderPrivateCarService.addCancle(id, reason, remark, uid); case 2: @@ -1051,16 +1084,16 @@ return orderCharteredCarService.addCancle(id, reason, remark, uid); } return ResultUtil.success(); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - /** * 取消操作支付 + * * @param id * @param payType * @return @@ -1076,13 +1109,13 @@ @ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil cancleOrderTaxi(Integer id, Integer orderType, Integer payType, Integer cancleId, Integer type, HttpServletRequest request){ + public ResultUtil cancleOrderTaxi(Integer id, Integer orderType, Integer payType, Integer cancleId, Integer type, HttpServletRequest request) { try { Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ + if (null == uid) { return ResultUtil.tokenErr(); } - switch (orderType){ + switch (orderType) { case 1: return orderPrivateCarService.cancleOrderPrivateCar(id, payType, cancleId, type); case 2: @@ -1091,16 +1124,16 @@ return orderCrossCityService.cancleOrderCrossCity(id, payType, cancleId, type); } return ResultUtil.success(); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - /** * 投诉操作 + * * @param driverId * @param reason * @param description @@ -1116,24 +1149,24 @@ @ApiImplicitParam(value = "投诉描述", name = "description", required = true, dataType = "String"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil complaintService(Integer driverId, String reason, String description, HttpServletRequest request){ + public ResultUtil complaintService(Integer driverId, String reason, String description, HttpServletRequest request) { try { Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ + if (null == uid) { return ResultUtil.tokenErr(); } complaintService.saveData(driverId, reason, description, uid); return ResultUtil.success(); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - /** * 支付页面获取可用优惠券数量和余额 + * * @param orderId * @param request * @return @@ -1146,14 +1179,14 @@ @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil queryBalance(Integer orderId, Integer orderType, HttpServletRequest request){ + public ResultUtil queryBalance(Integer orderId, Integer orderType, HttpServletRequest request) { try { Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ + if (null == uid) { return ResultUtil.tokenErr(); } Map<String, Object> map = new HashMap<>(); - switch (orderType){ + switch (orderType) { case 1: map = orderPrivateCarService.queryBalance(orderId, uid); break; @@ -1171,36 +1204,36 @@ break; } return ResultUtil.success(map); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - /** * 支付页面获取余额和优惠数据 + * * @param orderId * @param request * @return */ @ResponseBody @PostMapping("/api/taxi/queryBalance1") - @ApiOperation(value = "1.0-支付页面获取余额和优惠数据", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城","用户端-小件物流"}) + @ApiOperation(value = "1.0-支付页面获取余额和优惠数据", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}) @ApiImplicitParams({ @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=同城小件物流,5=跨城小件物流)", name = "orderType", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<PreferentialDataVo> queryBalance1(Integer orderId, Integer orderType, HttpServletRequest request){ + public ResultUtil<PreferentialDataVo> queryBalance1(Integer orderId, Integer orderType, HttpServletRequest request) { try { Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ + if (null == uid) { return ResultUtil.tokenErr(); } PreferentialDataVo map = new PreferentialDataVo(); - switch (orderType){ + switch (orderType) { case 1: map = orderPrivateCarService.queryBalance1(orderId, uid); break; @@ -1224,17 +1257,16 @@ break; } return ResultUtil.success(map); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - - /** * 获取支付页面的优惠券列表 + * * @param orderId * @param pageNum * @param size @@ -1251,14 +1283,14 @@ @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil queryCoupon(Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request){ + public ResultUtil queryCoupon(Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request) { try { Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ + if (null == uid) { return ResultUtil.tokenErr(); } List<Map<String, Object>> list = new ArrayList<>(); - switch (orderType){ + switch (orderType) { case 1: list = orderPrivateCarService.queryCoupon(orderId, uid, pageNum, size); break; @@ -1270,18 +1302,16 @@ break; } return ResultUtil.success(CouponWarpper.getCouponWarppers(list)); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - - @ResponseBody @PostMapping("/api/taxi/queryCouponList") - @ApiOperation(value = "1.0-获取支付页面的优惠券和打车卡列表", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城","用户端-小件物流"}, notes = "") + @ApiOperation(value = "1.0-获取支付页面的优惠券和打车卡列表", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=同城小件物流,5=跨城小件物流)", name = "orderType", required = true, dataType = "int"), @@ -1289,14 +1319,14 @@ @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<List<CouponsListVo>> queryCouponList(Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request){ + public ResultUtil<List<CouponsListVo>> queryCouponList(Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request) { try { Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ + if (null == uid) { return ResultUtil.tokenErr(); } List<CouponsListVo> list = new ArrayList<>(); - switch (orderType){ + switch (orderType) { case 1: list = orderPrivateCarService.queryCouponList(orderId, uid, pageNum, size); break; @@ -1314,16 +1344,16 @@ break; } return ResultUtil.success(list); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - /** * 订单完成支付订单操作 + * * @param payType * @param orderId * @param request @@ -1340,13 +1370,13 @@ @ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil payTaxiOrder(Integer payType, Integer orderId, Integer orderType, Integer couponId, Integer type, HttpServletRequest request){ + public ResultUtil payTaxiOrder(Integer payType, Integer orderId, Integer orderType, Integer couponId, Integer type, HttpServletRequest request) { try { Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ + if (null == uid) { return ResultUtil.tokenErr(); } - switch (orderType){ + switch (orderType) { case 1: return orderPrivateCarService.payPrivateCarOrder(payType, orderId, couponId, type); case 2: @@ -1359,12 +1389,11 @@ return orderLogisticsService.payLogisticsOrder(payType, orderId, type); } return ResultUtil.success(); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - @ResponseBody @@ -1377,40 +1406,45 @@ @ApiImplicitParam(value = "优惠数据id", name = "objectId", required = false, dataType = "int"), @ApiImplicitParam(value = "数据类型(1=优惠券,2=打车卡)", name = "objectType", required = false, dataType = "int"), @ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"), + @ApiImplicitParam(value = "小程序支付成功跳转路径", name = "path", required = true, dataType = "String"), + @ApiImplicitParam(value = "设备当前IP地址", name = "ip", required = true, dataType = "String"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil payTaxiOrder1(Integer payType, Integer orderId, Integer orderType, Integer objectId, Integer objectType, Integer type, HttpServletRequest request){ + public ResultUtil payTaxiOrder1(Integer payType, Integer orderId, Integer orderType, Integer objectId, Integer objectType, Integer type, String path, String ip, HttpServletRequest request) { System.out.println(objectType); System.out.println(objectId); try { Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ + if (null == uid) { return ResultUtil.tokenErr(); } - switch (orderType){ + switch (orderType) { case 1: - return orderPrivateCarService.payPrivateCarOrder1(payType, orderId, objectId, objectType, type); + return orderPrivateCarService.payPrivateCarOrder1(payType, orderId, objectId, objectType, type, path, ip); case 2: - return orderTaxiService.payTaxiOrder1(payType, orderId, objectId, objectType, type); + return orderTaxiService.payTaxiOrder1(payType, orderId, objectId, objectType, type, path, ip); case 3: - return orderCrossCityService.payCrossCityOrder1(payType, orderId, objectId, objectType, type); + ResultUtil resultUtil = orderCrossCityService.payCrossCityOrder1(payType, orderId, objectId, objectType, type); + + orderCrossCityService.promotion(orderId); + + return resultUtil; case 4: return orderLogisticsService.payLogisticsOrder1(payType, orderId, objectId, objectType, type); case 5: return orderLogisticsService.payLogisticsOrder1(payType, orderId, objectId, objectType, type); } return ResultUtil.success(); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - - /** * 订单完成后添加评价操作 + * * @param orderId * @param fraction * @param content @@ -1426,19 +1460,36 @@ @ApiImplicitParam(value = "评价内容", name = "content", required = false, dataType = "String"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil orderEvaluate(Integer orderId, Integer orderType, Integer fraction, String content){ + public ResultUtil orderEvaluate(Integer orderId, Integer orderType, Integer fraction, String content) { try { ResultUtil resultUtil = orderEvaluateService.saveData(orderId, orderType, fraction, content); - if(resultUtil.getCode() == 200){ - switch (orderType){ + if (resultUtil.getCode() == 200) { + switch (orderType) { case 1: OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); orderPrivateCar.setState(9); orderPrivateCarService.updateById(orderPrivateCar); + Driver driver1 = null; + Company company = null; + //中台修改订单状态 + ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest(); + request.setOrderId(orderPrivateCar.getTravelId()); + request.setStatus(orderPrivateCar.getState()); + if (null != orderPrivateCar.getDriverId()) { + driver1 = driverService.selectById(orderPrivateCar.getDriverId()); + company = companyService.selectById(driver1.getCompanyId()); + request.setDriverId(driver1.getEmpId().toString()); + request.setSupplierShopId(company.getEnterCode()); + } + if (2 == orderPrivateCar.getPromotion()) { + Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId()); + request.setPromoterId(driver2.getEmpId().toString()); + } + OrderUtil.modifyTravelItinerary(request); new Thread(new Runnable() { @Override public void run() { - if(pushMinistryOfTransport){//上传数据 + if (pushMinistryOfTransport) {//上传数据 pushMinistryOfTransportUtil.ratedPassenger(Integer.valueOf(resultUtil.getData().toString())); pushMinistryOfTransportUtil.ratedDriver(orderPrivateCar.getDriverId()); } @@ -1449,6 +1500,23 @@ OrderTaxi orderTaxi = orderTaxiService.selectById(orderId); orderTaxi.setState(9); orderTaxiService.updateById(orderTaxi); + Driver driver = null; + Company company1 = null; + //中台修改订单状态 + ModifyTravelItineraryRequest request2 = new ModifyTravelItineraryRequest(); + request2.setOrderId(orderTaxi.getTravelId()); + request2.setStatus(orderTaxi.getState()); + if (null != orderTaxi.getDriverId()) { + driver = driverService.selectById(orderTaxi.getDriverId()); + company1 = companyService.selectById(driver.getCompanyId()); + request2.setDriverId(driver.getEmpId().toString()); + request2.setSupplierShopId(company1.getEnterCode()); + } + if (2 == orderTaxi.getPromotion()) { + Driver driver2 = driverService.selectById(orderTaxi.getPromotionDriverId()); + request2.setPromoterId(driver2.getEmpId().toString()); + } + OrderUtil.modifyTravelItinerary(request2); break; case 3: OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId); @@ -1458,16 +1526,16 @@ } } return resultUtil.getCode() == 200 ? ResultUtil.success() : resultUtil; - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - /** * 评论成功后获取红包金额 + * * @param orderId * @return */ @@ -1479,9 +1547,9 @@ @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<BaseWarpper> queryRedMoney(Integer orderId, Integer orderType){ + public ResultUtil<BaseWarpper> queryRedMoney(Integer orderId, Integer orderType) { try { - switch (orderType){ + switch (orderType) { case 1: return orderPrivateCarService.queryRedMoney(orderId); case 2: @@ -1490,17 +1558,16 @@ return orderCrossCityService.queryRedMoney(orderId); } return ResultUtil.success(); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - - /** * 分享成功后添加红包操作 + * * @param orderId * @return */ @@ -1512,9 +1579,9 @@ @ApiImplicitParam(value = "订单类型", name = "orderType", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil shareRedEnvelope(Integer orderId, Integer orderType){ + public ResultUtil shareRedEnvelope(Integer orderId, Integer orderType) { try { - switch (orderType){ + switch (orderType) { case 1: return orderPrivateCarService.shareRedEnvelope(orderId); case 2: @@ -1523,32 +1590,28 @@ return orderCrossCityService.shareRedEnvelope(orderId); } return ResultUtil.success(); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - - - - - /** * 取消订单微信回调 + * * @param request */ @ResponseBody @PostMapping("/base/wxCancelOrderTaxi") - public void wxCancelOrderTaxi(HttpServletRequest request, HttpServletResponse response){ + public void wxCancelOrderTaxi(HttpServletRequest request, HttpServletResponse response) { try { Map<String, String> map = payMoneyUtil.weixinpayCallback(request); - if(null != map){ + if (null != map) { String order_id = map.get("transaction_id"); String out_trade_no = map.get("out_trade_no"); String result = map.get("result"); - if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){ + if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) { PrintWriter out = response.getWriter(); out.write(result); out.flush(); @@ -1557,7 +1620,7 @@ String[] split = out_trade_no.split("_"); Integer id = Integer.valueOf(split[0]); Integer type = Integer.valueOf(split[1]); - switch (type){ + switch (type) { case 1: orderPrivateCarService.payCancelOrderPrivateCar(id, order_id, 1); break; @@ -1572,7 +1635,7 @@ // cloudPay(map.get("total_fee"),map.get("transaction_id"),1); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } @@ -1580,21 +1643,22 @@ /** * 取消订单支付宝回调 + * * @param request */ @ResponseBody @PostMapping("/base/aliCancelOrderTaxi") - public void aliCancelOrderTaxi(HttpServletRequest request, HttpServletResponse response){ + public void aliCancelOrderTaxi(HttpServletRequest request, HttpServletResponse response) { try { Map<String, String> map = payMoneyUtil.alipayCallback(request); - if(null != map){ + if (null != map) { String out_trade_no = map.get("out_trade_no"); String order_id = map.get("trade_no"); - if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){ + if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) { String[] split = out_trade_no.split("_"); Integer id = Integer.valueOf(split[0]); Integer type = Integer.valueOf(split[1]); - switch (type){ + switch (type) { case 1: orderPrivateCarService.payCancelOrderPrivateCar(id, order_id, 2); break; @@ -1612,7 +1676,7 @@ } // cloudPay(map.get("total_amount"),map.get("trade_no"),0); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } @@ -1620,22 +1684,23 @@ /** * 完成订单微信支付回调 + * * @param request */ @ResponseBody @PostMapping("/base/wxPayOrderTaxi") - public void wxPayOrderTaxi(HttpServletRequest request, HttpServletResponse response){ + public void wxPayOrderTaxi(HttpServletRequest request, HttpServletResponse response) { try { System.out.println("完成订单微信支付回调"); Map<String, String> map = payMoneyUtil.weixinpayCallback(request); - System.out.println("wx支付信息:"+map); - if(null != map){ + System.out.println("wx支付信息:" + map); + if (null != map) { String order_id = map.get("transaction_id"); String out_trade_no = map.get("out_trade_no"); String result = map.get("result"); String total_fee = map.get("total_fee"); String transaction_id = map.get("transaction_id"); - if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){ + if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) { PrintWriter out = response.getWriter(); out.write(result); out.flush(); @@ -1644,15 +1709,15 @@ String[] split = out_trade_no.split("_"); Integer id = Integer.valueOf(split[0]); Integer type = Integer.valueOf(split[1]); - switch (type){ + switch (type) { case 1: orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 1); break; case 2: - orderTaxiService.payOrderTaxiCallback(id, order_id, 1,0); + orderTaxiService.payOrderTaxiCallback(id, order_id, 1, 0); break; case 3: - orderCrossCityService.payOrderCrossCityCallback(id, order_id, 1,null); + orderCrossCityService.payOrderCrossCityCallback(id, order_id, 1, null); break; case 4: orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1); @@ -1668,7 +1733,7 @@ } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } @@ -1676,29 +1741,30 @@ /** * 完成订单支付宝支付回调 + * * @param request */ @ResponseBody @PostMapping("/base/aliPayOrderTaxi") - public void aliPayOrderTaxi(HttpServletRequest request, HttpServletResponse response){ + public void aliPayOrderTaxi(HttpServletRequest request, HttpServletResponse response) { try { Map<String, String> map = payMoneyUtil.alipayCallback(request); - if(null != map){ + if (null != map) { String out_trade_no = map.get("out_trade_no"); String order_id = map.get("trade_no"); - if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){ + if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) { String[] split = out_trade_no.split("_"); Integer id = Integer.valueOf(split[0]); Integer type = Integer.valueOf(split[1]); - switch (type){ + switch (type) { case 1: orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 2); break; case 2: - orderTaxiService.payOrderTaxiCallback(id, order_id, 2,0); + orderTaxiService.payOrderTaxiCallback(id, order_id, 2, 0); break; case 3: - orderCrossCityService.payOrderCrossCityCallback(id, order_id, 2,null); + orderCrossCityService.payOrderCrossCityCallback(id, order_id, 2, null); break; case 4: orderLogisticsService.payOrderLogisticsCallback(id, order_id, 2); @@ -1714,28 +1780,27 @@ } // cloudPay(map.get("total_amount"),map.get("trade_no"),0); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } - - /** * 小件物流差价微信支付回调 + * * @param request */ @ResponseBody @PostMapping("/base/wxPayOrderLogisticsSpread") - public void wxPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response){ + public void wxPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response) { try { Map<String, String> map = payMoneyUtil.weixinpayCallback(request); - if(null != map){ + if (null != map) { String order_id = map.get("transaction_id"); String out_trade_no = map.get("out_trade_no"); String result = map.get("result"); - if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){ + if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) { PrintWriter out = response.getWriter(); out.write(result); out.flush(); @@ -1749,7 +1814,7 @@ // cloudPay(map.get("total_fee"),map.get("transaction_id"),1); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } @@ -1757,17 +1822,18 @@ /** * 小件物流差价支付宝支付回调 + * * @param request */ @ResponseBody @PostMapping("/base/aliPayOrderLogisticsSpread") - public void aliPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response){ + public void aliPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response) { try { Map<String, String> map = payMoneyUtil.alipayCallback(request); - if(null != map){ + if (null != map) { String out_trade_no = map.get("out_trade_no"); String order_id = map.get("trade_no"); - if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){ + if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) { String[] split = out_trade_no.split("_"); Integer id = Integer.valueOf(split[0]); Integer type = Integer.valueOf(split[1]); @@ -1780,27 +1846,28 @@ } // cloudPay(map.get("total_amount"),map.get("trade_no"),0); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } /** * 取消订单微信退款成功回调 + * * @param request * @param response */ @ResponseBody @PostMapping("/base/cancleOrderWXPay") - public void cancleOrderWXPay(HttpServletRequest request, HttpServletResponse response){ + public void cancleOrderWXPay(HttpServletRequest request, HttpServletResponse response) { try { System.out.println("小件物流取消"); Map<String, String> map = payMoneyUtil.wxRefundCallback(request); - if(null != map){ + if (null != map) { String order_id = map.get("refund_id"); String out_refund_no = map.get("out_refund_no"); String result = map.get("result"); - if(ToolUtil.isNotEmpty(out_refund_no) && ToolUtil.isNotEmpty(order_id)){ + if (ToolUtil.isNotEmpty(out_refund_no) && ToolUtil.isNotEmpty(order_id)) { PrintWriter out = response.getWriter(); out.write(result); out.flush(); @@ -1809,8 +1876,8 @@ String[] split = out_refund_no.split("_"); Integer id = Integer.valueOf(split[0]); Integer type = Integer.valueOf(split[1]); - System.out.println("取消回调:"+type); - switch (type){ + System.out.println("取消回调:" + type); + switch (type) { case 1: break; case 2: @@ -1852,7 +1919,7 @@ } // cloudPay(map.get("total_fee"),map.get("transaction_id"),1); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } @@ -1860,22 +1927,23 @@ /** * 购买出行卡微信支付回调 + * * @param request * @param response */ @ResponseBody @PostMapping("/base/wxPayTaxiCardPaymentSpread") - public void wxPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response){ + public void wxPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response) { try { System.out.println("购买出行卡微信支付回调"); Map<String, String> map = payMoneyUtil.weixinpayCallback(request); - System.out.println("购买出行卡微信支付回调"+map); - if(null != map){ + System.out.println("购买出行卡微信支付回调" + map); + if (null != map) { String order_id = map.get("transaction_id"); String out_trade_no = map.get("out_trade_no"); String result = map.get("result"); - System.out.println(out_trade_no+"_"+order_id); - if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){ + System.out.println(out_trade_no + "_" + order_id); + if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) { PrintWriter out = response.getWriter(); out.write(result); out.flush(); @@ -1884,7 +1952,7 @@ } // cloudPay(map.get("total_fee"),map.get("transaction_id"),1); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } @@ -1892,18 +1960,19 @@ /** * 购买出行卡支付宝支付回调 + * * @param request * @param response */ @ResponseBody @PostMapping("/base/aliPayTaxiCardPaymentSpread") - public void aliPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response){ + public void aliPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response) { try { Map<String, String> map = payMoneyUtil.alipayCallback(request); - if(null != map){ + if (null != map) { String out_trade_no = map.get("out_trade_no"); String order_id = map.get("trade_no"); - if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){ + if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) { taxiCardService.payTaxiCardPaymentSpread(Integer.valueOf(out_trade_no), order_id); PrintWriter out = response.getWriter(); @@ -1913,7 +1982,7 @@ } // cloudPay(map.get("total_amount"),map.get("trade_no"),0); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } @@ -1930,13 +1999,13 @@ @ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil payThankYouFee(Integer orderId, Integer orderType, Double money, Integer payType, Integer type, HttpServletRequest request){ + public ResultUtil payThankYouFee(Integer orderId, Integer orderType, Double money, Integer payType, Integer type, HttpServletRequest request) { try { Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ + if (null == uid) { return ResultUtil.tokenErr(); } - switch (orderType){ + switch (orderType) { case 1: return orderPrivateCarService.payThankYouFee(uid, orderId, money, payType, type); case 2: @@ -1952,7 +2021,7 @@ case 7: return orderCallService.payThankYouFee(uid, orderId, money, payType, type); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } @@ -1962,26 +2031,27 @@ /** * 感谢费支付回调 + * * @param request * @param response */ @ResponseBody @PostMapping("/base/wxPayThankYouFee") - public void wxPayThankYouFee(HttpServletRequest request, HttpServletResponse response){ + public void wxPayThankYouFee(HttpServletRequest request, HttpServletResponse response) { try { Map<String, String> map = payMoneyUtil.weixinpayCallback(request); - if(null != map){ + if (null != map) { String order_id = map.get("transaction_id"); String out_trade_no = map.get("out_trade_no"); String result = map.get("result"); - if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){ + if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) { PrintWriter out = response.getWriter(); out.write(result); out.flush(); out.close(); String[] s = out_trade_no.split("_"); - switch (Integer.valueOf(s[1])){ + switch (Integer.valueOf(s[1])) { case 1: orderPrivateCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1); case 2: @@ -2000,7 +2070,7 @@ } // cloudPay(map.get("total_fee"),map.get("transaction_id"),1); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } @@ -2008,20 +2078,21 @@ /** * 感谢费支付宝支付回调 + * * @param request * @param response */ @ResponseBody @PostMapping("/base/aliPayThankYouFee") - public void aliPayThankYouFee(HttpServletRequest request, HttpServletResponse response){ + public void aliPayThankYouFee(HttpServletRequest request, HttpServletResponse response) { try { Map<String, String> map = payMoneyUtil.alipayCallback(request); - if(null != map){ + if (null != map) { String out_trade_no = map.get("out_trade_no"); String order_id = map.get("trade_no"); - if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){ + if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) { String[] s = out_trade_no.split("_"); - switch (Integer.valueOf(s[1])){ + switch (Integer.valueOf(s[1])) { case 1: orderPrivateCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2); case 2: @@ -2045,7 +2116,7 @@ } // cloudPay(map.get("total_amount"),map.get("trade_no"),0); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } @@ -2085,12 +2156,34 @@ @PostMapping("/base/order/qytPaymentCallback") public String qytPaymentCallback(@RequestBody QYTPaymentCallback qytPaymentCallback) { log.info("【黔云通支付回调通知】请求参数:" + JSON.toJSONString(qytPaymentCallback)); - if (null == qytPaymentCallback) { + try { + if (null == qytPaymentCallback) { + return "error"; + } + QYTPaymentCallbackData data = qytPaymentCallback.getData(); + if ("1".equals(data.getStatus())) { + return "error"; + } + String orderNo = data.getOrderNo(); + String payId = data.getPayId(); + //网约车 + if (orderNo.contains("PR")) { + orderNo = orderNo.substring(2); + orderPrivateCarService.payOrderPrivateCarCallback(Integer.valueOf(orderNo), payId, 1); + orderPrivateCarService.promotion(Integer.valueOf(orderNo)); + } + //出租车 + if (orderNo.contains("TA")) { + orderNo = orderNo.substring(2); + orderTaxiService.payOrderTaxiCallback(Integer.valueOf(orderNo), payId, 1, 0); + orderTaxiService.promotion(Integer.valueOf(orderNo)); + } + } catch (Exception e) { + e.printStackTrace(); return "error"; } return "success"; } - /** @@ -2099,19 +2192,13 @@ * @param orderId * @return */ - private void promotion(Integer orderType,Integer orderId){ - switch (orderType){ - case 1: - orderPrivateCarService.promotion(orderId); - break; - case 2: - orderTaxiService.promotion(orderId); - break; + private void promotion(Integer orderType, Integer orderId) { + switch (orderType) { case 3: orderCrossCityService.promotion(orderId); break; default: - break; + break; } } @@ -2120,10 +2207,10 @@ @PostMapping("/api/get/unPayOrder") @ApiOperation(value = "获取未支付订单", tags = {"用户端-首页"}, notes = "") @ApiImplicitParams({ - @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=小件物流,null=全部)", name = "orderType", required = false, dataType = "int"), - @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=小件物流,null=全部)", name = "orderType", required = false, dataType = "int"), + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil getUnPayOrder( Integer orderType, HttpServletRequest request){ + public ResultUtil getUnPayOrder(Integer orderType, HttpServletRequest request) { try { // 从Redis中获取当前用户ID Integer uid = userInfoService.getUserIdFormRedis(request); @@ -2172,4 +2259,294 @@ } } + + @PostMapping("/api/order/queryMyTripList") + @ApiOperation(value = "获取我的行程列表", tags = {"用户端-个人中心"}, notes = "") + @ApiImplicitParams({ + @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城出行)", name = "type", required = true, dataType = "int"), + @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"), + @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"), + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<List<TripOrderVo>> queryMyTripList(Integer type, Integer pageNum, Integer size, HttpServletRequest request) { + try { + Integer uid = userInfoService.getUserIdFormRedis(request); + if (null == uid) { + return ResultUtil.tokenErr(); + } + + List<Map<String, Object>> raw = fetchTrips(uid, type, pageNum, size); + return ResultUtil.success(TripOrderVo.getTripOrderVo(raw)); + } catch (Exception e) { + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + + /** + * 私有:拉取指定 type 的行程列表。 + * type=0 → 全部类型;1/2/3 → 对应三种服务;pageNum/size 负责分页。 + * 对于 type==1 或 3,内部额外加载 serverCarModel 信息。 + */ + private List<Map<String, Object>> fetchTrips( + Integer uid, Integer type, Integer pageNum, Integer size) throws Exception { + + List<Map<String, Object>> list = new ArrayList<>(); + if (type == null || type == 0) { + list.addAll(orderPrivateCarService.queryMyTripListAll(uid)); + list.addAll(orderTaxiService.queryMyTripListAll(uid)); + list.addAll(orderCrossCityService.queryMyTripListAll(uid)); + } else { + switch (type) { + case 1: + list = orderPrivateCarService.queryMyTripList(uid, pageNum, size); + break; + case 2: + list = orderTaxiService.queryMyTripList(uid, pageNum, size); + break; + case 3: + list = orderCrossCityService.queryMyTripList(uid, pageNum, size); + break; + default: + throw new IllegalArgumentException("无效的订单类型:" + type); + } + } + // 排序 + list.sort((a, b) -> { + Date da = (Date) a.get("boardingTime"); + Date db = (Date) b.get("boardingTime"); + if (da == null && db == null) return 0; + if (da == null) return 1; // a 在后面 + if (db == null) return -1; // b 在后面 + return da.compareTo(db) * -1; // 按时间正序(升序)排列 + }); + // 将经纬度转换为城市并设置到数据中 + if (list != null && !list.isEmpty()) { + for (Map<String, Object> orderMap : list) { + // 获取经纬度(根据实际字段名调整) + Object lonObj = orderMap.get("boardingLon"); + Object latObj = orderMap.get("boardingLat"); + //获取公司id + Object companyId = orderMap.get("companyId"); + + Object serverCarModelId = null; + ServerCarModel serverCarModel = null; + if (orderMap.get("serverCarModelId") != null) { + //获取车型id + serverCarModelId = orderMap.get("serverCarModelId"); + serverCarModel = serverCarModelService.selectById((Serializable) serverCarModelId); + } + + if (lonObj != null && latObj != null) { + String lon = lonObj.toString(); + String lat = latObj.toString(); + Company company = companyService.selectById((Serializable) companyId); + + try { + // 调用逆地理编码接口获取城市信息 + Map<String, String> geoInfo = gdMapGeocodingUtil.geocode(lon, lat); + // 将城市信息存入map,供后续转换VO使用 + orderMap.put("city", geoInfo.getOrDefault("city", "")); + orderMap.put("companyName", company.getName()); + if (serverCarModel != null) { + orderMap.put("serverCarModel", serverCarModel.getName()); + } + } catch (Exception e) { + // 记录转换失败日志,不中断流程 + System.err.println("经纬度转城市失败: " + lon + "," + lat + ",错误: " + e.getMessage()); + orderMap.put("city", ""); // 转换失败时设为空 + } + } else { + orderMap.put("city", ""); // 经纬度为空时设为空 + } + } + } + return list; + } + + + @PostMapping("/api/user/sendTripSheetEmail") + @ApiOperation(value = "发送行程单邮件", tags = {"用户端-个人中心"}, notes = "") + @ApiImplicitParams({ + @ApiImplicitParam(value = "行程单信息", name = "tripSheet", required = false, dataType = "com.stylefeng.guns.modular.system.model.vo.TripSheetVo"), + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil sendTripSheetEmail(@RequestBody TripSheetVo tripSheet, + HttpServletRequest request) { + try { + // 从Redis中获取当前用户ID + Integer uid = userInfoService.getUserIdFormRedis(request); + if (null == uid) { + return ResultUtil.tokenErr(); + } + List<TripOrderVo> orderList = new ArrayList<>(); + if (tripSheet.isAllOrders()) { + // 这里复用 queryMyTripList 逻辑,不分页,type=0 表示全部 + List<Map<String, Object>> rawList = fetchTrips(uid, 0, null, null); + orderList = TripOrderVo.getTripOrderVo(rawList); + } else { + // 指定订单ID集合:验证并查询订单 + if (tripSheet.getOrderIdList() == null || tripSheet.getOrderIdList().isEmpty()) { + return ResultUtil.error("请传入订单ID集合或者选择全部订单"); + } + // 根据订单类型和ID查询订单 + orderList = queryOrdersByTypeAndIds(uid, tripSheet.getOrderType(), tripSheet.getOrderIdList()); + } + List<TripOrderVo> tripOrderVos = processTripOrderVos(orderList); + String filePath = tripSheetGenerator.generatePdf(tripOrderVos); + File attachment = new File(filePath); + String displayFileName = "贵人家园出行-行程单.pdf"; + emailUtil.sendEmailWithAttachment(tripSheet.getRecipientEmail(), "贵人家园出行-行程单", "请查收您的行程单", attachment, displayFileName); + attachment.delete(); // 发送成功后删除临时文件 + Map<String, Object> result = new HashMap<>(); + result.put("orderNum", orderList.size()); + return ResultUtil.success(result); + } catch (Exception e) { + e.printStackTrace(); + return ResultUtil.error("邮件发送失败" + e.getMessage()); + } + } + + /** + * 根据订单类型和ID集合查询订单 + */ + private List<TripOrderVo> queryOrdersByTypeAndIds(Integer userId, Integer orderType, List<Integer> orderIds) throws InvocationTargetException, IllegalAccessException { + List<TripOrderVo> orderList = new ArrayList<>(); + List<Integer> states = Arrays.asList(8, 9); + // 根据订单类型查询对应表的订单 + switch (orderType) { + case 1: + EntityWrapper<OrderPrivateCar> wrapper = new EntityWrapper<>(); + wrapper.in("id", orderIds); + wrapper.in("state", states); + List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(wrapper); + for (OrderPrivateCar orderPrivateCar : orderPrivateCars) { + TripOrderVo vo = new TripOrderVo(); + BeanUtils.copyProperties(orderPrivateCar, vo); + orderList.add(vo); + } + break; + case 2: + EntityWrapper<OrderTaxi> wrapper2 = new EntityWrapper<>(); + wrapper2.in("id", orderIds); + wrapper2.in("state", states); + List<OrderTaxi> orderTaxis = orderTaxiService.selectList(wrapper2); + for (OrderTaxi orderTaxi : orderTaxis) { + TripOrderVo vo = new TripOrderVo(); + BeanUtils.copyProperties(orderTaxi, vo); + orderList.add(vo); + } + break; + case 3: + EntityWrapper<OrderCrossCity> wrapper3 = new EntityWrapper<>(); + wrapper3.in("id", orderIds); + wrapper3.in("state", states); + List<OrderCrossCity> orderCrossCities = orderCrossCityService.selectList(wrapper3); + for (OrderCrossCity orderCrossCity : orderCrossCities) { + TripOrderVo vo = new TripOrderVo(); + BeanUtils.copyProperties(orderCrossCity, vo); + orderList.add(vo); + } + break; + default: + throw new IllegalArgumentException("无效的订单类型:" + orderType); + } + orderList.sort((a, b) -> { + Date da = a.getBoardingTime(); + Date db = b.getBoardingTime(); + if (da == null && db == null) return 0; + if (da == null) return 1; // a 在后面 + if (db == null) return -1; // b 在后面 + return da.compareTo(db); // 按时间正序(升序)排列 + }); + + + return orderList; + } + + /** + * 处理行程订单VO列表,补充经纬度、公司和车型信息 + */ + private List<TripOrderVo> processTripOrderVos(List<TripOrderVo> orderVoList) { + if (orderVoList == null || orderVoList.isEmpty()) { + return new ArrayList<>(); + } + + for (TripOrderVo orderVo : orderVoList) { + // 处理经纬度转城市信息 + handleGeoInfoForVo(orderVo); + + // 处理公司信息 + handleCompanyInfoForVo(orderVo); + + // 处理车型信息 + handleCarModelInfoForVo(orderVo); + } + + return orderVoList; + } + + /** + * 处理经纬度转城市信息 + */ + private void handleGeoInfoForVo(TripOrderVo orderVo) { + // 直接从VO获取经纬度(假设VO中有对应的getter方法) + String lon = String.valueOf(orderVo.getBoardingLon()); + String lat = String.valueOf(orderVo.getBoardingLat()); + + if (StringUtils.isEmpty(lon) || StringUtils.isEmpty(lat)) { + orderVo.setCity(""); + return; + } + + try { + // 调用逆地理编码接口获取城市信息 + Map<String, String> geoInfo = gdMapGeocodingUtil.geocode(lon, lat); + orderVo.setCity(geoInfo.getOrDefault("city", "")); + } catch (Exception e) { + // 记录转换失败日志,不中断流程 + System.err.println("经纬度转城市失败: " + lon + "," + lat + ",错误: " + e.getMessage()); + orderVo.setCity(""); + } + } + + /** + * 处理公司信息 + */ + private void handleCompanyInfoForVo(TripOrderVo orderVo) { + // 从VO获取公司ID + Integer companyId = orderVo.getCompanyId(); + if (companyId == null) { + orderVo.setCompanyName(""); + return; + } + + Company company = companyService.selectById(companyId); + if (company != null) { + orderVo.setCompanyName(company.getName()); + } else { + orderVo.setCompanyName(""); + } + } + + /** + * 处理车型信息 + */ + private void handleCarModelInfoForVo(TripOrderVo orderVo) { + // 从VO获取车型ID + Integer serverCarModelId = orderVo.getServerCarModelId(); + if (serverCarModelId == null) { + orderVo.setServerCarModel(""); + return; + } + + ServerCarModel serverCarModel = serverCarModelService.selectById(serverCarModelId); + if (serverCarModel != null) { + orderVo.setServerCarModel(serverCarModel.getName()); + } else { + orderVo.setServerCarModel(""); + } + } + } -- Gitblit v1.7.1