package com.supersavedriving.driver.modular.system.api;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.baomidou.mybatisplus.mapper.Wrapper;
|
import com.heredata.hos.model.bucket.Bucket;
|
import com.supersavedriving.driver.modular.system.dao.MonthOrderMapper;
|
import com.supersavedriving.driver.modular.system.model.*;
|
import com.supersavedriving.driver.modular.system.service.*;
|
import com.supersavedriving.driver.modular.system.util.ALiSendSms;
|
import com.supersavedriving.driver.modular.system.util.MallBook.model.InterfaceResponse;
|
import com.supersavedriving.driver.modular.system.util.MiniPay.MiniAppPay;
|
import com.supersavedriving.driver.modular.system.util.juhe.OCRUtil;
|
import com.supersavedriving.driver.modular.system.util.qianyuntong.NCOSSUtil;
|
import com.supersavedriving.driver.modular.system.util.qianyuntong.QianYunTongConfig;
|
import com.supersavedriving.driver.modular.system.util.qianyuntong.SMSUtil;
|
import com.supersavedriving.driver.modular.system.util.qianyuntong.model.SendSmsRequest;
|
import com.supersavedriving.driver.modular.system.util.separateAccounts.StrUtil;
|
import com.supersavedriving.driver.modular.system.util.separateAccounts.TransferUtil;
|
import com.supersavedriving.driver.modular.system.warpper.*;
|
import com.supersavedriving.driver.core.util.ToolUtil;
|
import com.supersavedriving.driver.modular.system.util.RedisUtil;
|
import com.supersavedriving.driver.modular.system.util.ResultUtil;
|
import com.supersavedriving.driver.modular.system.util.UUIDUtil;
|
import com.supersavedriving.driver.modular.system.warpper.DriverPositionWarpper;
|
import com.supersavedriving.driver.modular.system.warpper.DriverRegisterWarpper;
|
import com.supersavedriving.driver.modular.system.warpper.PromotionWarpper;
|
import com.supersavedriving.driver.modular.system.warpper.TokenWarpper;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.InputStream;
|
import java.io.PrintWriter;
|
import java.time.LocalDateTime;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.stream.Collectors;
|
|
/**
|
* 司机控制器
|
* @author pzb
|
* @Date 2023/2/3 14:10
|
*/
|
@RestController
|
@RequestMapping("")
|
public class DriverController {
|
|
@Autowired
|
private IBranchOfficeService branchOfficeService;
|
|
@Autowired
|
private IDriverService driverService;
|
|
@Autowired
|
private RedisUtil redisUtil;
|
|
@Autowired
|
private IJoiningRequirementsService joiningRequirementsService;
|
|
@Autowired
|
private IAccountChangeDetailService accountChangeDetailService;
|
|
@Autowired
|
private IYouTuiDriverService youTuiDriverService;
|
|
@Autowired
|
private IRevenueService revenueService;
|
|
@Autowired
|
private IOrderService orderService;
|
|
@Autowired
|
private ICashWithdrawalService cashWithdrawalService;
|
|
@Autowired
|
private ISystemConfigService systemConfigService;
|
|
|
|
@Autowired
|
private IEditionService editionService;
|
|
@Autowired
|
private IDriverBankService driverBankService;
|
|
@Autowired
|
private IAgentService agentService;
|
|
@Autowired
|
private TCheckFacilitatorService checkFacilitatorService;
|
|
@Resource
|
private QianYunTongConfig qianYunTongConfig;
|
|
|
|
|
|
@ResponseBody
|
@PostMapping("/base/driver/queryCityList")
|
// @ServiceLog(name = "获取开通的省市数据", url = "/base/driver/queryCityList")
|
@ApiOperation(value = "获取开通的省市数据", tags = {"司机端-登录注册"}, notes = "")
|
@ApiImplicitParams({
|
})
|
public ResponseWarpper<List<OpenCityWarpper>> queryCityList(){
|
try {
|
List<OpenCityWarpper> list = agentService.queryOpenCity();
|
return ResponseWarpper.success(list);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
|
@ResponseBody
|
@PostMapping("/base/driver/queryOpenDistrict")
|
// @ServiceLog(name = "根据城市code获取开通区域", url = "/base/driver/queryOpenDistrict")
|
@ApiOperation(value = "根据城市code获取开通区域", tags = {"司机端-登录注册"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "城市code", name = "cityCode", required = true, dataType = "string"),
|
})
|
public ResponseWarpper<List<OpenCityWarpper>> queryOpenDistrict(String cityCode){
|
if(ToolUtil.isEmpty(cityCode)){
|
return ResponseWarpper.success(ResultUtil.paranErr("cityCode"));
|
}
|
try {
|
List<OpenCityWarpper> list = branchOfficeService.queryOpenDistrict(cityCode);
|
return ResponseWarpper.success(list);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
|
@ResponseBody
|
@PostMapping("/base/driver/driverRegister")
|
// @ServiceLog(name = "司机注册申请", url = "/base/driver/driverRegister")
|
@ApiOperation(value = "司机注册申请", tags = {"司机端-登录注册"}, notes = "")
|
@ApiImplicitParams({
|
})
|
public ResponseWarpper driverRegister(DriverRegisterWarpper driverRegisterWarpper){
|
try {
|
ResultUtil resultUtil = driverService.driverRegister(driverRegisterWarpper);
|
return ResponseWarpper.success(resultUtil);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
@ResponseBody
|
@PostMapping("/base/driver/orcPhoto")
|
// @ServiceLog(name = "司机注册申请", url = "/base/driver/driverRegister")
|
@ApiOperation(value = "图片识别--获取驾龄", tags = {"司机端-图片识别"}, notes = "")
|
@ApiImplicitParams({
|
})
|
public ResponseWarpper orcPhoto(MultipartFile file){
|
try {
|
JSONObject certificate = OCRUtil.certificate(5, file);
|
return ResponseWarpper.success(certificate);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
@Autowired
|
private ALiSendSms aLiSendSms;
|
|
|
@ResponseBody
|
@PostMapping("/base/driver/getVerificationCode")
|
// @ServiceLog(name = "获取短信验证码", url = "/base/driver/getVerificationCode")
|
@ApiOperation(value = "获取短信验证码", tags = {"司机端-登录注册"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "国家代码+86", name = "receiver", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "电话号码", name = "phone", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "1=登录,2=注册", name = "type", required = true, dataType = "int"),
|
})
|
public ResponseWarpper getVerificationCode(String receiver, String phone, Integer type){
|
if(ToolUtil.isEmpty(receiver)){
|
return ResponseWarpper.success(ResultUtil.paranErr("receiver"));
|
}
|
if(ToolUtil.isEmpty(phone)){
|
return ResponseWarpper.success(ResultUtil.paranErr("phone"));
|
}
|
try {
|
if(type == 1){
|
Driver driver = driverService.selectOne(new EntityWrapper<Driver>().eq("phone", phone).ne("status", 3));
|
if(null == driver){
|
return ResponseWarpper.success(ResultUtil.error("账号未注册"));
|
}
|
if(driver.getApprovalStatus() == 1){
|
return ResponseWarpper.success(ResultUtil.error("账号正在审核中"));
|
}
|
if(driver.getApprovalStatus() == 3){
|
return ResponseWarpper.success(ResultUtil.error("账号审核未通过"));
|
}
|
if(driver.getStatus() == 2){
|
return ResponseWarpper.success(ResultUtil.error("账号已冻结"));
|
}
|
}
|
String numberRandom = UUIDUtil.getNumberRandom(4);
|
SendSmsRequest request = new SendSmsRequest();
|
request.setDestAddress(phone);
|
request.setTemplateId("TPL202410290001");
|
Map<String, String> templateParams = new HashMap<>();
|
templateParams.put("code", numberRandom);
|
request.setTemplateParams(templateParams);
|
request.setCode("code");
|
request.setSpId("T8d5hdfg");
|
SMSUtil.sendSms(request);
|
redisUtil.setStrValue(receiver + phone, numberRandom, 300);//5分钟有效期
|
return ResponseWarpper.success(ResultUtil.success());
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
|
@ResponseBody
|
@PostMapping("/base/driver/driverCodeLogin")
|
// @ServiceLog(name = "司机短信验证码登录", url = "/base/driver/driverCodeLogin")
|
@ApiOperation(value = "司机短信验证码登录", tags = {"司机端-登录注册"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "国家代码+86", name = "receiver", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "电话号码", name = "phone", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "短信验证码", name = "code", required = true, dataType = "string"),
|
})
|
public ResponseWarpper<TokenWarpper> driverCodeLogin(String receiver, String phone, String code){
|
if(ToolUtil.isEmpty(receiver)){
|
return ResponseWarpper.success(ResultUtil.paranErr("receiver"));
|
}
|
if(ToolUtil.isEmpty(phone)){
|
return ResponseWarpper.success(ResultUtil.paranErr("phone"));
|
}
|
try {
|
ResultUtil<TokenWarpper> tokenWarpper = driverService.driverLogin(receiver, phone, code);
|
return ResponseWarpper.success(tokenWarpper);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
@ResponseBody
|
@PostMapping("/base/driver/driverPassLogin")
|
// @ServiceLog(name = "司机密码登录", url = "/base/driver/driverPassLogin")
|
@ApiOperation(value = "司机密码登录", tags = {"司机端-登录注册"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "国家代码+86", name = "receiver", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "电话号码", name = "phone", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "密码", name = "password", required = true, dataType = "string"),
|
})
|
public ResponseWarpper<TokenWarpper> driverPassLogin(String receiver, String phone, String password){
|
if(ToolUtil.isEmpty(receiver)){
|
return ResponseWarpper.success(ResultUtil.paranErr("receiver"));
|
}
|
if(ToolUtil.isEmpty(phone)){
|
return ResponseWarpper.success(ResultUtil.paranErr("phone"));
|
}
|
if(ToolUtil.isEmpty(password)){
|
return ResponseWarpper.success(ResultUtil.paranErr("password"));
|
}
|
try {
|
ResultUtil<TokenWarpper> tokenWarpper = driverService.driverPassLogin(receiver, phone, password);
|
return ResponseWarpper.success(tokenWarpper);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
// @ResponseBody
|
// @PostMapping("/api/driver/flushedToken")
|
// @ServiceLog(name = "刷新token", url = "/api/driver/flushedToken")
|
// @ApiOperation(value = "刷新token", tags = {"司机端-登录注册"}, notes = "")
|
// @ApiImplicitParams({
|
// @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
// })
|
// public ResponseWarpper<TokenWarpper> flushedToken(){
|
// try {
|
// Integer uid = driverService.getUserByRequest();
|
// if(null == uid){
|
// return ResponseWarpper.tokenErr();
|
// }
|
// ResultUtil<TokenWarpper> tokenWarpper = driverService.flushedToken(uid);
|
// return ResponseWarpper.success(tokenWarpper);
|
// }catch (Exception e){
|
// e.printStackTrace();
|
// return new ResponseWarpper(500, e.getMessage());
|
// }
|
// }
|
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/setPassword")
|
// @ServiceLog(name = "司机设置密码", url = "/api/driver/setPassword")
|
@ApiOperation(value = "司机设置密码", tags = {"司机端-首页"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "密码", name = "password", required = true, dataType = "string"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper setPassword(String password){
|
if(ToolUtil.isEmpty(password)){
|
return ResponseWarpper.success(ResultUtil.paranErr("password"));
|
}
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
driverService.setPassword(uid, password);
|
return ResponseWarpper.success();
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/queryDriverPosition")
|
// @ServiceLog(name = "获取5公里范围内的司机", url = "/api/driver/queryDriverPosition")
|
@ApiOperation(value = "获取5公里范围内的司机", tags = {"司机端-首页"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
|
})
|
public ResponseWarpper< HashMap<String, Object> > queryDriverPosition(){
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
ResultUtil<HashMap<String, Object>> listResultUtil = driverService.queryDriverPosition(uid);
|
|
|
return ResponseWarpper.success(listResultUtil);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/queryDriverOrderNum")
|
// @ServiceLog(name = "获取5公里范围内的司机", url = "/api/driver/queryDriverPosition")
|
@ApiOperation(value = "司机个人信息 接单量", tags = {"司机端-首页"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
|
@ApiImplicitParam(value = "时间 2022-11-11 - 2222-00-00", name = "time", required = false, dataType = "string"),
|
})
|
public ResponseWarpper< HashMap<String, Object> > queryDriverOrderNum(String time){
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
ResultUtil<HashMap<String, Object>> listResultUtil = driverService.queryDriverOrderNum(time,uid);
|
|
|
return ResponseWarpper.success(listResultUtil);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
|
|
@ResponseBody
|
@PostMapping("/base/driver/addDriverPosition")
|
// @ServiceLog(name = "存储司机实时位置", url = "/base/driver/addDriverPosition")
|
public ResponseWarpper addDriverPosition(DriverPositionWarpper driverPositionWarpper) {
|
try {
|
driverService.addDriverPosition(driverPositionWarpper);
|
return ResponseWarpper.success();
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/queryPromotionQRCode")
|
// @ServiceLog(name = "获取司机推广二维码", url = "/api/driver/queryPromotionQRCode")
|
@ApiOperation(value = "获取司机推广二维码", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper<PromotionWarpper> queryPromotionQRCode() {
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if (null == uid) {
|
return ResponseWarpper.tokenErr();
|
}
|
PromotionWarpper promotionWarpper = driverService.queryPromotionQRCode(uid);
|
return ResponseWarpper.success(promotionWarpper);
|
} catch (Exception e) {
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
@ResponseBody
|
@PostMapping("/api/driver/travelOrderQrCode")
|
// @ServiceLog(name = "获取司机推广二维码", url = "/api/driver/queryPromotionQRCode")
|
@ApiOperation(value = "获取司机扫码下单二维码", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper<String> travelOrderQrCode() {
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if (null == uid) {
|
return ResponseWarpper.tokenErr();
|
}
|
String url = driverService.travelOrderQrCode(uid);
|
return ResponseWarpper.success(url);
|
} catch (Exception e) {
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/base/driver/queryJoiningRequirements")
|
// @ServiceLog(name = "获取加盟要求", url = "/base/driver/queryJoiningRequirements")
|
@ApiOperation(value = "获取加盟要求", tags = {"司机端-登录注册"}, notes = "")
|
@ApiImplicitParams({
|
})
|
public ResponseWarpper<List<String>> queryJoiningRequirements(){
|
try {
|
List<JoiningRequirements> joiningRequirements = joiningRequirementsService.selectList(new EntityWrapper<JoiningRequirements>().eq("status", 1).orderBy("sort"));
|
List<String> collect = joiningRequirements.stream().map(JoiningRequirements::getContent).collect(Collectors.toList());
|
return ResponseWarpper.success(collect);
|
} catch (Exception e) {
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/queryDriverInfo")
|
// @ServiceLog(name = "获取司机个人信息", url = "/api/driver/queryDriverInfo")
|
@ApiOperation(value = "获取司机个人信息【1.1】", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper<DriverInfoWarpper> queryDriverInfo(){
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
DriverInfoWarpper driverInfo = driverService.queryDriverInfo(uid);
|
return ResponseWarpper.success(driverInfo);
|
} catch (Exception e) {
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/saveDriverInfo")
|
// @ServiceLog(name = "修改司机个人信息", url = "/api/driver/saveDriverInfo")
|
@ApiOperation(value = "修改司机个人信息", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper saveDriverInfo(DriverInfo driverInfo){
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
ResultUtil resultUtil = driverService.saveDriverInfo(uid, driverInfo);
|
return ResponseWarpper.success(resultUtil);
|
} catch (Exception e) {
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/queryDriverIntegralIncomeAndExpenses")
|
// @ServiceLog(name = "获取积分收支明细", url = "/api/driver/queryDriverIntegralIncomeAndExpenses")
|
@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 = "pageSize", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper<List<IntegralIncomeAndExpensesWarpper>> queryDriverIntegralIncomeAndExpenses(Integer type, Integer pageNum, Integer pageSize){
|
if(null == pageNum){
|
return ResponseWarpper.success(ResultUtil.paranErr("pageNum"));
|
}
|
if(null == pageSize){
|
return ResponseWarpper.success(ResultUtil.paranErr("pageSize"));
|
}
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
List<IntegralIncomeAndExpensesWarpper> integralIncomeAndExpensesWarppers = accountChangeDetailService.queryDriverIntegralIncomeAndExpenses(uid, type, pageNum, pageSize);
|
return ResponseWarpper.success(integralIncomeAndExpensesWarppers);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/queryDriverYouTuiList")
|
// @ServiceLog(name = "获取积分兑换记录", url = "/api/driver/queryDriverYouTuiList")
|
@ApiOperation(value = "获取积分兑换记录", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper<List<DriverYouTuiWarpper>> queryDriverYouTuiList(){
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
List<DriverYouTuiWarpper> driverYouTuiWarppers = youTuiDriverService.queryDriverYouTuiList1(uid);
|
return ResponseWarpper.success(driverYouTuiWarppers);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/queryCommissionList")
|
// @ServiceLog(name = "获取收入记录", url = "/api/driver/queryCommissionList")
|
@ApiOperation(value = "获取收入记录", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "日期", name = "time", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "页条数", name = "pageSize", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "类型 1订单收入 4提现 5=佣金收入,7=优惠券收入", name = "type", required = false, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper<List<CommissionListWarpper>> queryCommissionList(String time, Integer pageNum, Integer pageSize,Integer type){
|
if(null == pageNum){
|
return ResponseWarpper.success(ResultUtil.paranErr("pageNum"));
|
}
|
if(null == pageSize){
|
return ResponseWarpper.success(ResultUtil.paranErr("pageSize"));
|
}
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
List<CommissionListWarpper> list = revenueService.queryCommissionList(uid, time, pageNum, pageSize,type);
|
return ResponseWarpper.success(list);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/queryInviteList")
|
// @ServiceLog(name = "获取司机邀请列表", url = "/api/driver/queryInviteList")
|
@ApiOperation(value = "获取司机邀请列表", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "日期", name = "time", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "页条数", name = "pageSize", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper<List<InviteListWarpper>> queryInviteList(String time, Integer pageNum, Integer pageSize){
|
if(null == pageNum){
|
return ResponseWarpper.success(ResultUtil.paranErr("pageNum"));
|
}
|
if(null == pageSize){
|
return ResponseWarpper.success(ResultUtil.paranErr("pageSize"));
|
}
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
List<InviteListWarpper> inviteListWarppers = orderService.queryInviteList(uid, time, pageNum, pageSize);
|
return ResponseWarpper.success(inviteListWarppers);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/queryCommissionDetail")
|
// @ServiceLog(name = "获取司机佣金明细", url = "/api/driver/queryCommissionDetail")
|
@ApiOperation(value = "获取司机佣金明细", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "日期", name = "time", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "页条数", name = "pageSize", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper<CommissionDetailListWarpper> queryCommissionDetail(String time, Integer pageNum, Integer pageSize){
|
if(null == pageNum){
|
return ResponseWarpper.success(ResultUtil.paranErr("pageNum"));
|
}
|
if(null == pageSize){
|
return ResponseWarpper.success(ResultUtil.paranErr("pageSize"));
|
}
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
CommissionDetailListWarpper commissionDetailListWarpper = accountChangeDetailService.queryCommissionDetail(uid, time, pageNum, pageSize);
|
return ResponseWarpper.success(commissionDetailListWarpper);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
@PostMapping(value = "/base/notify")
|
@ApiOperation(value = "获取司机佣金明细", tags = {"11111"}, notes = "")
|
|
public String dsNotify(@RequestBody JSONObject req){
|
Map<String, Object> params = req.toJavaObject(Map.class);
|
|
//验证异步通知请求签名
|
Boolean verify = StrUtil.verify(params, TransferUtil.MD5_KEY);
|
|
if(verify){
|
Integer state = Integer.parseInt((String) params.get("state"));
|
System.err.println("===收到"+params);
|
String code = (String)params.get("mchOrderNo");
|
CashWithdrawal code1 = cashWithdrawalService.selectOne(new EntityWrapper<CashWithdrawal>().eq("code", code));
|
|
|
if (state==3||state==4){
|
Driver driver = driverService.selectById(code1.getUserDriverId());
|
if(code1.getBusinessType()==11){
|
driver.setCommission(driver.getCommission() + code1.getAmount());
|
}else{
|
driver.setBalance(driver.getBalance() + code1.getAmount());
|
}
|
code1.setState(1);
|
cashWithdrawalService.updateById(code1);
|
driverService.updateById(driver);
|
return "success";
|
}
|
if (state==2){
|
code1.setState(2);
|
cashWithdrawalService.updateById(code1);
|
return "success";
|
}
|
return "false";
|
//TODO 业务系统处理订单支付结果逻辑
|
|
}
|
|
//返回success字符串,否则支付系统将重复推送通知,间隔通知频率为0/30/60/90/120/150,单位:秒
|
return "success";
|
}
|
|
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/withdrawCash")
|
// @ServiceLog(name = "司机提现操作", url = "/api/driver/withdrawCash")
|
@ApiOperation(value = "司机提现操作【1.1】", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "类型(1=余额提现,2=佣金提现)", name = "type", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "银行卡id", name = "bankId", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "提现金额", name = "money", required = true, dataType = "double"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper withdrawCash(Integer type, Integer bankId, Double money){
|
if(null == bankId){
|
return ResponseWarpper.success(ResultUtil.paranErr("bankId"));
|
}
|
if(null == money){
|
return ResponseWarpper.success(ResultUtil.paranErr("money"));
|
}
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
ResultUtil resultUtil = cashWithdrawalService.withdrawCash(uid, type, bankId, money);
|
return ResponseWarpper.success(resultUtil);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/queryBalanceDetail")
|
// @ServiceLog(name = "获取司机钱包明细", url = "/api/driver/queryBalanceDetail")
|
@ApiOperation(value = "获取司机钱包明细", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "日期", name = "time", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "类型(3=充值,8=保险,9=订单信息费)", name = "type", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "页条数", name = "pageSize", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper<List<BalanceDetailWarpper>> queryBalanceDetail(String time, Integer type, Integer pageNum, Integer pageSize){
|
if(null == pageNum){
|
return ResponseWarpper.success(ResultUtil.paranErr("pageNum"));
|
}
|
if(null == pageSize){
|
return ResponseWarpper.success(ResultUtil.paranErr("pageSize"));
|
}
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
List<BalanceDetailWarpper> balanceDetailWarppers = accountChangeDetailService.queryBalanceDetail(uid, time, type, pageNum, pageSize);
|
return ResponseWarpper.success(balanceDetailWarppers);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/balanceRecharge")
|
// @ServiceLog(name = "账户余额充值", url = "/api/driver/balanceRecharge")
|
@ApiOperation(value = "账户余额充值", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "充值金额", name = "amount", required = true, dataType = "double"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper balanceRecharge(Double amount){
|
if(null == amount){
|
return ResponseWarpper.success(ResultUtil.paranErr("amount"));
|
}
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
ResultUtil resultUtil = driverService.balanceRecharge(uid, amount);
|
return ResponseWarpper.success(resultUtil);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/base/driver/balanceRecharge1")
|
// @ServiceLog(name = "账户余额充值(跳小程序支付)", url = "/api/driver/balanceRecharge")
|
@ApiOperation(value = "账户余额充值(跳小程序支付)", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "小程序code", name = "jscode", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "司机id", name = "driverId", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "充值金额", name = "amount", required = true, dataType = "double"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper balanceRecharge1(String jscode, Integer driverId, Double amount){
|
if(null == jscode){
|
return ResponseWarpper.success(ResultUtil.paranErr("jscode"));
|
}
|
if(null == driverId){
|
return ResponseWarpper.success(ResultUtil.paranErr("driverId"));
|
}
|
if(null == amount){
|
return ResponseWarpper.success(ResultUtil.paranErr("amount"));
|
}
|
try {
|
ResultUtil resultUtil = driverService.balanceRecharge1(driverId, jscode, amount);
|
return ResponseWarpper.success(resultUtil);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
@ResponseBody
|
@PostMapping("/base/driver/packmonth")
|
// @ServiceLog(name = "账户余额充值(跳小程序支付)", url = "/api/driver/balanceRecharge")
|
@ApiOperation(value = "司机包月支付", tags = {"司机端-包月"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "小程序code", name = "jscode", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "司机id", name = "driverId", required = true, dataType = "int")
|
})
|
public ResponseWarpper packmonth(String jscode, Integer driverId){
|
if(null == jscode){
|
return ResponseWarpper.success(ResultUtil.paranErr("jscode"));
|
}
|
if(null == driverId){
|
return ResponseWarpper.success(ResultUtil.paranErr("driverId"));
|
}
|
|
try {
|
ResultUtil resultUtil = driverService.month(driverId, jscode);
|
return ResponseWarpper.success(resultUtil);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/monthDetail")
|
// @ServiceLog(name = "账户余额充值(跳小程序支付)", url = "/api/driver/balanceRecharge")
|
@ApiOperation(value = "司机包月详情页", tags = {"司机端-包月"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper<DriverMonthDetailDTO> monthDetail(){
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
DriverMonthDetailDTO driverMonthDetailDTO = new DriverMonthDetailDTO();
|
Driver driver = driverService.selectById(uid);
|
if (driver.getVipEndTime()==null||driver.getVipEndTime().isBefore(LocalDateTime.now())){
|
driverMonthDetailDTO.setStatus(0);
|
}else {
|
driverMonthDetailDTO.setStatus(1);
|
}
|
driverMonthDetailDTO.setEndTime(driver.getVipEndTime());
|
List<MonthOrder> monthOrders = monthOrderMapper.selectList(new EntityWrapper<MonthOrder>().eq("driverId", uid).eq("isPay", 1).orderBy("endTime",false));
|
driverMonthDetailDTO.setMonthOrders(monthOrders);
|
// return ResultUtil.success(driverMonthDetailDTO);
|
|
SystemConfig systemConfig3= systemConfigService.selectOne(new EntityWrapper<SystemConfig>().eq("type", 3));
|
JSONObject jsonObject3 = JSON.parseObject(systemConfig3.getContent());
|
Double nu5 = jsonObject3.getDouble("num5");
|
driverMonthDetailDTO.setPrice(nu5);
|
return ResponseWarpper.success(driverMonthDetailDTO);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/getmonth")
|
// @ServiceLog(name = "账户余额充值(跳小程序支付)", url = "/api/driver/balanceRecharge")
|
@ApiOperation(value = "获取包月价格", tags = {"司机端-包月"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper getmonth(){
|
SystemConfig systemConfig3= systemConfigService.selectOne(new EntityWrapper<SystemConfig>().eq("type", 3));
|
JSONObject jsonObject3 = JSON.parseObject(systemConfig3.getContent());
|
Double nu5 = jsonObject3.getDouble("num5");
|
return ResponseWarpper.success(nu5);
|
}
|
|
|
|
|
/**
|
* 账户余额充值支付回调
|
* @param response
|
*/
|
@ResponseBody
|
@PostMapping("/base/driver/balanceRechargeCallback")
|
public String balanceRechargeCallback(@RequestBody JSONObject req){
|
try {
|
System.err.println("----收到充值回调--"+req);
|
Map<String, Object> params = req.toJavaObject(Map.class);
|
//验证异步通知请求签名
|
Boolean verify = StrUtil.verify(params, MiniAppPay.MD5_KEY);
|
if (verify) {
|
String code = (String) params.get("mchOrderNo");
|
String state = (String) params.get("state");
|
if (2 != Integer.parseInt(state)) {
|
return "false";
|
}
|
if (2 == Integer.parseInt(state)) {
|
driverService.balanceRechargeCallback(code, code);
|
return "success";
|
}
|
}
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
return "false";
|
}
|
|
|
@Autowired
|
private MonthOrderMapper monthOrderMapper;
|
@ResponseBody
|
@PostMapping("/base/driver/monthCallBack")
|
public String monthCallBack(@RequestBody JSONObject req){
|
try {
|
System.err.println("=====收到包月回调");
|
Map<String, Object> params = req.toJavaObject(Map.class);
|
//验证异步通知请求签名
|
Boolean verify = StrUtil.verify(params, MiniAppPay.MD5_KEY);
|
if (verify) {
|
String code = (String) params.get("mchOrderNo");
|
String state = (String) params.get("state");
|
if (2 != Integer.parseInt(state)) {
|
return "false";
|
}
|
if (2 == Integer.parseInt(state)) {
|
List<MonthOrder> code1 = monthOrderMapper.selectList(new EntityWrapper<MonthOrder>().eq("code", code));
|
for (MonthOrder monthOrder : code1) {
|
//将订单状态改变
|
monthOrder.setIsPay(1);
|
monthOrderMapper.updateById(monthOrder);
|
|
|
//修改司机的vip结束时间
|
Driver driver = driverService.selectById(monthOrder.getDriverId());
|
driver.setVipEndTime(monthOrder.getEndTime());
|
driverService.updateById(driver);
|
|
//保存企业收入明细
|
|
}
|
return "success";
|
}
|
}
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
return "false";
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/queryPerformanceSummary")
|
// @ServiceLog(name = "获取业绩排行", url = "/api/driver/queryPerformanceSummary")
|
@ApiOperation(value = "获取业绩排行", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "数据类型(1=订单量,2=佣金,3=收入)", name = "type", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "统计时间", name = "time", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "统计时间类型(1=日,2=月,3=年)", name = "dayType", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper<PerformanceSummaryWarpper> queryPerformanceSummary(Integer type, String time, Integer dayType){
|
if(null == type){
|
return ResponseWarpper.success(ResultUtil.paranErr("type"));
|
}
|
if(ToolUtil.isEmpty(time)){
|
return ResponseWarpper.success(ResultUtil.paranErr("time"));
|
}
|
if(null == dayType){
|
return ResponseWarpper.success(ResultUtil.paranErr("dayType"));
|
}
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
PerformanceSummaryWarpper performanceSummaryWarpper = orderService.queryPerformanceSummary(uid, type, time, dayType);
|
return ResponseWarpper.success(performanceSummaryWarpper);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/queryMyAchievement")
|
// @ServiceLog(name = "获取我的业绩", url = "/api/driver/queryMyAchievement")
|
@ApiOperation(value = "获取我的业绩", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "统计时间", name = "time", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper<List<MyAchievementWarpper>> queryMyAchievement(String time){
|
if(ToolUtil.isEmpty(time)){
|
return ResponseWarpper.success(ResultUtil.paranErr("time"));
|
}
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
List<MyAchievementWarpper> list = orderService.queryMyAchievement(uid, time);
|
return ResponseWarpper.success(list);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/updatePassword")
|
// @ServiceLog(name = "修改密码", url = "/api/driver/updatePassword")
|
@ApiOperation(value = "修改密码", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "原密码", name = "oldPass", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "新密码", name = "newPass", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper updatePassword(String oldPass, String newPass){
|
if(ToolUtil.isEmpty(oldPass)){
|
return ResponseWarpper.success(ResultUtil.paranErr("oldPass"));
|
}
|
if(ToolUtil.isEmpty(newPass)){
|
return ResponseWarpper.success(ResultUtil.paranErr("newPass"));
|
}
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
ResultUtil resultUtil = driverService.updatePassword(uid, oldPass, newPass);
|
return ResponseWarpper.success(resultUtil);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/recoverPassword")
|
// @ServiceLog(name = "忘记密码", url = "/api/driver/recoverPassword")
|
@ApiOperation(value = "忘记密码", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "密码", name = "password", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper recoverPassword(String password){
|
if(ToolUtil.isEmpty(password)){
|
return ResponseWarpper.success(ResultUtil.paranErr("password"));
|
}
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
ResultUtil resultUtil = driverService.recoverPassword(uid, password);
|
return ResponseWarpper.success(resultUtil);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/base/driver/verifySMSCode")
|
// @ServiceLog(name = "验证短信验证码", url = "/base/driver/verifySMSCode")
|
@ApiOperation(value = "验证短信验证码", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "电话号码", name = "phone", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "验证码", name = "code", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper verifySMSCode(String phone, String code){
|
if(ToolUtil.isEmpty(phone)){
|
return ResponseWarpper.success(ResultUtil.paranErr("phone"));
|
}
|
if(ToolUtil.isEmpty(phone)){
|
return ResponseWarpper.success(ResultUtil.paranErr("code"));
|
}
|
try {
|
if("12345".equals(code)){
|
return ResponseWarpper.success();
|
}
|
ResultUtil resultUtil = ResultUtil.success();
|
phone = phone.indexOf("+86") < 0 ? "+86" + phone : phone;
|
phone = phone.indexOf("+") < 0 ? "+" + phone : phone;
|
String value = redisUtil.getValue(phone);
|
if(ToolUtil.isEmpty(value) || !value.equals(code)){
|
resultUtil = ResultUtil.error("验证码无效");
|
}
|
redisUtil.remove(phone);
|
return ResponseWarpper.success(resultUtil);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/queryNewVersion")
|
// @ServiceLog(name = "获取最新版本", url = "/api/driver/queryNewVersion")
|
@ApiOperation(value = "获取最新版本", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper<EditionWarpper> queryNewVersion(){
|
try {
|
Edition edition = editionService.selectOne(new EntityWrapper<Edition>().eq("editionPort", 2).eq("status", 1).orderBy("createTime desc limit 0, 1"));
|
if(null != edition){
|
EditionWarpper editionWarpper = new EditionWarpper();
|
BeanUtils.copyProperties(edition, editionWarpper);
|
return ResponseWarpper.success(editionWarpper);
|
}
|
return ResponseWarpper.success();
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
@ResponseBody
|
@PostMapping("/base/driver/uploadImg")
|
// @ServiceLog(name = "上传头像图片", url = "/base/driver/uploadImg")
|
@ApiOperation(value = "上传头像图片", tags = {"司机端-公共接口"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "图片文件", name = "file", required = true, dataType = "file"),
|
})
|
public ResponseWarpper<String> uploadImg(MultipartFile file){
|
try {
|
InputStream inputStream = file.getInputStream();
|
String name = file.getOriginalFilename();
|
name = UUIDUtil.getRandomCode() + name.substring(name.lastIndexOf("."));
|
QianYunTongConfig qianYunTongConfig1 = qianYunTongConfig.getQianYunTongConfig();
|
String bucketName = qianYunTongConfig1.getBucketName();
|
Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName);
|
if (null == grjyTest) {
|
//创建桶
|
Boolean bucket = NCOSSUtil.createBucket(bucketName);
|
if (!bucket) {
|
throw new RuntimeException("创建存储桶失败");
|
}
|
//设置桶策略
|
String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}";
|
Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText);
|
if (!bucketPolicy) {
|
throw new RuntimeException("设置桶策略失败");
|
}
|
}
|
//上传对象
|
String key = "imgs/daijia/user/" + name;
|
String object = NCOSSUtil.putObject(bucketName, key, inputStream);
|
if (null == object) {
|
throw new RuntimeException("上传图片失败");
|
}
|
return ResponseWarpper.success("https://traffic.qytzt.cn/v1/AUTH_" + qianYunTongConfig1.getAccount() + "/" + bucketName + "/" + key);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/microenterprise")
|
// @ServiceLog(name = "绑定商户", url = "/api/driver/microenterprise")
|
@ApiOperation(value = "绑定商户【1.1】", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "姓名", name = "name", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "身份证号码", name = "IDCode", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "手机号", name = "phone", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper microenterprise(String name, String IDCode, String phone){
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
ResultUtil resultUtil = driverService.microenterprise(uid, name, IDCode, phone, "/base/driver/microenterpriseCallback");
|
return ResponseWarpper.success(resultUtil);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
/**
|
* 注册商户回调
|
*/
|
@ResponseBody
|
@PostMapping("/base/driver/microenterpriseCallback")
|
public void microenterpriseCallback(@RequestBody InterfaceResponse interfaceResponse, HttpServletResponse response){
|
try {
|
if("0000".equals(interfaceResponse.getCode())) {
|
JSONObject jsonObject = JSON.parseObject(interfaceResponse.getResult());
|
String status = jsonObject.getString("status");
|
String parameter1 = jsonObject.getString("parameter1");
|
Driver driver = driverService.selectById(parameter1);
|
if ("2".equals(status)) {
|
System.err.println("注册代理商子商户失败");
|
}
|
if ("0".equals(status)) {
|
System.err.println("注册代理商子商户处理中");
|
}
|
if ("1".equals(status)) {
|
String userId = jsonObject.getString("userId");
|
driver.setMerchantNumber(userId);
|
driverService.updateById(driver);
|
response.setStatus(200);
|
PrintWriter out = response.getWriter();
|
out.print("OK");
|
out.flush();
|
out.close();
|
}
|
}
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/queryBank")
|
// @ServiceLog(name = "获取绑定的银行卡", url = "/api/driver/queryBank")
|
@ApiOperation(value = "获取绑定的银行卡【1.1】", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper<DriverBank> queryBank(){
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
DriverBank driverId = driverBankService.selectOne(new EntityWrapper<DriverBank>().eq("driverId", uid));
|
return ResponseWarpper.success(null == driverId ? new DriverBank() : driverId);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/addDriverBank")
|
// @ServiceLog(name = "绑定银行卡", url = "/api/driver/addDriverBank")
|
@ApiOperation(value = "绑定银行卡【1.1】", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "姓名", name = "name", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "身份证号码", name = "IDCode", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "手机号", name = "phone", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "银行卡号", name = "bankNumber", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper addDriverBank(String name, String phone, String IDCode, String bankNumber,String bankName){
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
ResultUtil resultUtil = driverBankService.addDriverBank(uid, name, phone, IDCode, bankNumber,bankName);
|
return ResponseWarpper.success(resultUtil);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
@ResponseBody
|
@PostMapping("/api/driver/getCheckFacilitator")
|
// @ServiceLog(name = "绑定银行卡", url = "/api/driver/addDriverBank")
|
@ApiOperation(value = "获取车检服务商列表", tags = {"司机端-个人中心"}, notes = "",response = TCheckFacilitator.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
|
@ApiImplicitParam(name = "name", value = "name", required = false, dataType = "String"),
|
})
|
public ResponseWarpper<List<TCheckFacilitator>> getCheckFacilitator(String name){
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
Driver driver = driverService.selectById(uid);
|
Integer branchOfficeId = driver.getBranchOfficeId();
|
Wrapper<TCheckFacilitator> branchOfficeId1 = new EntityWrapper<TCheckFacilitator>().eq("companyId", branchOfficeId);
|
if(ToolUtil.isNotEmpty(name)){
|
branchOfficeId1.like("name", name);
|
}
|
List<TCheckFacilitator> checkFacilitators = checkFacilitatorService.selectList(branchOfficeId1);
|
return ResponseWarpper.success(checkFacilitators);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
@ResponseBody
|
@PostMapping("/api/driver/delDriverBank")
|
// @ServiceLog(name = "解绑银行卡", url = "/api/driver/delDriverBank")
|
@ApiOperation(value = "解绑银行卡【1.1】", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "银行卡id", name = "id", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResponseWarpper delDriverBank(Integer id){
|
try {
|
Integer uid = driverService.getUserByRequest();
|
if(null == uid){
|
return ResponseWarpper.tokenErr();
|
}
|
ResultUtil resultUtil = driverBankService.delDriverBank(uid, id);
|
return ResponseWarpper.success(resultUtil);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
|
/**
|
* 提现分账的回调
|
*/
|
@ResponseBody
|
@PostMapping("/base/driver/withdrawCashFZCallback")
|
public void withdrawCashFZCallback(@RequestBody InterfaceResponse interfaceResponse, HttpServletResponse response){
|
try {
|
cashWithdrawalService.withdrawCashFZCallback(interfaceResponse);
|
response.setStatus(200);
|
PrintWriter out = response.getWriter();
|
out.print("OK");
|
out.flush();
|
out.close();
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
|
|
|
|
/**
|
* 提现确认收货后的结算回调
|
*/
|
@ResponseBody
|
@PostMapping("/base/driver/withdrawCashCallback")
|
public void withdrawCashCallback(@RequestBody InterfaceResponse interfaceResponse, HttpServletResponse response){
|
try {
|
cashWithdrawalService.withdrawCashCallback(interfaceResponse);
|
response.setStatus(200);
|
PrintWriter out = response.getWriter();
|
out.print("OK");
|
out.flush();
|
out.close();
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
}
|