package com.ruoyi.other.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.poi.ExcelUtil; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.other.api.domain.ShopPoint; import com.ruoyi.other.service.ShopPointService; import com.ruoyi.other.vo.ShopPointStatistics; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; /** *

* 前端控制器 *

* * @author luodangjia * @since 2024-11-20 */ @RestController @RequestMapping("/shop-point") @Api(tags = "管理后台-财务统计-门店积分统计") public class ShopPointController { @Resource private ShopPointService shopPointService; @Resource private TokenService tokenService; /** * 门店积分统计 */ @GetMapping("/statistics") @ApiOperation(value = "门店积分统计") public R statistics(ShopPoint shopPoint) { ShopPointStatistics statistics = shopPointService.statistics(Page.of(shopPoint.getPageNum(), shopPoint.getPageSize()), shopPoint); return R.ok(statistics); } @GetMapping("/shop/statistics") @ApiOperation(value = "门店积分统计", notes = "门店积分统计", tags = {"门店后台"}) public R shopstatistics(ShopPoint shopPoint) { Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId(); shopPoint.setShopId(objectId); ShopPointStatistics statistics = shopPointService.statistics(Page.of(shopPoint.getPageNum(), shopPoint.getPageSize()), shopPoint); return R.ok(statistics); } @GetMapping("/shop/statistics/list") @ApiOperation(value = "门店积分统计列表", notes = "门店积分统计", tags = {"门店后台"}) public R> shopstatisticslist(ShopPoint shopPoint,Integer pageNum,Integer pageSize) { Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId(); Page page = shopPointService.lambdaQuery().eq(ShopPoint::getShopId, objectId).eq(shopPoint.getType()!=null,ShopPoint::getType, shopPoint.getType()) .like(shopPoint.getOrderNum()!=null,ShopPoint::getOrderNum, shopPoint.getOrderNum()) .orderByDesc(ShopPoint::getCreateTime) .page(Page.of(pageNum, pageSize)); return R.ok(page); } @GetMapping("/statistics/list") @ApiOperation(value = "门店积分明细必传门店id", tags = {"后台"}) public R> statisticslist(ShopPoint shopPoint,Integer pageNum,Integer pageSize) { Page page = shopPointService.lambdaQuery().eq(ShopPoint::getShopId, shopPoint.getShopId()).eq(shopPoint.getType()!=null,ShopPoint::getType, shopPoint.getType()) .like(shopPoint.getOrderNum()!=null,ShopPoint::getOrderNum, shopPoint.getOrderNum()) .orderByDesc(ShopPoint::getCreateTime) .page(Page.of(pageNum, pageSize)); return R.ok(page); } /** * 导出门店积分统计 */ @GetMapping("/export") @ApiOperation(value = "导出门店积分统计") public void export(HttpServletResponse response , ShopPoint shopPoint) { ShopPointStatistics statistics = shopPointService.statistics(Page.of(1, Integer.MAX_VALUE), shopPoint); if (statistics!=null){ IPage shopPointIPage = statistics.getShopPointIPage(); ExcelUtil util = new ExcelUtil<>(ShopPoint.class); util.exportExcel(response, shopPointIPage.getRecords(), "用户积分统计"); } } }