package com.doumee.api.web; import com.doumee.core.annotation.LoginRequired; import com.doumee.core.annotation.LoginShopRequired; 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.dao.business.model.Revenue; import com.doumee.dao.dto.RevenueQueryDTO; import com.doumee.dao.vo.RevenueSummaryVO; import com.doumee.service.business.RevenueService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @Api(tags = "交易流水") @Trace(exclude = true) @RestController @RequestMapping("/web/revenue") @Slf4j public class RevenueApi extends ApiController { @Autowired private RevenueService revenueService; @LoginRequired @ApiOperation(value = "司机流水分页", notes = "小程序端") @PostMapping("/driverPage") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), }) public ApiResponse> driverPage(@RequestBody @Validated PageWrap pageWrap) { return ApiResponse.success("查询成功", revenueService.findDriverRevenuePage(pageWrap, getMemberId())); } @LoginRequired @ApiOperation(value = "司机流水收支统计", notes = "根据查询条件统计收入与支出") @PostMapping("/driverSummary") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), }) public ApiResponse driverSummary(@RequestBody RevenueQueryDTO queryDTO) { return ApiResponse.success("查询成功", revenueService.getDriverRevenueSummary(queryDTO, getMemberId())); } @LoginShopRequired @ApiOperation(value = "门店流水分页", notes = "小程序端") @PostMapping("/shopPage") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "门店token值", required = true), }) public ApiResponse> shopPage(@RequestBody @Validated PageWrap pageWrap) { return ApiResponse.success("查询成功", revenueService.findShopRevenuePage(pageWrap, getShopId())); } @LoginShopRequired @ApiOperation(value = "门店流水收支统计", notes = "根据查询条件统计收入与支出") @PostMapping("/shopSummary") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "门店token值", required = true), }) public ApiResponse shopSummary(@RequestBody RevenueQueryDTO queryDTO) { return ApiResponse.success("查询成功", revenueService.getShopRevenueSummary(queryDTO, getShopId())); } }