From 257d66798aa538f8737980f13d94c547bf0b51ea Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期三, 15 一月 2025 15:37:15 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java |  112 +++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 71 insertions(+), 41 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 a496d51..33f4f12 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,31 +2,26 @@
 
 
 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.account.api.model.AppUser;
 import com.ruoyi.account.api.model.UserPoint;
-import com.ruoyi.account.mapper.UserPointMapper;
 import com.ruoyi.account.service.AppUserService;
 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.common.core.domain.R;
 import com.ruoyi.common.core.utils.poi.ExcelUtil;
 import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.core.web.page.TableDataInfo;
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.common.security.utils.SecurityUtils;
-import com.ruoyi.system.api.model.LoginUser;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.format.annotation.DateTimeFormat;
-import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -37,8 +32,6 @@
 import java.time.LocalTime;
 import java.time.YearMonth;
 import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -74,10 +67,10 @@
      */
     @GetMapping("/getUserPointDetail")
     @ApiOperation("获取变更明细")
-    public TableDataInfo<UserPointDetailVO> getUserPointDetail(@ApiParam("指定日期") @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate date,
-                                                               @ApiParam("变动类型(1=消费积分,2=返佣积分,3=拉新人积分,4=兑换商品 " +
+    public R<PageInfo<UserPointDetailVO>> getUserPointDetail(@ApiParam("指定日期") @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate date,
+                                          @ApiParam("变动类型(1=消费积分,2=返佣积分,3=拉新人积分,4=兑换商品 " +
                                                                        "5 = 门店业绩积分 6 =门店返佣积分7=技师业绩积分8 =转赠积分 9 =做工积分 " +
-                                                                       "10 =注册积分)") Integer type) {
+                                                                       "10 =注册积分)") Integer type, Integer pageCurr, Integer pageSize) {
         LocalDateTime startTime = null;
         LocalDateTime endTime = null;
         if (date != null) {
@@ -92,9 +85,8 @@
             endTime = lastDayOfMonth.atTime(LocalTime.MAX);
         }
 
-        startPage();
-        List<UserPointDetailVO> list = userPointService.getUserPointDetail(SecurityUtils.getUserId(), startTime, endTime, type);
-        return getDataTable(list);
+        PageInfo<UserPointDetailVO> userPointDetail = userPointService.getUserPointDetail(SecurityUtils.getUserId(), startTime, endTime, type, pageCurr, pageSize);
+        return R.ok(userPointDetail);
     }
 
     /**
@@ -102,9 +94,8 @@
      */
     @PostMapping("/transferPoint")
     @ApiOperation("转赠积分")
-    public R<Void> transferPoint(@ApiParam("积分") @RequestParam BigDecimal point, @ApiParam("手机号") @RequestParam String phone) {
-        userPointService.transferPoint(point, phone);
-        return R.ok();
+    public R<Void> transferPoint(@RequestBody TransferPoint transferPoint) {
+        return userPointService.transferPoint(transferPoint.getPoint(), transferPoint.getPhone());
     }
 
 
@@ -135,19 +126,33 @@
      */
     @GetMapping("/list")
     @ApiOperation(value = "积分变更记录", tags = "管理后台-财务统计-用户积分统计")
-    public R<Page<UserPoint>> list(@ApiParam("页码") @RequestParam Integer pageNum, @ApiParam("大小") Integer pageSize, UserPoint userPoint) {
-        List<String> userIds = appUserService.listObjs(new LambdaQueryWrapper<AppUser>()
-                .select(AppUser::getId)
-                .eq(AppUser::getPhone, userPoint.getPhone())
-                .like(AppUser::getName, userPoint.getUserName()), String::valueOf);
+    public R<IPage<UserPoint>> list(UserPoint userPoint) {
+        IPage<UserPoint> userPointPage = userPointService.getUserPointPage(Page.of(userPoint.getPageNum(), userPoint.getPageSize()), userPoint);
+        return R.ok(userPointPage);
+    }
 
-        Page<UserPoint> page = userPointService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<UserPoint>()
-                .in(!CollectionUtils.isEmpty(userIds), UserPoint::getAppUserId, userIds)
-                .eq(UserPoint::getType, userPoint.getType())
-                .between(UserPoint::getCreateTime, userPoint.getStartTime(), userPoint.getEndTime())
-                .orderByDesc(UserPoint::getCreateTime));
+    @GetMapping("/user/list")
+    @ApiOperation(value = "积分管理-用户积分明细(必传用户id)", tags = "后台")
+    public R<Page<UserPoint>> userlist(UserPoint userPoint) {
+        Page<UserPoint> page = userPointService.lambdaQuery()
+                .eq(userPoint.getType()!=null,UserPoint::getType, userPoint.getType())
+                .eq(UserPoint::getAppUserId, userPoint.getAppUserId())
+                .orderByDesc(UserPoint::getCreateTime)
+                .page(Page.of(userPoint.getPageNum(), userPoint.getPageSize()));
+        for (UserPoint record : page.getRecords()) {
+            int i = record.getHistoricalPoint() - record.getBalance();
+            if (i>0){
+                record.setVariableType(2);
+            }else if (i<0){
+                record.setVariableType(1);
+            }else{
+                record.setVariableType(0);
+            }
+        }
         return R.ok(page);
     }
+
+
 
     /**
      * 导出
@@ -155,21 +160,46 @@
     @GetMapping("/export")
     @ApiOperation(value = "积分变更记录导出", tags = "管理后台-财务统计-用户积分统计")
     public void export(HttpServletResponse response, UserPoint userPoint) {
-        List<String> userIds = appUserService.listObjs(new LambdaQueryWrapper<AppUser>()
-                .select(AppUser::getId)
-                .eq(AppUser::getPhone, userPoint.getPhone())
-                .like(AppUser::getName, userPoint.getUserName()), String::valueOf);
-
-        List<UserPoint> userPointList = userPointService.list(new LambdaQueryWrapper<UserPoint>()
-                .in(!CollectionUtils.isEmpty(userIds), UserPoint::getAppUserId, userIds)
-                .eq(UserPoint::getType, userPoint.getType())
-                .between(UserPoint::getCreateTime, userPoint.getStartTime(), userPoint.getEndTime())
-                .orderByDesc(UserPoint::getCreateTime));
-
-        ExcelUtil<UserPoint> util = new ExcelUtil<UserPoint>(UserPoint.class);
+        IPage<UserPoint> userPointPage = userPointService.getUserPointPage(Page.of(1, Integer.MAX_VALUE), userPoint);
+        List<UserPoint> userPointList = userPointPage.getRecords();
+        ExcelUtil<UserPoint> util = new ExcelUtil<>(UserPoint.class);
         util.exportExcel(response, userPointList, "用户积分统计");
     }
 
 
+    /**
+     * 获取积分变动记录
+     * @param userPoint
+     * @return
+     */
+    @PostMapping("/getUserPointList")
+    public R<List<UserPoint>> getUserPointList(@RequestBody UserPoint userPoint){
+        LambdaQueryWrapper<UserPoint> queryWrapper = new LambdaQueryWrapper<>();
+        if(null != userPoint.getType()){
+            queryWrapper.eq(UserPoint::getType, userPoint.getType());
+        }
+        if(null != userPoint.getObjectId()){
+            queryWrapper.eq(UserPoint::getObjectId, userPoint.getObjectId());
+        }
+        if(null != userPoint.getAppUserId()){
+            queryWrapper.eq(UserPoint::getAppUserId, userPoint.getAppUserId());
+        }
+        List<UserPoint> list = userPointService.list(queryWrapper);
+        return R.ok(list);
+    }
+
+
+
+    /**
+     * 判断当天是否分享获得过积分
+     * @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);
+    }
 }
 

--
Gitblit v1.7.1