| | |
| | | import com.doumee.core.annotation.LoginDriverRequired; |
| | | import com.doumee.core.annotation.LoginRequired; |
| | | import com.doumee.core.annotation.trace.Trace; |
| | | import com.doumee.config.jwt.JwtTokenUtil; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.DriverInfo; |
| | | import com.doumee.dao.dto.DriverActiveOrderDTO; |
| | | import com.doumee.dao.dto.DriverGrabOrderDTO; |
| | | import com.doumee.dao.dto.DriverLoginRequest; |
| | | import com.doumee.dao.dto.DriverDeliverDTO; |
| | | import com.doumee.dao.dto.DriverPickupDTO; |
| | | import com.doumee.dao.dto.DriverRegisterRequest; |
| | | import com.doumee.dao.dto.DriverVerifyRequest; |
| | | import com.doumee.dao.vo.AccountResponse; |
| | |
| | | |
| | | import javax.validation.Valid; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 司机验证码登录接口 |
| | |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) |
| | | }) |
| | | public ApiResponse verifyDetail() { |
| | | public ApiResponse<DriverInfo> verifyDetail() { |
| | | return ApiResponse.success(driverInfoService.getVerifyDetail(this.getDriverId())); |
| | | } |
| | | |
| | |
| | | |
| | | @LoginDriverRequired |
| | | @Trace |
| | | @ApiOperation(value = "司机累计统计", notes = "累计佣金、待结算佣金、订单总数、钱包余额") |
| | | @GetMapping("/stats") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) |
| | | }) |
| | | public ApiResponse<com.doumee.dao.vo.DriverStatsVO> stats() { |
| | | return ApiResponse.success("操作成功", driverInfoService.getDriverStats(this.getDriverId())); |
| | | } |
| | | |
| | | @LoginDriverRequired |
| | | @Trace |
| | | @ApiOperation(value = "司机抢单大厅", notes = "分页查询可抢的异地寄存订单") |
| | | @PostMapping("/grabOrderHall") |
| | | @ApiImplicitParams({ |
| | |
| | | }) |
| | | public ApiResponse<PageData<DriverGrabOrderVO>> grabOrderHall(@RequestBody PageWrap<DriverGrabOrderDTO> pageWrap) { |
| | | return ApiResponse.success("操作成功", driverInfoService.grabOrderHall(this.getDriverId(), pageWrap)); |
| | | } |
| | | |
| | | @LoginDriverRequired |
| | | @Trace |
| | | @ApiOperation(value = "司机抢单", notes = "对已寄存(status=2)的异地寄存订单发起抢单") |
| | | @PostMapping("/grabOrder") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), |
| | | @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "orderId", value = "订单主键", required = true) |
| | | }) |
| | | public ApiResponse grabOrder(@RequestParam Integer orderId) { |
| | | driverInfoService.grabOrder(this.getDriverId(), orderId); |
| | | return ApiResponse.success("抢单成功"); |
| | | } |
| | | |
| | | @LoginDriverRequired |
| | |
| | | return ApiResponse.success("操作成功", driverInfoService.driverOrderDetail(this.getDriverId(), orderId)); |
| | | } |
| | | |
| | | @LoginDriverRequired |
| | | @Trace |
| | | @ApiOperation(value = "司机取消订单", notes = "已接单(status=2)时取消,释放订单回抢单大厅") |
| | | @PostMapping("/cancelOrder") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) |
| | | }) |
| | | public ApiResponse cancelOrder(@RequestParam Integer orderId, |
| | | @RequestParam(required = false) String reason) { |
| | | driverInfoService.cancelOrder(this.getDriverId(), orderId, reason); |
| | | return ApiResponse.success("取消成功"); |
| | | } |
| | | |
| | | @LoginDriverRequired |
| | | @Trace |
| | | @ApiOperation(value = "司机完成取件", notes = "已接单(status=3)时确认取件,订单进入派送中(status=4)") |
| | | @PostMapping("/confirmPickup") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) |
| | | }) |
| | | public ApiResponse confirmPickup(@RequestBody @Valid DriverPickupDTO dto) { |
| | | driverInfoService.confirmPickup(this.getDriverId(), dto); |
| | | return ApiResponse.success("操作成功"); |
| | | } |
| | | |
| | | @LoginDriverRequired |
| | | @Trace |
| | | @ApiOperation(value = "司机确认送达", notes = "异地寄存无取件门店订单,派送中(status=4)时确认送达,订单进入已送达(status=5)") |
| | | @PostMapping("/confirmDeliver") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) |
| | | }) |
| | | public ApiResponse confirmDeliver(@RequestBody @Valid DriverDeliverDTO dto) { |
| | | driverInfoService.confirmDeliver(this.getDriverId(), dto); |
| | | return ApiResponse.success("操作成功"); |
| | | } |
| | | |
| | | @LoginDriverRequired |
| | | @Trace |
| | | @ApiOperation(value = "司机修改密码", notes = "新密码必须同时包含字母和数字,修改成功后需重新登录") |
| | | @GetMapping("/changePassword") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), |
| | | }) |
| | | public ApiResponse changePassword(@RequestParam String newPassword) { |
| | | String token = this.getRequest().getHeader(JwtTokenUtil.HEADER_KEY); |
| | | driverInfoService.changePassword(this.getDriverId(), newPassword, token); |
| | | return ApiResponse.success("密码修改成功,请重新登录"); |
| | | } |
| | | |
| | | @LoginDriverRequired |
| | | @Trace |
| | | @ApiOperation(value = "进行中订单数量", notes = "返回已抢单和派送中的订单数量") |
| | | @GetMapping("/activeOrderCount") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) |
| | | }) |
| | | public ApiResponse<Map<String, Integer>> activeOrderCount() { |
| | | return ApiResponse.success("操作成功", driverInfoService.getActiveOrderCount(this.getDriverId())); |
| | | } |
| | | |
| | | } |