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> queryCityList(){ try { List 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> queryOpenDistrict(String cityCode){ if(ToolUtil.isEmpty(cityCode)){ return ResponseWarpper.success(ResultUtil.paranErr("cityCode")); } try { List 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().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 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 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 = 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 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 = 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 flushedToken(){ // try { // Integer uid = driverService.getUserByRequest(); // if(null == uid){ // return ResponseWarpper.tokenErr(); // } // ResultUtil 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 > queryDriverPosition(){ try { Integer uid = driverService.getUserByRequest(); if(null == uid){ return ResponseWarpper.tokenErr(); } ResultUtil> 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 > queryDriverOrderNum(String time){ try { Integer uid = driverService.getUserByRequest(); if(null == uid){ return ResponseWarpper.tokenErr(); } ResultUtil> 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 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 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> queryJoiningRequirements(){ try { List joiningRequirements = joiningRequirementsService.selectList(new EntityWrapper().eq("status", 1).orderBy("sort")); List 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 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> 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 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> queryDriverYouTuiList(){ try { Integer uid = driverService.getUserByRequest(); if(null == uid){ return ResponseWarpper.tokenErr(); } List 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> 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 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> 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 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 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 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().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> 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 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 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 monthOrders = monthOrderMapper.selectList(new EntityWrapper().eq("driverId", uid).eq("isPay", 1).orderBy("endTime",false)); driverMonthDetailDTO.setMonthOrders(monthOrders); // return ResultUtil.success(driverMonthDetailDTO); SystemConfig systemConfig3= systemConfigService.selectOne(new EntityWrapper().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().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 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 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 code1 = monthOrderMapper.selectList(new EntityWrapper().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 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> 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 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 queryNewVersion(){ try { Edition edition = editionService.selectOne(new EntityWrapper().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 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 queryBank(){ try { Integer uid = driverService.getUserByRequest(); if(null == uid){ return ResponseWarpper.tokenErr(); } DriverBank driverId = driverBankService.selectOne(new EntityWrapper().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> getCheckFacilitator(String name){ try { Integer uid = driverService.getUserByRequest(); if(null == uid){ return ResponseWarpper.tokenErr(); } Driver driver = driverService.selectById(uid); Integer branchOfficeId = driver.getBranchOfficeId(); Wrapper branchOfficeId1 = new EntityWrapper().eq("companyId", branchOfficeId); if(ToolUtil.isNotEmpty(name)){ branchOfficeId1.like("name", name); } List 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(); } } }