package com.ruoyi.other.controller;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
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.api.domain.ShopPointCopy;
|
import com.ruoyi.other.mapper.ShopPointCopyMapper;
|
import com.ruoyi.other.service.ShopPointService;
|
import com.ruoyi.other.vo.ShopPointStatistics;
|
import com.ruoyi.system.api.domain.SysUser;
|
import com.ruoyi.system.api.feignClient.SysUserClient;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 前端控制器
|
* </p>
|
*
|
* @author luodangjia
|
* @since 2024-11-20
|
*/
|
@RestController
|
@RequestMapping("/shop-point")
|
@Api(tags = "管理后台-财务统计-门店积分统计")
|
public class ShopPointController {
|
@Resource
|
private ShopPointService shopPointService;
|
@Resource
|
private ShopPointCopyMapper shopPointCopyMapper;
|
@Resource
|
private TokenService tokenService;
|
@Resource
|
private SysUserClient sysUserClient;
|
|
|
/**
|
* 门店积分统计
|
*/
|
@GetMapping("/statistics")
|
@ApiOperation(value = "门店积分统计")
|
public R<ShopPointStatistics> 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<ShopPointStatistics> shopstatistics(ShopPoint shopPoint) {
|
Long userid = tokenService.getLoginUser().getUserid();
|
SysUser sysUser = sysUserClient.getSysUser(userid).getData();
|
shopPoint.setShopId(sysUser.getObjectId());
|
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<Page<ShopPoint>> shopstatisticslist(ShopPoint shopPoint,Integer pageNum,Integer pageSize) {
|
Long userid = tokenService.getLoginUser().getUserid();
|
SysUser sysUser = sysUserClient.getSysUser(userid).getData();
|
Page<ShopPoint> page = shopPointService.lambdaQuery().eq(ShopPoint::getShopId, sysUser.getObjectId()).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<Page<ShopPoint>> statisticslist(ShopPoint shopPoint,Integer pageNum,Integer pageSize) {
|
Page<ShopPoint> page = shopPointService.lambdaQuery()
|
.eq(ShopPoint::getShopId, shopPoint.getShopId())
|
.eq(shopPoint.getType()!=null && shopPoint.getType()!=0,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<ShopPoint> shopPointIPage = statistics.getShopPointIPage();
|
ExcelUtil<ShopPoint> util = new ExcelUtil<>(ShopPoint.class);
|
util.exportExcel(response, shopPointIPage.getRecords(), "用户积分统计");
|
}
|
}
|
|
|
/**
|
* 保存门店积分流水
|
* @param shopPoint
|
*/
|
@PostMapping("/saveShopPoint")
|
public void saveShopPoint(@RequestBody ShopPoint shopPoint){
|
shopPointService.save(shopPoint);
|
}
|
|
/**
|
* 保存门店积分流水
|
* @param shopPoint
|
*/
|
@PostMapping("/saveShopPointCopy")
|
public void saveShopPointCopy(@RequestBody ShopPointCopy shopPoint){
|
shopPointCopyMapper.insert(shopPoint);
|
}
|
|
@DeleteMapping("/deleteShopPointCopy")
|
public void deleteShopPointCopy(@RequestParam("orderId") Long orderId, @RequestParam("type") List<Integer> type){
|
shopPointCopyMapper.delete(new LambdaQueryWrapper<ShopPointCopy>().in(ShopPointCopy::getType, type)
|
.eq(ShopPointCopy::getObjectId, orderId));
|
}
|
|
|
@DeleteMapping("/deleteShopPointCopyByIds")
|
public void deleteShopPointCopyByIds(@RequestParam("ids") List<Long> ids){
|
shopPointCopyMapper.deleteBatchIds(ids);
|
}
|
|
|
@PostMapping("/getShopPointCopy")
|
public R<List<ShopPointCopy>> getShopPointCopy(@RequestParam("orderId") Long orderId, @RequestParam("type") List<Integer> type){
|
List<ShopPointCopy> shopPointCopies = shopPointCopyMapper.selectList(new LambdaQueryWrapper<ShopPointCopy>().in(ShopPointCopy::getType, type)
|
.eq(ShopPointCopy::getObjectId, orderId));
|
return R.ok(shopPointCopies);
|
}
|
|
}
|