package com.doumee.cloud.web;
|
|
import cn.hutool.http.useragent.Platform;
|
import com.doumee.api.BaseController;
|
import com.doumee.config.annotation.LoginNoRequired;
|
import com.doumee.config.annotation.LoginRequired;
|
import com.doumee.core.annotation.trace.Trace;
|
import com.doumee.core.model.ApiResponse;
|
import com.doumee.core.model.LoginUserInfo;
|
import com.doumee.core.model.PageData;
|
import com.doumee.core.model.PageWrap;
|
import com.doumee.core.utils.Constants;
|
import com.doumee.core.utils.DateUtil;
|
import com.doumee.dao.business.model.*;
|
import com.doumee.dao.web.reqeust.*;
|
import com.doumee.dao.web.response.DriverHomeVO;
|
import com.doumee.dao.web.response.LineUpVO;
|
import com.doumee.dao.web.response.MemberVO;
|
import com.doumee.dao.web.response.VisitRecordVO;
|
import com.doumee.service.business.*;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* Created by IntelliJ IDEA.
|
*
|
* @Author : Rk
|
* @create 2023/12/28 14:31
|
*/
|
|
@Api(tags = "【公众号】物流车司机业务")
|
@Trace(exclude = true)
|
@RestController
|
@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/web/driverPlatform")
|
@Slf4j
|
@LoginNoRequired
|
public class DriverPlatformController extends BaseController {
|
|
@Autowired
|
private VisitsService visitsService;
|
|
@Autowired
|
private PlatformJobService platformJobService;
|
|
@Autowired
|
private PlatformBooksService platformBooksService;
|
|
@Autowired
|
private PlatformReasonService platformReasonService;
|
|
@Autowired
|
private PlatformWmsJobService platformWmsJobService;
|
|
|
|
@ApiOperation("入园原因")
|
@GetMapping("/platformReasonList")
|
public ApiResponse<List<PlatformReason>> platformReasonList (@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
List<PlatformReason> platformReasons = platformReasonService.findList(null);
|
return ApiResponse.success(platformReasons);
|
}
|
|
@ApiOperation("司机首页信息")
|
@GetMapping("/driverHome")
|
public ApiResponse<DriverHomeVO> driverHome (@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
DriverHomeVO driverHomeVO = platformJobService.getDriverHome(getLoginUser(token));
|
return ApiResponse.success(driverHomeVO);
|
}
|
|
@ApiOperation("查询可预约量")
|
@PostMapping("/checkSurplusNum")
|
public ApiResponse<BigDecimal> checkSurplusNum (@RequestBody PlatformBooksCheckNumDTO platformBooksCheckNumDTO , @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
return ApiResponse.success(platformBooksService.checkNum(platformBooksCheckNumDTO));
|
}
|
|
@ApiOperation("物流车预约")
|
@PostMapping("/apply")
|
public ApiResponse<Integer> apply (@RequestBody PlatformBooksApplyDTO platformBooksApplyDTO , @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
LoginUserInfo loginUserInfo = getLoginUser(token);
|
platformBooksApplyDTO.setUserId(loginUserInfo.getMemberId());
|
platformBooksApplyDTO.setDriverId(loginUserInfo.getMemberId());
|
return ApiResponse.success(platformBooksService.apply(platformBooksApplyDTO));
|
}
|
|
|
@ApiOperation("物流车预约修改")
|
@PostMapping("/applyEdit")
|
public ApiResponse<Integer> applyEdit (@RequestBody PlatformBooksApplyDTO platformBooksApplyDTO , @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
LoginUserInfo loginUserInfo = getLoginUser(token);
|
platformBooksApplyDTO.setUserId(loginUserInfo.getMemberId());
|
platformBooksApplyDTO.setDriverId(loginUserInfo.getMemberId());
|
return ApiResponse.success(platformBooksService.edit(platformBooksApplyDTO));
|
}
|
|
@ApiOperation("物流车预约记录")
|
@PostMapping("/page")
|
public ApiResponse<PageData<PlatformBooks>> findPage (@RequestBody PageWrap<PlatformBooks> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
LoginUserInfo loginUserInfo = this.getLoginUser(token);
|
pageWrap.getModel().setQueryDate(DateUtil.getBeforDay(new Date(),30));
|
pageWrap.getModel().setDriverPhone(loginUserInfo.getMobile());
|
return ApiResponse.success(platformBooksService.findPage(pageWrap));
|
}
|
|
@ApiOperation("物流车预约详情")
|
@GetMapping("/getDetail")
|
public ApiResponse<PlatformBooks> getDetail (@RequestParam Integer id, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
PlatformBooks platformBooks = platformBooksService.getDetail(id,getLoginUser(token).getMemberId());
|
return ApiResponse.success(platformBooks);
|
}
|
|
@ApiOperation("物流车预约撤销")
|
@PostMapping("/revoke")
|
public ApiResponse revoke (@RequestBody RevokeDTO revokeDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
platformBooksService.revoke(revokeDTO,getLoginUser(token));
|
return ApiResponse.success("操作成功");
|
}
|
|
/******************************************************司机任务接口************************************************************************/
|
@ApiOperation("任务确认")
|
@PostMapping("/confirmTask")
|
public ApiResponse confirmTask (@RequestBody ConfirmTaskDTO confirmTaskDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
confirmTaskDTO.setLoginUserInfo(getLoginUser(token));
|
platformJobService.confirmTask(confirmTaskDTO);
|
return ApiResponse.success("操作成功");
|
}
|
|
@ApiOperation("任务签到")
|
@PostMapping("/signIn")
|
public ApiResponse signIn (@RequestBody SignInDTO signInDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
signInDTO.setLoginUserInfo(getLoginUser(token));
|
platformJobService.signIn(signInDTO);
|
return ApiResponse.success("操作成功");
|
}
|
|
@ApiOperation("任务详情")
|
@PostMapping("/jobDetail")
|
public ApiResponse<PlatformJob> jobDetail (@RequestBody JobDetailDTO jobDetailDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
return ApiResponse.success(platformJobService.getDetail(jobDetailDTO));
|
}
|
|
@ApiOperation("查询排队情况")
|
@PostMapping("/lineUpDetail")
|
public ApiResponse<LineUpVO> lineUpDetail (@RequestBody LineUpDetailDTO lineUpDetailDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
return ApiResponse.success(platformJobService.lineUpDetail(lineUpDetailDTO));
|
}
|
|
|
@ApiOperation("WMS运输单详情")
|
@GetMapping("/wmsJobDetail")
|
public ApiResponse<PlatformWmsJob> wmsJobDetail(@RequestParam Integer id) {
|
return ApiResponse.success(platformWmsJobService.findByDetailId(id));
|
}
|
|
|
}
|