From 17abf0608f62cdd318dba3e7b12a32ea486cb482 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期一, 21 四月 2025 20:34:03 +0800 Subject: [PATCH] 导入导出,财务统计 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java | 90 ++++++++++++++++++++++++++++++++++++++------ 1 files changed, 77 insertions(+), 13 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java index 0f095cf..1c0e0cc 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java @@ -2,14 +2,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.api.model.UserPoint; +import com.ruoyi.account.mapper.UserPointMapper; import com.ruoyi.account.service.UserPointService; -import com.ruoyi.account.vo.TransferPoint; -import com.ruoyi.account.vo.UserPointDetailVO; -import com.ruoyi.account.vo.UserPointStatistics; -import com.ruoyi.account.vo.UserPointVO; +import com.ruoyi.account.vo.*; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.poi.ExcelUtil; import com.ruoyi.common.core.web.controller.BaseController; @@ -29,7 +28,9 @@ import java.time.LocalDateTime; import java.time.LocalTime; import java.time.YearMonth; +import java.util.Collection; import java.util.List; +import java.util.Map; /** * <p> @@ -47,7 +48,8 @@ private UserPointService userPointService; @Resource private OrderClient orderClient; - + @Resource + private UserPointMapper userPointMapper; /** @@ -202,17 +204,79 @@ } + /** + * 获取用户积分变更详情 + */ + @GetMapping("/getUserPontDetailPageList") + @ApiOperation(value = "用户积分详情", tags = "管理后台-财务统计-用户积分统计") + public R<PageInfo<UserPointDetailVO>> getUserPontDetailPageList(@RequestParam(value = "types",required = false) Collection<Integer> types, + @RequestParam(value = "id") Long id, + @ApiParam("当前页")@RequestParam("pageCurr") Integer pageCurr, + @ApiParam("分页大小")@RequestParam("pageSize") Integer pageSize) { + PageInfo<UserPointDetailVO> pageInfo=userPointService.getUserPontDetailPageList(types,id,pageCurr,pageSize); + + return R.ok(pageInfo); + } /** - * 判断当天是否分享获得过积分 - * @param appUserId - * @return + * 用户积分统计 */ - @PostMapping("/judgmentDailyShare") - public R<Boolean> judgmentDailyShare(@RequestParam("appUserId") Long appUserId){ - long count = userPointService.count(new LambdaQueryWrapper<UserPoint>().eq(UserPoint::getAppUserId, appUserId) - .eq(UserPoint::getType, 4).last(" and DATE_FORMAT(NOW(), '%Y-%m-%d') = DATE_FORMAT(create_time, '%Y-%m-%d')")); - return R.ok(count != 0); + @GetMapping("/getUserPointStatisticsPageList") + @ApiOperation(value = "用户积分统计", tags = "管理后台-财务统计-用户积分统计") + public R<UserPointStatisticsOutVO> getUserPointStatisticsPageList(@RequestParam(value = "types",required = false) Collection<Integer> types, + @RequestParam(value = "name",required = false) String name, + @RequestParam(value = "phone",required = false) String phone, + @RequestParam(value = "beginTime",required = false) LocalDateTime beginTime, + @RequestParam(value = "endTime",required = false) LocalDateTime endTime, + @ApiParam("当前页")@RequestParam("pageCurr") Integer pageCurr, + @ApiParam("分页大小")@RequestParam("pageSize") Integer pageSize) { + UserPointStatisticsOutVO userPointStatisticsOutVO = new UserPointStatisticsOutVO(); + //充值绿电分 + + Integer chargePoint=userPointService.selectRechargeAndUse(name,phone,beginTime,endTime,17); + // 消费绿电分 + Integer exchangePoint =userPointService.selectRechargeAndUse(name,phone,beginTime,endTime,4); + Integer cancelPoint = userPointService.selectRechargeAndUse(name,phone,beginTime,endTime,16); + Integer usePoint=(exchangePoint==null?0:exchangePoint )-( cancelPoint==null?0:cancelPoint); + userPointStatisticsOutVO.setChargeTotalPoint(chargePoint==null?0:chargePoint); + userPointStatisticsOutVO.setUseTotalPoint(usePoint); + + //查找记录 + PageInfo<UserPointStatisticsPageVO> pageInfo=userPointService.getUserPointStatisticsPageList(types,name,phone,beginTime,endTime,pageCurr,pageSize); + userPointStatisticsOutVO.setPageInfo(pageInfo); + + return R.ok(userPointStatisticsOutVO); } + + /** + * 导出店铺余额列表 + */ + + @GetMapping("/userPointExcel") + @ApiOperation(value = "导出", tags = {"管理后台-财务统计-用户积分统计"}) + void userPointExcel(HttpServletResponse response, + @RequestParam(value = "types",required = false) Collection<Integer> types, + @RequestParam(value = "name",required = false) String name, + @RequestParam(value = "phone",required = false) String phone, + @RequestParam(value = "beginTime",required = false) LocalDateTime beginTime, + @RequestParam(value = "endTime",required = false) LocalDateTime endTime){ + List<UserPointExcel> exportList =userPointMapper.userPointExcel(types,name,phone,beginTime,endTime); + exportList.forEach(x->{ + if (x.getType()==12||x.getType()==17){ + x.setVariablePointStr("+"+x.getVariablePoint()+"绿电分"); + }else { + x.setVariablePointStr("-"+x.getVariablePoint()+"绿电分"); + } + }); + ExcelUtil<UserPointExcel> util = new ExcelUtil<UserPointExcel>(UserPointExcel.class); + util.exportExcel(response, exportList, "店铺余额列表数据"); + } + + @PostMapping("/save") + R save(@RequestBody UserPoint userPoint){ + userPointService.save(userPoint); + return R.ok(); + } + } -- Gitblit v1.7.1