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 | 638 +++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 430 insertions(+), 208 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 49ad62e..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
@@ -11,19 +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.CallbackRequest;
-import com.stylefeng.guns.modular.system.util.Tingg.model.CallbackResponse;
-import com.stylefeng.guns.modular.system.util.Tingg.model.CheckoutRequest;
-import com.stylefeng.guns.modular.system.util.Tingg.model.Payments;
+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;
@@ -36,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.*;
@@ -81,9 +79,6 @@
@Autowired
private IOrderCrossCityService orderCrossCityService;
- /*@Autowired
- private ICBCPayUtil icbcPayUtil;*/
-
@Autowired
private IOrderLogisticsService orderLogisticsService;
@@ -94,14 +89,22 @@
private ITransactionDetailsService transactionDetailsService;
@Autowired
+ private IPaymentRecordService paymentRecordService;
+
+ @Autowired
private IOrderCancelService orderCancelService;
@Autowired
private PayMoneyUtil payMoneyUtil;
-
+
+ @Autowired
+ private IRedEnvelopePaymentSettingsService redEnvelopePaymentSettingsService;
@Value("${filePath}")
private String filePath;
+
+ @Autowired
+ private IUserRedPacketRecordService userRedPacketRecordService;
/**
* 获取正在进行中的订单
@@ -114,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){
@@ -130,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);
@@ -141,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);
@@ -152,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);
@@ -181,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){
@@ -190,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));
@@ -221,59 +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, Integer language, 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 ? "Private car order" : "Commande de voiture exclusive";
+ 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>> 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 ? "Private car order cancelled" : "Annulation de commande de voiture exclusive");
+ 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 ? "The small parts logistics order in the city has been cancelled" : "Annulation de commande pour la logistique de petites pièces dans la ville");
+ map.put("name", language == 1 ? "包裹订单取消" : language == 2 ? "Parcel order cancellation" : "Annulation de commande de livraison");
}
}
- List<Map<String, Object>> list = orderPrivateCarService.queryMyTravelRecord(uid);//专车
+ List<Map<String, Object>> list = orderPrivateCarService.queryMyTravelRecord(language, uid);//专车
for (Map<String, Object> map : list) {
map.put("name", name);
}
- name = language == 1 ? "市内小件物流" : language == 2 ? "Small parts logistics in the city" : "Logistique de petites pièces dans la ville";
- List<Map<String, Object>> list3 = orderLogisticsService.queryMyTravelRecord(uid);//小件物流
+ 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", sdf.format(transactionDetails1.getInsertTime()));
- map.put("name", "跨城订单取消退款");
- map.put("insertTime", Double.valueOf(transactionDetails1.getInsertTime().getTime() / 1000).intValue());
- list4.add(map);
- }
+// 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<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);
@@ -282,6 +291,9 @@
}else{
orderWarpper = new ArrayList<>();
}
+ orderWarpper.forEach(s->{
+ s.setTotal(sum);
+ });
return ResultUtil.success(orderWarpper);
}catch (Exception e){
e.printStackTrace();
@@ -317,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;
@@ -330,7 +342,7 @@
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);
@@ -339,7 +351,7 @@
// 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);
@@ -347,7 +359,7 @@
}
}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);
@@ -356,7 +368,7 @@
// 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);
@@ -425,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"));
@@ -490,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();
@@ -535,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();
@@ -804,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){
@@ -837,16 +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, Integer language, 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){
@@ -854,13 +886,13 @@
}
switch (orderType){
case 1:
- return orderPrivateCarService.addCancle(id, reason, remark, uid, language);
+ 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, language);
+ return orderLogisticsService.addCancle(id, reason, remark, uid, lon, lat, address, language);
// case 5:
// return orderLogisticsService.addCancle(id, reason, remark, uid);
// case 6:
@@ -874,6 +906,47 @@
}
+ /**
+ * 取消订单退款回调
+ * @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;
+ }
+ }
+
+
+
/**
* 取消操作支付
@@ -883,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=线上支付,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, Integer language, 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){
@@ -900,11 +974,13 @@
}
switch (orderType){
case 1:
- return orderPrivateCarService.cancleOrderPrivateCar(id, payType, "user_" + uid, cancleId, type, language);
+ 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){
@@ -925,21 +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, Integer language, 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, language);
+ complaintService.saveData(orderId, orderType, driverId, reason, description, uid, language);
return ResultUtil.success();
}catch (Exception e){
e.printStackTrace();
@@ -970,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){
@@ -1006,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){
@@ -1023,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;
@@ -1057,16 +1149,18 @@
*/
@ResponseBody
@PostMapping("/api/taxi/payTaxiOrder")
- @ApiOperation(value = "订单完成支付订单操作【1.0】", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
+ @ApiOperation(value = "订单完成支付订单操作【2.0】", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
@ApiImplicitParams({
- @ApiImplicitParam(value = "支付方式(1=线上支付,3=余额,4=线下支付)", name = "payType", required = true, dataType = "int"),
+ @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, Integer language, 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){
@@ -1074,13 +1168,13 @@
}
switch (orderType){
case 1:
- return orderPrivateCarService.payPrivateCarOrder(payType, "user_" + uid, orderId, couponId, type, language);
+ 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, "user_" + uid, orderId, type, language);
+ return orderLogisticsService.payLogisticsOrder(payType, bankCardId, orderId,couponId, redDeduction, type, language);
// case 5:
// return orderLogisticsService.payLogisticsOrder(payType, orderId, type, language);
}
@@ -1102,10 +1196,10 @@
*/
@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.....")
@@ -1130,6 +1224,11 @@
orderCrossCity.setState(9);
orderCrossCityService.updateById(orderCrossCity);
break;
+ case 4:
+ OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId);
+ orderLogistics.setState(9);
+ orderLogisticsService.updateById(orderLogistics);
+ break;
}
}
return resultUtil.getCode() == 200 ? ResultUtil.success() : resultUtil;
@@ -1148,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){
@@ -1163,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){
@@ -1181,10 +1282,11 @@
*/
@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, Integer language){
@@ -1196,6 +1298,8 @@
return orderTaxiService.shareRedEnvelope(orderId);
case 3:
return orderCrossCityService.shareRedEnvelope(orderId);
+ case 4:
+ return orderLogisticsService.shareRedEnvelope(orderId, language);
}
return ResultUtil.success();
}catch (Exception e){
@@ -1233,16 +1337,20 @@
String order_id = payments.getPayer_transaction_id();
if(ToolUtil.isNotEmpty(out_trade_no)){
Integer type = Integer.valueOf(out_trade_no.substring(17, 18));
- Integer id = Integer.valueOf(out_trade_no.substring(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);
@@ -1273,35 +1381,36 @@
@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();
}
}
+
/**
@@ -1329,25 +1438,25 @@
Payments payments = callbackRequest.getPayments().get(0);
String order_id = payments.getPayer_transaction_id();
if(ToolUtil.isNotEmpty(out_trade_no)){
- Integer type = Integer.valueOf(out_trade_no.substring(17, 18));
+ 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 (type){
+ switch (orderType){
case 1:
- orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 1, language);
+ 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, language);
+ orderLogisticsService.payOrderLogisticsCallback(id, order_id, language);
break;
- case 5:
- orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1, language);
- break;
+// case 5:
+// orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1, language);
+// break;
}
callbackResponse.setCheckout_request_id(order_id);
callbackResponse.setMerchant_transaction_id(out_trade_no);
@@ -1387,21 +1496,21 @@
Integer type = Integer.valueOf(split[1]);
Integer language = Integer.valueOf(split[2]);
switch (type){
- 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;
+// 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;
@@ -1420,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;
}
@@ -1455,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