From f88507a761ae5b8f47e52b81627ca485b500431a Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 21 三月 2025 18:49:18 +0800
Subject: [PATCH] 修改bug
---
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java | 656 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 530 insertions(+), 126 deletions(-)
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
index 6d4c164..fb2cd10 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -1,6 +1,9 @@
package com.stylefeng.guns.modular.api;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.mchange.util.FailSuppressedMessageLogger;
+import com.stylefeng.guns.core.util.MD5Util;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
@@ -8,25 +11,33 @@
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.City;
-import com.stylefeng.guns.modular.system.model.Driver;
-import com.stylefeng.guns.modular.system.model.Income;
-import com.stylefeng.guns.modular.system.model.OrderPosition;
+import com.stylefeng.guns.modular.system.dao.DriverActivityHistoryMapper;
+import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
-import com.stylefeng.guns.modular.system.util.ALiSendSms;
-import com.stylefeng.guns.modular.system.util.ResultUtil;
+import com.stylefeng.guns.modular.system.util.*;
+import com.stylefeng.guns.modular.system.util.GoogleMap.FleetEngineUtil;
import com.stylefeng.guns.modular.system.warpper.*;
+import com.stylefeng.guns.modular.system.warpper.BalanceUsageRecord;
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -38,6 +49,8 @@
@RestController
@RequestMapping("")
public class DriverController {
+
+ private Logger log = LoggerFactory.getLogger(DriverController.class);
@Autowired
private IDriverService driverService;
@@ -80,6 +93,24 @@
@Value("${share.url}")
private String shareUrl;
+
+ @Autowired
+ private TEmailService emailService;
+
+ @Resource
+ private DriverActivityHistoryMapper driverActivityHistoryMapper;
+
+ @Resource
+ private IBalanceUsageRecordService balanceUsageRecordService;
+
+ @Autowired
+ private FleetEngineUtil fleetEngineUtil;
+
+ @Autowired
+ private IOrderCancelService orderCancelService;
+
+ @Autowired
+ private RedisUtil redisUtil;
@@ -184,12 +215,22 @@
@ApiOperation(value = "验证验证码", tags = {"司机端-注册"}, notes = "")
@ApiImplicitParams({
@ApiImplicitParam(value = "邮箱", name = "email", required = true, dataType = "String"),
+ @ApiImplicitParam(value = "手机号码", name = "phone", required = true, dataType = "String"),
@ApiImplicitParam(value = "验证码", name = "code", required = true, dataType = "String")
})
- public ResultUtil checkCaptcha(String email, String code, Integer language){
+ public ResultUtil checkCaptcha(String email, String phone, String code, Integer language){
try {
- boolean b = driverService.checkCaptcha(email, code);
- return b ? ResultUtil.success() : ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
+ if(ToolUtil.isNotEmpty(phone)){
+ String substring = phone.substring(0, 1);
+ if("0".equals(substring)){
+ phone = "233" + phone.substring(1);
+ }
+ if(phone.indexOf("233") < 0){
+ phone = "233" + phone;
+ }
+ }
+ boolean b = driverService.checkCaptcha(email, phone, code);
+ return b ? ResultUtil.success() : ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid CAPTCHA" : "CAPTCHA non valide");
}catch (Exception e){
e.printStackTrace();
return ResultUtil.runErr();
@@ -221,7 +262,21 @@
if(phone.indexOf("233") < 0){
phone = "233" + phone;
}
- return driverService.registeredDriver(phoneOperator, phone, code, password, uid, type, userType, language);
+ switch (phoneOperator){
+ case "MTN":
+ phoneOperator = "GH-MTN-B2C";
+ break;
+ case "TIGO":
+ phoneOperator = "GH-TIGO-B2C";
+ break;
+ case "VODAFONE":
+ phoneOperator = "GH-VODAFONE-B2C";
+ break;
+ case "AIRTEL":
+ phoneOperator = "GH-AIRTEL-B2C";
+ break;
+ }
+ return driverService.registeredDriver1(phoneOperator, phone, code, password, uid, type, userType, language);
}catch (Exception e){
e.printStackTrace();
return ResultUtil.runErr();
@@ -256,6 +311,20 @@
}
if(phone.indexOf("233") < 0){
phone = "233" + phone;
+ }
+ switch (phoneOperator){
+ case "MTN":
+ phoneOperator = "GH-MTN-B2C";
+ break;
+ case "TIGO":
+ phoneOperator = "GH-TIGO-B2C";
+ break;
+ case "VODAFONE":
+ phoneOperator = "GH-VODAFONE-B2C";
+ break;
+ case "AIRTEL":
+ phoneOperator = "GH-AIRTEL-B2C";
+ break;
}
return driverService.registeredDriver(phoneOperator, phone, code, password, uid, type, userType, language);
}catch (Exception e){
@@ -329,6 +398,36 @@
}
+ @ResponseBody
+ @PostMapping("/api/driver/getEmailList")
+ @ApiOperation(value = "获取邮箱信息", tags = {"司机端-个人中心"}, notes = "")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil<List<EmailWarpper>> getEmailList(Integer language, HttpServletRequest request){
+ try {
+ Integer uid = driverService.getUserIdFormRedis(request);
+ if(null == uid){
+ return ResultUtil.tokenErr();
+ }
+ List<TEmail> tEmails = emailService.selectList(new EntityWrapper<TEmail>().eq("userId", uid).eq("type", 2).orderBy("createTime", false));
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ List<EmailWarpper> list = new ArrayList<>();
+ for (TEmail tEmail : tEmails) {
+ EmailWarpper warpper = new EmailWarpper();
+ BeanUtils.copyProperties(tEmail, warpper);
+ warpper.setCreateTime(DateUtil.conversionFormat(language, sdf.format(tEmail.getCreateTime())));
+ int i = cn.hutool.core.date.DateUtil.dayOfWeek(tEmail.getCreateTime())-1;
+ warpper.setWeek(EmailUtil.getWeek(language,i));
+ list.add(warpper);
+ }
+ return ResultUtil.success(list);
+ }catch (Exception e){
+ e.printStackTrace();
+ return ResultUtil.runErr();
+ }
+ }
+
/**
* 司机注册后完善车辆信息
@@ -351,12 +450,17 @@
@ApiImplicitParam(value = "保险到期时间(yyyy-MM-dd)", name = "commercialInsuranceTime", required = false, dataType = "string"),
@ApiImplicitParam(value = "人车合一照片", name = "peopleAndCarsPhone", required = false, dataType = "string"),
@ApiImplicitParam(value = "司机id", name = "uid", required = true, dataType = "int"),
- @ApiImplicitParam(value = "车辆id", name = "carId", required = false, dataType = "int")
+ @ApiImplicitParam(value = "车辆id", name = "carId", required = false, dataType = "int"),
+ @ApiImplicitParam(value = "其他品牌", name = "otherBrand", required = false, dataType = "string"),
+ @ApiImplicitParam(value = "其他型号", name = "otherModel", required = false, dataType = "string")
})
public ResultUtil addDriverCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicenseNumber, String drivingLicensePhoto, String drivingLicenseEndTime,
- String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid, Integer carId, String peopleAndCarsPhone, Integer language){
+ String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid, Integer carId, String peopleAndCarsPhone, Integer language
+ ,String otherBrand,String otherModel){
try {
- return carService.addCar(modelId, color, licensePlate, time, drivingLicenseNumber, drivingLicensePhoto, drivingLicenseEndTime, carPhoto, insurancePhoto, commercialInsuranceTime, uid,carId, peopleAndCarsPhone, language);
+ return carService.addCar(modelId, color, licensePlate,
+ time, drivingLicenseNumber, drivingLicensePhoto,
+ drivingLicenseEndTime, carPhoto, insurancePhoto, commercialInsuranceTime, uid,carId, peopleAndCarsPhone, language,otherBrand,otherModel);
}catch (Exception e){
e.printStackTrace();
return ResultUtil.runErr();
@@ -438,7 +542,6 @@
}
}
-
/**
* 获取忘记密码页面的电话
* @return
@@ -502,20 +605,19 @@
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<HomeWarpper> queryHomeData(HttpServletRequest request){
+ public ResultUtil<HomeWarpper> queryHomeData(Integer language, HttpServletRequest request){
try {
Integer uid = driverService.getUserIdFormRedis(request);
if(null == uid){
return ResultUtil.tokenErr();
}
- Map<String, Object> map = driverService.queryHomeData(uid);
+ Map<String, Object> map = driverService.queryHomeData(uid, language);
return ResultUtil.success(HomeWarpper.getHomeWarpper(map));
}catch (Exception e){
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
/**
* 司机上下班操作
@@ -536,6 +638,13 @@
if(null == uid){
return ResultUtil.tokenErr();
}
+ String format = String.format("uid=%s&type=%s", uid, type);
+ String key = MD5Util.encrypt(format);
+ String value = redisUtil.getValue(key);
+ if(ToolUtil.isNotEmpty(value) && (System.currentTimeMillis() - Long.valueOf(value)) <= 1000){
+ return ResultUtil.error(language == 1 ? "请勿重复操作" : language == 2 ? "Don't repeat the operation" : "Ne répétez pas l’opération");
+ }
+ redisUtil.setStrValue(key, System.currentTimeMillis() + "", 5);
return driverService.work(uid, type, language);
}catch (Exception e){
e.printStackTrace();
@@ -597,7 +706,6 @@
}
}
-
@ResponseBody
@PostMapping("/api/driver/work2")
@ApiOperation(value = "司机上下班操作,同时设置接单类型【1.0】", tags = {"司机端-车载端"}, notes = "")
@@ -618,7 +726,6 @@
}
}
-
@ResponseBody
@PostMapping("/api/driver/queryHomeNum")
@ApiOperation(value = "获取首页统计数据", tags = {"司机端-车载端"}, notes = "")
@@ -638,8 +745,6 @@
return ResultUtil.runErr();
}
}
-
-
/**
* 上班时选择的业务类型
@@ -675,7 +780,6 @@
}
}
-
/**
* 存储订单服务中的司机位置
* @param orderPosition
@@ -693,26 +797,21 @@
}
}
-
-
@ResponseBody
@PostMapping("/base/driver/queryInfo_")
@ApiOperation(value = "根据用户id获取数据", tags = {"司机端-注册"}, notes = "")
@ApiImplicitParams({
@ApiImplicitParam(value = "司机id", name = "uid", required = true, dataType = "int"),
})
- public ResultUtil<DriverInfoWarpper> queryInfo_(Integer uid){
+ public ResultUtil<DriverInfoWarpper> queryInfo_(Integer language, Integer uid){
try {
- Map<String, Object> map = driverService.queryInfo(uid);
+ Map<String, Object> map = driverService.queryInfo(language, uid);
return ResultUtil.success(DriverInfoWarpper.getDriverInfoWarpper(map));
}catch (Exception e){
e.printStackTrace();
return ResultUtil.runErr();
}
}
-
-
-
/**
* 获取个人中心详情
@@ -725,14 +824,14 @@
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<DriverInfoWarpper> queryInfo(HttpServletRequest request){
+ public ResultUtil<DriverInfoWarpper> queryInfo(Integer language, HttpServletRequest request){
try {
Integer uid = driverService.getUserIdFormRedis(request);
if(null == uid){
return ResultUtil.tokenErr();
}
- Map<String, Object> map = driverService.queryInfo(uid);
- map.put("qrCodeIsOpen",driverService.getAppOpenInfo(1)==1);
+ Map<String, Object> map = driverService.queryInfo(language, uid);
+ map.put("qrCodeIsOpen", driverService.getAppOpenInfo(1)==1);
DriverInfoWarpper driverInfoWarpper = DriverInfoWarpper.getDriverInfoWarpper(map);
// Double money = driverService.getThisWeekMoney(uid);
// driverInfoWarpper.setLaveBusinessMoney(driverInfoWarpper.getLaveBusinessMoney()-(money==null?0d:money));
@@ -743,7 +842,6 @@
return ResultUtil.runErr();
}
}
-
/**
* 修改手机号码
@@ -774,6 +872,20 @@
if(phone.indexOf("233") < 0){
phone = "233" + phone;
}
+ switch (phoneOperator){
+ case "MTN":
+ phoneOperator = "GH-MTN-B2C";
+ break;
+ case "TIGO":
+ phoneOperator = "GH-TIGO-B2C";
+ break;
+ case "VODAFONE":
+ phoneOperator = "GH-VODAFONE-B2C";
+ break;
+ case "AIRTEL":
+ phoneOperator = "GH-AIRTEL-B2C";
+ break;
+ }
return driverService.updatePhone(phoneOperator, phone, code, uid, language);
}catch (Exception e){
e.printStackTrace();
@@ -802,8 +914,6 @@
}
}
-
-
/**
* 修改密码
* @param password
@@ -830,7 +940,6 @@
return ResultUtil.runErr();
}
}
-
/**
* 获取设置接单的业务类型列表
@@ -866,10 +975,6 @@
}
}
-
-
-
-
/**
* 设置接单规则
* @param type
@@ -896,7 +1001,6 @@
}
}
-
/**
* 获取当前车辆及空闲车辆
* @param request
@@ -921,7 +1025,6 @@
return ResultUtil.runErr();
}
}
-
/**
* 更换车辆
@@ -990,13 +1093,13 @@
@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<BaseWarpper>> queryPenalties(Integer pageNum, Integer size, HttpServletRequest request){
+ public ResultUtil<List<BaseWarpper>> queryPenalties(Integer language, Integer pageNum, Integer size, HttpServletRequest request){
try {
Integer uid = driverService.getUserIdFormRedis(request);
if(null == uid){
return ResultUtil.tokenErr();
}
- List<Map<String, Object>> list = driverService.queryPenalties(pageNum, size, uid);
+ List<Map<String, Object>> list = driverService.queryPenalties(language, pageNum, size, uid);
List<BaseWarpper> data = new ArrayList<>();
for(Map<String, Object> map : list){
BaseWarpper baseWarpper = new BaseWarpper();
@@ -1034,20 +1137,65 @@
if(null == uid){
return ResultUtil.tokenErr();
}
- List<Map<String, Object>> list = driverService.queryActivityIncome(uid, pageNum, size);
+ List<Map<String, Object>> list = driverService.queryActivityIncome(language, uid, pageNum, size);
List<BaseWarpper> data = new ArrayList<>();
for(Map<String, Object> map : list){
- BaseWarpper baseWarpper = new BaseWarpper();
- baseWarpper.setDay(String.valueOf(null != map.get("time") ? map.get("time") : ""));
- baseWarpper.setAmount(Double.valueOf(String.valueOf(null != map.get("money") ? map.get("money") : 0)));
- baseWarpper.setName(language == 1 ? "活动奖励" : language == 2 ? "Activity reward" : "Récompenses pour événements");
- data.add(baseWarpper);
+ String incomeId = map.get("incomeId").toString();
+ DriverActivityHistory driverActivityHistory = driverActivityHistoryMapper.selectById(incomeId);
+ if(null == driverActivityHistory){
+ BaseWarpper baseWarpper = new BaseWarpper();
+ baseWarpper.setDay(String.valueOf(null != map.get("time") ? map.get("time") : ""));
+ baseWarpper.setAmount(Double.valueOf(String.valueOf(null != map.get("money") ? map.get("money") : 0)));
+ baseWarpper.setName(language == 1 ? "活动奖励" : language == 2 ? "Activity reward" : "Récompenses pour événements");
+ data.add(baseWarpper);
+ }else{
+ Integer type = driverActivityHistory.getType();
+ BaseWarpper baseWarpper = new BaseWarpper();
+ baseWarpper.setDay(String.valueOf(null != map.get("time") ? map.get("time") : ""));
+ baseWarpper.setAmount(Double.valueOf(String.valueOf(null != map.get("money") ? map.get("money") : 0)));
+ switch (type){
+ case 1:
+ baseWarpper.setName(language == 1 ? "邀请司机奖励(活动)" : language == 2 ? "Invite drivers and earn" : "Invitez des chauffeurs et gagnez de l’argent");
+ break;
+ case 2:
+ baseWarpper.setName(language == 1 ? "邀请用户奖励(活动)" : language == 2 ? "Invite users and earn" : "Invitez des utilisateurs et gagnez de l’argent");
+ break;
+ case 3:
+ baseWarpper.setName(language == 1 ? "在线时长奖励(活动)" : language == 2 ? "Online-duration reward activity" : "Activité de récompense en ligne");
+ break;
+ case 4:
+ baseWarpper.setName(language == 1 ? "累计接单奖励(活动)" : language == 2 ? "Cumulative order activity" : "Activité cumulée des commandes");
+ break;
+ }
+ data.add(baseWarpper);
+ }
}
return ResultUtil.success(data);
}catch (Exception e){
e.printStackTrace();
return ResultUtil.runErr();
}
+ }
+
+
+ @ResponseBody
+ @PostMapping("/api/driver/getSum")
+ @ApiOperation(value = "获取收入明细总额", tags = {"司机端-个人中心"}, notes = "")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil getSum(HttpServletRequest request) throws Exception {
+ Integer uid = driverService.getUserIdFormRedis(request);
+ if(null == uid){
+ return ResultUtil.tokenErr();
+ }
+ List<Income> objectId = incomeService.selectList(new EntityWrapper<Income>().eq("objectId", uid).eq("type",1));
+ double sum = 0;
+ for (Income income : objectId) {
+ Double money = income.getMoney();
+ sum = sum+money;
+ }
+ return ResultUtil.success(sum);
}
@@ -1060,7 +1208,7 @@
*/
@ResponseBody
@PostMapping("/api/driver/queryTotalRevenue")
- @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"),
@@ -1072,79 +1220,199 @@
if(null == uid){
return ResultUtil.tokenErr();
}
- List<Map<String, Object>> list = driverService.queryTotalRevenue(uid, pageNum, size);
+ List<Map<String, Object>> list = driverService.queryTotalRevenue(language, uid, pageNum, size);
List<BaseWarpper> data = new ArrayList<>();
for(Map<String, Object> map : list){
+ String type = map.get("type").toString();
BaseWarpper baseWarpper = new BaseWarpper();
baseWarpper.setDay(String.valueOf(null != map.get("time") ? map.get("time") : ""));
baseWarpper.setAmount(Double.valueOf(String.valueOf(null != map.get("money") ? map.get("money") : 0)));
- switch (Integer.valueOf(String.valueOf(null != map.get("orderType") ? map.get("orderType") : 0))){
- case 1:
- baseWarpper.setName(language == 1 ? "专车" : language == 2 ? "Special car" : "véhicules");
- break;
- case 2:
- baseWarpper.setName(language == 1 ? "出租车" : language == 2 ? "taxi" : "taxi");
- break;
- case 3:
- baseWarpper.setName(language == 1 ? "城际出行" : language == 2 ? "Intercity travel" : "Mobilité entre villes");
- break;
- case 4:
- baseWarpper.setName(language == 1 ? "市内小件物流" : language == 2 ? "Small parts logistics in the city" : "Logistique de petites pièces dans la ville");
- break;
- case 5:
- baseWarpper.setName(language == 1 ? "跨城小件物流" : language == 2 ? "Cross-city small parts logistics" : "Logistique des petites pièces à travers la ville");
- break;
- }
- Map<String, Object> map1 = new HashMap<>();
- switch (Integer.valueOf(map.get("orderType").toString())){
- case 1:
- OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(map.get("incomeId").toString());
- List<Income> incomes = incomeService.queryData(1, null, 2, orderPrivateCar.getId(), 1);
- map1.put("travelMoney", orderPrivateCar != null ? orderPrivateCar.getOrderMoney() : 0);//行程费
- map1.put("parkMoney", orderPrivateCar != null ? orderPrivateCar.getParkMoney() : 0);//停车费
- map1.put("tipMoney", 0);//小费
- map1.put("roadTollMoney", orderPrivateCar != null ? orderPrivateCar.getRoadTollMoney() : 0);//过路费
- map1.put("rakeMoney", incomes.size() > 0 ? incomes.get(0).getMoney() : 0);//抽成
- break;
- case 2:
- OrderTaxi orderTaxi = orderTaxiService.selectById(map.get("incomeId").toString());
- List<Income> incomes1 = incomeService.queryData(1, null, 2, orderTaxi.getId(), 2);
- map1.put("travelMoney", orderTaxi != null ? orderTaxi.getTravelMoney() : 0);//行程费
- map1.put("parkMoney", orderTaxi != null ? orderTaxi.getParkMoney() : 0);//停车费
- map1.put("tipMoney", orderTaxi != null ? orderTaxi.getTipMoney() : 0);//小费
- map1.put("roadTollMoney", orderTaxi != null ? orderTaxi.getRoadTollMoney() : 0);//过路费
- map1.put("rakeMoney", incomes1.size() > 0 ? incomes1.get(0).getMoney() : 0);//抽成
- break;
- case 3:
- OrderCrossCity orderCrossCity = orderCrossCityService.selectById(map.get("incomeId").toString());
- List<Income> incomes2 = incomeService.queryData(1, null, 2, orderCrossCity.getId(), 3);
- map1.put("travelMoney", orderCrossCity != null ? orderCrossCity.getOrderMoney() : 0);//行程费
- map1.put("parkMoney", 0);//停车费
- map1.put("tipMoney", 0);//小费
- map1.put("roadTollMoney", 0);//过路费
- map1.put("rakeMoney", incomes2.size() > 0 ? incomes2.get(0).getMoney() : 0);//抽成
- break;
- case 4:
- OrderLogistics orderLogistics = orderLogisticsService.selectById(map.get("incomeId").toString());
- List<Income> incomes3 = incomeService.queryData(1, null, 2, orderLogistics.getId(), 4);
- map1.put("travelMoney", orderLogistics != null ? orderLogistics.getTravelMoney() : 0);//行程费
- map1.put("parkMoney", 0);//停车费
- map1.put("tipMoney", orderLogistics != null ? orderLogistics.getTipMoney() : 0);//小费
- map1.put("roadTollMoney", 0);//过路费
- map1.put("rakeMoney", incomes3.size() > 0 ? incomes3.get(0).getMoney() : 0);//抽成
- break;
- case 5:
- OrderLogistics orderLogistics1 = orderLogisticsService.selectById(map.get("incomeId").toString());
- List<Income> incomes4 = incomeService.queryData(1, null, 2, orderLogistics1.getId(), 5);
- map1.put("travelMoney", orderLogistics1 != null ? orderLogistics1.getTravelMoney() : 0);//行程费
- map1.put("parkMoney", 0);//停车费
- map1.put("tipMoney", orderLogistics1 != null ? orderLogistics1.getTipMoney() : 0);//小费
- map1.put("roadTollMoney", 0);//过路费
- map1.put("rakeMoney", incomes4.size() > 0 ? incomes4.get(0).getMoney() : 0);//抽成
- break;
+ baseWarpper.setType(Integer.valueOf(type));
+ if("2".equals(type)){
+ switch (Integer.valueOf(String.valueOf(null != map.get("orderType") ? map.get("orderType") : 0))){
+ case 1:
+ OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(map.get("incomeId").toString());
+ if(null == orderPrivateCar){
+ continue;
+ }
+ baseWarpper.setName(language == 1 ? (orderPrivateCar.getCancelMidway() == 0 ? "" : "【途中取消】") + "打车" : language == 2 ? (orderPrivateCar.getCancelMidway() == 0 ? "" : "【Cancelled during the trip】") + "Ride" : (orderPrivateCar.getCancelMidway() == 0 ? "" : "【Annulé en cours de voyage】") + "Course");
+ break;
+ case 2:
+ baseWarpper.setName(language == 1 ? "出租车" : language == 2 ? "taxi" : "taxi");
+ break;
+ case 3:
+ baseWarpper.setName(language == 1 ? "城际出行" : language == 2 ? "Intercity travel" : "Mobilité entre villes");
+ break;
+ case 4:
+ OrderLogistics orderLogistics = orderLogisticsService.selectById(map.get("incomeId").toString());
+ if(null == orderLogistics){
+ continue;
+ }
+ baseWarpper.setName(language == 1 ? (orderLogistics.getCancelMidway() == 0 ? "" : "【途中取消】") + "包裹" : language == 2 ? (orderLogistics.getCancelMidway() == 0 ? "" : "【Cancelled during the trip】") + "Delivery" : (orderLogistics.getCancelMidway() == 0 ? "" : "【Annulé en cours de voyage】") + "Livraison");
+ break;
+ case 5:
+ baseWarpper.setName(language == 1 ? "跨城小件物流" : language == 2 ? "Cross-city small parts logistics" : "Logistique des petites pièces à travers la ville");
+ break;
+ }
+ Map<String, Object> map1 = new HashMap<>();
+ switch (Integer.valueOf(map.get("orderType").toString())){
+ case 1:
+ OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(map.get("incomeId").toString());
+ if(null == orderPrivateCar){
+ continue;
+ }
+ List<Income> incomes = incomeService.queryData(1, null, 2, orderPrivateCar.getId(), 1);
+ map1.put("travelMoney", orderPrivateCar != null ? orderPrivateCar.getOrderMoney() : 0);//行程费
+ map1.put("parkMoney", orderPrivateCar != null ? orderPrivateCar.getParkMoney() : 0);//停车费
+ map1.put("tipMoney", 0);//小费
+ map1.put("roadTollMoney", orderPrivateCar != null ? orderPrivateCar.getRoadTollMoney() : 0);//过路费
+ map1.put("rakeMoney", incomes.size() > 0 ? incomes.get(0).getMoney() : 0);//抽成
+ break;
+ case 2:
+ OrderTaxi orderTaxi = orderTaxiService.selectById(map.get("incomeId").toString());
+ if(null == orderTaxi){
+ continue;
+ }
+ List<Income> incomes1 = incomeService.queryData(1, null, 2, orderTaxi.getId(), 2);
+ map1.put("travelMoney", orderTaxi != null ? orderTaxi.getTravelMoney() : 0);//行程费
+ map1.put("parkMoney", orderTaxi != null ? orderTaxi.getParkMoney() : 0);//停车费
+ map1.put("tipMoney", orderTaxi != null ? orderTaxi.getTipMoney() : 0);//小费
+ map1.put("roadTollMoney", orderTaxi != null ? orderTaxi.getRoadTollMoney() : 0);//过路费
+ map1.put("rakeMoney", incomes1.size() > 0 ? incomes1.get(0).getMoney() : 0);//抽成
+ break;
+ case 3:
+ OrderCrossCity orderCrossCity = orderCrossCityService.selectById(map.get("incomeId").toString());
+ if(null == orderCrossCity){
+ continue;
+ }
+ List<Income> incomes2 = incomeService.queryData(1, null, 2, orderCrossCity.getId(), 3);
+ map1.put("travelMoney", orderCrossCity != null ? orderCrossCity.getOrderMoney() : 0);//行程费
+ map1.put("parkMoney", 0);//停车费
+ map1.put("tipMoney", 0);//小费
+ map1.put("roadTollMoney", 0);//过路费
+ map1.put("rakeMoney", incomes2.size() > 0 ? incomes2.get(0).getMoney() : 0);//抽成
+ break;
+ case 4:
+ OrderLogistics orderLogistics = orderLogisticsService.selectById(map.get("incomeId").toString());
+ if(null == orderLogistics){
+ continue;
+ }
+ List<Income> incomes3 = incomeService.queryData(1, null, 2, orderLogistics.getId(), 4);
+ map1.put("travelMoney", orderLogistics != null ? orderLogistics.getOrderMoney() : 0);//行程费
+ map1.put("parkMoney", orderLogistics != null ? orderLogistics.getParkMoney() : 0);//停车费
+ map1.put("tipMoney", 0);//小费
+ map1.put("roadTollMoney", orderLogistics != null ? orderLogistics.getRoadTollMoney() : 0);//过路费
+ map1.put("rakeMoney", incomes3.size() > 0 ? incomes3.get(0).getMoney() : 0);//抽成
+ break;
+ case 5:
+ OrderLogistics orderLogistics1 = orderLogisticsService.selectById(map.get("incomeId").toString());
+ if(null == orderLogistics1){
+ continue;
+ }
+ List<Income> incomes4 = incomeService.queryData(1, null, 2, orderLogistics1.getId(), 5);
+ map1.put("travelMoney", orderLogistics1 != null ? orderLogistics1.getOrderMoney() : 0);//行程费
+ map1.put("parkMoney", orderLogistics1 != null ? orderLogistics1.getParkMoney() : 0);//停车费
+ map1.put("tipMoney", 0);//小费
+ map1.put("roadTollMoney", orderLogistics1 != null ? orderLogistics1.getRoadTollMoney() : 0);//过路费
+ map1.put("rakeMoney", incomes4.size() > 0 ? incomes4.get(0).getMoney() : 0);//抽成
+ break;
+ }
+ baseWarpper.setData(map1);
}
- baseWarpper.setData(map1);
+ if("3".equals(type)){
+ switch (Integer.valueOf(String.valueOf(null != map.get("orderType") ? map.get("orderType") : 0))){
+ case 1:
+ baseWarpper.setName(language == 1 ? "打车" : language == 2 ? "Ride" : "Course");
+ break;
+ case 2:
+ baseWarpper.setName(language == 1 ? "出租车" : language == 2 ? "taxi" : "taxi");
+ break;
+ case 3:
+ baseWarpper.setName(language == 1 ? "城际出行" : language == 2 ? "Intercity travel" : "Mobilité entre villes");
+ break;
+ case 4:
+ baseWarpper.setName(language == 1 ? "包裹" : language == 2 ? "Delivery" : "Livraison");
+ break;
+ case 5:
+ baseWarpper.setName(language == 1 ? "跨城小件物流" : language == 2 ? "Cross-city small parts logistics" : "Logistique des petites pièces à travers la ville");
+ break;
+ }
+ List<Income> incomes = incomeService.queryData(1, 1, 3, Integer.valueOf(map.get("incomeId").toString()), Integer.valueOf(map.get("orderType").toString()));
+ Map<String, Object> map1 = new HashMap<>();
+
+ OrderCancel orderCancel = orderCancelService.selectOne(new EntityWrapper<OrderCancel>().eq("orderType", map.get("orderType"))
+ .eq("orderId", map.get("incomeId")).eq("state", 2));
+ map1.put("travelMoney", orderCancel.getMoney());//支付金额
+ map1.put("rakeMoney", incomes.size() > 0 ? incomes.get(0).getMoney() : 0);//抽成
+ baseWarpper.setData(map1);
+ }
+ if("5".equals(type)){
+ switch (Integer.valueOf(String.valueOf(null != map.get("orderType") ? map.get("orderType") : 0))){
+ case 1:
+ baseWarpper.setName(language == 1 ? "打车" : language == 2 ? "Ride" : "Course");
+ break;
+ case 2:
+ baseWarpper.setName(language == 1 ? "出租车" : language == 2 ? "taxi" : "taxi");
+ break;
+ case 3:
+ baseWarpper.setName(language == 1 ? "城际出行" : language == 2 ? "Intercity travel" : "Mobilité entre villes");
+ break;
+ case 4:
+ baseWarpper.setName(language == 1 ? "包裹" : language == 2 ? "Delivery" : "Livraison");
+ break;
+ case 5:
+ baseWarpper.setName(language == 1 ? "跨城小件物流" : language == 2 ? "Cross-city small parts logistics" : "Logistique des petites pièces à travers la ville");
+ break;
+ }
+ Map<String, Object> map1 = new HashMap<>();
+ map1.put("content", language == 1 ? "优惠券 (平台补贴)" : language == 2 ? "Coupon (I-GO Promotions)" : "Coupon (Promotions d’I-GO)");
+ baseWarpper.setData(map1);
+ }
+ if("6".equals(type)){
+ switch (Integer.valueOf(String.valueOf(null != map.get("orderType") ? map.get("orderType") : 0))){
+ case 1:
+ baseWarpper.setName(language == 1 ? "打车" : language == 2 ? "Ride" : "Course");
+ break;
+ case 2:
+ baseWarpper.setName(language == 1 ? "出租车" : language == 2 ? "taxi" : "taxi");
+ break;
+ case 3:
+ baseWarpper.setName(language == 1 ? "城际出行" : language == 2 ? "Intercity travel" : "Mobilité entre villes");
+ break;
+ case 4:
+ baseWarpper.setName(language == 1 ? "包裹" : language == 2 ? "Delivery" : "Livraison");
+ break;
+ case 5:
+ baseWarpper.setName(language == 1 ? "跨城小件物流" : language == 2 ? "Cross-city small parts logistics" : "Logistique des petites pièces à travers la ville");
+ break;
+ }
+ Map<String, Object> map1 = new HashMap<>();
+ map1.put("content", language == 1 ? "折扣 (平台补贴)" : language == 2 ? "Discount (I-GO Promotions)" : "Rabais (Promotions d’I-GO)");
+ baseWarpper.setData(map1);
+ }
+ if("7".equals(type)){
+ switch (Integer.valueOf(String.valueOf(null != map.get("orderType") ? map.get("orderType") : 0))){
+ case 1:
+ baseWarpper.setName(language == 1 ? "打车" : language == 2 ? "Ride" : "Course");
+ break;
+ case 2:
+ baseWarpper.setName(language == 1 ? "出租车" : language == 2 ? "taxi" : "taxi");
+ break;
+ case 3:
+ baseWarpper.setName(language == 1 ? "城际出行" : language == 2 ? "Intercity travel" : "Mobilité entre villes");
+ break;
+ case 4:
+ baseWarpper.setName(language == 1 ? "包裹" : language == 2 ? "Delivery" : "Livraison");
+ break;
+ case 5:
+ baseWarpper.setName(language == 1 ? "跨城小件物流" : language == 2 ? "Cross-city small parts logistics" : "Logistique des petites pièces à travers la ville");
+ break;
+ }
+ Map<String, Object> map1 = new HashMap<>();
+ map1.put("content", language == 1 ? "红包 (平台补贴)" : language == 2 ? "Lucky promo (I-GO Promotions)" : "Bonus (Promotions d’I-GO)");
+ baseWarpper.setData(map1);
+ }
data.add(baseWarpper);
}
return ResultUtil.success(data);
@@ -1166,13 +1434,13 @@
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<List<ActivityWarpper>> queryMyActivity(HttpServletRequest request){
+ public ResultUtil<List<ActivityWarpper>> queryMyActivity(Integer language, HttpServletRequest request){
try {
Integer uid = driverService.getUserIdFormRedis(request);
if(null == uid){
return ResultUtil.tokenErr();
}
- return ResultUtil.success(driverService.queryMyActivity(uid, new Date()));
+ return ResultUtil.success(driverService.queryMyActivity(uid, new Date(), language));
}catch (Exception e){
e.printStackTrace();
return ResultUtil.runErr();
@@ -1195,13 +1463,13 @@
@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 queryHistoryActivity(Integer pageNum, Integer size, HttpServletRequest request){
+ public ResultUtil queryHistoryActivity(Integer language, Integer pageNum, Integer size, HttpServletRequest request){
try {
Integer uid = driverService.getUserIdFormRedis(request);
if(null == uid){
return ResultUtil.tokenErr();
}
- List<Map<String, Object>> list = driverService.queryHistory(uid, pageNum, size);
+ List<Map<String, Object>> list = driverService.queryHistory(language, uid, pageNum, size);
return ResultUtil.success(list);
}catch (Exception e){
e.printStackTrace();
@@ -1223,14 +1491,14 @@
@ApiImplicitParam(value = "查询的给定日期", name = "time", required = true, dataType = "string"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil queryHistoryActivityInfo(String time, HttpServletRequest request){
+ public ResultUtil queryHistoryActivityInfo(String time, Integer language, HttpServletRequest request){
try {
Integer uid = driverService.getUserIdFormRedis(request);
if(null == uid){
return ResultUtil.tokenErr();
}
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
- List<ActivityWarpper> activityWarppers = driverService.queryMyActivity(uid, sdf.parse(time));
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ List<ActivityWarpper> activityWarppers = driverService.queryHistoryList(uid, sdf.parse(time), language);
return ResultUtil.success(activityWarppers);
}catch (Exception e){
e.printStackTrace();
@@ -1417,13 +1685,13 @@
@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 getInviteList(Integer type,Integer pageNum, Integer size, HttpServletRequest request){
+ public ResultUtil getInviteList(Integer language, Integer type,Integer pageNum, Integer size, HttpServletRequest request){
try {
Integer uid = driverService.getUserIdFormRedis(request);
if(null == uid){
return ResultUtil.tokenErr();
}
- List<Map<String,Object>> list = driverService.queryMyInviteList(type,uid, pageNum, size);
+ List<Map<String,Object>> list = driverService.queryMyInviteList(language, type,uid, pageNum, size);
return ResultUtil.success(DriverInviteInfoWarpper.getDriverInviteInfoWarpper(list));
}catch (Exception e){
e.printStackTrace();
@@ -1476,4 +1744,140 @@
return ResultUtil.runErr();
}
}
+
+
+
+
+ @ResponseBody
+ @PostMapping("/api/driver/queryBalanceUsageRecord")
+ @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(value = "体现类型(1=活动收入,2=业务收入)", name = "type", required = true, dataType = "int"),
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil<BalanceUsageRecord> queryBalanceUsageRecord(Integer language, Integer pageNum, Integer size, Integer type, HttpServletRequest request){
+ try {
+ Integer uid = driverService.getUserIdFormRedis(request);
+ if(null == uid){
+ return ResultUtil.tokenErr();
+ }
+ BalanceUsageRecord balanceUsageRecord = new BalanceUsageRecord();
+ balanceUsageRecord.setTotal(balanceUsageRecordService.queryBalanceUsageRecordSum(uid, type));
+ balanceUsageRecord.setList(balanceUsageRecordService.queryBalanceUsageRecord(language, uid, type, pageNum, size));
+ return ResultUtil.success(balanceUsageRecord);
+ }catch (Exception e){
+ e.printStackTrace();
+ return ResultUtil.runErr();
+ }
+ }
+
+
+
+ @ResponseBody
+ @PostMapping("/api/driver/getFleetEngineAuth")
+ @ApiOperation(value = "获取google地图授权token", tags = {"司机端-个人中心"}, notes = "")
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "车辆id", name = "vehicleId", required = true, dataType = "string"),
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil<Map<String, Object>> getFleetEngineAuth(String vehicleId, HttpServletRequest request){
+ try {
+ Integer uid = driverService.getUserIdFormRedis(request);
+ if(null == uid){
+ return ResultUtil.tokenErr();
+ }
+ if(!StringUtils.hasLength(vehicleId)){
+ return ResultUtil.paranErr();
+ }
+ Map<String, Object> s = fleetEngineUtil.fleetEngineAuth(2, vehicleId);
+ return ResultUtil.success(s);
+ }catch (Exception e){
+ e.printStackTrace();
+ return ResultUtil.runErr();
+ }
+ }
+
+
+
+ @ResponseBody
+ @PostMapping("/api/driver/textToSpeech")
+ @ApiOperation(value = "获取语音播报文件地址", tags = {"司机端-个人中心"}, notes = "")
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "语言", name = "languageCode", required = true, dataType = "string"),
+ @ApiImplicitParam(value = "内容", name = "text", required = true, dataType = "string"),
+ @ApiImplicitParam(value = "文件名称", name = "fileName", required = true, dataType = "string"),
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil textToSpeech(String languageCode, String text, String fileName){
+ try {
+ String s = TextToSpeechUtil.create(languageCode, text, fileName + ".mp3");
+ //定时任务删除语音文件
+ new Timer().schedule(new TimerTask() {
+ @Override
+ public void run() {
+ try {
+ // 使用Runtime执行命令
+ Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName + ".mp3");
+ // 读取命令的输出
+ BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
+ String line;
+ while ((line = reader.readLine()) != null) {
+ System.out.println(line);
+ }
+ // 等待命令执行完成
+ process.waitFor();
+ // 关闭流
+ reader.close();
+ } catch (IOException | InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+ }, 30000);
+ return ResultUtil.success(s);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return ResultUtil.runErr();
+ }
+ }
+
+
+ /**
+ * 手动添加当日活动
+ */
+ @ResponseBody
+ @GetMapping("/base/driver/addTodayActivity")
+ public void addTodayActivity(){
+ try {
+ driverService.addTodayActivity();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+
+
+ /**
+ * 短信回调通知
+ * @param request
+ */
+ @ResponseBody
+ @PostMapping("/base/sendCellulantMessageCallback")
+ public void sendCellulantMessageCallback(HttpServletRequest request){
+ try {
+ StringBuilder sb = new StringBuilder();
+ InputStream inputStream = request.getInputStream();
+ String s;
+ BufferedReader in = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
+ while ((s = in.readLine()) != null) {
+ sb.append(s);
+ }
+ in.close();
+ inputStream.close();
+ log.info("短信通知回调:" + sb.toString());
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
}
--
Gitblit v1.7.1