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.ToolUtil;
|
import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
|
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
|
import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
|
import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
|
import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
|
import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
|
import com.stylefeng.guns.modular.system.dao.DriverActivityHistoryMapper;
|
import com.stylefeng.guns.modular.system.model.*;
|
import com.stylefeng.guns.modular.system.service.*;
|
import com.stylefeng.guns.modular.system.util.*;
|
import com.stylefeng.guns.modular.system.util.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.*;
|
|
/**
|
* 司机控制器
|
*/
|
@Api
|
@CrossOrigin
|
@RestController
|
@RequestMapping("")
|
public class DriverController {
|
|
private Logger log = LoggerFactory.getLogger(DriverController.class);
|
|
@Autowired
|
private IDriverService driverService;
|
|
@Autowired
|
private IOrderPositionService orderPositionService;
|
|
@Autowired
|
private ISmsrecordService smsrecordService;
|
|
@Autowired
|
private IDriverOrdersService driverOrdersService;
|
|
@Autowired
|
private ICarService carService;
|
|
@Autowired
|
private ALiSendSms aLiSendSms;
|
|
@Autowired
|
private IOrderTaxiService orderTaxiService;
|
|
@Autowired
|
private IIncomeService incomeService;
|
|
@Autowired
|
private IOrderPrivateCarService orderPrivateCarService;
|
|
@Autowired
|
private IOrderCrossCityService orderCrossCityService;
|
|
@Autowired
|
private IOrderLogisticsService orderLogisticsService;
|
|
@Autowired
|
private IDriverOnlineService driverOnlineService;
|
|
@Autowired
|
private ICityService cityService;
|
|
@Value("${share.url}")
|
private String shareUrl;
|
|
@Autowired
|
private TEmailService emailService;
|
|
@Resource
|
private DriverActivityHistoryMapper driverActivityHistoryMapper;
|
|
@Resource
|
private IBalanceUsageRecordService balanceUsageRecordService;
|
|
@Autowired
|
private FleetEngineUtil fleetEngineUtil;
|
|
|
|
/**
|
* 获取所有车辆品牌
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/base/car/queryAllBrand")
|
@ApiOperation(value = "获取所有车辆品牌", tags = {"司机端-个人中心"}, notes = "")
|
public ResultUtil queryAllBrand(){
|
try {
|
List<Map<String, Object>> list = carService.queryAllBrand();
|
return ResultUtil.success(list);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 查询车辆品牌型号
|
* @param brandId
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/base/car/queryCarModel")
|
@ApiOperation(value = "查询车辆品牌型号", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "车辆品牌id", name = "brandId", required = true, dataType = "int"),
|
})
|
public ResultUtil queryCarModel(Integer brandId){
|
try {
|
List<Map<String, Object>> list = carService.queryCarModel(brandId);
|
return ResultUtil.success(list);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
/**
|
* 获取短信验证码
|
* @param phone
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/base/driver/queryCaptcha")
|
@ApiOperation(value = "获取短信验证码", tags = {"司机端-注册"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "手机号码", name = "phone", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "场景类型(1=身份验证,2=登录确认,3=用户注册,4=修改密码)", name = "type", required = true, dataType = "String")
|
})
|
public ResultUtil queryCaptcha(String phone, Integer type, Integer language){
|
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;
|
}
|
try {
|
return driverService.queryCaptcha(phone, type, language);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}else{
|
return ResultUtil.paranErr();
|
}
|
}
|
|
|
@ResponseBody
|
@PostMapping("/base/driver/queryEmailCaptcha")
|
@ApiOperation(value = "发送验证码【1.0】", tags = {"司机端-注册"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "邮箱地址", name = "email", required = true, dataType = "String"),
|
})
|
public ResultUtil queryEmailCaptcha(String email, Integer language){
|
if(ToolUtil.isNotEmpty(email)){
|
try {
|
return driverService.queryEmailCaptcha(email, language);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}else{
|
return ResultUtil.paranErr();
|
}
|
}
|
|
|
|
/**
|
* 验证短信验证码
|
* @param code
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/base/driver/checkCaptcha")
|
@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 phone, String code, Integer language){
|
try {
|
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();
|
}
|
}
|
|
/**
|
* 司机提交注册申请
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/base/driver/registeredDriver")
|
@ApiOperation(value = "司机提交注册申请【1.1】", tags = {"分享专用"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "手机号码运营商", name = "phoneOperator", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "手机号码", name = "phone", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "短信验证码", name = "code", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "密码", name = "password", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "分享的用户id", name = "uid", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "用户类型(1=用户,2=司机)", name = "type", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "注册类型(1=司机注册,2=用户注册)", name = "userType", required = true, dataType = "int")
|
})
|
public ResultUtil registeredDriver(String phoneOperator, String phone, String code, String password, Integer uid, Integer type, Integer userType, Integer language){
|
try {
|
String substring = phone.substring(0, 1);
|
if("0".equals(substring)){
|
phone = "233" + phone.substring(1);
|
}
|
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.registeredDriver1(phoneOperator, phone, code, password, uid, type, userType, language);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 司机注册
|
* @param phone
|
* @param code
|
* @param password
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/base/driver/registeredDriver_")
|
@ApiOperation(value = "司机提交注册申请【1.1】", tags = {"司机端-注册"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "手机号码运营商", name = "phoneOperator", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "手机号码", name = "phone", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "短信验证码", name = "code", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "密码", name = "password", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "分享的用户id", name = "uid", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "用户类型(1=用户,2=司机)", name = "type", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "注册类型(1=司机注册,2=用户注册)", name = "userType", required = true, dataType = "int")
|
})
|
public ResultUtil<LoginWarpper> registeredDriver_(String phoneOperator, String phone, String code, String password, Integer uid, Integer type, Integer userType, Integer language){
|
try {
|
String substring = phone.substring(0, 1);
|
if("0".equals(substring)){
|
phone = "233" + phone.substring(1);
|
}
|
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){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
|
@ResponseBody
|
@PostMapping("/base/driver/queryAllCity")
|
@ApiOperation(value = "获取所有城市", tags = {"司机端-注册"}, notes = "")
|
@ApiImplicitParams({
|
})
|
public ResultUtil<List<City>> queryAllCity(){
|
try {
|
List<City> cities = cityService.selectList(null);
|
return ResultUtil.success(cities);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
|
/**
|
* 司机注册后完善个人信息
|
* @param registeredWarpper
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/base/driver/updateDriver")
|
@ApiOperation(value = "司机注册后完善个人信息【1.1】", tags = {"司机端-注册"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "司机id", name = "uid", required = true, dataType = "int")
|
})
|
public ResultUtil updateDriver(RegisteredWarpper registeredWarpper, Integer uid, Integer language){
|
try {
|
return driverService.updateDriver(registeredWarpper, uid, language);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
@ResponseBody
|
@PostMapping("/api/driver/editEmail")
|
@ApiOperation(value = "个人中心修改邮箱【1.0】", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "邮箱", name = "email", required = true, dataType = "string"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil editEmail(String email, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
Driver driver = driverService.selectById(uid);
|
driver.setEmail(email);
|
driverService.updateById(driver);
|
return ResultUtil.success();
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
@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();
|
}
|
}
|
|
|
/**
|
* 司机注册后完善车辆信息
|
* @param
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/base/driver/addDriverCar")
|
@ApiOperation(value = "司机注册后完善车辆信息【1.0】", tags = {"司机端-注册"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "车辆型号id", name = "modelId", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "车辆颜色", name = "color", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "车牌号", name = "licensePlate", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "年审日期(需要格式化)", name = "time", required = false, dataType = "string"),
|
@ApiImplicitParam(value = "行驶证号", name = "drivingLicenseNumber", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "行驶证照片", name = "drivingLicensePhoto", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "行驶证到期时间(yyyy-MM-dd)", name = "drivingLicenseEndTime", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "车辆照片", name = "carPhoto", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "保险照片", name = "insurancePhoto", required = false, dataType = "string"),
|
@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 = "其他品牌", 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 otherBrand,String otherModel){
|
try {
|
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();
|
}
|
}
|
|
/**
|
* 司机注册审核后的短信
|
* @param uid
|
* @param type
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/base/driver/sendsms")
|
public ResultUtil sendsms(Integer uid, Integer type){
|
try {
|
Driver driver = driverService.selectById(uid);
|
String templateCode = null;
|
switch (type){
|
case 1:
|
templateCode = "SMS_154775435";//身份验证
|
break;
|
case 2:
|
templateCode = "SMS_154775434";//登录确认
|
break;
|
case 3:
|
templateCode = "SMS_154775432";//用户注册
|
break;
|
case 4:
|
templateCode = "SMS_154775431";//修改密码
|
break;
|
case 5:
|
templateCode = "SMS_194650202";//司机注册成功
|
break;
|
case 6:
|
templateCode = "SMS_194610237";//司机注册失败
|
break;
|
}
|
String s = aLiSendSms.sendSms(driver.getPhone(), templateCode, "{}");
|
return ResultUtil.success();
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
|
|
/**
|
* 忘记密码操作
|
* @param phone
|
* @param code
|
* @param password
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/base/driver/resetPassword")
|
@ApiOperation(value = "忘记密码操作", tags = {"司机端-登录"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "手机号码", name = "phone", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "验证码", name = "code", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "新密码", name = "password", required = true, dataType = "String")
|
})
|
public ResultUtil resetPassword(String phone, String code, String password, Integer language){
|
try {
|
String substring = phone.substring(0, 1);
|
if("0".equals(substring)){
|
phone = "233" + phone.substring(1);
|
}
|
if(phone.indexOf("233") < 0){
|
phone = "233" + phone;
|
}
|
return driverService.resetPassword(phone, code, password, language);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 获取忘记密码页面的电话
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/base/driver/queryPhone")
|
@ApiOperation(value = "获取忘记密码页面的电话【1.0】", tags = {"司机端-登录"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "当前定位纬度", name = "lat", required = true, dataType = "double"),
|
@ApiImplicitParam(value = "当前定位经度", name = "lnt", required = true, dataType = "double")
|
})
|
public ResultUtil queryPhone(Double lat, Double lnt){
|
try {
|
Map<String, Object> map = driverService.queryPhone(lat, lnt);
|
return ResultUtil.success(map);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 司机登录操作
|
* @param phone
|
* @param password
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/base/driver/driverLogin")
|
@ApiOperation(value = "登录操作", tags = {"司机端-登录"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "手机号码", name = "phone", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "密码", name = "password", required = true, dataType = "String")
|
})
|
public ResultUtil<LoginWarpper> driverLogin(String phone, String password, Integer language){
|
try {
|
String substring = phone.substring(0, 1);
|
if("0".equals(substring)){
|
phone = "233" + phone.substring(1);
|
}
|
if(phone.indexOf("233") < 0){
|
phone = "233" + phone;
|
}
|
return driverService.driverLogin(phone, password, language);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 获取首页统计数据
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/queryHomeData")
|
@ApiOperation(value = "获取首页统计数据", tags = {"司机端-首页"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
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, language);
|
return ResultUtil.success(HomeWarpper.getHomeWarpper(map));
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 司机上下班操作
|
* @param type
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/work")
|
@ApiOperation(value = "司机上下班操作【1.0】", tags = {"司机端-首页"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "上班的业务类型(1=专车,4=小件物流-同城)多个已逗号分隔", name = "type", required = false, dataType = "String"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil work(String type, Integer language, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
return driverService.work(uid, type, language);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
@ResponseBody
|
@PostMapping("/api/driver/getDriverOnlineTime")
|
@ApiOperation(value = "获取司机在线时长", tags = {"司机端-首页"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
|
})
|
public ResultUtil getDriverOnlineTime(HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
Map<String,Object> map = new HashMap<>();
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
|
Date now = new Date();
|
|
Integer today = driverOnlineService.querySumTime(uid, 0, sdf.parse(sdf1.format(now) + " 00:00:00"),
|
sdf.parse(sdf1.format(now) + " 23:59:59"));
|
map.put("today", today);
|
|
Calendar s = Calendar.getInstance();
|
s.setTime(now);
|
s.set(Calendar.DAY_OF_WEEK, 2);
|
Calendar e = Calendar.getInstance();
|
e.setTime(now);
|
int day_of_week = e.get(Calendar.DAY_OF_WEEK);
|
int day_of_month = e.get(Calendar.DAY_OF_MONTH);
|
e.set(Calendar.DAY_OF_MONTH, day_of_month + (8 - day_of_week));
|
Integer thisWeek = driverOnlineService.querySumTime(uid, 0, sdf.parse(sdf1.format(s.getTime()) + " 00:00:00"),
|
sdf.parse(sdf1.format(e.getTime()) + " 23:59:59"));
|
map.put("thisWeek", thisWeek);
|
|
s = Calendar.getInstance();
|
s.setTime(now);
|
s.set(Calendar.DAY_OF_MONTH, 1);
|
e = Calendar.getInstance();
|
e.setTime(now);
|
e.set(Calendar.DAY_OF_MONTH, e.getActualMaximum(Calendar.DAY_OF_MONTH));
|
Integer thisMonth = driverOnlineService.querySumTime(uid, 0, sdf.parse(sdf1.format(s.getTime()) + " 00:00:00"),
|
sdf.parse(sdf1.format(e.getTime()) + " 23:59:59"));
|
map.put("thisMonth", thisMonth);
|
|
Integer attendance = driverOnlineService.querySumTime(uid, 1, sdf.parse(sdf1.format(now) + " 00:00:00"),
|
sdf.parse(sdf1.format(now) + " 23:59:59"));
|
map.put("attendance", attendance);
|
|
return ResultUtil.success(map);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
@ResponseBody
|
@PostMapping("/api/driver/work2")
|
@ApiOperation(value = "司机上下班操作,同时设置接单类型【1.0】", tags = {"司机端-车载端"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "上班的业务类型(1=专车,4=小件物流-同城)多个已逗号分隔", name = "type", required = false, dataType = "String"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil work2(String type, Integer language, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
return driverService.work2(uid, type, language);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
@ResponseBody
|
@PostMapping("/api/driver/queryHomeNum")
|
@ApiOperation(value = "获取首页统计数据", tags = {"司机端-车载端"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil queryHomeNum(Integer language, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
Map<String, Object> map = driverService.queryHomeNum(uid, language);
|
return ResultUtil.success(map);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 上班时选择的业务类型
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/queryMyBusiness")
|
@ApiOperation(value = "上班时选择的业务类型", tags = {"司机端-首页"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<BaseWarpper>> queryMyBusiness(Integer language, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
// TODO: 2020/7/21 修改为个人中心中设置的接单业务类型。
|
List<BaseWarpper> list = driverService.queryMyBusiness(uid, language);
|
|
List<Integer> integers = driverOrdersService.queryOrders(uid);
|
List<BaseWarpper> data = new ArrayList<>();
|
for(BaseWarpper baseWarpper : list){
|
if(integers.contains(baseWarpper.getId())){
|
data.add(baseWarpper);
|
}
|
}
|
return ResultUtil.success(data);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 存储订单服务中的司机位置
|
* @param orderPosition
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/base/savePosition")
|
public String savePosition(OrderPosition orderPosition){
|
try {
|
orderPositionService.saveData(orderPosition);
|
return JSON.toJSONString(ResultUtil.success());
|
}catch (Exception e){
|
e.printStackTrace();
|
return JSON.toJSONString(ResultUtil.runErr());
|
}
|
}
|
|
@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 language, Integer uid){
|
try {
|
Map<String, Object> map = driverService.queryInfo(language, uid);
|
return ResultUtil.success(DriverInfoWarpper.getDriverInfoWarpper(map));
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 获取个人中心详情
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/queryInfo")
|
@ApiOperation(value = "获取个人中心详情【1.0】", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
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(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));
|
driverInfoWarpper.setLaveBusinessNextWeekMoney(0D);
|
return ResultUtil.success(driverInfoWarpper);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 修改手机号码
|
* @param phone
|
* @param code
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/updatePhone")
|
@ApiOperation(value = "修改手机号码【1.1】", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "手机号码运营商", name = "phoneOperator", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "新电话号码", name = "phone", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "短信验证码", name = "code", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil updatePhone(String phoneOperator, String phone, String code, Integer language, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
String substring = phone.substring(0, 1);
|
if("0".equals(substring)){
|
phone = "233" + phone.substring(1);
|
}
|
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();
|
return ResultUtil.runErr();
|
}
|
}
|
|
@ResponseBody
|
@PostMapping("/api/driver/editLanguage")
|
@ApiOperation(value = "修改系统语言【1.0】", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil editLanguage(Integer language, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
driverService.editLanguage(language, uid);
|
return ResultUtil.success();
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 修改密码
|
* @param password
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/updatePassword")
|
@ApiOperation(value = "修改密码", tags = {"司机端-个人中心"}, notes = "修改前需要验证短信验证码")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "新密码", name = "password", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil updatePassword(String password, Integer language, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
driverService.updatePassword(password, uid, language);
|
return ResultUtil.success();
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 获取设置接单的业务类型列表
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/querySetOrders")
|
@ApiOperation(value = "获取设置接单的业务类型列表", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<OrdersWarpper>> querySetOrders(Integer language, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
List<BaseWarpper> list = driverService.queryMyBusiness(uid, language);
|
List<Integer> integers = driverOrdersService.queryOrders(uid);
|
List<OrdersWarpper> data = new ArrayList<>();
|
for(BaseWarpper b : list){
|
OrdersWarpper ordersWarpper = new OrdersWarpper();
|
ordersWarpper.setType(b.getId());
|
ordersWarpper.setName(b.getName());
|
ordersWarpper.setState(integers.contains(b.getId()) ? 2 : 1);
|
data.add(ordersWarpper);
|
}
|
return ResultUtil.success(data);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 设置接单规则
|
* @param type
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/updateOrders")
|
@ApiOperation(value = "设置接单规则", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城)", name = "type", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil updateOrders(Integer type, Integer language, HttpServletRequest request){
|
try{
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
return driverOrdersService.updateOrders(uid, type, language);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 获取当前车辆及空闲车辆
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/queryMyCar")
|
@ApiOperation(value = "获取当前车辆及空闲车辆", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil queryMyCar(HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
Map<String, Object> map = carService.queryCars(uid);
|
return ResultUtil.success(map);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 更换车辆
|
* @param carId
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/replaceCar")
|
@ApiOperation(value = "更换车辆", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "车辆id", name = "carId", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil replaceCar(Integer carId, Integer language, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
return driverService.replaceCar(carId, uid, language);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 获取客服电话
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/queryPhone")
|
@ApiOperation(value = "获取客服电话", tags = {"司机端-个人中心"}, notes = "车队=franchisee,分公司=branch,平台=platform")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil queryPhone(HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
Map<String, Object> map = driverService.queryPhone(uid);
|
return ResultUtil.success(map);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 获取扣款明细
|
* @param pageNum
|
* @param size
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/queryPenalties")
|
@ApiOperation(value = "获取扣款明细", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<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(language, pageNum, size, uid);
|
List<BaseWarpper> data = new ArrayList<>();
|
for(Map<String, Object> map : list){
|
BaseWarpper baseWarpper = new BaseWarpper();
|
baseWarpper.setAmount(Double.valueOf(String.valueOf(map.get("amount"))));
|
baseWarpper.setName(String.valueOf(map.get("name")));
|
baseWarpper.setDay(String.valueOf(map.get("day")));
|
data.add(baseWarpper);
|
}
|
return ResultUtil.success(data);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 获取收益明细
|
* @param pageNum
|
* @param size
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/queryActivityIncome")
|
@ApiOperation(value = "获取收益明细", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<BaseWarpper>> queryActivityIncome(Integer pageNum, Integer size, Integer language, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
List<Map<String, Object>> list = driverService.queryActivityIncome(language, uid, pageNum, size);
|
List<BaseWarpper> data = new ArrayList<>();
|
for(Map<String, Object> map : list){
|
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);
|
}
|
|
|
/**
|
* 获取收入明细
|
* @param pageNum
|
* @param size
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/queryTotalRevenue")
|
@ApiOperation(value = "获取收入明细【2.0】", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<BaseWarpper>> queryTotalRevenue(Integer pageNum, Integer size, Integer language, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
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)));
|
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("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", 0);//停车费
|
map1.put("tipMoney", 0);//小费
|
map1.put("roadTollMoney", 0);//过路费
|
map1.put("rakeMoney", incomes4.size() > 0 ? incomes4.get(0).getMoney() : 0);//抽成
|
break;
|
}
|
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;
|
}
|
baseWarpper.setName(language == 1 ? "取消订单费用" : language == 2 ? "Cancellation fee" : "Frais d'annulation");
|
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<>();
|
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);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 获取当前有效的活动列表
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/queryMyActivity")
|
@ApiOperation(value = "获取当前有效的活动列表", tags = {"司机端-首页"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
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(), language));
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 获取历史活动列表
|
* @param pageNum
|
* @param size
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/queryHistoryActivity")
|
@ApiOperation(value = "获取历史活动列表", tags = {"司机端-首页"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil 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(language, uid, pageNum, size);
|
return ResultUtil.success(list);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 获取历史日期中的活动内容
|
* @param time
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/queryHistoryActivityInfo")
|
@ApiOperation(value = "获取历史日期中的活动内容", tags = {"司机端-首页"}, notes = "")
|
@ApiImplicitParams({
|
@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, 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.queryHistoryList(uid, sdf.parse(time), language);
|
return ResultUtil.success(activityWarppers);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 工号登录(仅出租车)
|
* @param jobNum
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/base/driver/loginByJobNumber")
|
@ApiOperation(value = "工号登录", tags = {"司机端-登录"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "工号", name = "jobNum", required = true, dataType = "String"),
|
})
|
public ResultUtil loginByJobNumber(String jobNum, Integer language){
|
try {
|
return driverService.loginByJobNumber(jobNum, language);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 身份证号码登录
|
* @param identification
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/base/driver/loginByIdentification")
|
@ApiOperation(value = "身份证号码登录", tags = {"司机端-登录"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "身份证号码", name = "identification", required = true, dataType = "String"),
|
})
|
public ResultUtil loginByIdentification(String identification, Integer language){
|
try {
|
return driverService.loginByIdentification(identification, language);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
/**
|
* 出租车资格证号码登录
|
* @param taxiAptitudeCard
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/base/driver/loginByTaxiAptitudeCard")
|
@ApiOperation(value = "出租车资格证号登录", tags = {"司机端-登录"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "出租车资格证号", name = "taxiAptitudeCard", required = true, dataType = "String"),
|
})
|
public ResultUtil loginByTaxiAptitudeCard(String taxiAptitudeCard, Integer language){
|
try {
|
return driverService.loginByTaxiAptitudeCard(taxiAptitudeCard, language);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 验证登录密码是否有效
|
* @param password
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/verificationPassword")
|
@ApiOperation(value = "验证登录密码是否有效", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "登录密码", name = "password", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil verificationPassword(String password, Integer language, HttpServletRequest request){
|
try {
|
Integer driverId = driverService.getUserIdFormRedis(request);
|
if(null == driverId){
|
return ResultUtil.tokenErr();
|
}
|
return driverService.verificationPassword(password, driverId, language);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 设置提现密码
|
* @param withdrawPassword
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/setWithdrawPassword")
|
@ApiOperation(value = "设置提现密码", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "提现密码", name = "withdrawPassword", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil setWithdrawPassword(String withdrawPassword, Integer language, HttpServletRequest request){
|
try {
|
Integer driverId = driverService.getUserIdFormRedis(request);
|
if(null == driverId){
|
return ResultUtil.tokenErr();
|
}
|
return driverService.setWithdrawPassword(withdrawPassword, driverId, language);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
/**
|
* 验证提现密码是否有效
|
* @param withdrawPassword
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/verificationWithdrawPassword")
|
@ApiOperation(value = "验证提现密码是否有效", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "提现密码", name = "withdrawPassword", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil verificationWithdrawPassword(String withdrawPassword, Integer language, HttpServletRequest request){
|
try {
|
Integer driverId = driverService.getUserIdFormRedis(request);
|
if(null == driverId){
|
return ResultUtil.tokenErr();
|
}
|
return driverService.verificationWithdrawPassword(withdrawPassword, driverId, language);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 退出登录
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/driver/loginOut")
|
@ApiOperation(value = "退出登录", tags = {"司机端-车载端"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil loginOut(HttpServletRequest request){
|
try {
|
Integer driverId = driverService.getUserIdFormRedis(request);
|
if(null == driverId){
|
return ResultUtil.tokenErr();
|
}
|
return driverService.loginOut(driverId);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
@ResponseBody
|
@PostMapping("/api/driver/getInviteList")
|
@ApiOperation(value = "获取邀请司机/乘客列表", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "类型[1:乘客,2:司机]", 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 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(language, type,uid, pageNum, size);
|
return ResultUtil.success(DriverInviteInfoWarpper.getDriverInviteInfoWarpper(list));
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
@ResponseBody
|
@PostMapping("/base/driver/queryShareLink")
|
@ApiOperation(value = "获取分享链接及分案", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "链接上的type", name = "type", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "链接上的uid", name = "driverId", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "语言", name = "language", required = true, dataType = "int"),
|
})
|
public ResultUtil<Map<String, Object>> queryShareLink(Integer type, Integer driverId, Integer language){
|
try {
|
Map<String, Object> map = new HashMap<>();
|
map.put("link", shareUrl + "?type=" + type + "&uid=" + driverId + "&language=" + (null == language ? 2 : language));
|
return ResultUtil.success(map);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/updateName")
|
@ApiOperation(value = "修改姓名【1.1】", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "姓", name = "lastName", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "名", name = "firstName", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil updateName(String lastName, String firstName, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
Driver driver = driverService.selectById(uid);
|
driver.setLastName(lastName);
|
driver.setFirstName(firstName);
|
driverService.updateById(driver);
|
return ResultUtil.success();
|
}catch (Exception e){
|
e.printStackTrace();
|
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() {
|
Process process = null;
|
try {
|
process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName + ".mp3");
|
} catch (IOException e) {
|
throw new RuntimeException(e);
|
}
|
if (process != null) {
|
process.destroy();
|
}
|
}
|
}, 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();
|
}
|
}
|
}
|