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.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 driverHome (@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { DriverHomeVO driverHomeVO = platformJobService.getDriverHome(getLoginUser(token).getMemberId()); return ApiResponse.success(driverHomeVO); } @ApiOperation("查询可预约量") @PostMapping("/checkSurplusNum") public ApiResponse checkSurplusNum (@RequestBody PlatformBooksCheckNumDTO platformBooksCheckNumDTO , @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(platformBooksService.checkNum(platformBooksCheckNumDTO)); } @ApiOperation("物流车预约") @PostMapping("/checkSurplusNum") public ApiResponse 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> findPage (@RequestBody PageWrap 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 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 jobDetail (@RequestBody JobDetailDTO jobDetailDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ return ApiResponse.success(platformJobService.getDetail(jobDetailDTO)); } }