jiangping
2024-08-19 fc6982d6d15948c5917e4abdce42195db050eea8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
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("/apply")
    public ApiResponse<Integer> apply (@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));
    }
 
 
 
 
}