| | |
| | | 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.excel.UserPointEx; |
| | | import com.ruoyi.account.service.AppUserService; |
| | | import com.ruoyi.account.service.UserPointService; |
| | | import com.ruoyi.account.vo.CommissionStatistics; |
| | | import com.ruoyi.account.vo.UserPointDetailVO; |
| | | import com.ruoyi.account.vo.UserPointStatistics; |
| | | import com.ruoyi.account.vo.UserPointVO; |
| | |
| | | import java.time.LocalDateTime; |
| | | import java.time.LocalTime; |
| | | import java.time.YearMonth; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | return R.ok(userPointPage); |
| | | } |
| | | |
| | | @GetMapping("/user/list") |
| | | @ApiOperation(value = "积分管理-用户积分明细(必传用户id)", tags = "后台") |
| | | public R<Page<UserPoint>> userlist(UserPoint userPoint) { |
| | | Page<UserPoint> page = userPointService.lambdaQuery().eq(UserPoint::getAppUserId, userPoint.getAppUserId()).orderByDesc(UserPoint::getCreateTime).page(Page.of(userPoint.getPageNum(), userPoint.getPageSize())); |
| | | return R.ok(page); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 导出 |
| | |
| | | List<UserPoint> userPointList = userPointPage.getRecords(); |
| | | ExcelUtil<UserPoint> util = new ExcelUtil<>(UserPoint.class); |
| | | util.exportExcel(response, userPointList, "用户积分统计"); |
| | | } |
| | | |
| | | /** |
| | | * 用户分佣统计 |
| | | */ |
| | | @GetMapping("/commissionStatistics") |
| | | @ApiOperation(value = "用户分佣统计", tags = "管理后台-财务统计-用户分佣统计") |
| | | public R<CommissionStatistics> commissionStatistics(UserPoint userPoint) { |
| | | userPoint.setType(2); |
| | | IPage<UserPoint> userPointPage = userPointService.getUserPointPage(Page.of(userPoint.getPageNum(), userPoint.getPageSize()), userPoint); |
| | | UserPointStatistics statistics = userPointService.getStatistics(userPoint); |
| | | CommissionStatistics commissionStatistics = new CommissionStatistics(); |
| | | commissionStatistics.setStatistics(statistics); |
| | | commissionStatistics.setUserPointPage(userPointPage); |
| | | return R.ok(commissionStatistics); |
| | | } |
| | | |
| | | /** |
| | | * 导出用户分佣统计 |
| | | */ |
| | | @GetMapping("/commissionExport") |
| | | @ApiOperation(value = "用户分佣统计导出", tags = "管理后台-财务统计-用户分佣统计") |
| | | public void commissionExport(HttpServletResponse response, UserPoint userPoint) { |
| | | userPoint.setType(2); |
| | | IPage<UserPoint> userPointPage = userPointService.getUserPointPage(Page.of(1, Integer.MAX_VALUE), userPoint); |
| | | List<UserPoint> userPointList = userPointPage.getRecords(); |
| | | List<UserPointEx> userPointExList = new ArrayList<>(); |
| | | for (UserPoint point : userPointList) { |
| | | UserPointEx userPointEx = new UserPointEx(); |
| | | userPointEx.setUserName(point.getUserName()); |
| | | userPointEx.setPhone(point.getPhone()); |
| | | userPointEx.setChangeTime(point.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); |
| | | userPointEx.setChangeNum(point.getVariablePoint().toString()); |
| | | Integer type = point.getType(); |
| | | switch (type) { |
| | | case 1: |
| | | userPointEx.setType("消费积分"); |
| | | break; |
| | | case 2: |
| | | userPointEx.setType("返佣积分"); |
| | | break; |
| | | case 3: |
| | | userPointEx.setType("拉新人积分"); |
| | | break; |
| | | case 4: |
| | | userPointEx.setType("兑换商品"); |
| | | break; |
| | | case 5: |
| | | userPointEx.setType("门店业绩"); |
| | | break; |
| | | case 6: |
| | | userPointEx.setType("门店返佣"); |
| | | break; |
| | | case 7: |
| | | userPointEx.setType("技师业绩"); |
| | | break; |
| | | case 8: |
| | | userPointEx.setType("转赠积分"); |
| | | break; |
| | | case 9: |
| | | userPointEx.setType("做工积分"); |
| | | break; |
| | | case 10: |
| | | userPointEx.setType("注册积分"); |
| | | break; |
| | | default: |
| | | userPointEx.setType("未知积分"); |
| | | } |
| | | userPointExList.add(userPointEx); |
| | | } |
| | | ExcelUtil<UserPointEx> util = new ExcelUtil<>(UserPointEx.class); |
| | | util.exportExcel(response, userPointExList, "用户分佣统计"); |
| | | } |
| | | |
| | | |