From 49e88798dcea0164f77c59f0be9eefdf67a3d228 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 17 七月 2024 15:03:10 +0800
Subject: [PATCH] 2.0bug修改
---
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java | 835 +++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 557 insertions(+), 278 deletions(-)
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index 4c810bb..fbb3eb7 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -1,5 +1,6 @@
package com.stylefeng.guns.modular.api;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.stylefeng.guns.core.util.ToolUtil;
@@ -10,15 +11,16 @@
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.model.Driver;
-import com.stylefeng.guns.modular.system.model.OrderPosition;
-import com.stylefeng.guns.modular.system.model.UserInfo;
+import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.*;
+import com.stylefeng.guns.modular.system.util.Tingg.model.*;
import com.stylefeng.guns.modular.system.warpper.*;
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
+import com.stylefeng.guns.modular.taxi.model.PaymentRecord;
import com.stylefeng.guns.modular.taxi.model.TransactionDetails;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
+import com.stylefeng.guns.modular.taxi.service.IPaymentRecordService;
import com.stylefeng.guns.modular.taxi.service.ITransactionDetailsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -31,6 +33,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
+import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -76,9 +79,6 @@
@Autowired
private IOrderCrossCityService orderCrossCityService;
- /*@Autowired
- private ICBCPayUtil icbcPayUtil;*/
-
@Autowired
private IOrderLogisticsService orderLogisticsService;
@@ -86,23 +86,25 @@
private IOrderCharteredCarService orderCharteredCarService;
@Autowired
- private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
+ private ITransactionDetailsService transactionDetailsService;
@Autowired
- private ITransactionDetailsService transactionDetailsService;
+ private IPaymentRecordService paymentRecordService;
@Autowired
private IOrderCancelService orderCancelService;
@Autowired
private PayMoneyUtil payMoneyUtil;
-
- @Value("${pushMinistryOfTransport}")
- private boolean pushMinistryOfTransport;
-
+
+ @Autowired
+ private IRedEnvelopePaymentSettingsService redEnvelopePaymentSettingsService;
@Value("${filePath}")
private String filePath;
+
+ @Autowired
+ private IUserRedPacketRecordService userRedPacketRecordService;
/**
* 获取正在进行中的订单
@@ -115,12 +117,15 @@
@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(Integer language, HttpServletRequest request){
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
if(null == uid){
return ResultUtil.tokenErr();
}
+ UserInfo userInfo = userInfoService.selectById(uid);
+ userInfo.setLanguage(language);
+ userInfoService.updateById(userInfo);
List<OrderStatusWarpper> data = new ArrayList<>();
List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12);
for(OrderPrivateCar orderPrivateCar : orderPrivateCars){
@@ -131,6 +136,7 @@
orderStatusWarpper.setOrderId(orderPrivateCar.getId());
orderStatusWarpper.setOrderType(1);
orderStatusWarpper.setState(orderPrivateCar.getState());
+ orderStatusWarpper.setTripId(orderPrivateCar.getTripId());
data.add(orderStatusWarpper);
}
List<OrderTaxi> list = orderTaxiService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12);
@@ -142,6 +148,7 @@
orderStatusWarpper.setOrderId(orderTaxi.getId());
orderStatusWarpper.setOrderType(2);
orderStatusWarpper.setState(orderTaxi.getState());
+// orderStatusWarpper.setTripId(orderTaxi.getTripId());
data.add(orderStatusWarpper);
}
List<OrderCrossCity> orderCrossCities = orderCrossCityService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12);
@@ -153,6 +160,7 @@
orderStatusWarpper.setOrderId(orderCrossCity.getId());
orderStatusWarpper.setOrderType(3);
orderStatusWarpper.setState(orderCrossCity.getState());
+// orderStatusWarpper.setTripId(orderPrivateCar.getTripId());
data.add(orderStatusWarpper);
}
return ResultUtil.success(data);
@@ -182,7 +190,7 @@
@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, Integer language, HttpServletRequest request){
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
if(null == uid){
@@ -191,19 +199,19 @@
List<Map<String, Object>> list = null;
switch (type){
case 1:
- list = orderPrivateCarService.queryMyOrderList(uid, pageNum, size);
+ list = orderPrivateCarService.queryMyOrderList(language, uid, pageNum, size);
break;
case 2:
- list = orderTaxiService.queryMyOrderList(uid, pageNum, size);
+ list = orderTaxiService.queryMyOrderList(language, uid, pageNum, size);
break;
case 3:
- list = orderCrossCityService.queryMyOrderList(uid, pageNum, size);
+ list = orderCrossCityService.queryMyOrderList(language, uid, pageNum, size);
break;
case 4:
- list = orderLogisticsService.queryMyOrderList(uid, pageNum, size);
+ list = orderLogisticsService.queryMyOrderList(uid, pageNum, size, language);
break;
case 5:
- list = orderCharteredCarService.queryMyOrderList(uid, pageNum, size);
+ list = orderCharteredCarService.queryMyOrderList(language, uid, pageNum, size);
break;
}
return ResultUtil.success(OrderWarpper.getOrderWarpper(list));
@@ -222,44 +230,59 @@
*/
@ResponseBody
@PostMapping("/api/order/queryMyTravelRecord")
- @ApiOperation(value = "获取消费记录", tags = {"用户端-个人中心"}, notes = "")
+ @ApiOperation(value = "获取消费记录【2.0】", tags = {"用户端-个人中心"}, notes = "")
@ApiImplicitParams({
@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<TravelRecordWarpper>> queryMyTravelRecord(Integer pageNum, Integer size, HttpServletRequest request){
+ public ResultUtil<List<TravelRecordListWarpper>> queryMyTravelRecord(Integer pageNum, Integer size, Integer language, HttpServletRequest request){
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
if(null == uid){
return ResultUtil.tokenErr();
}
+ String name = language == 1 ? "打车" : language == 2 ? "Ride" : "Course";
pageNum = (pageNum - 1) * size;
- 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).eq("orderType", 3).like("remark", "%跨城订单取消退款%"));
- List<Map<String, Object>> list4 = new ArrayList<>();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
- for(TransactionDetails transactionDetails1 : transactionDetails){
- Map<String, Object> map = new HashMap<>();
- map.put("money", transactionDetails1.getMoney());
- map.put("time", sdf.format(transactionDetails1.getInsertTime()));
- map.put("name", "跨城订单取消退款");
- map.put("insertTime", Double.valueOf(transactionDetails1.getInsertTime().getTime() / 1000).intValue());
- list4.add(map);
+ List<Map<String, Object>> maps = orderCancelService.queryCancel(language, uid, 2);
+ for (Map<String, Object> map : maps) {
+ Integer orderType = Integer.valueOf(map.get("orderType").toString());
+ if(1 == orderType){
+ map.put("name", language == 1 ? "打车订单取消" : language == 2 ? "Ride order cancelled" : "Commande de trajet annulée");
+ }
+ if(4 == orderType){
+ map.put("name", language == 1 ? "包裹订单取消" : language == 2 ? "Parcel order cancellation" : "Annulation de commande de livraison");
+ }
}
+ List<Map<String, Object>> list = orderPrivateCarService.queryMyTravelRecord(language, uid);//专车
+ for (Map<String, Object> map : list) {
+ map.put("name", name);
+ }
+ name = language == 1 ? "包裹" : language == 2 ? "Delivery" : "Livraison";
+ List<Map<String, Object>> list3 = orderLogisticsService.queryMyTravelRecord(language, uid);//小件物流
+ for (Map<String, Object> map : list3) {
+ map.put("name", name);
+ }
+// List<TransactionDetails> transactionDetails = transactionDetailsService.selectList(new EntityWrapper<TransactionDetails>().eq("state", 1)
+// .eq("type", 1).eq("userType", 1).eq("userId", uid).eq("orderType", 3).like("remark", "%跨城订单取消退款%"));
+// List<Map<String, Object>> list4 = new ArrayList<>();
+// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+// for(TransactionDetails transactionDetails1 : transactionDetails){
+// Map<String, Object> map = new HashMap<>();
+// map.put("money", transactionDetails1.getMoney());
+// map.put("time", DateUtil.conversionFormat(language, sdf.format(transactionDetails1.getInsertTime())));
+// map.put("name", "跨城订单取消退款");
+// 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.addAll(list4);
- List<TravelRecordWarpper> orderWarpper = TravelRecordWarpper.getTravelRecordWarpper(list);
-
+ List<TravelRecordListWarpper> orderWarpper = TravelRecordListWarpper.getTravelRecordWarpper(list);
+
+ double sum = orderWarpper.stream().mapToDouble(TravelRecordListWarpper::getMoney).sum();
+
//分页
if(orderWarpper.size() >= (pageNum + 1) * size){
orderWarpper = orderWarpper.subList(pageNum, pageNum + size);
@@ -268,6 +291,9 @@
}else{
orderWarpper = new ArrayList<>();
}
+ orderWarpper.forEach(s->{
+ s.setTotal(sum);
+ });
return ResultUtil.success(orderWarpper);
}catch (Exception e){
e.printStackTrace();
@@ -303,7 +329,7 @@
@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>> queryInvoiceOrder(Integer type, Integer orderType, Date startTime,
+ public ResultUtil<List<OrderWarpper>> queryInvoiceOrder(Integer language, Integer type, Integer orderType, Date startTime,
Date endTime, Double startMoney, Double endMoney,
Integer pageNum, Integer size, HttpServletRequest request){
pageNum = (pageNum - 1) * size;
@@ -316,37 +342,37 @@
if(null != orderType){
switch (orderType){
case 1://专车
- list = orderPrivateCarService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+ list = orderPrivateCarService.queryInvoiceOrder(language, type, startTime, endTime, startMoney, endMoney, uid);
break;
- case 2://出租车
- list = orderTaxiService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
- break;
- case 3://跨城
- list = orderCrossCityService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
- break;
+// case 2://出租车
+// list = orderTaxiService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+// break;
+// case 3://跨城
+// list = orderCrossCityService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+// break;
case 4://同城小件物流
- list = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
+ list = orderLogisticsService.queryInvoiceOrder(language, type, startTime, endTime, startMoney, endMoney, uid, orderType);
break;
- case 5://跨城小件物流
- list = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
- break;
+// case 5://跨城小件物流
+// list = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
+// break;
}
}else{
//专车
- List<Map<String, Object>> maps = orderPrivateCarService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+ List<Map<String, Object>> maps = orderPrivateCarService.queryInvoiceOrder(language, type, startTime, endTime, startMoney, endMoney, uid);
list.addAll(maps);
- //出租车
- List<Map<String, Object>> list1 = orderTaxiService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
- list.addAll(list1);
- //跨城
- List<Map<String, Object>> list2 = orderCrossCityService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
- list.addAll(list2);
+// //出租车
+// List<Map<String, Object>> list1 = orderTaxiService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+// list.addAll(list1);
+// //跨城
+// List<Map<String, Object>> list2 = orderCrossCityService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+// list.addAll(list2);
//同城小件物流
- List<Map<String, Object>> list3 = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
+ List<Map<String, Object>> list3 = orderLogisticsService.queryInvoiceOrder(language, type, startTime, endTime, startMoney, endMoney, uid, orderType);
list.addAll(list3);
- //跨城小件物流
- List<Map<String, Object>> list4 = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
- list.addAll(list4);
+// //跨城小件物流
+// List<Map<String, Object>> list4 = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
+// list.addAll(list4);
}
//分页
@@ -378,13 +404,18 @@
@ApiImplicitParams({
@ApiImplicitParam(value = "订单id", name = "id", required = true, dataType = "int"),
@ApiImplicitParam(value = "订单类型(1=专车,2=出租车)", name = "orderType", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, 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, Integer language, HttpServletRequest request){
try {
+ Integer uid = userInfoService.getUserIdFormRedis(request);
+ if(null == uid){
+ return ResultUtil.tokenErr();
+ }
switch (orderType){
case 1:
- return orderPrivateCarService.pushOrderPrivateCar(id);
+ return orderPrivateCarService.pushOrderPrivateCar(uid, id, language);
case 2:
return orderTaxiService.pushOrderTaxi(id);
}
@@ -406,37 +437,38 @@
*/
@ResponseBody
@PostMapping("/api/order/queryOrderInfo")
- @ApiOperation(value = "获取服务中的详情数据【1.0】", tags = {"用户端-服务中"}, notes = "")
+ @ApiOperation(value = "获取服务中的详情数据【2.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(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<OrderInfoWarpper> queryOrderInfo(Integer orderId, Integer orderType){
+ public ResultUtil<OrderInfoWarpper> queryOrderInfo(Integer orderId, Integer orderType, Integer language){
try {
Map<String, Object> map = null;
switch (orderType){
case 1://专车
- map = orderPrivateCarService.queryOrderInfo(orderId);
+ map = orderPrivateCarService.queryOrderInfo(language, orderId);
break;
case 2://出租车
- map = orderTaxiService.queryOrderInfo(orderId);
+ map = orderTaxiService.queryOrderInfo(language, orderId);
break;
case 3://跨城
- map = orderCrossCityService.queryOrderInfo(orderId);
+ map = orderCrossCityService.queryOrderInfo(language, orderId);
break;
case 4://同城小件
- map = orderLogisticsService.queryOrderInfo(orderId);
+ map = orderLogisticsService.queryOrderInfo(language, orderId);
break;
case 5://跨城小件
- map = orderLogisticsService.queryOrderInfo(orderId);
+ map = orderLogisticsService.queryOrderInfo(language, orderId);
break;
}
if(map.get("telX") != null){
map.put("driverPhone", map.get("telX"));
}
OrderInfoWarpper orderInfoWarpper = OrderInfoWarpper.getOrderInfoWarpper(map);
- File file = new File(filePath + orderId + "_1.txt");
+
+ File file = new File(filePath + orderId + "_" + orderType + ".txt");
if(file.exists()){
//读取文件(字符流)
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));
@@ -471,31 +503,39 @@
@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际,4=同城小件,5=跨城小件)", name = "orderType", required = true, dataType = "int"),
})
- public ResultUtil<OrderInfoWarpper> queryOrderInfo_(Integer orderId, Integer orderType){
+ public ResultUtil<OrderInfoWarpper> queryOrderInfo_(Integer orderId, Integer orderType, Integer language){
try {
Map<String, Object> map = null;
switch (orderType){
case 1://专车
- map = orderPrivateCarService.queryOrderInfo(orderId);
+ map = orderPrivateCarService.queryOrderInfo(language, orderId);
break;
case 2://出租车
- map = orderTaxiService.queryOrderInfo(orderId);
+ map = orderTaxiService.queryOrderInfo(language, orderId);
break;
case 3://跨城
- map = orderCrossCityService.queryOrderInfo(orderId);
+ map = orderCrossCityService.queryOrderInfo(language, orderId);
break;
case 4://同城小件
- map = orderLogisticsService.queryOrderInfo(orderId);
+ map = orderLogisticsService.queryOrderInfo(language, orderId);
break;
case 5://跨城小件
- map = orderLogisticsService.queryOrderInfo(orderId);
+ map = orderLogisticsService.queryOrderInfo(language, orderId);
break;
}
if(null != map.get("telX")){
map.put("driverPhone", map.get("telX"));
}
-
- return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map));
+ OrderInfoWarpper orderInfoWarpper = OrderInfoWarpper.getOrderInfoWarpper(map);
+// String driverName = orderInfoWarpper.getDriverName();
+// if(language == 2){
+// driverName = "Master " + driverName.replace("师傅", "");
+// }
+// if(language == 3){
+// driverName = "Maître " + driverName.replace("师傅", "");
+// }
+// orderInfoWarpper.setDriverName(driverName);
+ return ResultUtil.success(orderInfoWarpper);
}catch (Exception e){
e.printStackTrace();
return ResultUtil.runErr();
@@ -516,30 +556,36 @@
@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"),
+ @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际,4=同城小件物流)", 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){
+ public ResultUtil<OrderInfoWarpper> queryCancelPage(Integer orderId, Integer orderType, Integer language){
try {
Map<String, Object> map = null;
switch (orderType) {
case 1://专车
- map = orderPrivateCarService.queryOrderInfo(orderId);
- ResultUtil<BaseWarpper> res = orderPrivateCarService.queryCancleAmount(orderId);
+ map = orderPrivateCarService.queryOrderInfo(language, orderId);
+ ResultUtil<BaseWarpper> res = orderPrivateCarService.queryCancleAmount(orderId, language);
map.put("cancelPayMoney", res.getData().getAmount());
break;
case 2://出租车
- map = orderTaxiService.queryOrderInfo(orderId);
+ map = orderTaxiService.queryOrderInfo(language, orderId);
ResultUtil<BaseWarpper> re = orderTaxiService.queryCancleAmount(orderId);
map.put("cancelPayMoney", re.getData().getAmount());
break;
case 3://跨城
- map = orderCrossCityService.queryOrderInfo(orderId);
+ map = orderCrossCityService.queryOrderInfo(language, orderId);
ResultUtil<BaseWarpper> r = orderCrossCityService.queryCancleAmount(orderId);
map.put("cancelPayMoney", r.getData().getAmount());
break;
+ case 4://同城小件物流
+ map = orderLogisticsService.queryOrderInfo(language, orderId);
+ ResultUtil<BaseWarpper> r1 = orderLogisticsService.queryCancleAmount(orderId, language);
+ map.put("cancelPayMoney", r1.getData().getAmount());
+ break;
}
- return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map));
+ OrderInfoWarpper orderInfoWarpper = OrderInfoWarpper.getOrderInfoWarpper(map);
+ return ResultUtil.success(orderInfoWarpper);
}catch (Exception e){
e.printStackTrace();
return ResultUtil.runErr();
@@ -691,9 +737,9 @@
@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, Integer language){
try {
- return orderService.weChatPay(orderId, orderType, type, userType, uid, content);
+ return orderService.weChatPay(orderId, orderType, type, userType, uid, content, language);
}catch (Exception e){
e.printStackTrace();
return ResultUtil.runErr();
@@ -785,18 +831,20 @@
@ApiOperation(value = "获取取消订单需要支付的费用金额", tags = {"用户端-出租车", "用户端-专车"}, notes = "返回金额为0则不需要支付")
@ApiImplicitParams({
@ApiImplicitParam(value = "订单id", name = "id", required = true, dataType = "int"),
- @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城, 4=同城小件物流)", 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, Integer language){
try {
switch (orderType){
case 1:
- return orderPrivateCarService.queryCancleAmount(id);
+ return orderPrivateCarService.queryCancleAmount(id, language);
case 2:
return orderTaxiService.queryCancleAmount(id);
case 3:
return orderCrossCityService.queryCancleAmount(id);
+ case 4:
+ return orderLogisticsService.queryCancleAmount(id, language);
}
return ResultUtil.success();
}catch (Exception e){
@@ -818,15 +866,19 @@
*/
@ResponseBody
@PostMapping("/api/taxi/addCancle")
- @ApiOperation(value = "添加取消记录", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
+ @ApiOperation(value = "添加取消记录【2.0】", 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 = "lon", required = true, dataType = "Double"),
+ @ApiImplicitParam(value = "当前纬度", name = "lat", required = true, dataType = "Double"),
+ @ApiImplicitParam(value = "详细地址", name = "address", required = true, dataType = "string"),
@ApiImplicitParam(value = "备注", name = "remark", required = false, dataType = "string"),
+ @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
@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, Double lon, Double lat, String address, Integer language, HttpServletRequest request){
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
if(null == uid){
@@ -834,17 +886,17 @@
}
switch (orderType){
case 1:
- return orderPrivateCarService.addCancle(id, reason, remark, uid);
- case 2:
- return orderTaxiService.addCancle(id, reason, remark, uid);
- case 3:
- return orderCrossCityService.addCancle(id, reason, remark, uid);
+ return orderPrivateCarService.addCancle(id, reason, remark, uid, lon, lat, address, language);
+// case 2:
+// return orderTaxiService.addCancle(id, reason, remark, uid);
+// case 3:
+// return orderCrossCityService.addCancle(id, reason, remark, uid);
case 4:
- return orderLogisticsService.addCancle(id, reason, remark, uid);
- case 5:
- return orderLogisticsService.addCancle(id, reason, remark, uid);
- case 6:
- return orderCharteredCarService.addCancle(id, reason, remark, uid);
+ return orderLogisticsService.addCancle(id, reason, remark, uid, lon, lat, address, language);
+// case 5:
+// return orderLogisticsService.addCancle(id, reason, remark, uid);
+// case 6:
+// return orderCharteredCarService.addCancle(id, reason, remark, uid);
}
return ResultUtil.success();
}catch (Exception e){
@@ -852,6 +904,47 @@
return ResultUtil.runErr();
}
}
+
+
+ /**
+ * 取消订单退款回调
+ * @param request
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/base/orderCancelRefundCallback")
+ public PayoutCallbackResponse orderCancelRefundCallback(@RequestBody PayoutCallbackRequest request){
+ try {
+ System.err.println("转账回调>>>>" + JSON.toJSONString(request));
+ PayoutCallbackResponse payoutCallbackResponse = new PayoutCallbackResponse();
+ AuthStatus authStatus = new AuthStatus();
+ authStatus.setAuthStatusCode(131);
+ authStatus.setAuthStatusDescription("Authentication was successful");
+ payoutCallbackResponse.setAuthStatus(authStatus);
+ Results results = new Results();
+ PayoutPacket packet = request.getPayload().getPacket();
+ String statusCode = packet.getStatusCode();
+ String beepTransactionID = packet.getBeepTransactionID();
+ String payerTransactionID = packet.getPayerTransactionID();
+
+ String id = payerTransactionID.substring(17);
+ OrderCancel orderCancel = orderCancelService.selectById(id);
+ OrderLogistics orderLogistics = orderLogisticsService.selectById(orderCancel.getOrderId());
+ PaymentRecord query = paymentRecordService.query(1, orderLogistics.getUserId(), 1, orderLogistics.getId(), orderLogistics.getType(), 1, 2);
+ transactionDetailsService.saveData(orderLogistics.getUserId(), "包裹取消退款", query.getAmount(), 1, 1, 1, 4, orderLogistics.getId());
+
+ results.setBeepTransactionID(beepTransactionID);
+ results.setPayerTransactionID(payerTransactionID);
+ results.setStatusCode("188");
+ results.setStatusDescription("Response was received");
+ payoutCallbackResponse.setResults(results);
+ return payoutCallbackResponse;
+ }catch (Exception e){
+ e.printStackTrace();
+ return null;
+ }
+ }
+
@@ -863,16 +956,17 @@
*/
@ResponseBody
@PostMapping("/api/taxi/cancleOrderTaxi")
- @ApiOperation(value = "取消操作支付", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
+ @ApiOperation(value = "取消操作支付【1.1】", 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 = "支付方式(1=手机支付,2=银行卡支付,3=余额)", name = "payType", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=同城小件物流)", name = "orderType", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "支付方式(1=手机支付,2=银行卡支付,3=余额)", name = "payType", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "银行卡id", name = "bankCardId", required = false, dataType = "int"),
@ApiImplicitParam(value = "取消单id(取消操作返回)", name = "cancleId", 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 cancleOrderTaxi(Integer id, Integer orderType, Integer payType, Integer cancleId, Integer type, HttpServletRequest request){
+ public ResultUtil cancleOrderTaxi(Integer id, Integer orderType, Integer payType, Integer bankCardId, Integer cancleId, Integer type, Integer language, HttpServletRequest request){
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
if(null == uid){
@@ -880,11 +974,13 @@
}
switch (orderType){
case 1:
- return orderPrivateCarService.cancleOrderPrivateCar(id, payType, cancleId, type);
- case 2:
- return orderTaxiService.cancleOrderTaxi(id, payType, cancleId, type);
- case 3:
- return orderCrossCityService.cancleOrderCrossCity(id, payType, cancleId, type);
+ return orderPrivateCarService.cancleOrderPrivateCar(id, payType, bankCardId, cancleId, type, language);
+// case 2:
+// return orderTaxiService.cancleOrderTaxi(id, payType, cancleId, type);
+// case 3:
+// return orderCrossCityService.cancleOrderCrossCity(id, payType, cancleId, type);
+ case 4:
+ return orderLogisticsService.cancleOrderPrivateCar(id, payType, bankCardId, cancleId, type, language);
}
return ResultUtil.success();
}catch (Exception e){
@@ -905,20 +1001,23 @@
*/
@ResponseBody
@PostMapping("/api/taxi/complaintService")
- @ApiOperation(value = "添加投诉操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
+ @ApiOperation(value = "添加投诉操作【2.0】", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
@ApiImplicitParams({
+ @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车)", name = "orderType", required = true, dataType = "int"),
@ApiImplicitParam(value = "司机id", name = "driverId", required = true, dataType = "int"),
@ApiImplicitParam(value = "投诉原因", name = "reason", required = true, dataType = "String"),
@ApiImplicitParam(value = "投诉描述", name = "description", required = true, dataType = "String"),
+ @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
@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 orderId, Integer orderType, Integer driverId, String reason, String description, Integer language, HttpServletRequest request){
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
if(null == uid){
return ResultUtil.tokenErr();
}
- complaintService.saveData(driverId, reason, description, uid);
+ complaintService.saveData(orderId, orderType, driverId, reason, description, uid, language);
return ResultUtil.success();
}catch (Exception e){
e.printStackTrace();
@@ -949,22 +1048,36 @@
return ResultUtil.tokenErr();
}
Map<String, Object> map = new HashMap<>();
+ Double payMoney = 0D;
switch (orderType){
case 1:
map = orderPrivateCarService.queryBalance(orderId, uid);
+ OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
+ payMoney = orderPrivateCar.getPayMoney();
break;
- case 2:
- map = orderTaxiService.queryBalance(orderId, uid);
- break;
- case 3:
- map = orderCrossCityService.queryBalance(orderId, uid);
- break;
+// case 2:
+// map = orderTaxiService.queryBalance(orderId, uid);
+// break;
+// case 3:
+// map = orderCrossCityService.queryBalance(orderId, uid);
+// break;
case 4:
map = orderLogisticsService.queryBalance(orderId, uid);
+ OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId);
+ payMoney = orderLogistics.getPayMoney();
break;
- case 5:
- map = orderLogisticsService.queryBalance(orderId, uid);
- break;
+// case 5:
+// map = orderLogisticsService.queryBalance(orderId, uid);
+// break;
+ }
+ Double aDouble = userRedPacketRecordService.queryRemainingAmount(uid);
+ map.put("redTotal", aDouble);
+ RedEnvelopePaymentSettings redEnvelopePaymentSettings = redEnvelopePaymentSettingsService.getRedEnvelopePaymentSettings();
+ if(null == redEnvelopePaymentSettings){
+ map.put("deductionAmount", 0D);
+ }else{
+ Double deductionAmount = new BigDecimal(payMoney).multiply(redEnvelopePaymentSettings.getDeductionRatio().divide(new BigDecimal(100))).doubleValue();
+ map.put("deductionAmount", deductionAmount);
}
return ResultUtil.success(map);
}catch (Exception e){
@@ -985,15 +1098,15 @@
*/
@ResponseBody
@PostMapping("/api/taxi/queryCoupon")
- @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"),
+ @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=小件物流)", 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 queryCoupon(Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request){
+ public ResultUtil queryCoupon(Integer language, Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request){
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
if(null == uid){
@@ -1002,17 +1115,17 @@
List<Map<String, Object>> list = new ArrayList<>();
switch (orderType){
case 1:
- list = orderPrivateCarService.queryCoupon(orderId, uid, pageNum, size);
+ list = orderPrivateCarService.queryCoupon(language, orderId, uid, pageNum, size);
break;
- case 2:
- list = orderTaxiService.queryCoupon(orderId, uid, pageNum, size);
- break;
- case 3:
- list = orderCrossCityService.queryCoupon(orderId, uid, pageNum, size);
- break;
-// case 4:
-// list = orderLogisticsService.queryCoupon(orderId, uid, pageNum, size);
+// case 2:
+// list = orderTaxiService.queryCoupon(orderId, uid, pageNum, size);
// break;
+// case 3:
+// list = orderCrossCityService.queryCoupon(orderId, uid, pageNum, size);
+// break;
+ case 4:
+ list = orderLogisticsService.queryCoupon(language,orderId, uid, pageNum, size);
+ break;
// case 5:
// list = orderLogisticsService.queryCoupon(orderId, uid, pageNum, size);
// break;
@@ -1036,16 +1149,18 @@
*/
@ResponseBody
@PostMapping("/api/taxi/payTaxiOrder")
- @ApiOperation(value = "订单完成支付订单操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
+ @ApiOperation(value = "订单完成支付订单操作【2.0】", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
@ApiImplicitParams({
@ApiImplicitParam(value = "支付方式(1=手机支付,2=银行卡支付,3=余额,4=线下支付)", name = "payType", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "银行卡id", name = "bankCardId", required = false, dataType = "int"),
@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=同城小件物流,5=跨城小件物流)", name = "orderType", required = true, dataType = "int"),
@ApiImplicitParam(value = "优惠券id", name = "couponId", required = false, dataType = "int"),
+ @ApiImplicitParam(value = "是否红包抵扣(0=否,1=是)", name = "redDeduction", 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 payTaxiOrder(Integer payType, Integer orderId, Integer orderType, Integer couponId, Integer type, HttpServletRequest request){
+ public ResultUtil payTaxiOrder(Integer payType, Integer bankCardId, Integer orderId, Integer orderType, Integer couponId, Integer redDeduction, Integer type, Integer language, HttpServletRequest request){
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
if(null == uid){
@@ -1053,15 +1168,15 @@
}
switch (orderType){
case 1:
- return orderPrivateCarService.payPrivateCarOrder(payType, orderId, couponId, type);
- case 2:
- return orderTaxiService.payTaxiOrder(payType, orderId, couponId, type);
- case 3:
- return orderCrossCityService.payCrossCityOrder(payType, orderId, couponId, type);
+ return orderPrivateCarService.payPrivateCarOrder(payType, bankCardId, orderId, couponId, redDeduction, type, language);
+// case 2:
+// return orderTaxiService.payTaxiOrder(payType, orderId, couponId, type);
+// case 3:
+// return orderCrossCityService.payCrossCityOrder(payType, orderId, couponId, type);
case 4:
- return orderLogisticsService.payLogisticsOrder(payType, orderId, type);
- case 5:
- return orderLogisticsService.payLogisticsOrder(payType, orderId, type);
+ return orderLogisticsService.payLogisticsOrder(payType, bankCardId, orderId,couponId, redDeduction, type, language);
+// case 5:
+// return orderLogisticsService.payLogisticsOrder(payType, orderId, type, language);
}
return ResultUtil.success();
}catch (Exception e){
@@ -1081,32 +1196,23 @@
*/
@ResponseBody
@PostMapping("/api/taxi/orderEvaluate")
- @ApiOperation(value = "订单完成后添加评价操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
+ @ApiOperation(value = "订单完成后添加评价操作【2.0】", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
@ApiImplicitParams({
@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
- @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=小件物流)", name = "orderType", required = true, dataType = "int"),
@ApiImplicitParam(value = "评分", name = "fraction", required = true, dataType = "int"),
@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, Integer language){
try {
- ResultUtil resultUtil = orderEvaluateService.saveData(orderId, orderType, fraction, content);
+ ResultUtil resultUtil = orderEvaluateService.saveData(orderId, orderType, fraction, content, language);
if(resultUtil.getCode() == 200){
switch (orderType){
case 1:
OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
orderPrivateCar.setState(9);
orderPrivateCarService.updateById(orderPrivateCar);
- new Thread(new Runnable() {
- @Override
- public void run() {
- if(pushMinistryOfTransport){//上传数据
- pushMinistryOfTransportUtil.ratedPassenger(Integer.valueOf(resultUtil.getData().toString()));
- pushMinistryOfTransportUtil.ratedDriver(orderPrivateCar.getDriverId());
- }
- }
- }).start();
break;
case 2:
OrderTaxi orderTaxi = orderTaxiService.selectById(orderId);
@@ -1117,6 +1223,11 @@
OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId);
orderCrossCity.setState(9);
orderCrossCityService.updateById(orderCrossCity);
+ break;
+ case 4:
+ OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId);
+ orderLogistics.setState(9);
+ orderLogisticsService.updateById(orderLogistics);
break;
}
}
@@ -1136,10 +1247,10 @@
*/
@ResponseBody
@PostMapping("/api/taxi/queryRedMoney")
- @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"),
+ @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=小件物流)", 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){
@@ -1151,6 +1262,8 @@
return orderTaxiService.queryRedMoney(orderId);
case 3:
return orderCrossCityService.queryRedMoney(orderId);
+ case 4:
+ return orderLogisticsService.queryRedMoney(orderId);
}
return ResultUtil.success();
}catch (Exception e){
@@ -1169,21 +1282,24 @@
*/
@ResponseBody
@PostMapping("/api/taxi/shareRedEnvelope")
- @ApiOperation(value = "分享成功后添加红包操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
+ @ApiOperation(value = "分享成功后添加红包操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
@ApiImplicitParams({
@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
@ApiImplicitParam(value = "订单类型", name = "orderType", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "语言", name = "language", 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, Integer language){
try {
switch (orderType){
case 1:
- return orderPrivateCarService.shareRedEnvelope(orderId);
+ return orderPrivateCarService.shareRedEnvelope(orderId, language);
case 2:
return orderTaxiService.shareRedEnvelope(orderId);
case 3:
return orderCrossCityService.shareRedEnvelope(orderId);
+ case 4:
+ return orderLogisticsService.shareRedEnvelope(orderId, language);
}
return ResultUtil.success();
}catch (Exception e){
@@ -1197,38 +1313,63 @@
/**
* 取消订单微信回调
- * @param request
+ * @param callbackRequest
*/
@ResponseBody
@PostMapping("/base/wxCancelOrderTaxi")
- public void wxCancelOrderTaxi(HttpServletRequest request, HttpServletResponse response){
+ public CallbackResponse wxCancelOrderTaxi(@RequestBody CallbackRequest callbackRequest){
+ CallbackResponse callbackResponse = new CallbackResponse();
try {
- Map<String, String> map = payMoneyUtil.weixinpayCallback(request);//icbcPayUtil.payCallback(request);
- if(null != map){
- String out_trade_no = map.get("out_trade_no");
- String order_id = map.get("transaction_id");
-
+ /**
+ * 指示服务是否成功或付费的总体请求代码。。
+ * 177-部分付费请求
+ * 178-表明请求已全额支付
+ * 179-表示请求已部分支付但已过期。
+ * 129-请求已过期,未付款。
+ * 180.商户拒绝请求
+ * 183-商户接受请求,我们可以结算资金
+ * 188-商户收到请求。
+ */
+ String request_status_code = callbackRequest.getRequest_status_code();
+ String out_trade_no = callbackRequest.getMerchant_transaction_id();
+ if("177".equals(request_status_code) || "178".equals(request_status_code)){
+ Payments payments = callbackRequest.getPayments().get(0);
+ String order_id = payments.getPayer_transaction_id();
if(ToolUtil.isNotEmpty(out_trade_no)){
- String[] split = out_trade_no.split("_");
- Integer id = Integer.valueOf(split[0]);
- Integer type = Integer.valueOf(split[1]);
+ Integer type = Integer.valueOf(out_trade_no.substring(17, 18));
+ Integer language = Integer.valueOf(out_trade_no.substring(18, 19));
+ Integer id = Integer.valueOf(out_trade_no.substring(19));
switch (type){
case 1:
- orderPrivateCarService.payCancelOrderPrivateCar(id, order_id, 1);
+ orderPrivateCarService.payCancelOrderPrivateCar(id, order_id, language);
break;
- case 2:
- orderTaxiService.payCancelOrderTaxi(id, order_id, 1);
- break;
- case 3:
- orderCrossCityService.payCancelOrderCrossCity(id, order_id, 1);
+// case 2:
+// orderTaxiService.payCancelOrderTaxi(id, order_id, 1);
+// break;
+// case 3:
+// orderCrossCityService.payCancelOrderCrossCity(id, order_id, 1);
+// break;
+ case 4:
+ orderLogisticsService.payCancelOrderPrivateCar(id, order_id, language);
break;
}
+ callbackResponse.setCheckout_request_id(order_id);
+ callbackResponse.setMerchant_transaction_id(out_trade_no);
+ callbackResponse.setStatus_code("183");
+ callbackResponse.setStatus_description("Payment processed successfully");
+ callbackResponse.setReceipt_number(UUIDUtil.getRandomCode(16));
}
- response.getOutputStream().print("success");
+ }else{
+ callbackResponse.setCheckout_request_id(UUIDUtil.getRandomCode(16));
+ callbackResponse.setMerchant_transaction_id(out_trade_no);
+ callbackResponse.setStatus_code("180");
+ callbackResponse.setStatus_description("means payment rejected.");
+ callbackResponse.setReceipt_number(UUIDUtil.getRandomCode(16));
}
}catch (Exception e){
e.printStackTrace();
}
+ return callbackResponse;
}
@@ -1240,76 +1381,100 @@
@PostMapping("/base/aliCancelOrderTaxi")
public void aliCancelOrderTaxi(HttpServletRequest request, HttpServletResponse response){
try {
- Map<String, String> map = payMoneyUtil.alipayCallback(request);//icbcPayUtil.payCallback(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)){
- 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;
- }
- }
- response.setContentType("text/html;charset=UTF-8");
- PrintWriter out;
- out = response.getWriter();
- out.println("success"); // 请不要修改或删除
- }
+// Map<String, String> map = payMoneyUtil.alipayCallback(request);//icbcPayUtil.payCallback(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)){
+// 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;
+// }
+// }
+// response.setContentType("text/html;charset=UTF-8");
+// PrintWriter out;
+// out = response.getWriter();
+// out.println("success"); // 请不要修改或删除
+// }
}catch (Exception e){
e.printStackTrace();
}
}
+
/**
* 完成订单微信支付回调
- * @param request
+ * @param
*/
@ResponseBody
@PostMapping("/base/wxPayOrderTaxi")
- public void wxPayOrderTaxi(HttpServletRequest request, HttpServletResponse response){
+ public CallbackResponse wxPayOrderTaxi(@RequestBody CallbackRequest callbackRequest){
+ CallbackResponse callbackResponse = new CallbackResponse();
try {
- Map<String, String> map = payMoneyUtil.weixinpayCallback(request);//icbcPayUtil.payCallback(request);
- if(null != map){
- String out_trade_no = map.get("out_trade_no");
- String order_id = map.get("transaction_id");
+ /**
+ * 指示服务是否成功或付费的总体请求代码。。
+ * 177-部分付费请求
+ * 178-表明请求已全额支付
+ * 179-表示请求已部分支付但已过期。
+ * 129-请求已过期,未付款。
+ * 180.商户拒绝请求
+ * 183-商户接受请求,我们可以结算资金
+ * 188-商户收到请求。
+ */
+ String request_status_code = callbackRequest.getRequest_status_code();
+ String out_trade_no = callbackRequest.getMerchant_transaction_id();
+ if("177".equals(request_status_code) || "178".equals(request_status_code)){
+ Payments payments = callbackRequest.getPayments().get(0);
+ String order_id = payments.getPayer_transaction_id();
if(ToolUtil.isNotEmpty(out_trade_no)){
- String[] split = out_trade_no.split("_");
- Integer id = Integer.valueOf(split[0]);
- Integer type = Integer.valueOf(split[1]);
- switch (type){
+ Integer orderType = Integer.valueOf(out_trade_no.substring(17, 18));
+ Integer language = Integer.valueOf(out_trade_no.substring(18, 19));
+ Integer id = Integer.valueOf(out_trade_no.substring(19));
+ switch (orderType){
case 1:
- orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 1);
+ orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, language);
break;
- case 2:
- orderTaxiService.payOrderTaxiCallback(id, order_id, 1);
- break;
- case 3:
- orderCrossCityService.payOrderCrossCityCallback(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);
+ orderLogisticsService.payOrderLogisticsCallback(id, order_id, language);
break;
- case 5:
- orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1);
- break;
+// case 5:
+// orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1, language);
+// break;
}
- response.getOutputStream().print("success");
+ callbackResponse.setCheckout_request_id(order_id);
+ callbackResponse.setMerchant_transaction_id(out_trade_no);
+ callbackResponse.setStatus_code("183");
+ callbackResponse.setStatus_description("Payment processed successfully");
+ callbackResponse.setReceipt_number(UUIDUtil.getRandomCode(16));
}
+ }else{
+ callbackResponse.setCheckout_request_id(UUIDUtil.getRandomCode(16));
+ callbackResponse.setMerchant_transaction_id(out_trade_no);
+ callbackResponse.setStatus_code("180");
+ callbackResponse.setStatus_description("means payment rejected.");
+ callbackResponse.setReceipt_number(UUIDUtil.getRandomCode(16));
}
}catch (Exception e){
e.printStackTrace();
}
+ return callbackResponse;
}
@@ -1329,22 +1494,23 @@
String[] split = out_trade_no.split("_");
Integer id = Integer.valueOf(split[0]);
Integer type = Integer.valueOf(split[1]);
+ Integer language = Integer.valueOf(split[2]);
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;
+// case 1:
+// orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 2, language);
+// 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, language);
+// break;
+// case 5:
+// orderLogisticsService.payOrderLogisticsCallback(id, order_id, 2, language);
+// break;
}
response.setContentType("text/html;charset=UTF-8");
PrintWriter out;
@@ -1363,30 +1529,49 @@
/**
* 小件物流差价微信支付回调
- * @param request
*/
@ResponseBody
@PostMapping("/base/wxPayOrderLogisticsSpread")
- public void wxPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response){
+ public CallbackResponse wxPayOrderLogisticsSpread(@RequestBody CallbackRequest callbackRequest){
+ CallbackResponse callbackResponse = new CallbackResponse();
try {
- Map<String, String> map = payMoneyUtil.weixinpayCallback(request);//icbcPayUtil.payCallback(request);
- if(null != map){
- String out_trade_no = map.get("out_trade_no");
- String order_id = map.get("transaction_id");
- String s = null;//icbcPayUtil.queryTransaction("", order_id);
- if(!s.equals("") && !s.equals("2")){
- //icbcPayUtil.answer(response);//回调应答
+ /**
+ * 指示服务是否成功或付费的总体请求代码。。
+ * 177-部分付费请求
+ * 178-表明请求已全额支付
+ * 179-表示请求已部分支付但已过期。
+ * 129-请求已过期,未付款。
+ * 180.商户拒绝请求
+ * 183-商户接受请求,我们可以结算资金
+ * 188-商户收到请求。
+ */
+ String request_status_code = callbackRequest.getRequest_status_code();
+ String out_trade_no = callbackRequest.getMerchant_transaction_id();
+ if("177".equals(request_status_code) || "178".equals(request_status_code)){
+ Payments payments = callbackRequest.getPayments().get(0);
+ String order_id = payments.getPayer_transaction_id();
+ if(ToolUtil.isNotEmpty(out_trade_no)){
+ Integer orderType = Integer.valueOf(out_trade_no.substring(17, 18));
+ Integer language = Integer.valueOf(out_trade_no.substring(18, 19));
+ Integer id = Integer.valueOf(out_trade_no.substring(19));
+ orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, language);
+ callbackResponse.setCheckout_request_id(order_id);
+ callbackResponse.setMerchant_transaction_id(out_trade_no);
+ callbackResponse.setStatus_code("183");
+ callbackResponse.setStatus_description("Payment processed successfully");
+ callbackResponse.setReceipt_number(UUIDUtil.getRandomCode(16));
}
- if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id) && s.equals("0")){
- String[] split = out_trade_no.split(",");
- Integer id = Integer.valueOf(split[0]);
- Integer type = Integer.valueOf(split[1]);
- orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 1);
- }
+ }else{
+ callbackResponse.setCheckout_request_id(UUIDUtil.getRandomCode(16));
+ callbackResponse.setMerchant_transaction_id(out_trade_no);
+ callbackResponse.setStatus_code("180");
+ callbackResponse.setStatus_description("means payment rejected.");
+ callbackResponse.setReceipt_number(UUIDUtil.getRandomCode(16));
}
}catch (Exception e){
e.printStackTrace();
}
+ return callbackResponse;
}
@@ -1398,24 +1583,118 @@
@PostMapping("/base/aliPayOrderLogisticsSpread")
public void aliPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response){
try {
- Map<String, String> map = payMoneyUtil.alipayCallback(request);//icbcPayUtil.payCallback(request);
- if(null != map){
- String out_trade_no = map.get("out_trade_no");
- String order_id = map.get("trade_no");
- String s = null;//icbcPayUtil.queryTransaction("", order_id);
- if(!s.equals("") && !s.equals("2")){
- //icbcPayUtil.answer(response);//回调应答
- }
- if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id) && s.equals("0")){
- String[] split = out_trade_no.split(",");
- Integer id = Integer.valueOf(split[0]);
- Integer type = Integer.valueOf(split[1]);
- orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 2);
- }
-
- }
+// Map<String, String> map = payMoneyUtil.alipayCallback(request);//icbcPayUtil.payCallback(request);
+// if(null != map){
+// String out_trade_no = map.get("out_trade_no");
+// String order_id = map.get("trade_no");
+// String s = null;//icbcPayUtil.queryTransaction("", order_id);
+// if(!s.equals("") && !s.equals("2")){
+// //icbcPayUtil.answer(response);//回调应答
+// }
+// if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id) && s.equals("0")){
+// String[] split = out_trade_no.split(",");
+// Integer id = Integer.valueOf(split[0]);
+// Integer type = Integer.valueOf(split[1]);
+// orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 2);
+// }
+//
+// }
}catch (Exception e){
e.printStackTrace();
}
}
+
+
+
+ @ResponseBody
+ @PostMapping("/base/IGO/tinggPayoutCallback")
+ public PayoutCallbackResponse tinggPayoutCallback(@RequestBody PayoutCallbackRequest request){
+ System.err.println("转账回调>>>>" + JSON.toJSONString(request));
+ PayoutCallbackResponse payoutCallbackResponse = new PayoutCallbackResponse();
+ AuthStatus authStatus = new AuthStatus();
+ authStatus.setAuthStatusCode(131);
+ authStatus.setAuthStatusDescription("Authentication was successful");
+ payoutCallbackResponse.setAuthStatus(authStatus);
+ Results results = new Results();
+ PayoutPacket packet = request.getPayload().getPacket();
+ String beepTransactionID = packet.getBeepTransactionID();
+ String payerTransactionID = packet.getPayerTransactionID();
+ results.setBeepTransactionID(beepTransactionID);
+ results.setPayerTransactionID(payerTransactionID);
+ results.setStatusCode("188");
+ results.setStatusDescription("Response was received");
+ payoutCallbackResponse.setResults(results);
+ return payoutCallbackResponse;
+ }
+
+
+
+ @ResponseBody
+ @PostMapping("/api/taxi/updateEndAddress")
+ @ApiOperation(value = "修改目的地【2.0】", tags = {"用户端-专车", "用户端-小件物流"}, notes = "")
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "订单类型", name = "orderType", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "终点经度", name = "endLon", required = true, dataType = "String"),
+ @ApiImplicitParam(value = "终点纬度", name = "endLat", required = true, dataType = "String"),
+ @ApiImplicitParam(value = "终点地址", name = "endAddress", required = true, dataType = "String"),
+ @ApiImplicitParam(value = "语言", name = "language", required = true, dataType = "int"),
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil updateEndAddress(Integer orderId, Integer orderType, String endLon, String endLat, String endAddress){
+ switch (orderType){
+ case 1:
+ orderPrivateCarService.updateEndAddress(orderId, endLon, endLat, endAddress);
+ break;
+ case 4:
+ orderLogisticsService.updateEndAddress(orderId, endLon, endLat, endAddress);
+ break;
+ }
+ return ResultUtil.success();
+ }
+
+
+ @ResponseBody
+ @PostMapping("/api/taxi/redEnvelopeDeductionAmount")
+ @ApiOperation(value = "获取支付页红包抵扣金额【2.0】", tags = {"用户端-专车", "用户端-小件物流"}, notes = "")
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "订单类型", name = "orderType", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "语言", name = "language", required = true, dataType = "int"),
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil redEnvelopeDeductionAmount(Integer orderId, Integer orderType, HttpServletRequest request){
+ try {
+ Integer uid = userInfoService.getUserIdFormRedis(request);
+ if(null == uid){
+ return ResultUtil.tokenErr();
+ }
+ Double payMoney = 0D;
+ switch (orderType){
+ case 1:
+ OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
+ payMoney = orderPrivateCar.getPayMoney();
+ break;
+ case 4:
+ OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId);
+ payMoney = orderLogistics.getPayMoney();
+ break;
+ }
+
+ Double aDouble = userRedPacketRecordService.queryRemainingAmount(uid);
+ Map<String, Object> map = new HashMap<>();
+ map.put("redTotal", aDouble);
+ RedEnvelopePaymentSettings redEnvelopePaymentSettings = redEnvelopePaymentSettingsService.getRedEnvelopePaymentSettings();
+ if(null == redEnvelopePaymentSettings){
+ map.put("deductionAmount", 0D);
+ return ResultUtil.success(map);
+ }
+ Double deductionAmount = new BigDecimal(payMoney).multiply(redEnvelopePaymentSettings.getDeductionRatio().divide(new BigDecimal(100))).doubleValue();
+ map.put("deductionAmount", deductionAmount);
+ return ResultUtil.success(map);
+ }catch (Exception e){
+ e.printStackTrace();
+ return ResultUtil.runErr();
+ }
+ }
}
--
Gitblit v1.7.1