From a8d2cb07f6440dc54dc4005b0b06d5a47cb1517d Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期一, 16 十二月 2024 13:34:03 +0800
Subject: [PATCH] 12.16

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java |   89 +++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 83 insertions(+), 6 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 50fec32..7ab6d0a 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
@@ -1,13 +1,31 @@
 package com.ruoyi.account.controller;
 
 
+import com.ruoyi.account.api.model.UserPoint;
+import com.ruoyi.account.service.UserPointService;
+import com.ruoyi.account.vo.UserPointDetailVO;
+import com.ruoyi.account.vo.UserPointVO;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+import com.ruoyi.common.security.utils.SecurityUtils;
 import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.YearMonth;
+import java.util.List;
 
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author luodangjia
@@ -15,11 +33,70 @@
  */
 @RestController
 @RequestMapping("/user-point")
-@Api("用户积分")
-public class UserPointController {
+@Api(tags = "个人积分")
+public class UserPointController extends BaseController {
+    @Resource
+    private UserPointService userPointService;
+
 
     /**
-     * 积分
+     * 获取个人积分
      */
+    @GetMapping("/getUserPoint")
+    @ApiOperation("获取个人积分")
+    public R<UserPointVO> getUserPoint() {
+        return R.ok(userPointService.getUserPoint(SecurityUtils.getUserId()));
+    }
+
+    /**
+     * 获取变更明细
+     */
+    @GetMapping("/getUserPointDetail")
+    @ApiOperation("获取变更明细")
+    public TableDataInfo<UserPointDetailVO> getUserPointDetail(@ApiParam("指定日期") @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate date,
+                                                               @ApiParam("变动类型(1=消费积分,2=返佣积分,3=拉新人积分,4=兑换商品 " +
+                                                                       "5 = 门店业绩积分 6 =门店返佣积分7=技师业绩积分8 =转赠积分 9 =做工积分 " +
+                                                                       "10 =注册积分)") Integer type) {
+        LocalDateTime startTime = null;
+        LocalDateTime endTime = null;
+        if (date != null) {
+            // 将 createTime 设置为当天的开始时间 (00:00)
+            startTime = date.atStartOfDay();
+
+            // 使用 YearMonth 来获取该月的最后一天
+            YearMonth yearMonth = YearMonth.from(date);
+            LocalDate lastDayOfMonth = yearMonth.atEndOfMonth();
+
+            // 将最后一天转换为 LocalDateTime,并设置为当天的最后一秒 (23:59:59.999)
+            endTime = lastDayOfMonth.atTime(LocalTime.MAX);
+        }
+
+        startPage();
+        List<UserPointDetailVO> list = userPointService.getUserPointDetail(SecurityUtils.getUserId(), startTime, endTime, type);
+        return getDataTable(list);
+    }
+
+    /**
+     * 转赠积分
+     */
+    @PostMapping("/transferPoint")
+    @ApiOperation("转赠积分")
+    public R<Void> transferPoint(@ApiParam("积分") @RequestParam BigDecimal point, @ApiParam("手机号") @RequestParam String phone) {
+        userPointService.transferPoint(point, phone);
+        return R.ok();
+    }
+
+
+    /**
+     * 保存积分流水记录
+     *
+     * @param userPoint
+     * @return
+     */
+    @PostMapping("/saveUserPoint")
+    public R saveUserPoint(@RequestBody UserPoint userPoint) {
+        userPointService.save(userPoint);
+        return R.ok();
+    }
 }
 

--
Gitblit v1.7.1