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