From 75a2623173bcc4a235aa1f99f7ef28519186160b Mon Sep 17 00:00:00 2001 From: yanghb <yanghb> Date: 星期五, 21 四月 2023 11:24:25 +0800 Subject: [PATCH] 代码调整 --- UserTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java | 1117 ++++++++++++++++++++++++++------------------------------- 1 files changed, 512 insertions(+), 605 deletions(-) diff --git a/UserTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java index 13d4e43..68d79b7 100644 --- a/UserTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java +++ b/UserTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java @@ -1,24 +1,23 @@ package com.stylefeng.guns.modular.api; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.CharteredCar.server.IOrderCharteredCarService; -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.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.SystemPriceMapper; -import com.stylefeng.guns.modular.system.model.AdditionalFee; import com.stylefeng.guns.modular.system.model.Driver; -import com.stylefeng.guns.modular.system.model.OrderAdditionalFee; +import com.stylefeng.guns.modular.system.model.OfflineTravelPayment; +import com.stylefeng.guns.modular.system.model.OrderEvaluate; import com.stylefeng.guns.modular.system.model.UserInfo; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.*; +import com.stylefeng.guns.modular.system.util.LiuZhouBank.PayUtil; +import com.stylefeng.guns.modular.system.util.LiuZhouBank.ResultNotification; import com.stylefeng.guns.modular.system.warpper.*; import com.stylefeng.guns.modular.taxi.model.OrderTaxi; import com.stylefeng.guns.modular.taxi.model.PaymentRecord; @@ -34,7 +33,6 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; @@ -45,7 +43,6 @@ * 订单控制器(综合) */ @Api -//@CrossOrigin @RestController @RequestMapping("") public class OrderController { @@ -84,6 +81,9 @@ private IOrderCrossCityService orderCrossCityService; @Autowired + private ICBCPayUtil icbcPayUtil; + + @Autowired private IOrderLogisticsService orderLogisticsService; @Autowired @@ -99,22 +99,16 @@ private IOrderCancelService orderCancelService; @Autowired + private IOfflineTravelPaymentService offlineTravelPaymentService; + + @Autowired private PayMoneyUtil payMoneyUtil; @Autowired private IPaymentRecordService paymentRecordService; - @Autowired - private ITaxiCardService taxiCardService; - - @Autowired - private IOrderCallService orderCallService; - - @Autowired - private IOrderAdditionalFeeService orderAdditionalFeeService; - - @Autowired - private IAdditionalFeeService additionalFeeService; + @Value("${callbackPath}") + private String callbackPath; @Value("${pushMinistryOfTransport}") private boolean pushMinistryOfTransport; @@ -196,10 +190,10 @@ @PostMapping("/api/order/queryMyOrderList") @ApiOperation(value = "获取个人中心订单列表", tags = {"用户端-个人中心"}, notes = "") @ApiImplicitParams({ - @ApiImplicitParam(value = "订单类型(1=专车/快车,2=出租车,3=机场专线,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.....") + @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城出行,4=小件物流,5=包车)", 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){ try { @@ -219,16 +213,10 @@ list = orderCrossCityService.queryMyOrderList(uid, pageNum, size); break; case 4: - list = orderLogisticsService.queryMyOrderList(uid, type, pageNum, size); + list = orderLogisticsService.queryMyOrderList(uid, pageNum, size); break; case 5: - list = orderLogisticsService.queryMyOrderList(uid, type, pageNum, size); - break; - case 6: list = orderCharteredCarService.queryMyOrderList(uid, pageNum, size); - break; - case 7: -// list = orderCallService.queryMyOrderList(uid, pageNum, size); break; } return ResultUtil.success(OrderWarpper.getOrderWarpper(list)); @@ -261,20 +249,39 @@ } Integer page = pageNum; pageNum = (pageNum - 1) * size; - List<TransactionDetails> transactionDetails = transactionDetailsService.selectList(new EntityWrapper<TransactionDetails>() - .eq("type", 1).eq("userType", 1).eq("userId", uid).orderBy("insertTime desc limit " + pageNum + ", " + size)); - List<Map<String, Object>> list = new ArrayList<>(); + List<Map<String, Object>> maps = orderCancelService.queryCancel(uid, 2); + List<Map<String, Object>> list = orderPrivateCarService.queryMyTravelRecord(uid);//专车 + List<Map<String, Object>> list1 = orderTaxiService.queryMyTravelRecord(uid);//出租车 + List<Map<String, Object>> list2 = orderCrossCityService.queryMyTravelRecord(uid);//跨城车 + List<Map<String, Object>> list3 = orderLogisticsService.queryMyTravelRecord(uid);//小件物流 + List<TransactionDetails> transactionDetails = transactionDetailsService.selectList(new EntityWrapper<TransactionDetails>().eq("state", 1) + .eq("type", 1).eq("userType", 1).eq("userId", uid)); + List<Map<String, Object>> list4 = new ArrayList<>(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - for(TransactionDetails t : transactionDetails){ + for(TransactionDetails transactionDetails1 : 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())); - map.put("name", t.getRemark()); - map.put("insertTime", Double.valueOf(t.getInsertTime().getTime() / 1000).intValue()); - list.add(map); + map.put("money", transactionDetails1.getMoney()); + map.put("time", sdf.format(transactionDetails1.getInsertTime())); + map.put("name", transactionDetails1.getOrderType() == 3 ? "跨城订单取消退款" : transactionDetails1.getOrderType() == 4 ? "小件物流订单取消退款" : ""); + map.put("insertTime", Double.valueOf(transactionDetails1.getInsertTime().getTime() / 1000).intValue()); + list4.add(map); } + list.addAll(maps); + list.addAll(list1); + list.addAll(list2); + list.addAll(list3); + list.addAll(list4); List<TravelRecordWarpper> orderWarpper = TravelRecordWarpper.getTravelRecordWarpper(list); + + //分页 + if(orderWarpper.size() >= page * size){ + orderWarpper = orderWarpper.subList(pageNum, pageNum + size); + }else if(pageNum < orderWarpper.size() && orderWarpper.size() < page * size){ + orderWarpper = orderWarpper.subList(pageNum, orderWarpper.size()); + }else{ + orderWarpper = new ArrayList<>(); + } return ResultUtil.success(orderWarpper); }catch (Exception e){ e.printStackTrace(); @@ -301,7 +308,7 @@ @ApiOperation(value = "发票页获取订单列表", tags = {"用户端-个人中心"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "订单开票状态(1=未开票,2=其他)", name = "type", required = true, dataType = "int"), - @ApiImplicitParam(value = "订单类型(1=专车/快车,2=出租车,3=机场专线,7=景区直通车,8=公务出行)", name = "orderType", required = false, dataType = "int"), + @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流,5=跨城小件物流)", name = "orderType", required = false, dataType = "int"), @ApiImplicitParam(value = "开始日期", name = "startTime", required = false, dataType = "string"), @ApiImplicitParam(value = "结束日期", name = "endTime", required = false, dataType = "string"), @ApiImplicitParam(value = "开始金额", name = "startMoney", required = false, dataType = "double"), @@ -405,11 +412,6 @@ - @Autowired - private RedisUtil redisUtil; - - @Resource - private SystemPriceMapper systemPriceMapper; /** * 获取服务中的详情数据 @@ -419,7 +421,7 @@ */ @ResponseBody @PostMapping("/api/order/queryOrderInfo") - @ApiOperation(value = "获取服务中的详情数据", tags = {"用户端-服务中"}, notes = "",response = OrderInfoWarpper.class) + @ApiOperation(value = "获取服务中的详情数据", tags = {"用户端-服务中"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"), @@ -428,7 +430,6 @@ public ResultUtil<OrderInfoWarpper> queryOrderInfo(Integer orderId, Integer orderType){ try { Map<String, Object> map = null; - List<OrderAdditionalFeeWarpper> list = new ArrayList<>(); switch (orderType){ case 1://专车 map = orderPrivateCarService.queryOrderInfo(orderId); @@ -443,117 +444,7 @@ 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)); - orderAdditionalFees.forEach(orderAdditionalFee -> { - AdditionalFee additionalFee = additionalFeeService.selectById(orderAdditionalFee.getAdditionalFeeId()); - OrderAdditionalFeeWarpper orderAdditionalFeeWarpper = new OrderAdditionalFeeWarpper(); - orderAdditionalFeeWarpper.setName(additionalFee.getName()); - orderAdditionalFeeWarpper.setAdditionalFee(orderAdditionalFee.getAmount()); - list.add(orderAdditionalFeeWarpper); - }); - OrderInfoWarpper orderInfoWarpper = OrderInfoWarpper.getOrderInfoWarpper(map, list); - if(orderType==1){ - - if(orderInfoWarpper.getPid()!=0){ - orderId=orderInfoWarpper.getPid(); - } - List<Map<String, Object>> orderList= orderPrivateCarService.queryOrderInfo2(orderId,4,null,null); - if(!orderList.isEmpty()){ - orderInfoWarpper.setMeetOrderList(JSON.parseArray(JSON.toJSONString(orderList), OrderCrossCityInfoWrapper.class)); - }else{ - orderInfoWarpper.setMeetOrderList(new ArrayList<>()); - } - orderList= orderPrivateCarService.queryOrderInfo2(orderId,6,null,null); - if(orderInfoWarpper.getState()>1 && orderInfoWarpper.getDriverId()!=0){ - String value = redisUtil.getValue("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()){ - orderList.addAll(orderList1); - } - } - } - } - - - - if(!orderList.isEmpty()){ - orderInfoWarpper.setGiveOrderList(JSON.parseArray(JSON.toJSONString(orderList), OrderCrossCityInfoWrapper.class)); - }else{ - orderInfoWarpper.setGiveOrderList(new ArrayList<>()); - } - - OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); - if(orderPrivateCar.getState()>1){ - Map<String, Object> query1 = systemPriceMapper.query(orderPrivateCar.getCompanyId(), 1, orderPrivateCar.getServerCarModelId()); - //开始根据不同的方式计算金额 - JSONObject jsonObject = JSON.parseObject(query1.get("content").toString());//等待费 - JSONObject contentPutOne = JSON.parseObject(query1.get("contentPutOne").toString());//一人拼成 - JSONObject contentNotOne = JSON.parseObject(query1.get("contentNotOne").toString());//一人未拼成 - 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); - - orderInfoWarpper.setContentPutTwo(contentPutTwo); - orderInfoWarpper.setContentNotTwo(contentNotTwo); - - orderInfoWarpper.setContentPutThree(contentPutThree); - orderInfoWarpper.setContentNotThree(contentNotThree); - - - orderInfoWarpper.setContentExclusive(contentExclusive); - orderInfoWarpper.setContentPrice(contentPrice); - }else{ - orderInfoWarpper.setContentPutOne(new JSONObject()); - orderInfoWarpper.setContentNotOne(new JSONObject()); - - orderInfoWarpper.setContentPutTwo(new JSONObject()); - orderInfoWarpper.setContentNotTwo(new JSONObject()); - - orderInfoWarpper.setContentPutThree(new JSONObject()); - orderInfoWarpper.setContentNotThree(new JSONObject()); - - - orderInfoWarpper.setContentExclusive(new JSONObject()); - orderInfoWarpper.setContentPrice(new JSONObject()); - } - - }else{ - orderInfoWarpper.setContentPutOne(new JSONObject()); - orderInfoWarpper.setContentNotOne(new JSONObject()); - - orderInfoWarpper.setContentPutTwo(new JSONObject()); - orderInfoWarpper.setContentNotTwo(new JSONObject()); - - orderInfoWarpper.setContentPutThree(new JSONObject()); - orderInfoWarpper.setContentNotThree(new JSONObject()); - - - orderInfoWarpper.setContentExclusive(new JSONObject()); - orderInfoWarpper.setContentPrice(new JSONObject()); - } - return ResultUtil.success(orderInfoWarpper); + return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map)); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); @@ -570,7 +461,7 @@ */ @ResponseBody @PostMapping("/base/order/queryOrderInfo_") - @ApiOperation(value = "获取服务中的详情数据", tags = {"分享专用"}, notes = "") + @ApiOperation(value = "获取服务中的详情数据", tags = {"分享专用", "智慧屏"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"), @@ -578,7 +469,6 @@ public ResultUtil<OrderInfoWarpper> queryOrderInfo_(Integer orderId, Integer orderType){ try { Map<String, Object> map = null; - List<OrderAdditionalFeeWarpper> list = new ArrayList<>(); switch (orderType){ case 1://专车 map = orderPrivateCarService.queryOrderInfo(orderId); @@ -593,15 +483,8 @@ 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)); - orderAdditionalFees.forEach(orderAdditionalFee -> { - AdditionalFee additionalFee = additionalFeeService.selectById(orderAdditionalFee.getAdditionalFeeId()); - OrderAdditionalFeeWarpper orderAdditionalFeeWarpper = new OrderAdditionalFeeWarpper(); - orderAdditionalFeeWarpper.setName(additionalFee.getName()); - orderAdditionalFeeWarpper.setAdditionalFee(orderAdditionalFee.getAmount()); - list.add(orderAdditionalFeeWarpper); - }); - return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map, list)); + + return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map)); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); @@ -628,7 +511,6 @@ public ResultUtil<OrderInfoWarpper> queryCancelPage(Integer orderId, Integer orderType){ try { Map<String, Object> map = null; - List<OrderAdditionalFeeWarpper> list = new ArrayList<>(); switch (orderType) { case 1://专车 map = orderPrivateCarService.queryOrderInfo(orderId); @@ -646,18 +528,7 @@ map.put("cancelPayMoney", r.getData().getAmount()); break; } - 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)); - orderAdditionalFees.forEach(orderAdditionalFee -> { - AdditionalFee additionalFee = additionalFeeService.selectById(orderAdditionalFee.getAdditionalFeeId()); - OrderAdditionalFeeWarpper orderAdditionalFeeWarpper = new OrderAdditionalFeeWarpper(); - orderAdditionalFeeWarpper.setName(additionalFee.getName()); - orderAdditionalFeeWarpper.setAdditionalFee(orderAdditionalFee.getAmount()); - list.add(orderAdditionalFeeWarpper); - }); - return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map, list)); + return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map)); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); @@ -974,6 +845,49 @@ /** + * 添加取消记录 + * @param id + * @param reason + * @param remark + * @return + */ + @ResponseBody + @PostMapping("/base/taxi/addCancle1") + @ApiOperation(value = "添加取消记录", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "智慧屏"}, notes = "") + @ApiImplicitParams({ + @ApiImplicitParam(value = "订单id", name = "id", required = true, dataType = "int"), + @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"), + @ApiImplicitParam(value = "取消原因", name = "reason", required = true, dataType = "string"), + @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 addCancle1(Integer id, Integer orderType, String reason, String remark){ + try { + switch (orderType){ + case 1: + return orderPrivateCarService.addCancle(id, reason, remark, null); + case 2: + return orderTaxiService.addCancle(id, reason, remark, null); + case 3: + return orderCrossCityService.addCancle(id, reason, remark, null); + case 4: + return orderLogisticsService.addCancle(id, reason, remark, null); + case 5: + return orderLogisticsService.addCancle(id, reason, remark, null); + case 6: + return orderCharteredCarService.addCancle(id, reason, remark, null); + } + return ResultUtil.success(); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + + + + /** * 取消操作支付 * @param id * @param payType @@ -1094,60 +1008,6 @@ /** - * 支付页面获取余额和优惠数据 - * @param orderId - * @param request - * @return - */ - @ResponseBody - @PostMapping("/api/taxi/queryBalance1") - @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){ - try { - Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ - return ResultUtil.tokenErr(); - } - PreferentialDataVo map = new PreferentialDataVo(); - switch (orderType){ - case 1: - map = orderPrivateCarService.queryBalance1(orderId, uid); - break; - case 2: - map = orderTaxiService.queryBalance1(orderId, uid); - break; - case 3: - map = orderCrossCityService.queryBalance1(orderId, uid); - break; - case 4: - map = orderLogisticsService.queryBalance1(orderId, uid); - break; - case 5: - map = orderLogisticsService.queryBalance1(orderId, uid); - break; - case 6: - map = orderCharteredCarService.queryBalance1(orderId, uid); - break; - case 7: -// map = orde.queryBalance1(orderId, uid); - break; - } - return ResultUtil.success(map); - }catch (Exception e){ - e.printStackTrace(); - return ResultUtil.runErr(); - } - } - - - - - /** * 获取支付页面的优惠券列表 * @param orderId * @param pageNum @@ -1193,49 +1053,6 @@ - @ResponseBody - @PostMapping("/api/taxi/queryCouponList") - @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"), - @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<CouponsListVo>> queryCouponList(Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request){ - try { - Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ - return ResultUtil.tokenErr(); - } - List<CouponsListVo> list = new ArrayList<>(); - switch (orderType){ - case 1: - list = orderPrivateCarService.queryCouponList(orderId, uid, pageNum, size); - break; - case 2: - list = orderTaxiService.queryCouponList(orderId, uid, pageNum, size); - break; - case 3: - list = orderCrossCityService.queryCouponList(orderId, uid, pageNum, size); - break; - case 4: - list = orderLogisticsService.queryCouponList(orderId, uid, pageNum, size); - break; - case 5: - list = orderLogisticsService.queryCouponList(orderId, uid, pageNum, size); - break; - } - return ResultUtil.success(list); - }catch (Exception e){ - e.printStackTrace(); - return ResultUtil.runErr(); - } - } - - - /** * 订单完成支付订单操作 * @param payType @@ -1278,46 +1095,6 @@ return ResultUtil.runErr(); } } - - - - @ResponseBody - @PostMapping("/api/taxi/payTaxiOrder1") - @ApiOperation(value = "1.0-订单完成支付订单操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "") - @ApiImplicitParams({ - @ApiImplicitParam(value = "支付方式(1=微信,2=支付宝,3=余额)", name = "payType", required = true, dataType = "int"), - @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), - @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=小件物流)", name = "orderType", required = true, dataType = "int"), - @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(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){ - try { - Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ - return ResultUtil.tokenErr(); - } - switch (orderType){ - case 1: - return orderPrivateCarService.payPrivateCarOrder1(payType, orderId, objectId, objectType, type); - case 2: - return orderTaxiService.payTaxiOrder1(payType, orderId, objectId, objectType, type); - case 3: - return orderCrossCityService.payCrossCityOrder1(payType, orderId, objectId, objectType, type); - 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){ - e.printStackTrace(); - return ResultUtil.runErr(); - } - } - @@ -1454,31 +1231,29 @@ try { Map<String, String> map = payMoneyUtil.weixinpayCallback(request); 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)){ - PrintWriter out = response.getWriter(); - out.write(result); - out.flush(); - out.close(); + String transaction_id = map.get("transaction_id"); - String[] split = out_trade_no.split("_"); - Integer id = Integer.valueOf(split[0]); - Integer type = Integer.valueOf(split[1]); - switch (type){ - case 1: - orderPrivateCarService.payCancelOrderPrivateCar(id, order_id, 1); - break; - case 2: - orderTaxiService.payCancelOrderTaxi(id, order_id, 1); - break; - case 3: - orderCrossCityService.payCancelOrderCrossCity(id, order_id, 1); - break; - } + String substring = out_trade_no.substring(17); + Integer type = Integer.valueOf(substring.substring(0, 1)); + Integer id = Integer.valueOf(substring.substring(1)); + switch (type){ + case 1: + orderPrivateCarService.payCancelOrderPrivateCar(id, transaction_id, 1); + break; + case 2: + orderTaxiService.payCancelOrderTaxi(id, transaction_id, 1); + break; + case 3: + orderCrossCityService.payCancelOrderCrossCity(id, transaction_id, 1); + break; } + String result = map.get("result"); + PrintWriter out = response.getWriter(); + out.print(result); + out.flush(); + out.close(); } }catch (Exception e){ e.printStackTrace(); @@ -1497,24 +1272,26 @@ Map<String, String> map = payMoneyUtil.alipayCallback(request); 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)){ - String[] split = out_trade_no.split("_"); - Integer id = Integer.valueOf(split[0]); - Integer type = Integer.valueOf(split[1]); - switch (type){ - case 1: - orderPrivateCarService.payCancelOrderPrivateCar(id, order_id, 2); - break; - case 2: - orderTaxiService.payCancelOrderTaxi(id, order_id, 2); - break; - case 3: - orderCrossCityService.payCancelOrderCrossCity(id, order_id, 2); - break; - } - } + String trade_no = map.get("trade_no"); + String substring = out_trade_no.substring(17); + Integer type = Integer.valueOf(substring.substring(0, 1)); + Integer id = Integer.valueOf(substring.substring(1)); + switch (type){ + case 1: + orderPrivateCarService.payCancelOrderPrivateCar(id, trade_no, 2); + break; + case 2: + orderTaxiService.payCancelOrderTaxi(id, trade_no, 2); + break; + case 3: + orderCrossCityService.payCancelOrderCrossCity(id, trade_no, 2); + break; + } + PrintWriter out = response.getWriter(); + out.print("success"); + out.flush(); + out.close(); } }catch (Exception e){ e.printStackTrace(); @@ -1532,36 +1309,35 @@ try { Map<String, String> map = payMoneyUtil.weixinpayCallback(request); 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)){ - PrintWriter out = response.getWriter(); - out.write(result); - out.flush(); - out.close(); + String transaction_id = map.get("transaction_id"); - String[] split = out_trade_no.split("_"); - Integer id = Integer.valueOf(split[0]); - Integer type = Integer.valueOf(split[1]); - switch (type){ - case 1: - orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 1); - break; - case 2: - orderTaxiService.payOrderTaxiCallback(id, order_id, 1); - break; - case 3: - orderCrossCityService.payOrderCrossCityCallback(id, order_id, 1); - break; - case 4: - orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1); - break; - case 5: - orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1); - break; - } + String substring = out_trade_no.substring(17); + Integer type = Integer.valueOf(substring.substring(0, 1)); + Integer id = Integer.valueOf(substring.substring(1)); + switch (type){ + case 1: + orderPrivateCarService.payOrderPrivateCarCallback(id, transaction_id, 1); + break; + case 2: + orderTaxiService.payOrderTaxiCallback(id, transaction_id, 1); + break; + case 3: + orderCrossCityService.payOrderCrossCityCallback(id, transaction_id, 1); + break; + case 4: + orderLogisticsService.payOrderLogisticsCallback(id, transaction_id, 1); + break; + case 5: + orderLogisticsService.payOrderLogisticsCallback(id, transaction_id, 1); + break; } + + String result = map.get("result"); + PrintWriter out = response.getWriter(); + out.print(result); + out.flush(); + out.close(); } }catch (Exception e){ e.printStackTrace(); @@ -1580,30 +1356,32 @@ Map<String, String> map = payMoneyUtil.alipayCallback(request); 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)){ - String[] split = out_trade_no.split("_"); - Integer id = Integer.valueOf(split[0]); - Integer type = Integer.valueOf(split[1]); - switch (type){ - case 1: - orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 2); - break; - case 2: - orderTaxiService.payOrderTaxiCallback(id, order_id, 2); - break; - case 3: - orderCrossCityService.payOrderCrossCityCallback(id, order_id, 2); - break; - case 4: - orderLogisticsService.payOrderLogisticsCallback(id, order_id, 2); - break; - case 5: - orderLogisticsService.payOrderLogisticsCallback(id, order_id, 2); - break; - } - } + String trade_no = map.get("trade_no"); + String substring = out_trade_no.substring(17); + Integer type = Integer.valueOf(substring.substring(0, 1)); + Integer id = Integer.valueOf(substring.substring(1)); + switch (type){ + case 1: + orderPrivateCarService.payOrderPrivateCarCallback(id, trade_no, 2); + break; + case 2: + orderTaxiService.payOrderTaxiCallback(id, trade_no, 2); + break; + case 3: + orderCrossCityService.payOrderCrossCityCallback(id, trade_no, 2); + break; + case 4: + orderLogisticsService.payOrderLogisticsCallback(id, trade_no, 2); + break; + case 5: + orderLogisticsService.payOrderLogisticsCallback(id, trade_no, 2); + break; + } + PrintWriter out = response.getWriter(); + out.print("success"); + out.flush(); + out.close(); } }catch (Exception e){ e.printStackTrace(); @@ -1623,20 +1401,20 @@ try { Map<String, String> map = payMoneyUtil.weixinpayCallback(request); 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)){ - PrintWriter out = response.getWriter(); - out.write(result); - out.flush(); - out.close(); + String transaction_id = map.get("transaction_id"); - String[] split = out_trade_no.split("_"); - Integer id = Integer.valueOf(split[0]); - Integer type = Integer.valueOf(split[1]); - orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 1); - } + String substring = out_trade_no.substring(17); + Integer type = Integer.valueOf(substring.substring(0, 1)); + Integer id = Integer.valueOf(substring.substring(1)); + + orderLogisticsService.payOrderLogisticsSpreadCallback(id, transaction_id, 1); + + String result = map.get("result"); + PrintWriter out = response.getWriter(); + out.print(result); + out.flush(); + out.close(); } }catch (Exception e){ e.printStackTrace(); @@ -1655,111 +1433,17 @@ Map<String, String> map = payMoneyUtil.alipayCallback(request); 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)){ - String[] split = out_trade_no.split("_"); - Integer id = Integer.valueOf(split[0]); - Integer type = Integer.valueOf(split[1]); - orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 2); - } + String trade_no = map.get("trade_no"); - } - }catch (Exception e){ - e.printStackTrace(); - } - } + String substring = out_trade_no.substring(17); + Integer type = Integer.valueOf(substring.substring(0, 1)); + Integer id = Integer.valueOf(substring.substring(1)); + orderLogisticsService.payOrderLogisticsSpreadCallback(id, trade_no, 2); - /** - * 取消订单微信退款成功回调 - * @param request - * @param response - */ - @ResponseBody - @PostMapping("/base/cancleOrderWXPay") - public void cancleOrderWXPay(HttpServletRequest request, HttpServletResponse response){ - try { - Map<String, String> map = payMoneyUtil.wxRefundCallback(request); - 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)){ - PrintWriter out = response.getWriter(); - out.write(result); - out.flush(); - out.close(); - - String[] split = out_refund_no.split(","); - Integer id = Integer.valueOf(split[0]); - Integer type = Integer.valueOf(split[1]); - switch (type){ - case 1: - break; - case 2: - break; - case 3: - OrderCrossCity orderCrossCity = orderCrossCityService.selectById(id); - PaymentRecord query = paymentRecordService.query(1, orderCrossCity.getUserId(), 1, id, 3, orderCrossCity.getPayType(), 2); - //添加交易明细 - transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城出行取消退款", query.getAmount(), 1, 1, 1, 3, id); - break; - case 4: - break; - case 5: - break; - } - } - } - }catch (Exception e){ - e.printStackTrace(); - } - } - - - /** - * 购买出行卡微信支付回调 - * @param request - * @param response - */ - @ResponseBody - @PostMapping("/base/wxPayTaxiCardPaymentSpread") - public void wxPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response){ - try { - Map<String, String> map = payMoneyUtil.weixinpayCallback(request); - 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)){ - PrintWriter out = response.getWriter(); - out.write(result); - out.flush(); - out.close(); - taxiCardService.payTaxiCardPaymentSpread(Integer.valueOf(out_trade_no), order_id); - } - } - }catch (Exception e){ - e.printStackTrace(); - } - } - - - /** - * 购买出行卡支付宝支付回调 - * @param request - * @param response - */ - @ResponseBody - @PostMapping("/base/aliPayTaxiCardPaymentSpread") - public void aliPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response){ - try { - Map<String, String> map = payMoneyUtil.alipayCallback(request); - 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)){ - taxiCardService.payTaxiCardPaymentSpread(Integer.valueOf(out_trade_no), order_id); - } + PrintWriter out = response.getWriter(); + out.print("success"); + out.flush(); + out.close(); } }catch (Exception e){ e.printStackTrace(); @@ -1768,84 +1452,180 @@ @ResponseBody - @PostMapping("/api/taxi/payThankYouFee") - @ApiOperation(value = "1.0-支付感谢费", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流", "用户端-包车", "用户端-助老模式"}, notes = "") + @PostMapping("/base/order/queryDriverInfo") + @ApiOperation(value = "获取司机信息", tags = {"线下收款"}, notes = "") @ApiImplicitParams({ - @ApiImplicitParam(value = "支付方式(1=微信,2=支付宝,3=余额)", name = "payType", required = true, dataType = "int"), - @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), - @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=同城小件物流,5=跨城小件物流,6=包车,7=助老模式)", name = "orderType", required = true, dataType = "int"), - @ApiImplicitParam(value = "支付金额", name = "money", required = true, dataType = "double"), - @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.....") + @ApiImplicitParam(value = "司机id", name = "driverId", required = true, dataType = "int"), }) - public ResultUtil payThankYouFee(Integer orderId, Integer orderType, Double money, Integer payType, Integer type, HttpServletRequest request){ + public ResultUtil<Map<String, Object>> queryDriverInfo(Integer driverId){ try { - Integer uid = userInfoService.getUserIdFormRedis(request); - if(null == uid){ - return ResultUtil.tokenErr(); - } - switch (orderType){ - case 1: - return orderPrivateCarService.payThankYouFee(uid, orderId, money, payType, type); - case 2: - return orderTaxiService.payThankYouFee(uid, orderId, money, payType, type); - case 3: - return orderCrossCityService.payThankYouFee(uid, orderId, money, payType, type); - case 4: - return orderLogisticsService.payThankYouFee(uid, orderId, money, payType, type); - case 5: - return orderLogisticsService.payThankYouFee(uid, orderId, money, payType, type); - case 6: - return orderCharteredCarService.payThankYouFee(uid, orderId, money, payType, type); - case 7: - return orderCallService.payThankYouFee(uid, orderId, money, payType, type); + Driver driver = driverService.selectById(driverId); + String phone = AESUtil.decrypt(driver.getPhone()); + Map<String, Object> map = new HashMap<>(); + map.put("name", driver.getName()); + map.put("phone", phone.substring(0, 3) + "****" + phone.substring(7)); + map.put("headImg", driver.getHeadImgUrl()); + return ResultUtil.success(map); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + + + @ResponseBody + @PostMapping("/base/order/driverQrCodePaymentCollection") + @ApiOperation(value = "扫码司机收款码调起支付", tags = {"线下收款"}, notes = "") + @ApiImplicitParams({ + @ApiImplicitParam(value = "司机id", name = "driverId", required = true, dataType = "int"), + @ApiImplicitParam(value = "支付金额", name = "money", required = true, dataType = "double"), + @ApiImplicitParam(value = "支付方式(1=微信,2=支付宝)", name = "payType", required = true, dataType = "int"), + }) + public ResultUtil<Map<String, String>> driverQrCodePaymentCollection(Integer driverId, Double money, Integer payType){ + try { + return orderService.driverQrCodePaymentCollection(driverId, money, payType); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + + @ResponseBody + @PostMapping("/base/order/queryDriverQrCodePaymentStatus") + @ApiOperation(value = "获取线下收款支付状态", tags = {"线下收款"}, notes = "") + @ApiImplicitParams({ + @ApiImplicitParam(value = "支付id", name = "id", required = true, dataType = "string"), + }) + public ResultUtil<Integer> queryDriverQrCodePaymentStatus(String id){ + try { + OfflineTravelPayment offlineTravelPayment = offlineTravelPaymentService.selectOne(new EntityWrapper<OfflineTravelPayment>().eq("orderId", id)); + if(null != offlineTravelPayment){ + return ResultUtil.success(offlineTravelPayment.getStatus()); } }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } - return ResultUtil.success(); + return ResultUtil.success(0); } + + + + + @ResponseBody + @PostMapping("/base/order/evaluateDriver") + @ApiOperation(value = "支付完成后的评价操作", tags = {"线下收款"}, notes = "") + @ApiImplicitParams({ + @ApiImplicitParam(value = "司机id", name = "driverId", required = true, dataType = "int"), + @ApiImplicitParam(value = "评分", name = "score", required = true, dataType = "double"), + @ApiImplicitParam(value = "评价内容", name = "content", required = true, dataType = "string"), + }) + public ResultUtil evaluateDriver(Integer driverId, Integer score, String content){ + try { + OrderEvaluate orderEvaluate = new OrderEvaluate(); + orderEvaluate.setDriverId(driverId); + orderEvaluate.setFraction(score); + orderEvaluate.setContent(content); + orderEvaluate.setInsertTime(new Date()); + orderEvaluateService.insert(orderEvaluate); + return ResultUtil.success(); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + + + + /** - * 感谢费支付回调 + * 扫码司机收款码支付回调 * @param request * @param response */ @ResponseBody - @PostMapping("/base/wxPayThankYouFee") - public void wxPayThankYouFee(HttpServletRequest request, HttpServletResponse response){ + @PostMapping("/base/offlineTravelPaymentCallback") + public void offlineTravelPaymentCallback(HttpServletRequest request, HttpServletResponse response){ try { - Map<String, String> map = payMoneyUtil.weixinpayCallback(request); + System.err.println("线下收款开始回调-------------------"); + ResultNotification resultNotification = PayUtil.payResultNotification(request); + System.err.println("支付回调:" + JSON.toJSONString(resultNotification)); + if(null != resultNotification){ + if("000000".equals(resultNotification.getReturnCode())){ + if("00".equals(resultNotification.getResultCode())){ + String chnlSeq = resultNotification.getChnlSeq(); + String txnSeq = resultNotification.getTxnSeq(); + OfflineTravelPayment offlineTravelPayment = offlineTravelPaymentService.selectOne(new EntityWrapper<OfflineTravelPayment>().eq("orderId", chnlSeq)); + if(null != offlineTravelPayment && offlineTravelPayment.getStatus() == 1){ + offlineTravelPayment.setStatus(2); + offlineTravelPayment.setPayTime(new Date()); + offlineTravelPayment.setPayNumber(txnSeq); + offlineTravelPaymentService.updateById(offlineTravelPayment); + + PrintWriter out = response.getWriter(); + out.print(resultNotification.getResponseStr()); + out.flush(); + out.close(); + } + }else{ + System.err.println(resultNotification.getResultMsg()); + } + }else{ + System.err.println(resultNotification.getReturnMessage()); + } + } + }catch (Exception e){ + e.printStackTrace(); + } + } + + + /** + * 微信支付退款回调 + * @param request + * @param response + */ + @ResponseBody + @PostMapping("/base/wxRefundCallback") + public void wxRefundCallback(HttpServletRequest request, HttpServletResponse response){ + try { + Map<String, String> map = payMoneyUtil.wxRefundCallback(request); if(null != map){ - String order_id = map.get("transaction_id"); - String out_trade_no = map.get("out_trade_no"); + String out_refund_no = map.get("out_refund_no"); + String refund_id = map.get("refund_id"); String result = map.get("result"); - if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){ - PrintWriter out = response.getWriter(); - out.write(result); - out.flush(); - out.close(); + String substring = out_refund_no.substring(17); + Integer type = Integer.valueOf(substring.substring(0, 1)); + Integer id = Integer.valueOf(substring.substring(1)); - String[] s = out_trade_no.split("_"); - switch (Integer.valueOf(s[1])){ - case 1: - orderPrivateCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1); - case 2: - orderTaxiService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1); - case 3: - orderCrossCityService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1); - case 4: - orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1); - case 5: - orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1); - case 6: - orderCharteredCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1); - case 7: - orderCallService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1); - } + PaymentRecord paymentRecord = paymentRecordService.selectById(id); + if(paymentRecord.getRefundState() == 2){ + return; } + if(type == 3){ + paymentRecord.setRefundCode(refund_id); + paymentRecord.setRefundState(2); + paymentRecordService.updateById(paymentRecord); + OrderCrossCity orderCrossCity = orderCrossCityService.selectById(paymentRecord.getOrderId()); + transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", orderCrossCity.getPayMoney(), 1, 1, 1, 3, id); + } + if(type == 4 || type == 5){ + paymentRecord.setRefundCode(refund_id); + paymentRecord.setRefundState(2); + paymentRecordService.updateById(paymentRecord); + OrderLogistics orderLogistics = orderLogisticsService.selectById(paymentRecord.getOrderId()); + transactionDetailsService.saveData(orderLogistics.getUserId(), "小件物流取消退款", orderLogistics.getPayMoney(), 1, 1, 1, orderLogistics.getType(), orderLogistics.getId()); + } + + PrintWriter out = response.getWriter(); + out.print(result); + out.flush(); + out.close(); } }catch (Exception e){ e.printStackTrace(); @@ -1854,42 +1634,169 @@ /** - * 感谢费支付宝支付回调 - * @param request - * @param response + * 管理后台取消订单回退支付金额 + * @param orderId + * @param orderType + * @return */ @ResponseBody - @PostMapping("/base/aliPayThankYouFee") - public void aliPayThankYouFee(HttpServletRequest request, HttpServletResponse response){ + @PostMapping("/base/order/cancelOrderRollbackAmount") + public String cancelOrderRollbackAmount(Integer orderId, Integer orderType){ try { - Map<String, String> map = payMoneyUtil.alipayCallback(request); - 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)){ - String[] s = out_trade_no.split("_"); - switch (Integer.valueOf(s[1])){ - case 1: - orderPrivateCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2); - case 2: - orderTaxiService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2); - case 3: - orderCrossCityService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2); - case 4: - orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2); - case 5: - orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2); - case 6: - orderCharteredCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2); - case 7: - orderCallService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2); + switch (orderType){ + case 3: + OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId); + if(orderCrossCity.getPayType() == 3){//余额支付 + UserInfo userInfo = userInfoService.selectById(orderCrossCity.getUserId()); + userInfo.setBalance(userInfo.getBalance() + orderCrossCity.getPayMoney()); + userInfoService.updateById(userInfo); + //添加交易明细 + transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", orderCrossCity.getPayMoney(), 1, 1, 1, 3, orderId); + }else{ + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + List<PaymentRecord> paymentRecords = paymentRecordService.selectList(new EntityWrapper<PaymentRecord>().eq("category", 1).eq("orderId", orderId) + .eq("orderType", orderType).eq("state", 2).isNull("refundState")); + for (PaymentRecord paymentRecord : paymentRecords) { + String out_trade_no = sdf.format(new Date()) + orderType + paymentRecord.getId(); + if(paymentRecord.getPayType() == 1){//微信 + payMoneyUtil.wxRefund(paymentRecord.getCode(), out_trade_no, paymentRecord.getAmount().toString(), paymentRecord.getAmount().toString(), callbackPath + "/base/wxRefundCallback"); + } + if(paymentRecord.getPayType() == 2){//支付宝 + Map<String, String> map = payMoneyUtil.aliRefund(paymentRecord.getCode(), paymentRecord.getAmount().toString()); + String code = map.get("code"); + if(!"10000".equals(code)){ + return JSON.toJSONString(ResultUtil.error(map.get("msg"))); + } + paymentRecord.setRefundState(2); + paymentRecord.setRefundCode(map.get("trade_no")); + paymentRecordService.updateById(paymentRecord); + //添加交易明细 + transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", orderCrossCity.getPayMoney(), 1, 1, 1, 3, orderId); + } + } } - } + break; + case 4: + OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId); + if(orderLogistics.getPayType() == 3){//余额支付 + UserInfo userInfo = userInfoService.selectById(orderLogistics.getUserId()); + userInfo.setBalance(userInfo.getBalance() + orderLogistics.getPayMoney()); + userInfoService.updateById(userInfo); + //添加交易明细 + transactionDetailsService.saveData(orderLogistics.getUserId(), "小件物流取消退款", orderLogistics.getPayMoney(), 1, 1, 1, orderLogistics.getType(), orderLogistics.getId()); + }else{ + //调用回退接口 + List<PaymentRecord> paymentRecords = paymentRecordService.selectList(new EntityWrapper<PaymentRecord>().eq("category", 1).eq("orderId", orderId) + .eq("orderType", orderType).eq("state", 2).isNull("refundState")); + for (PaymentRecord paymentRecord : paymentRecords) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + String out_trade_no = sdf.format(new Date()) + orderLogistics.getType() + paymentRecord.getId(); + + if(paymentRecord.getPayType() == 1){//微信 + Map<String, String> map = payMoneyUtil.wxRefund(paymentRecord.getCode(), out_trade_no, paymentRecord.getAmount().toString(), paymentRecord.getAmount().toString(), callbackPath + "/base/wxRefundCallback"); + String return_code = map.get("return_code"); + if(!"SUCCESS".equals(return_code)){ + return JSON.toJSONString(ResultUtil.error(map.get("return_msg"))); + } + } + if(paymentRecord.getPayType() == 2){//支付宝 + Map<String, String> map = payMoneyUtil.aliRefund(paymentRecord.getCode(), paymentRecord.getAmount().toString()); + String code = map.get("code"); + if(!"10000".equals(code)){ + return JSON.toJSONString(ResultUtil.error(map.get("msg"))); + } + paymentRecord.setRefundState(2); + paymentRecord.setRefundCode(map.get("trade_no")); + paymentRecordService.updateById(paymentRecord); + //添加交易明细 + transactionDetailsService.saveData(orderLogistics.getUserId(), "小件物流取消退款", orderLogistics.getPayMoney(), 1, 1, 1, orderLogistics.getType(), orderLogistics.getId()); + } + } + } + break; + case 5: + OrderLogistics orderLogistics1 = orderLogisticsService.selectById(orderId); + if(orderLogistics1.getPayType() == 3){//余额支付 + UserInfo userInfo = userInfoService.selectById(orderLogistics1.getUserId()); + userInfo.setBalance(userInfo.getBalance() + orderLogistics1.getPayMoney()); + userInfoService.updateById(userInfo); + //添加交易明细 + transactionDetailsService.saveData(orderLogistics1.getUserId(), "小件物流取消退款", orderLogistics1.getPayMoney(), 1, 1, 1, orderLogistics1.getType(), orderLogistics1.getId()); + }else{ + //调用回退接口 + List<PaymentRecord> paymentRecords = paymentRecordService.selectList(new EntityWrapper<PaymentRecord>().eq("category", 1).eq("orderId", orderId) + .eq("orderType", orderType).eq("state", 2).isNull("refundState")); + for (PaymentRecord paymentRecord : paymentRecords) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + String out_trade_no = sdf.format(new Date()) + orderLogistics1.getType() + paymentRecord.getId(); + + if(paymentRecord.getPayType() == 1){//微信 + Map<String, String> map = payMoneyUtil.wxRefund(paymentRecord.getCode(), out_trade_no, paymentRecord.getAmount().toString(), paymentRecord.getAmount().toString(), callbackPath + "/base/wxRefundCallback"); + String return_code = map.get("return_code"); + if(!"SUCCESS".equals(return_code)){ + return JSON.toJSONString(ResultUtil.error(map.get("return_msg"))); + } + } + if(paymentRecord.getPayType() == 2){//支付宝 + Map<String, String> map = payMoneyUtil.aliRefund(paymentRecord.getCode(), paymentRecord.getAmount().toString()); + String code = map.get("code"); + if(!"10000".equals(code)){ + return JSON.toJSONString(ResultUtil.error(map.get("msg"))); + } + paymentRecord.setRefundState(2); + paymentRecord.setRefundCode(map.get("trade_no")); + paymentRecordService.updateById(paymentRecord); + //添加交易明细 + transactionDetailsService.saveData(orderLogistics1.getUserId(), "小件物流取消退款", orderLogistics1.getPayMoney(), 1, 1, 1, orderLogistics1.getType(), orderLogistics1.getId()); + } + } + } + break; } }catch (Exception e){ e.printStackTrace(); + return JSON.toJSONString(ResultUtil.runErr()); + } + return JSON.toJSONString(ResultUtil.success()); + } + + + @ResponseBody + @PostMapping("/base/orderPrivateCar/directCallCar") + @ApiOperation(value = "智慧屏一键叫车", tags = {"智慧屏"}, notes = "") + @ApiImplicitParams({ + @ApiImplicitParam(value = "下单手机号", name = "phone", required = true, dataType = "string"), + @ApiImplicitParam(value = "下单地点经度", name = "placementLon", required = true, dataType = "string"), + @ApiImplicitParam(value = "下单地点纬度", name = "placementLat", required = true, dataType = "string"), + @ApiImplicitParam(value = "起点经度", name = "startLon", required = true, dataType = "string"), + @ApiImplicitParam(value = "起点纬度", name = "startLat", required = true, dataType = "string"), + @ApiImplicitParam(value = "起点地址", name = "startAddress", required = true, dataType = "string"), + @ApiImplicitParam(value = "设备号", name = "deviceCode", required = true, dataType = "string"), + }) + public ResultUtil<BaseWarpper> directCallCar(String phone, String placementLon, String placementLat, String startLon, String startLat, String startAddress, String deviceCode){ + try { + return orderPrivateCarService.directCallCar(phone, placementLon, placementLat, startLon, startLat, startAddress, deviceCode); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); } } + @ResponseBody + @PostMapping("/base/orderPrivateCar/querySmartScreenOrder") + @ApiOperation(value = "获取智慧屏订单列表", tags = {"智慧屏"}, notes = "") + @ApiImplicitParams({ + @ApiImplicitParam(value = "设备号", name = "deviceCode", required = true, dataType = "string"), + @ApiImplicitParam(value = "经纬度(103.2222,30.23554)", name = "lonLat", required = true, dataType = "string"), + }) + public ResultUtil<List<SmartScreenOrderVo>> querySmartScreenOrder(String deviceCode, String lonLat){ + try { + List<SmartScreenOrderVo> orderVos = orderPrivateCarService.querySmartScreenOrder(deviceCode, lonLat); + return ResultUtil.success(orderVos); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } } -- Gitblit v1.7.1