jiangping
2024-08-16 d2902daad7261ac7d0148dbb9f33f39e52d433f6
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,124 @@
package com.doumee.cloud.web;
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.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.PlatformBooks;
import com.doumee.dao.business.model.PlatformJob;
import com.doumee.dao.business.model.Visits;
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;
/**
 * 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;
    @ApiOperation("司机首页信息")
    @GetMapping("/driverHome")
    public ApiResponse<DriverHomeVO> driverHome (@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        DriverHomeVO driverHomeVO = platformJobService.getDriverHome(getLoginUser(token).getMemberId());
        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("/checkSurplusNum")
    public ApiResponse<Integer> checkSurplusNum (@RequestBody PlatformBooksApplyDTO platformBooksApplyDTO , @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        platformBooksApplyDTO.setUserId(getLoginUser(token).getMemberId());
        return ApiResponse.success(platformBooksService.apply(platformBooksApplyDTO));
    }
    @ApiOperation("物流车预约记录")
    @PostMapping("/page")
    public ApiResponse<PageData<PlatformBooks>> findPage (@RequestBody PageWrap<PlatformBooks> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        pageWrap.getModel().setQueryDate(DateUtil.getBeforDay(new Date(),30));
        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("/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("/jobDetail")
    public ApiResponse<LineUpVO>  lineUpDetail (@RequestBody LineUpDetailDTO lineUpDetailDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        return ApiResponse.success(platformJobService.lineUpDetail(lineUpDetailDTO));
    }
}