From 0a8d28436b2f7229ecdf40c6b003902002c8947f Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 16 十月 2025 17:37:08 +0800
Subject: [PATCH] 修改bug
---
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java | 1096 +++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 789 insertions(+), 307 deletions(-)
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index b5d96c8..25ee59b 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -9,16 +9,32 @@
import com.stylefeng.guns.modular.call.server.IOrderCallService;
import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
+import com.stylefeng.guns.modular.shunfeng.model.DriverRide;
+import com.stylefeng.guns.modular.shunfeng.model.OrderRide;
+import com.stylefeng.guns.modular.shunfeng.service.IDriverRideService;
+import com.stylefeng.guns.modular.shunfeng.service.IOrderRideService;
import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
+import com.stylefeng.guns.modular.system.dao.CarMapper;
import com.stylefeng.guns.modular.system.dao.SystemPriceMapper;
import com.stylefeng.guns.modular.system.model.*;
+import com.stylefeng.guns.modular.system.model.vo.TripOrderVo;
+import com.stylefeng.guns.modular.system.model.vo.TripSheetVo;
import com.stylefeng.guns.modular.system.model.vo.UnPayOrderVO;
+import com.stylefeng.guns.modular.system.pdf.TripSheetGenerator;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.*;
+import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.AddAccountInfoRequest;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyTravelItineraryRequest;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallback;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallbackData;
+import com.stylefeng.guns.modular.system.util.zhenglian.ZhengLianUtil;
+import com.stylefeng.guns.modular.system.util.zhenglian.model.TradeTerminalInfo;
+import com.stylefeng.guns.modular.system.util.zhenglian.model.ZLUserInfo;
import com.stylefeng.guns.modular.system.warpper.*;
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.model.PaymentRecord;
@@ -31,6 +47,9 @@
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
@@ -39,8 +58,15 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import java.io.File;
import java.io.PrintWriter;
+import java.io.Serializable;
+import java.lang.reflect.InvocationTargetException;
+import java.net.InetAddress;
+import java.net.NetworkInterface;
import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
import java.util.*;
/**
@@ -75,6 +101,9 @@
@Autowired
private IOrderPrivateCarService orderPrivateCarService;
+
+ @Autowired
+ private GDMapGeocodingUtil gdMapGeocodingUtil;
@Autowired
private IComplaintService complaintService;
@@ -117,7 +146,7 @@
@Autowired
private IAdditionalFeeService additionalFeeService;
-
+
@Autowired
private ITEnterpriseWithdrawalService enterpriseWithdrawalService;
@Autowired
@@ -126,14 +155,33 @@
private IUserCouponRecordService userCouponRecordService;
@Value("${pushMinistryOfTransport}")
private boolean pushMinistryOfTransport;
-
+
@Resource
private SystemPriceMapper systemPriceMapper;
-
+
@Resource
private RedisTemplate<String, Object> redisTemplate;
-
-
+
+ @Resource
+ private ISystemPriceCityService systemPriceCityService;
+
+ @Value("${trip.sheet.filePath}")
+ private String filePath;
+ @Autowired
+ private EmailUtil emailUtil;
+ @Autowired
+ private TripSheetGenerator tripSheetGenerator;
+ @Autowired
+ private IServerCarModelService serverCarModelService;
+
+
+ @Autowired
+ private IOrderRideService orderRideService;
+ /*顺风车司机*/
+ @Autowired
+ private IDriverRideService driverRideService;
+
+
/**
* 获取正在进行中的订单
*
@@ -146,16 +194,57 @@
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<List<OrderStatusWarpper>> queryServingOrder(HttpServletRequest request){
+ public ResultUtil<List<OrderStatusWarpper>> queryServingOrder(HttpServletRequest request) {
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
+ UserInfo userInfo = userInfoService.selectById(uid);
+ if(null != userInfo.getDriverId()){
+ DriverRide driverRide = driverRideService.selectById(userInfo.getDriverId());
+ //获取证联数据
+ if(null == driverRide.getCustId() || 0 == driverRide.getAccOpenFlag()){
+ TradeTerminalInfo tradeTerminalInfo = new TradeTerminalInfo();
+ tradeTerminalInfo.setTerminal("1");
+ InetAddress inetAddress = InetAddress.getLocalHost();
+ String ip = inetAddress.getHostAddress();
+ tradeTerminalInfo.setIp(ip);
+ NetworkInterface networkInterface = NetworkInterface.getByInetAddress(inetAddress);
+ byte[] mac = networkInterface.getHardwareAddress();
+ StringBuilder macAddress = new StringBuilder();
+ for (int i = 0; i < mac.length; i++) {
+ macAddress.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
+ }
+
+ tradeTerminalInfo.setMac(macAddress.toString());
+ ZLUserInfo userInfo1 = ZhengLianUtil.getUserInfo(driverRide.getEmpId().toString(), tradeTerminalInfo);
+ if(null != userInfo){
+ driverRide.setCustId(userInfo1.getCustId());
+ driverRide.setAccOpenFlag(userInfo1.getAccOpenFlag());
+ driverRideService.updateById(driverRide);
+ }
+ }
+ //同步到中台
+ if(null != driverRide.getAccOpenFlag() && 1 == driverRide.getAccOpenFlag() && 0 == driverRide.getIsSynchronous()){
+ AddAccountInfoRequest request1 = new AddAccountInfoRequest();
+ request1.setCustId(driverRide.getCustId());
+ request1.setAccountNo(driverRide.getEmpId().toString());
+ request1.setAccountName(userInfo.getName());
+ request1.setMobile(userInfo.getPhone());
+ Integer status = EmployeeUtil.addAccountInfo(request1);
+ if(0 == status){
+ driverRide.setIsSynchronous(1);
+ driverRideService.updateById(driverRide);
+ }
+ }
+ }
+
+
List<OrderStatusWarpper> data = new ArrayList<>();
List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12);
- for(OrderPrivateCar orderPrivateCar : orderPrivateCars){
- if(orderPrivateCar.getState() == 11){
+ for (OrderPrivateCar orderPrivateCar : orderPrivateCars) {
+ if (orderPrivateCar.getState() == 11) {
orderPrivateCar.setState(orderPrivateCar.getOldState());
}
OrderStatusWarpper orderStatusWarpper = new OrderStatusWarpper();
@@ -166,8 +255,8 @@
data.add(orderStatusWarpper);
}
List<OrderTaxi> list = orderTaxiService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12);
- for(OrderTaxi orderTaxi : list){
- if(orderTaxi.getState() == 11){
+ for (OrderTaxi orderTaxi : list) {
+ if (orderTaxi.getState() == 11) {
orderTaxi.setState(orderTaxi.getOldState());
}
OrderStatusWarpper orderStatusWarpper = new OrderStatusWarpper();
@@ -178,8 +267,8 @@
data.add(orderStatusWarpper);
}
List<OrderCrossCity> orderCrossCities = orderCrossCityService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12);
- for(OrderCrossCity orderCrossCity : orderCrossCities){
- if(orderCrossCity.getState() == 11){
+ for (OrderCrossCity orderCrossCity : orderCrossCities) {
+ if (orderCrossCity.getState() == 11) {
orderCrossCity.setState(orderCrossCity.getOldState());
}
OrderStatusWarpper orderStatusWarpper = new OrderStatusWarpper();
@@ -190,17 +279,16 @@
data.add(orderStatusWarpper);
}
return ResultUtil.success(data);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
-
/**
* 获取个人中心订单列表
+ *
* @param type
* @param pageNum
* @param size
@@ -211,19 +299,19 @@
@PostMapping("/api/order/queryMyOrderList")
@ApiOperation(value = "获取个人中心订单列表", tags = {"用户端-个人中心"}, notes = "")
@ApiImplicitParams({
- @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流, 5=跨城小件物流,6=包车,7=助老模式)", name = "type", required = true, dataType = "int"),
- @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"),
- @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
- @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流, 5=跨城小件物流,6=包车,7=助老模式,8顺风车)", name = "type", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<List<OrderWarpper>> queryMyOrderList(Integer type, Integer pageNum, Integer size, HttpServletRequest request){
+ public ResultUtil<List<OrderWarpper>> queryMyOrderList(Integer type, Integer pageNum, Integer size, HttpServletRequest request) {
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
List<Map<String, Object>> list = null;
- switch (type){
+ switch (type) {
case 1:
list = orderPrivateCarService.queryMyOrderList(uid, pageNum, size);
break;
@@ -245,9 +333,12 @@
case 7:
// list = orderCallService.queryMyOrderList(uid, pageNum, size);
break;
+ case 8:
+ list = orderRideService.queryMyOrderList(uid, pageNum, size);
+ break;
}
return ResultUtil.success(OrderWarpper.getOrderWarpper(list));
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
@@ -255,6 +346,7 @@
/**
* 获取消费记录
+ *
* @param pageNum
* @param size
* @param request
@@ -268,10 +360,10 @@
@ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<List<TravelRecordWarpper>> queryMyTravelRecord(Integer pageNum, Integer size, HttpServletRequest request){
+ public ResultUtil<List<TravelRecordWarpper>> queryMyTravelRecord(Integer pageNum, Integer size, HttpServletRequest request) {
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
Integer page = pageNum;
@@ -280,7 +372,7 @@
.eq("type", 1).eq("userType", 1).eq("userId", uid).orderBy("insertTime desc limit " + pageNum + ", " + size));
List<Map<String, Object>> list = new ArrayList<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
- for(TransactionDetails t : transactionDetails){
+ for (TransactionDetails t : transactionDetails) {
Map<String, Object> map = new HashMap<>();
map.put("money", t.getState() == 1 ? t.getMoney() : -1 * t.getMoney());
map.put("time", sdf.format(t.getInsertTime()));
@@ -291,7 +383,7 @@
List<TravelRecordWarpper> orderWarpper = TravelRecordWarpper.getTravelRecordWarpper(list);
return ResultUtil.success(orderWarpper);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
@@ -300,6 +392,7 @@
/**
* 发票页获取订单列表
+ *
* @param type
* @param orderType
* @param startTime
@@ -327,17 +420,17 @@
})
public ResultUtil<List<OrderWarpper>> queryInvoiceOrder(Integer type, Integer orderType, Date startTime,
Date endTime, Double startMoney, Double endMoney,
- Integer pageNum, Integer size, HttpServletRequest request){
+ Integer pageNum, Integer size, HttpServletRequest request) {
Integer page = pageNum;
pageNum = (pageNum - 1) * size;
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
List<Map<String, Object>> list = new ArrayList<>();
- if(null != orderType){
- switch (orderType){
+ if (null != orderType) {
+ switch (orderType) {
case 1://专车
list = orderPrivateCarService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
break;
@@ -354,7 +447,7 @@
list = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
break;
}
- }else{
+ } else {
//专车
List<Map<String, Object>> maps = orderPrivateCarService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
list.addAll(maps);
@@ -373,25 +466,25 @@
}
//分页
- if(list.size() >= page * size){
+ if (list.size() >= page * size) {
list = list.subList(pageNum, pageNum + size);
- }else if(pageNum < list.size() && list.size() < page * size){
+ } else if (pageNum < list.size() && list.size() < page * size) {
list = list.subList(pageNum, list.size());
- }else{
+ } else {
list = new ArrayList<>();
}
return ResultUtil.success(OrderWarpper.getOrderWarpper(list));
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
/**
* 继续等待推单操作
+ *
* @param id
* @return
*/
@@ -403,45 +496,46 @@
@ApiImplicitParam(value = "订单类型(1=专车,2=出租车)", name = "orderType", required = true, dataType = "int"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil pushOrderTaxi(Integer id, Integer orderType){
+ public ResultUtil pushOrderTaxi(Integer id, Integer orderType) {
try {
- switch (orderType){
+ switch (orderType) {
case 1:
return orderPrivateCarService.pushOrderPrivateCar(id);
case 2:
return orderTaxiService.pushOrderTaxi(id);
}
return ResultUtil.success();
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
-
+
+
/**
* 获取服务中的详情数据
+ *
* @param orderId
* @param orderType
* @return
*/
@ResponseBody
@PostMapping("/api/order/queryOrderInfo")
- @ApiOperation(value = "获取服务中的详情数据", tags = {"用户端-服务中"}, notes = "",response = OrderInfoWarpper.class)
+ @ApiOperation(value = "获取服务中的详情数据", tags = {"用户端-服务中"}, notes = "", response = OrderInfoWarpper.class)
@ApiImplicitParams({
@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<OrderInfoWarpper> queryOrderInfo(Integer orderId, Integer orderType, HttpServletRequest request){
+ public ResultUtil<OrderInfoWarpper> queryOrderInfo(Integer orderId, Integer orderType, HttpServletRequest request) {
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
Map<String, Object> map = null;
List<OrderAdditionalFeeWarpper> list = new ArrayList<>();
- switch (orderType){
+ switch (orderType) {
case 1://专车
map = orderPrivateCarService.queryOrderInfo(uid, orderId);
break;
@@ -453,16 +547,13 @@
break;
}
- if(map.get("companyId") != null){
+ if (map.get("companyId") != null) {
Company companyId = companyService.selectById(map.get("companyId").toString());
map.put("companyName", companyId.getName());
- }else {
- String string = map.get("driverId").toString();
- Driver driver = driverService.selectById(string);
- Company company = companyService.selectById(driver.getCompanyId());
- map.put("companyName", company.getName());
+ } else {
+ map.put("companyName", "");
}
- if(map.get("telX") != null){
+ if (map.get("telX") != null) {
map.put("driverPhone", map.get("telX"));
}
List<OrderAdditionalFee> orderAdditionalFees = orderAdditionalFeeService.selectList(new EntityWrapper<OrderAdditionalFee>().eq("orderType", orderType).eq("orderId", orderId));
@@ -475,35 +566,35 @@
});
OrderInfoWarpper orderInfoWarpper = OrderInfoWarpper.getOrderInfoWarpper(map, list);
orderType = orderInfoWarpper.getOrderType();
- if(orderType==1){
+ if (orderType == 1) {
- if(orderInfoWarpper.getPid()!=0){
- orderId=orderInfoWarpper.getPid();
+ if (orderInfoWarpper.getPid() != 0) {
+ orderId = orderInfoWarpper.getPid();
}
- List<Map<String, Object>> orderList= orderPrivateCarService.queryOrderInfo2(orderId,4,null,null);
- if(!orderList.isEmpty()){
+ List<Map<String, Object>> orderList = orderPrivateCarService.queryOrderInfo2(orderId, 4, null, null);
+ if (!orderList.isEmpty()) {
orderInfoWarpper.setMeetOrderList(JSON.parseArray(JSON.toJSONString(orderList), OrderCrossCityInfoWrapper.class));
- }else{
+ } else {
orderInfoWarpper.setMeetOrderList(new ArrayList<>());
}
- orderList= orderPrivateCarService.queryOrderInfo2(orderId,6,null,null);
- if(orderInfoWarpper.getState()>1 && orderInfoWarpper.getDriverId()!=0){
- String value = (String) redisTemplate.opsForValue().get("DRIVER" + String.valueOf(orderInfoWarpper.getDriverId()));
- if(value==null || value.equals("")){
- if(orderList.isEmpty()){
- orderList= orderPrivateCarService.queryOrderInfo2(orderId,5,"0","0");
- }else{
- List<Map<String, Object>> orderList1 = orderPrivateCarService.queryOrderInfo2(orderId,5,"0","0");
- if(!orderList1.isEmpty()){
+ orderList = orderPrivateCarService.queryOrderInfo2(orderId, 6, null, null);
+ if (orderInfoWarpper.getState() > 1 && orderInfoWarpper.getDriverId() != 0) {
+ String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + String.valueOf(orderInfoWarpper.getDriverId()));
+ if (value == null || value.equals("")) {
+ if (orderList.isEmpty()) {
+ orderList = orderPrivateCarService.queryOrderInfo2(orderId, 5, "0", "0");
+ } else {
+ List<Map<String, Object>> orderList1 = orderPrivateCarService.queryOrderInfo2(orderId, 5, "0", "0");
+ if (!orderList1.isEmpty()) {
orderList.addAll(orderList1);
}
}
- }else{
- if(orderList.isEmpty()){
- orderList= orderPrivateCarService.queryOrderInfo2(orderId,5,value.split(",")[0],value.split(",")[1]);
- }else{
- List<Map<String, Object>> orderList1 = orderPrivateCarService.queryOrderInfo2(orderId,5,value.split(",")[0],value.split(",")[1]);
- if(!orderList1.isEmpty()){
+ } else {
+ if (orderList.isEmpty()) {
+ orderList = orderPrivateCarService.queryOrderInfo2(orderId, 5, value.split(",")[0], value.split(",")[1]);
+ } else {
+ List<Map<String, Object>> orderList1 = orderPrivateCarService.queryOrderInfo2(orderId, 5, value.split(",")[0], value.split(",")[1]);
+ if (!orderList1.isEmpty()) {
orderList.addAll(orderList1);
}
}
@@ -511,47 +602,58 @@
}
-
- if(!orderList.isEmpty()){
+ if (!orderList.isEmpty()) {
orderInfoWarpper.setGiveOrderList(JSON.parseArray(JSON.toJSONString(orderList), OrderCrossCityInfoWrapper.class));
- }else{
+ } else {
orderInfoWarpper.setGiveOrderList(new ArrayList<>());
}
OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
- if(orderPrivateCar.getState()>1){
- Map<String, Object> query1 = systemPriceMapper.query(orderPrivateCar.getCompanyId(), 1, orderPrivateCar.getServerCarModelId());
- System.out.println("参数:"+orderPrivateCar.getCompanyId()+"|"+orderPrivateCar.getServerCarModelId());
- System.out.println("query1:"+query1);
- //开始根据不同的方式计算金额
- if(query1!=null){
- JSONObject jsonObject = JSON.parseObject(query1.get("content").toString());//等待费
- JSONObject contentPutOne = JSON.parseObject(query1.get("contentPutOne").toString());//一人拼成
- JSONObject contentNotOne = JSON.parseObject(query1.get("contentNotOne").toString());//一人未拼成
- JSONObject contentPutTwo = JSON.parseObject(query1.get("contentPutTwo").toString());//2人拼成
- JSONObject contentNotTwo = JSON.parseObject(query1.get("contentNotTwo").toString());//2人未拼成
- JSONObject contentPutThree = JSON.parseObject(query1.get("contentPutThree").toString());//3人拼成
- JSONObject contentNotThree = JSON.parseObject(query1.get("contentNotThree").toString());//3人未拼成
- JSONObject contentExclusive = JSON.parseObject(query1.get("contentExclusive").toString());//独享
- JSONObject contentPrice = JSON.parseObject(query1.get("contentPrice").toString());//一口价
- //一口价
- orderInfoWarpper.setFareTypeNote1(query1.get("fareTypeNote1").toString());
- orderInfoWarpper.setFareTypeNote2(query1.get("fareTypeNote2").toString());
- orderInfoWarpper.setFareTypeNote3(query1.get("fareTypeNote3").toString());
- orderInfoWarpper.setContentPutOne(contentPutOne);
- orderInfoWarpper.setContentNotOne(contentNotOne);
-
- orderInfoWarpper.setContentPutTwo(contentPutTwo);
- orderInfoWarpper.setContentNotTwo(contentNotTwo);
-
- orderInfoWarpper.setContentPutThree(contentPutThree);
- orderInfoWarpper.setContentNotThree(contentNotThree);
-
-
- orderInfoWarpper.setContentExclusive(contentExclusive);
- orderInfoWarpper.setContentPrice(contentPrice);
+ if (orderPrivateCar.getState() > 1) {
+ Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
+ String provinceCode = geocode.get("provinceCode");
+ String cityCode = geocode.get("cityCode");
+ String districtCode = geocode.get("districtCode");
+ //获取匹配的城市价格配置
+ SystemPriceCity systemPriceCity = systemPriceCityService.queryOne(provinceCode, cityCode, districtCode);
+ if (null == systemPriceCity) {
+ return ResultUtil.error("请先配置价格规则");
}
- }else{
+ if (orderPrivateCar.getServerCarModelId() == null) {
+ orderPrivateCar.setServerCarModelId(0);
+ }
+ Map<String, Object> query1 = systemPriceMapper.query(orderPrivateCar.getCompanyId(), 1, orderPrivateCar.getServerCarModelId(), systemPriceCity.getId());
+// System.out.println("参数:" + orderPrivateCar.getCompanyId() + "|" + orderPrivateCar.getServerCarModelId());
+// System.out.println("query1:" + query1);
+ //开始根据不同的方式计算金额
+ if (query1 != null) {
+ JSONObject jsonObject = JSON.parseObject(query1.get("content").toString());//等待费
+ JSONObject contentPutOne = JSON.parseObject(query1.get("contentPutOne").toString());//一人拼成
+ JSONObject contentNotOne = JSON.parseObject(query1.get("contentNotOne").toString());//一人未拼成
+ JSONObject contentPutTwo = JSON.parseObject(query1.get("contentPutTwo").toString());//2人拼成
+ JSONObject contentNotTwo = JSON.parseObject(query1.get("contentNotTwo").toString());//2人未拼成
+ JSONObject contentPutThree = JSON.parseObject(query1.get("contentPutThree").toString());//3人拼成
+ JSONObject contentNotThree = JSON.parseObject(query1.get("contentNotThree").toString());//3人未拼成
+ JSONObject contentExclusive = JSON.parseObject(query1.get("contentExclusive").toString());//独享
+ JSONObject contentPrice = JSON.parseObject(query1.get("contentPrice").toString());//一口价
+ //一口价
+ orderInfoWarpper.setFareTypeNote1(query1.get("fareTypeNote1").toString());
+ orderInfoWarpper.setFareTypeNote2(query1.get("fareTypeNote2").toString());
+ orderInfoWarpper.setFareTypeNote3(query1.get("fareTypeNote3").toString());
+ orderInfoWarpper.setContentPutOne(contentPutOne);
+ orderInfoWarpper.setContentNotOne(contentNotOne);
+
+ orderInfoWarpper.setContentPutTwo(contentPutTwo);
+ orderInfoWarpper.setContentNotTwo(contentNotTwo);
+
+ orderInfoWarpper.setContentPutThree(contentPutThree);
+ orderInfoWarpper.setContentNotThree(contentNotThree);
+
+
+ orderInfoWarpper.setContentExclusive(contentExclusive);
+ orderInfoWarpper.setContentPrice(contentPrice);
+ }
+ } else {
orderInfoWarpper.setContentPutOne(new JSONObject());
orderInfoWarpper.setContentNotOne(new JSONObject());
@@ -566,7 +668,7 @@
orderInfoWarpper.setContentPrice(new JSONObject());
}
- }else{
+ } else {
orderInfoWarpper.setContentPutOne(new JSONObject());
orderInfoWarpper.setContentNotOne(new JSONObject());
@@ -581,11 +683,11 @@
orderInfoWarpper.setContentPrice(new JSONObject());
}
String arriveTime = orderInfoWarpper.getArriveTime();
- if(ToolUtil.isNotEmpty(arriveTime)){
- orderInfoWarpper.setTime(arriveTime.substring(11,arriveTime.length()-3));
+ if (ToolUtil.isNotEmpty(arriveTime)) {
+ orderInfoWarpper.setTime(arriveTime.substring(11, arriveTime.length() - 3));
}
return ResultUtil.success(orderInfoWarpper);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
@@ -594,7 +696,7 @@
@ResponseBody
@PostMapping("/api/order/addAppeal")
- @ApiOperation(value = "发起申诉", tags = {"用户端-服务中"}, notes = "",response = OrderInfoWarpper.class)
+ @ApiOperation(value = "发起申诉", tags = {"用户端-服务中"}, notes = "", response = OrderInfoWarpper.class)
@ApiImplicitParams({
@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
@@ -602,34 +704,34 @@
@ApiImplicitParam(value = "申诉图片", name = "abnormalImg", required = true, dataType = "String"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<OrderInfoWarpper> addAppeal(Integer orderId, Integer orderType,String abnormalIntro, String abnormalImg, HttpServletRequest request){
+ public ResultUtil<OrderInfoWarpper> addAppeal(Integer orderId, Integer orderType, String abnormalIntro, String abnormalImg, HttpServletRequest request) {
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
- switch (orderType){
+ switch (orderType) {
case 1://专车
- orderPrivateCarService.addAppeal(uid, orderId,abnormalIntro,abnormalImg);
+ orderPrivateCarService.addAppeal(uid, orderId, abnormalIntro, abnormalImg);
break;
case 2://出租车
- orderTaxiService.addAppeal(uid,orderId,abnormalIntro,abnormalImg);
+ orderTaxiService.addAppeal(uid, orderId, abnormalIntro, abnormalImg);
break;
case 3://跨城
- orderCrossCityService.addAppeal(uid,orderId,abnormalIntro,abnormalImg);
+ orderCrossCityService.addAppeal(uid, orderId, abnormalIntro, abnormalImg);
break;
}
return ResultUtil.success();
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
/**
* 获取服务中的详情数据
+ *
* @param orderId
* @param orderType
* @return
@@ -641,11 +743,11 @@
@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
})
- public ResultUtil<OrderInfoWarpper> queryOrderInfo_(Integer orderId, Integer orderType){
+ public ResultUtil<OrderInfoWarpper> queryOrderInfo_(Integer orderId, Integer orderType) {
try {
Map<String, Object> map = null;
List<OrderAdditionalFeeWarpper> list = new ArrayList<>();
- switch (orderType){
+ switch (orderType) {
case 1://专车
map = orderPrivateCarService.queryOrderInfo(null, orderId);
break;
@@ -656,7 +758,7 @@
map = orderCrossCityService.queryOrderInfo(orderId);
break;
}
- if(null != map.get("telX")){
+ if (null != map.get("telX")) {
map.put("driverPhone", map.get("telX"));
}
List<OrderAdditionalFee> orderAdditionalFees = orderAdditionalFeeService.selectList(new EntityWrapper<OrderAdditionalFee>().eq("orderType", orderType).eq("orderId", orderId));
@@ -668,17 +770,16 @@
list.add(orderAdditionalFeeWarpper);
});
return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map, list));
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
-
/**
* 获取订单取消支付页面详情
+ *
* @param orderId
* @param orderType
* @return
@@ -691,10 +792,10 @@
@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<OrderInfoWarpper> queryCancelPage(Integer orderId, Integer orderType, HttpServletRequest request){
+ public ResultUtil<OrderInfoWarpper> queryCancelPage(Integer orderId, Integer orderType, HttpServletRequest request) {
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
Map<String, Object> map = null;
@@ -716,7 +817,7 @@
map.put("cancelPayMoney", r.getData().getAmount());
break;
}
- if(null != map.get("telX")){
+ if (null != map.get("telX")) {
map.put("driverPhone", map.get("telX"));
}
List<OrderAdditionalFee> orderAdditionalFees = orderAdditionalFeeService.selectList(new EntityWrapper<OrderAdditionalFee>().eq("orderType", orderType).eq("orderId", orderId));
@@ -728,7 +829,7 @@
list.add(orderAdditionalFeeWarpper);
});
return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map, list));
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
@@ -737,6 +838,7 @@
/**
* 获取订单轨迹坐标
+ *
* @param orderId
* @param orderType
* @return
@@ -749,20 +851,20 @@
@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil queryTrack(Integer orderId, Integer orderType){
+ public ResultUtil queryTrack(Integer orderId, Integer orderType) {
try {
List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, orderType);
return ResultUtil.success(list);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
/**
* 获取订单轨迹坐标
+ *
* @param orderId
* @param orderType
* @return
@@ -774,11 +876,11 @@
@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
})
- public ResultUtil queryTrack_(Integer orderId, Integer orderType){
+ public ResultUtil queryTrack_(Integer orderId, Integer orderType) {
try {
List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, orderType);
return ResultUtil.success(list);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
@@ -787,24 +889,25 @@
/**
* 发送订单状态
+ *
* @param id
* @param orderType
* @return
*/
@ResponseBody
@PostMapping("/base/order/sendOrderState")
- public ResultUtil cancelOrder(Integer id, Integer orderType){
+ public ResultUtil cancelOrder(Integer id, Integer orderType) {
try {
Integer driverId = null;
Integer userId = null;
Integer state = 0;
- switch (orderType){
+ switch (orderType) {
case 1:
OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(id);
driverId = orderPrivateCar.getDriverId();
userId = orderPrivateCar.getUserId();
state = orderPrivateCar.getState();
- if(null != driverId){
+ if (null != driverId) {
pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
}
break;
@@ -813,7 +916,7 @@
driverId = orderTaxi.getDriverId();
userId = orderTaxi.getUserId();
state = orderTaxi.getState();
- if(null != driverId){
+ if (null != driverId) {
pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
}
break;
@@ -822,9 +925,9 @@
driverId = orderCrossCity.getDriverId();
userId = orderCrossCity.getUserId();
state = orderCrossCity.getState();
- if(orderCrossCity.getPayMoney() == null && state == 10){//支付的情况才推送取消
+ if (orderCrossCity.getPayMoney() == null && state == 10) {//支付的情况才推送取消
break;
- }else{
+ } else {
pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
}
break;
@@ -833,9 +936,9 @@
driverId = orderLogistics.getDriverId();
userId = orderLogistics.getUserId();
state = orderLogistics.getState();
- if(orderLogistics.getPayMoney() == null && state == 10){//支付的情况才推送取消
+ if (orderLogistics.getPayMoney() == null && state == 10) {//支付的情况才推送取消
break;
- }else{
+ } else {
pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
}
break;
@@ -844,16 +947,16 @@
driverId = orderLogistics1.getDriverId();
userId = orderLogistics1.getUserId();
state = orderLogistics1.getState();
- if(orderLogistics1.getPayMoney() == null && state == 10){//支付的情况才推送取消
+ if (orderLogistics1.getPayMoney() == null && state == 10) {//支付的情况才推送取消
break;
- }else{
+ } else {
pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
}
break;
}
pushUtil.pushOrderState(1, userId, id, orderType, state, 0);
return ResultUtil.success();
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
@@ -862,6 +965,7 @@
/**
* APP调用微信小程序支付
+ *
* @param orderId
* @param orderType
* @param type
@@ -879,10 +983,10 @@
@ApiImplicitParam(value = "用户id", name = "uid", required = true, dataType = "int"),
@ApiImplicitParam(value = "附加参数{\"key\":\"value\"}", name = "content", required = true, dataType = "string")
})
- public ResultUtil weChatPay(Integer orderId, Integer orderType, Integer type, Integer userType, Integer uid, String content){
+ public ResultUtil weChatPay(Integer orderId, Integer orderType, Integer type, Integer userType, Integer uid, String content) {
try {
return orderService.weChatPay(orderId, orderType, type, userType, uid, content);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
@@ -896,12 +1000,12 @@
@ApiImplicitParam(value = "端口类型(1=用户端,2=司机端)", name = "userType", required = true, dataType = "int"),
@ApiImplicitParam(value = "用户id", name = "uid", required = true, dataType = "int")
})
- public ResultUtil queryUserOpenId(Integer uid, Integer userType){
- if(userType == 2){
+ public ResultUtil queryUserOpenId(Integer uid, Integer userType) {
+ if (userType == 2) {
Driver driver = driverService.selectById(uid);
return ResultUtil.success(driver.getAppletsOpenId());
}
- if(userType == 1){
+ if (userType == 1) {
UserInfo userInfo = userInfoService.selectById(uid);
return ResultUtil.success(userInfo.getAppletsOpenId());
}
@@ -917,14 +1021,14 @@
@ApiImplicitParam(value = "用户id", name = "uid", required = true, dataType = "int"),
@ApiImplicitParam(value = "小程序授权临时凭证", name = "jscode", required = true, dataType = "string"),
})
- public ResultUtil getWeChatOpenId(Integer uid, Integer userType, String jscode){
+ public ResultUtil getWeChatOpenId(Integer uid, Integer userType, String jscode) {
Map<String, String> map = weChatUtil.code2Session(jscode);
- if(userType == 2){
+ if (userType == 2) {
Driver driver = driverService.selectById(uid);
driver.setAppletsOpenId(map.get("openid"));
driverService.updateById(driver);
}
- if(userType == 1){
+ if (userType == 1) {
UserInfo userInfo = userInfoService.selectById(uid);
userInfo.setAppletsOpenId(map.get("openid"));
userInfoService.updateById(userInfo);
@@ -933,9 +1037,9 @@
}
-
/**
* 获取预计行驶时间
+ *
* @param slon
* @param slat
* @param elon
@@ -951,20 +1055,19 @@
@ApiImplicitParam(value = "终点经度", name = "elon", required = true, dataType = "double"),
@ApiImplicitParam(value = "终点纬度", name = "elat", required = true, dataType = "double")
})
- public ResultUtil<BaseWarpper> queryExpectedTime(Double slon, Double slat, Double elon, Double elat){
+ public ResultUtil<BaseWarpper> queryExpectedTime(Double slon, Double slat, Double elon, Double elat) {
try {
return orderService.queryExpectedTime(slon, slat, elon, elat);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
-
/**
* 获取取消订单需要支付的费用金额
+ *
* @param id
* @return
*/
@@ -976,9 +1079,9 @@
@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<BaseWarpper> queryCancleAmount(Integer id, Integer orderType){
+ public ResultUtil<BaseWarpper> queryCancleAmount(Integer id, Integer orderType) {
try {
- switch (orderType){
+ switch (orderType) {
case 1:
return orderPrivateCarService.queryCancleAmount(id);
case 2:
@@ -987,17 +1090,16 @@
return orderCrossCityService.queryCancleAmount(id);
}
return ResultUtil.success();
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
-
/**
* 添加取消记录
+ *
* @param id
* @param reason
* @param remark
@@ -1014,13 +1116,13 @@
@ApiImplicitParam(value = "备注", name = "remark", required = false, dataType = "string"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil addCancle(Integer id, Integer orderType, String reason, String remark, HttpServletRequest request){
+ public ResultUtil addCancle(Integer id, Integer orderType, String reason, String remark, HttpServletRequest request) {
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
- switch (orderType){
+ switch (orderType) {
case 1:
return orderPrivateCarService.addCancle(id, reason, remark, uid);
case 2:
@@ -1035,16 +1137,16 @@
return orderCharteredCarService.addCancle(id, reason, remark, uid);
}
return ResultUtil.success();
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
/**
* 取消操作支付
+ *
* @param id
* @param payType
* @return
@@ -1060,13 +1162,13 @@
@ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil cancleOrderTaxi(Integer id, Integer orderType, Integer payType, Integer cancleId, Integer type, HttpServletRequest request){
+ public ResultUtil cancleOrderTaxi(Integer id, Integer orderType, Integer payType, Integer cancleId, Integer type, HttpServletRequest request) {
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
- switch (orderType){
+ switch (orderType) {
case 1:
return orderPrivateCarService.cancleOrderPrivateCar(id, payType, cancleId, type);
case 2:
@@ -1075,16 +1177,16 @@
return orderCrossCityService.cancleOrderCrossCity(id, payType, cancleId, type);
}
return ResultUtil.success();
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
/**
* 投诉操作
+ *
* @param driverId
* @param reason
* @param description
@@ -1100,24 +1202,24 @@
@ApiImplicitParam(value = "投诉描述", name = "description", required = true, dataType = "String"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil complaintService(Integer driverId, String reason, String description, HttpServletRequest request){
+ public ResultUtil complaintService(Integer driverId, String reason, String description, HttpServletRequest request) {
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
complaintService.saveData(driverId, reason, description, uid);
return ResultUtil.success();
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
/**
* 支付页面获取可用优惠券数量和余额
+ *
* @param orderId
* @param request
* @return
@@ -1130,14 +1232,14 @@
@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil queryBalance(Integer orderId, Integer orderType, HttpServletRequest request){
+ public ResultUtil queryBalance(Integer orderId, Integer orderType, HttpServletRequest request) {
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
Map<String, Object> map = new HashMap<>();
- switch (orderType){
+ switch (orderType) {
case 1:
map = orderPrivateCarService.queryBalance(orderId, uid);
break;
@@ -1155,36 +1257,36 @@
break;
}
return ResultUtil.success(map);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
/**
* 支付页面获取余额和优惠数据
+ *
* @param orderId
* @param request
* @return
*/
@ResponseBody
@PostMapping("/api/taxi/queryBalance1")
- @ApiOperation(value = "1.0-支付页面获取余额和优惠数据", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城","用户端-小件物流"})
+ @ApiOperation(value = "1.0-支付页面获取余额和优惠数据", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"})
@ApiImplicitParams({
@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=同城小件物流,5=跨城小件物流)", name = "orderType", required = true, dataType = "int"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<PreferentialDataVo> queryBalance1(Integer orderId, Integer orderType, HttpServletRequest request){
+ public ResultUtil<PreferentialDataVo> queryBalance1(Integer orderId, Integer orderType, HttpServletRequest request) {
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
PreferentialDataVo map = new PreferentialDataVo();
- switch (orderType){
+ switch (orderType) {
case 1:
map = orderPrivateCarService.queryBalance1(orderId, uid);
break;
@@ -1206,19 +1308,21 @@
case 7:
// map = orde.queryBalance1(orderId, uid);
break;
+ case 8:
+ map = orderRideService.queryBalance1(orderId, uid);
+ break;
}
return ResultUtil.success(map);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
-
/**
* 获取支付页面的优惠券列表
+ *
* @param orderId
* @param pageNum
* @param size
@@ -1235,14 +1339,14 @@
@ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil queryCoupon(Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request){
+ public ResultUtil queryCoupon(Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request) {
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
List<Map<String, Object>> list = new ArrayList<>();
- switch (orderType){
+ switch (orderType) {
case 1:
list = orderPrivateCarService.queryCoupon(orderId, uid, pageNum, size);
break;
@@ -1254,18 +1358,16 @@
break;
}
return ResultUtil.success(CouponWarpper.getCouponWarppers(list));
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
-
@ResponseBody
@PostMapping("/api/taxi/queryCouponList")
- @ApiOperation(value = "1.0-获取支付页面的优惠券和打车卡列表", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城","用户端-小件物流"}, notes = "")
+ @ApiOperation(value = "1.0-获取支付页面的优惠券和打车卡列表", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
@ApiImplicitParams({
@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=同城小件物流,5=跨城小件物流)", name = "orderType", required = true, dataType = "int"),
@@ -1273,14 +1375,14 @@
@ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<List<CouponsListVo>> queryCouponList(Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request){
+ public ResultUtil<List<CouponsListVo>> queryCouponList(Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request) {
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
List<CouponsListVo> list = new ArrayList<>();
- switch (orderType){
+ switch (orderType) {
case 1:
list = orderPrivateCarService.queryCouponList(orderId, uid, pageNum, size);
break;
@@ -1298,16 +1400,16 @@
break;
}
return ResultUtil.success(list);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
/**
* 订单完成支付订单操作
+ *
* @param payType
* @param orderId
* @param request
@@ -1324,13 +1426,13 @@
@ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil payTaxiOrder(Integer payType, Integer orderId, Integer orderType, Integer couponId, Integer type, HttpServletRequest request){
+ public ResultUtil payTaxiOrder(Integer payType, Integer orderId, Integer orderType, Integer couponId, Integer type, HttpServletRequest request) {
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
- switch (orderType){
+ switch (orderType) {
case 1:
return orderPrivateCarService.payPrivateCarOrder(payType, orderId, couponId, type);
case 2:
@@ -1343,12 +1445,11 @@
return orderLogisticsService.payLogisticsOrder(payType, orderId, type);
}
return ResultUtil.success();
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
@ResponseBody
@@ -1361,40 +1462,45 @@
@ApiImplicitParam(value = "优惠数据id", name = "objectId", required = false, dataType = "int"),
@ApiImplicitParam(value = "数据类型(1=优惠券,2=打车卡)", name = "objectType", required = false, dataType = "int"),
@ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "小程序支付成功跳转路径", name = "path", required = true, dataType = "String"),
+ @ApiImplicitParam(value = "设备当前IP地址", name = "ip", required = true, dataType = "String"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil payTaxiOrder1(Integer payType, Integer orderId, Integer orderType, Integer objectId, Integer objectType, Integer type, HttpServletRequest request){
+ public ResultUtil payTaxiOrder1(Integer payType, Integer orderId, Integer orderType, Integer objectId, Integer objectType, Integer type, String path, String ip, HttpServletRequest request) {
System.out.println(objectType);
System.out.println(objectId);
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
- switch (orderType){
+ switch (orderType) {
case 1:
- return orderPrivateCarService.payPrivateCarOrder1(payType, orderId, objectId, objectType, type);
+ return orderPrivateCarService.payPrivateCarOrder1(payType, orderId, objectId, objectType, type, path, ip);
case 2:
- return orderTaxiService.payTaxiOrder1(payType, orderId, objectId, objectType, type);
+ return orderTaxiService.payTaxiOrder1(payType, orderId, objectId, objectType, type, path, ip);
case 3:
- return orderCrossCityService.payCrossCityOrder1(payType, orderId, objectId, objectType, type);
+ ResultUtil resultUtil = orderCrossCityService.payCrossCityOrder1(payType, orderId, objectId, objectType, type, path, ip);
+
+ orderCrossCityService.promotion(orderId);
+
+ return resultUtil;
case 4:
return orderLogisticsService.payLogisticsOrder1(payType, orderId, objectId, objectType, type);
case 5:
return orderLogisticsService.payLogisticsOrder1(payType, orderId, objectId, objectType, type);
}
return ResultUtil.success();
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
-
/**
* 订单完成后添加评价操作
+ *
* @param orderId
* @param fraction
* @param content
@@ -1410,19 +1516,39 @@
@ApiImplicitParam(value = "评价内容", name = "content", required = false, dataType = "String"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil orderEvaluate(Integer orderId, Integer orderType, Integer fraction, String content){
+ public ResultUtil orderEvaluate(Integer orderId, Integer orderType, Integer fraction, String content) {
try {
ResultUtil resultUtil = orderEvaluateService.saveData(orderId, orderType, fraction, content);
- if(resultUtil.getCode() == 200){
- switch (orderType){
+ if (resultUtil.getCode() == 200) {
+ switch (orderType) {
case 1:
OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
orderPrivateCar.setState(9);
+ orderPrivateCar.setPayTime(new Date());
orderPrivateCarService.updateById(orderPrivateCar);
+ if(ToolUtil.isNotEmpty(orderPrivateCar.getTravelId())){
+ Driver driver1 = null;
+ Company company = null;
+ //中台修改订单状态
+ ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
+ request.setOrderId(orderPrivateCar.getTravelId());
+ request.setStatus(orderPrivateCar.getState());
+ if (null != orderPrivateCar.getDriverId()) {
+ driver1 = driverService.selectById(orderPrivateCar.getDriverId());
+ company = companyService.selectById(driver1.getCompanyId());
+ request.setDriverId(driver1.getEmpId().toString());
+ request.setSupplierShopId(company.getEnterCode());
+ }
+ if (2 == orderPrivateCar.getPromotion()) {
+ Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId());
+ request.setPromoterId(driver2.getEmpId().toString());
+ }
+ OrderUtil.modifyTravelItinerary(request);
+ }
new Thread(new Runnable() {
@Override
public void run() {
- if(pushMinistryOfTransport){//上传数据
+ if (pushMinistryOfTransport) {//上传数据
pushMinistryOfTransportUtil.ratedPassenger(Integer.valueOf(resultUtil.getData().toString()));
pushMinistryOfTransportUtil.ratedDriver(orderPrivateCar.getDriverId());
}
@@ -1432,7 +1558,27 @@
case 2:
OrderTaxi orderTaxi = orderTaxiService.selectById(orderId);
orderTaxi.setState(9);
+ orderTaxi.setPayTime(new Date());
orderTaxiService.updateById(orderTaxi);
+ if(ToolUtil.isNotEmpty(orderTaxi.getTravelId())){
+ Driver driver = null;
+ Company company1 = null;
+ //中台修改订单状态
+ ModifyTravelItineraryRequest request2 = new ModifyTravelItineraryRequest();
+ request2.setOrderId(orderTaxi.getTravelId());
+ request2.setStatus(orderTaxi.getState());
+ if (null != orderTaxi.getDriverId()) {
+ driver = driverService.selectById(orderTaxi.getDriverId());
+ company1 = companyService.selectById(driver.getCompanyId());
+ request2.setDriverId(driver.getEmpId().toString());
+ request2.setSupplierShopId(company1.getEnterCode());
+ }
+ if (2 == orderTaxi.getPromotion()) {
+ Driver driver2 = driverService.selectById(orderTaxi.getPromotionDriverId());
+ request2.setPromoterId(driver2.getEmpId().toString());
+ }
+ OrderUtil.modifyTravelItinerary(request2);
+ }
break;
case 3:
OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId);
@@ -1442,16 +1588,16 @@
}
}
return resultUtil.getCode() == 200 ? ResultUtil.success() : resultUtil;
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
/**
* 评论成功后获取红包金额
+ *
* @param orderId
* @return
*/
@@ -1463,9 +1609,9 @@
@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<BaseWarpper> queryRedMoney(Integer orderId, Integer orderType){
+ public ResultUtil<BaseWarpper> queryRedMoney(Integer orderId, Integer orderType) {
try {
- switch (orderType){
+ switch (orderType) {
case 1:
return orderPrivateCarService.queryRedMoney(orderId);
case 2:
@@ -1474,17 +1620,16 @@
return orderCrossCityService.queryRedMoney(orderId);
}
return ResultUtil.success();
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
-
/**
* 分享成功后添加红包操作
+ *
* @param orderId
* @return
*/
@@ -1496,9 +1641,9 @@
@ApiImplicitParam(value = "订单类型", name = "orderType", required = true, dataType = "int"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil shareRedEnvelope(Integer orderId, Integer orderType){
+ public ResultUtil shareRedEnvelope(Integer orderId, Integer orderType) {
try {
- switch (orderType){
+ switch (orderType) {
case 1:
return orderPrivateCarService.shareRedEnvelope(orderId);
case 2:
@@ -1507,32 +1652,28 @@
return orderCrossCityService.shareRedEnvelope(orderId);
}
return ResultUtil.success();
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
-
-
-
-
/**
* 取消订单微信回调
+ *
* @param request
*/
@ResponseBody
@PostMapping("/base/wxCancelOrderTaxi")
- public void wxCancelOrderTaxi(HttpServletRequest request, HttpServletResponse response){
+ public void wxCancelOrderTaxi(HttpServletRequest request, HttpServletResponse response) {
try {
Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
- if(null != map){
+ if (null != map) {
String order_id = map.get("transaction_id");
String out_trade_no = map.get("out_trade_no");
String result = map.get("result");
- if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){
+ if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
PrintWriter out = response.getWriter();
out.write(result);
out.flush();
@@ -1541,7 +1682,7 @@
String[] split = out_trade_no.split("_");
Integer id = Integer.valueOf(split[0]);
Integer type = Integer.valueOf(split[1]);
- switch (type){
+ switch (type) {
case 1:
orderPrivateCarService.payCancelOrderPrivateCar(id, order_id, 1);
break;
@@ -1556,7 +1697,7 @@
// cloudPay(map.get("total_fee"),map.get("transaction_id"),1);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
}
@@ -1564,21 +1705,22 @@
/**
* 取消订单支付宝回调
+ *
* @param request
*/
@ResponseBody
@PostMapping("/base/aliCancelOrderTaxi")
- public void aliCancelOrderTaxi(HttpServletRequest request, HttpServletResponse response){
+ public void aliCancelOrderTaxi(HttpServletRequest request, HttpServletResponse response) {
try {
Map<String, String> map = payMoneyUtil.alipayCallback(request);
- if(null != map){
+ if (null != map) {
String out_trade_no = map.get("out_trade_no");
String order_id = map.get("trade_no");
- if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){
+ if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
String[] split = out_trade_no.split("_");
Integer id = Integer.valueOf(split[0]);
Integer type = Integer.valueOf(split[1]);
- switch (type){
+ switch (type) {
case 1:
orderPrivateCarService.payCancelOrderPrivateCar(id, order_id, 2);
break;
@@ -1596,7 +1738,7 @@
}
// cloudPay(map.get("total_amount"),map.get("trade_no"),0);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
}
@@ -1604,22 +1746,23 @@
/**
* 完成订单微信支付回调
+ *
* @param request
*/
@ResponseBody
@PostMapping("/base/wxPayOrderTaxi")
- public void wxPayOrderTaxi(HttpServletRequest request, HttpServletResponse response){
+ public void wxPayOrderTaxi(HttpServletRequest request, HttpServletResponse response) {
try {
System.out.println("完成订单微信支付回调");
Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
- System.out.println("wx支付信息:"+map);
- if(null != map){
+ System.out.println("wx支付信息:" + map);
+ if (null != map) {
String order_id = map.get("transaction_id");
String out_trade_no = map.get("out_trade_no");
String result = map.get("result");
String total_fee = map.get("total_fee");
String transaction_id = map.get("transaction_id");
- if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){
+ if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
PrintWriter out = response.getWriter();
out.write(result);
out.flush();
@@ -1628,15 +1771,15 @@
String[] split = out_trade_no.split("_");
Integer id = Integer.valueOf(split[0]);
Integer type = Integer.valueOf(split[1]);
- switch (type){
+ switch (type) {
case 1:
orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 1);
break;
case 2:
- orderTaxiService.payOrderTaxiCallback(id, order_id, 1,0);
+ orderTaxiService.payOrderTaxiCallback(id, order_id, 1, 0);
break;
case 3:
- orderCrossCityService.payOrderCrossCityCallback(id, order_id, 1,null);
+ orderCrossCityService.payOrderCrossCityCallback(id, order_id, 1, null);
break;
case 4:
orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1);
@@ -1652,7 +1795,7 @@
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
}
@@ -1660,29 +1803,30 @@
/**
* 完成订单支付宝支付回调
+ *
* @param request
*/
@ResponseBody
@PostMapping("/base/aliPayOrderTaxi")
- public void aliPayOrderTaxi(HttpServletRequest request, HttpServletResponse response){
+ public void aliPayOrderTaxi(HttpServletRequest request, HttpServletResponse response) {
try {
Map<String, String> map = payMoneyUtil.alipayCallback(request);
- if(null != map){
+ if (null != map) {
String out_trade_no = map.get("out_trade_no");
String order_id = map.get("trade_no");
- if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){
+ if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
String[] split = out_trade_no.split("_");
Integer id = Integer.valueOf(split[0]);
Integer type = Integer.valueOf(split[1]);
- switch (type){
+ switch (type) {
case 1:
orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 2);
break;
case 2:
- orderTaxiService.payOrderTaxiCallback(id, order_id, 2,0);
+ orderTaxiService.payOrderTaxiCallback(id, order_id, 2, 0);
break;
case 3:
- orderCrossCityService.payOrderCrossCityCallback(id, order_id, 2,null);
+ orderCrossCityService.payOrderCrossCityCallback(id, order_id, 2, null);
break;
case 4:
orderLogisticsService.payOrderLogisticsCallback(id, order_id, 2);
@@ -1698,28 +1842,27 @@
}
// cloudPay(map.get("total_amount"),map.get("trade_no"),0);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
}
-
-
/**
* 小件物流差价微信支付回调
+ *
* @param request
*/
@ResponseBody
@PostMapping("/base/wxPayOrderLogisticsSpread")
- public void wxPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response){
+ public void wxPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response) {
try {
Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
- if(null != map){
+ if (null != map) {
String order_id = map.get("transaction_id");
String out_trade_no = map.get("out_trade_no");
String result = map.get("result");
- if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){
+ if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
PrintWriter out = response.getWriter();
out.write(result);
out.flush();
@@ -1733,7 +1876,7 @@
// cloudPay(map.get("total_fee"),map.get("transaction_id"),1);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
}
@@ -1741,17 +1884,18 @@
/**
* 小件物流差价支付宝支付回调
+ *
* @param request
*/
@ResponseBody
@PostMapping("/base/aliPayOrderLogisticsSpread")
- public void aliPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response){
+ public void aliPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response) {
try {
Map<String, String> map = payMoneyUtil.alipayCallback(request);
- if(null != map){
+ if (null != map) {
String out_trade_no = map.get("out_trade_no");
String order_id = map.get("trade_no");
- if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){
+ if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
String[] split = out_trade_no.split("_");
Integer id = Integer.valueOf(split[0]);
Integer type = Integer.valueOf(split[1]);
@@ -1764,27 +1908,28 @@
}
// cloudPay(map.get("total_amount"),map.get("trade_no"),0);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
}
/**
* 取消订单微信退款成功回调
+ *
* @param request
* @param response
*/
@ResponseBody
@PostMapping("/base/cancleOrderWXPay")
- public void cancleOrderWXPay(HttpServletRequest request, HttpServletResponse response){
+ public void cancleOrderWXPay(HttpServletRequest request, HttpServletResponse response) {
try {
System.out.println("小件物流取消");
Map<String, String> map = payMoneyUtil.wxRefundCallback(request);
- if(null != map){
+ if (null != map) {
String order_id = map.get("refund_id");
String out_refund_no = map.get("out_refund_no");
String result = map.get("result");
- if(ToolUtil.isNotEmpty(out_refund_no) && ToolUtil.isNotEmpty(order_id)){
+ if (ToolUtil.isNotEmpty(out_refund_no) && ToolUtil.isNotEmpty(order_id)) {
PrintWriter out = response.getWriter();
out.write(result);
out.flush();
@@ -1793,8 +1938,8 @@
String[] split = out_refund_no.split("_");
Integer id = Integer.valueOf(split[0]);
Integer type = Integer.valueOf(split[1]);
- System.out.println("取消回调:"+type);
- switch (type){
+ System.out.println("取消回调:" + type);
+ switch (type) {
case 1:
break;
case 2:
@@ -1836,7 +1981,7 @@
}
// cloudPay(map.get("total_fee"),map.get("transaction_id"),1);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
}
@@ -1844,22 +1989,23 @@
/**
* 购买出行卡微信支付回调
+ *
* @param request
* @param response
*/
@ResponseBody
@PostMapping("/base/wxPayTaxiCardPaymentSpread")
- public void wxPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response){
+ public void wxPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response) {
try {
System.out.println("购买出行卡微信支付回调");
Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
- System.out.println("购买出行卡微信支付回调"+map);
- if(null != map){
+ System.out.println("购买出行卡微信支付回调" + map);
+ if (null != map) {
String order_id = map.get("transaction_id");
String out_trade_no = map.get("out_trade_no");
String result = map.get("result");
- System.out.println(out_trade_no+"_"+order_id);
- if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){
+ System.out.println(out_trade_no + "_" + order_id);
+ if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
PrintWriter out = response.getWriter();
out.write(result);
out.flush();
@@ -1868,7 +2014,7 @@
}
// cloudPay(map.get("total_fee"),map.get("transaction_id"),1);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
}
@@ -1876,18 +2022,19 @@
/**
* 购买出行卡支付宝支付回调
+ *
* @param request
* @param response
*/
@ResponseBody
@PostMapping("/base/aliPayTaxiCardPaymentSpread")
- public void aliPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response){
+ public void aliPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response) {
try {
Map<String, String> map = payMoneyUtil.alipayCallback(request);
- if(null != map){
+ if (null != map) {
String out_trade_no = map.get("out_trade_no");
String order_id = map.get("trade_no");
- if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){
+ if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
taxiCardService.payTaxiCardPaymentSpread(Integer.valueOf(out_trade_no), order_id);
PrintWriter out = response.getWriter();
@@ -1897,7 +2044,7 @@
}
// cloudPay(map.get("total_amount"),map.get("trade_no"),0);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
}
@@ -1914,13 +2061,13 @@
@ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil payThankYouFee(Integer orderId, Integer orderType, Double money, Integer payType, Integer type, HttpServletRequest request){
+ public ResultUtil payThankYouFee(Integer orderId, Integer orderType, Double money, Integer payType, Integer type, HttpServletRequest request) {
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
- switch (orderType){
+ switch (orderType) {
case 1:
return orderPrivateCarService.payThankYouFee(uid, orderId, money, payType, type);
case 2:
@@ -1936,7 +2083,7 @@
case 7:
return orderCallService.payThankYouFee(uid, orderId, money, payType, type);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
@@ -1946,26 +2093,27 @@
/**
* 感谢费支付回调
+ *
* @param request
* @param response
*/
@ResponseBody
@PostMapping("/base/wxPayThankYouFee")
- public void wxPayThankYouFee(HttpServletRequest request, HttpServletResponse response){
+ public void wxPayThankYouFee(HttpServletRequest request, HttpServletResponse response) {
try {
Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
- if(null != map){
+ if (null != map) {
String order_id = map.get("transaction_id");
String out_trade_no = map.get("out_trade_no");
String result = map.get("result");
- if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){
+ if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
PrintWriter out = response.getWriter();
out.write(result);
out.flush();
out.close();
String[] s = out_trade_no.split("_");
- switch (Integer.valueOf(s[1])){
+ switch (Integer.valueOf(s[1])) {
case 1:
orderPrivateCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
case 2:
@@ -1984,7 +2132,7 @@
}
// cloudPay(map.get("total_fee"),map.get("transaction_id"),1);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
}
@@ -1992,20 +2140,21 @@
/**
* 感谢费支付宝支付回调
+ *
* @param request
* @param response
*/
@ResponseBody
@PostMapping("/base/aliPayThankYouFee")
- public void aliPayThankYouFee(HttpServletRequest request, HttpServletResponse response){
+ public void aliPayThankYouFee(HttpServletRequest request, HttpServletResponse response) {
try {
Map<String, String> map = payMoneyUtil.alipayCallback(request);
- if(null != map){
+ if (null != map) {
String out_trade_no = map.get("out_trade_no");
String order_id = map.get("trade_no");
- if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){
+ if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
String[] s = out_trade_no.split("_");
- switch (Integer.valueOf(s[1])){
+ switch (Integer.valueOf(s[1])) {
case 1:
orderPrivateCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
case 2:
@@ -2029,7 +2178,7 @@
}
// cloudPay(map.get("total_amount"),map.get("trade_no"),0);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
}
@@ -2069,10 +2218,54 @@
@PostMapping("/base/order/qytPaymentCallback")
public String qytPaymentCallback(@RequestBody QYTPaymentCallback qytPaymentCallback) {
log.info("【黔云通支付回调通知】请求参数:" + JSON.toJSONString(qytPaymentCallback));
- if (null == qytPaymentCallback) {
+ try {
+ if (null == qytPaymentCallback) {
+ return "error";
+ }
+ QYTPaymentCallbackData data = qytPaymentCallback.getData();
+ if ("1".equals(data.getStatus())) {
+ return "error";
+ }
+ String orderNo = data.getOrderNo();
+ String payId = data.getPayId();
+ //网约车
+ if (orderNo.contains("PR")) {
+ orderNo = orderNo.substring(2);
+ orderPrivateCarService.payOrderPrivateCarCallback(Integer.valueOf(orderNo), payId, 1);
+ }
+ //出租车
+ if (orderNo.contains("TA")) {
+ orderNo = orderNo.substring(2);
+ orderTaxiService.payOrderTaxiCallback(Integer.valueOf(orderNo), payId, 1, 0);
+ orderTaxiService.promotion(Integer.valueOf(orderNo));
+ }
+ //跨城出行
+ if (orderNo.contains("CC")) {
+ orderNo = orderNo.substring(2);
+ orderCrossCityService.payOrderCrossCityCallback(Integer.valueOf(orderNo), payId, 1, null);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
return "error";
}
return "success";
+ }
+
+
+ /**
+ * 推广订单支付成功回调
+ *
+ * @param orderId
+ * @return
+ */
+ private void promotion(Integer orderType, Integer orderId) {
+ switch (orderType) {
+ case 3:
+ orderCrossCityService.promotion(orderId);
+ break;
+ default:
+ break;
+ }
}
@@ -2080,10 +2273,10 @@
@PostMapping("/api/get/unPayOrder")
@ApiOperation(value = "获取未支付订单", tags = {"用户端-首页"}, notes = "")
@ApiImplicitParams({
- @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=小件物流,null=全部)", name = "orderType", required = false, dataType = "int"),
- @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=小件物流,null=全部)", name = "orderType", required = false, dataType = "int"),
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil getUnPayOrder( Integer orderType, HttpServletRequest request){
+ public ResultUtil getUnPayOrder(Integer orderType, HttpServletRequest request) {
try {
// 从Redis中获取当前用户ID
Integer uid = userInfoService.getUserIdFormRedis(request);
@@ -2132,4 +2325,293 @@
}
}
+
+ @PostMapping("/api/order/queryMyTripList")
+ @ApiOperation(value = "获取我的行程列表", tags = {"用户端-个人中心"}, notes = "")
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城出行)", name = "type", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil<List<TripOrderVo>> queryMyTripList(Integer type, Integer pageNum, Integer size, HttpServletRequest request) {
+ try {
+ Integer uid = userInfoService.getUserIdFormRedis(request);
+ if (null == uid) {
+ return ResultUtil.tokenErr();
+ }
+
+ List<Map<String, Object>> raw = fetchTrips(uid, type, pageNum, size);
+ return ResultUtil.success(TripOrderVo.getTripOrderVo(raw));
+ } catch (Exception e) {
+ e.printStackTrace();
+ return ResultUtil.runErr();
+ }
+ }
+
+
+ /**
+ * 私有:拉取指定 type 的行程列表。
+ * type=0 → 全部类型;1/2/3 → 对应三种服务;pageNum/size 负责分页。
+ * 对于 type==1 或 3,内部额外加载 serverCarModel 信息。
+ */
+ private List<Map<String, Object>> fetchTrips(
+ Integer uid, Integer type, Integer pageNum, Integer size) throws Exception {
+
+ List<Map<String, Object>> list = new ArrayList<>();
+ if (type == null || type == 0) {
+ list.addAll(orderPrivateCarService.queryMyTripListAll(uid));
+ list.addAll(orderTaxiService.queryMyTripListAll(uid));
+ list.addAll(orderCrossCityService.queryMyTripListAll(uid));
+ } else {
+ switch (type) {
+ case 1:
+ list = orderPrivateCarService.queryMyTripList(uid, pageNum, size);
+ break;
+ case 2:
+ list = orderTaxiService.queryMyTripList(uid, pageNum, size);
+ break;
+ case 3:
+ list = orderCrossCityService.queryMyTripList(uid, pageNum, size);
+ break;
+ default:
+ throw new IllegalArgumentException("无效的订单类型:" + type);
+ }
+ }
+ // 排序
+ list.sort((a, b) -> {
+ Date da = (Date) a.get("boardingTime");
+ Date db = (Date) b.get("boardingTime");
+ if (da == null && db == null) return 0;
+ if (da == null) return 1; // a 在后面
+ if (db == null) return -1; // b 在后面
+ return da.compareTo(db) * -1; // 按时间正序(升序)排列
+ });
+ // 将经纬度转换为城市并设置到数据中
+ if (list != null && !list.isEmpty()) {
+ for (Map<String, Object> orderMap : list) {
+ // 获取经纬度(根据实际字段名调整)
+ Object lonObj = orderMap.get("boardingLon");
+ Object latObj = orderMap.get("boardingLat");
+ //获取公司id
+ Object companyId = orderMap.get("companyId");
+
+ Object serverCarModelId = null;
+ ServerCarModel serverCarModel = null;
+ if (orderMap.get("serverCarModelId") != null) {
+ //获取车型id
+ serverCarModelId = orderMap.get("serverCarModelId");
+ serverCarModel = serverCarModelService.selectById((Serializable) serverCarModelId);
+ }
+
+ if (lonObj != null && latObj != null) {
+ String lon = lonObj.toString();
+ String lat = latObj.toString();
+ Company company = companyService.selectById((Serializable) companyId);
+
+ try {
+ // 调用逆地理编码接口获取城市信息
+ Map<String, String> geoInfo = gdMapGeocodingUtil.geocode(lon, lat);
+ // 将城市信息存入map,供后续转换VO使用
+ orderMap.put("city", geoInfo.getOrDefault("city", ""));
+ orderMap.put("companyName", company.getName());
+ if (serverCarModel != null) {
+ orderMap.put("serverCarModel", serverCarModel.getName());
+ }
+ } catch (Exception e) {
+ // 记录转换失败日志,不中断流程
+ System.err.println("经纬度转城市失败: " + lon + "," + lat + ",错误: " + e.getMessage());
+ orderMap.put("city", ""); // 转换失败时设为空
+ }
+ } else {
+ orderMap.put("city", ""); // 经纬度为空时设为空
+ }
+ }
+ }
+ return list;
+ }
+
+
+ @PostMapping("/api/user/sendTripSheetEmail")
+ @ApiOperation(value = "发送行程单邮件", tags = {"用户端-个人中心"}, notes = "")
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "行程单信息", name = "tripSheet", required = false, dataType = "com.stylefeng.guns.modular.system.model.vo.TripSheetVo"),
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil sendTripSheetEmail(@RequestBody TripSheetVo tripSheet, HttpServletRequest request) {
+ try {
+ // 从Redis中获取当前用户ID
+ Integer uid = userInfoService.getUserIdFormRedis(request);
+ if (null == uid) {
+ return ResultUtil.tokenErr();
+ }
+ List<TripOrderVo> orderList = new ArrayList<>();
+ if (tripSheet.isAllOrders()) {
+ // 这里复用 queryMyTripList 逻辑,不分页,type=0 表示全部
+ List<Map<String, Object>> rawList = fetchTrips(uid, 0, null, null);
+ orderList = TripOrderVo.getTripOrderVo(rawList);
+ } else {
+ // 指定订单ID集合:验证并查询订单
+ if (tripSheet.getOrderIdList() == null || tripSheet.getOrderIdList().isEmpty()) {
+ return ResultUtil.error("请传入订单ID集合或者选择全部订单");
+ }
+ // 根据订单类型和ID查询订单
+ orderList = queryOrdersByTypeAndIds(uid, tripSheet.getOrderType(), tripSheet.getOrderIdList());
+ }
+ List<TripOrderVo> tripOrderVos = processTripOrderVos(orderList);
+ String filePath = tripSheetGenerator.generatePdf(tripOrderVos);
+ File attachment = new File(filePath);
+ String displayFileName = "贵人家园出行-行程单.pdf";
+ emailUtil.sendEmailWithAttachment(tripSheet.getRecipientEmail(), "贵人家园出行-行程单", "请查收您的行程单", attachment, displayFileName);
+ attachment.delete(); // 发送成功后删除临时文件
+ Map<String, Object> result = new HashMap<>();
+ result.put("orderNum", orderList.size());
+ return ResultUtil.success(result);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return ResultUtil.error("邮件发送失败" + e.getMessage());
+ }
+ }
+
+ /**
+ * 根据订单类型和ID集合查询订单
+ */
+ private List<TripOrderVo> queryOrdersByTypeAndIds(Integer userId, Integer orderType, List<Integer> orderIds) throws InvocationTargetException, IllegalAccessException {
+ List<TripOrderVo> orderList = new ArrayList<>();
+ List<Integer> states = Arrays.asList(8, 9);
+ // 根据订单类型查询对应表的订单
+ switch (orderType) {
+ case 1:
+ EntityWrapper<OrderPrivateCar> wrapper = new EntityWrapper<>();
+ wrapper.in("id", orderIds);
+ wrapper.in("state", states);
+ List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(wrapper);
+ for (OrderPrivateCar orderPrivateCar : orderPrivateCars) {
+ TripOrderVo vo = new TripOrderVo();
+ BeanUtils.copyProperties(orderPrivateCar, vo);
+ orderList.add(vo);
+ }
+ break;
+ case 2:
+ EntityWrapper<OrderTaxi> wrapper2 = new EntityWrapper<>();
+ wrapper2.in("id", orderIds);
+ wrapper2.in("state", states);
+ List<OrderTaxi> orderTaxis = orderTaxiService.selectList(wrapper2);
+ for (OrderTaxi orderTaxi : orderTaxis) {
+ TripOrderVo vo = new TripOrderVo();
+ BeanUtils.copyProperties(orderTaxi, vo);
+ orderList.add(vo);
+ }
+ break;
+ case 3:
+ EntityWrapper<OrderCrossCity> wrapper3 = new EntityWrapper<>();
+ wrapper3.in("id", orderIds);
+ wrapper3.in("state", states);
+ List<OrderCrossCity> orderCrossCities = orderCrossCityService.selectList(wrapper3);
+ for (OrderCrossCity orderCrossCity : orderCrossCities) {
+ TripOrderVo vo = new TripOrderVo();
+ BeanUtils.copyProperties(orderCrossCity, vo);
+ orderList.add(vo);
+ }
+ break;
+ default:
+ throw new IllegalArgumentException("无效的订单类型:" + orderType);
+ }
+ orderList.sort((a, b) -> {
+ Date da = a.getBoardingTime();
+ Date db = b.getBoardingTime();
+ if (da == null && db == null) return 0;
+ if (da == null) return 1; // a 在后面
+ if (db == null) return -1; // b 在后面
+ return da.compareTo(db); // 按时间正序(升序)排列
+ });
+
+
+ return orderList;
+ }
+
+ /**
+ * 处理行程订单VO列表,补充经纬度、公司和车型信息
+ */
+ private List<TripOrderVo> processTripOrderVos(List<TripOrderVo> orderVoList) {
+ if (orderVoList == null || orderVoList.isEmpty()) {
+ return new ArrayList<>();
+ }
+
+ for (TripOrderVo orderVo : orderVoList) {
+ // 处理经纬度转城市信息
+ handleGeoInfoForVo(orderVo);
+
+ // 处理公司信息
+ handleCompanyInfoForVo(orderVo);
+
+ // 处理车型信息
+ handleCarModelInfoForVo(orderVo);
+ }
+
+ return orderVoList;
+ }
+
+ /**
+ * 处理经纬度转城市信息
+ */
+ private void handleGeoInfoForVo(TripOrderVo orderVo) {
+ // 直接从VO获取经纬度(假设VO中有对应的getter方法)
+ String lon = String.valueOf(orderVo.getBoardingLon());
+ String lat = String.valueOf(orderVo.getBoardingLat());
+
+ if (StringUtils.isEmpty(lon) || StringUtils.isEmpty(lat)) {
+ orderVo.setCity("");
+ return;
+ }
+
+ try {
+ // 调用逆地理编码接口获取城市信息
+ Map<String, String> geoInfo = gdMapGeocodingUtil.geocode(lon, lat);
+ orderVo.setCity(geoInfo.getOrDefault("city", ""));
+ } catch (Exception e) {
+ // 记录转换失败日志,不中断流程
+ System.err.println("经纬度转城市失败: " + lon + "," + lat + ",错误: " + e.getMessage());
+ orderVo.setCity("");
+ }
+ }
+
+ /**
+ * 处理公司信息
+ */
+ private void handleCompanyInfoForVo(TripOrderVo orderVo) {
+ // 从VO获取公司ID
+ Integer companyId = orderVo.getCompanyId();
+ if (companyId == null) {
+ orderVo.setCompanyName("");
+ return;
+ }
+
+ Company company = companyService.selectById(companyId);
+ if (company != null) {
+ orderVo.setCompanyName(company.getName());
+ } else {
+ orderVo.setCompanyName("");
+ }
+ }
+
+ /**
+ * 处理车型信息
+ */
+ private void handleCarModelInfoForVo(TripOrderVo orderVo) {
+ // 从VO获取车型ID
+ Integer serverCarModelId = orderVo.getServerCarModelId();
+ if (serverCarModelId == null) {
+ orderVo.setServerCarModel("");
+ return;
+ }
+
+ ServerCarModel serverCarModel = serverCarModelService.selectById(serverCarModelId);
+ if (serverCarModel != null) {
+ orderVo.setServerCarModel(serverCarModel.getName());
+ } else {
+ orderVo.setServerCarModel("");
+ }
+ }
+
}
--
Gitblit v1.7.1