From ec7528bb6cc65d3bce1c33d59e48ea5bc81c7782 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 16 一月 2025 14:27:43 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java | 135 +++++++++++++++++++++++++++++++++++++++----- 1 files changed, 118 insertions(+), 17 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 75fef0e..491ed1a 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,16 +2,24 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.ruoyi.account.api.model.AppUser; +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.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.order.feignClient.OrderClient; +import com.ruoyi.order.model.Order; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -19,6 +27,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; @@ -42,6 +51,8 @@ private UserPointService userPointService; @Resource private AppUserService appUserService; + @Resource + private TokenService tokenService; /** @@ -58,10 +69,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) { @@ -76,9 +87,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); } /** @@ -86,16 +96,8 @@ */ @PostMapping("/transferPoint") @ApiOperation("转赠积分") - public R<Void> transferPoint(@ApiParam("积分") BigDecimal point, @ApiParam("手机号") Long phone) { - AppUser appUser = appUserService.getOne(new LambdaQueryWrapper<AppUser>() - .eq(AppUser::getPhone, phone)); - - - - if (null == appUser) { - return R.fail("用户不存在"); - } - return R.ok(); + public R<Void> transferPoint(@RequestBody TransferPoint transferPoint) { + return userPointService.transferPoint(transferPoint.getPoint(), transferPoint.getPhone()); } @@ -110,5 +112,104 @@ userPointService.save(userPoint); return R.ok(); } + + + /** + * 积分统计 + */ + @GetMapping("/statistics") + @ApiOperation(value = "积分统计", tags = "管理后台-财务统计-用户积分统计") + public R<UserPointStatistics> statistics(UserPoint userPoint) { + return R.ok(userPointService.getStatistics(userPoint)); + } + + /** + * 变更记录 + */ + @GetMapping("/list") + @ApiOperation(value = "积分变更记录", tags = "管理后台-财务统计-用户积分统计") + public R<IPage<UserPoint>> list(UserPoint userPoint) { + IPage<UserPoint> userPointPage = userPointService.getUserPointPage(Page.of(userPoint.getPageNum(), userPoint.getPageSize()), userPoint); + return R.ok(userPointPage); + } + @Resource + private OrderClient orderClient; + + @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()) { + if (record.getType()==1 || record.getType()==11){ + Order data = orderClient.getOrderById(record.getObjectId()).getData(); + if (data!=null){ + record.setExtention(data.getOrderNumber()); + } + } + 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); + } + + + + /** + * 导出 + */ + @GetMapping("/export") + @ApiOperation(value = "积分变更记录导出", tags = "管理后台-财务统计-用户积分统计") + public void export(HttpServletResponse response, UserPoint userPoint) { + 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