From 525e601c16bcca73f0bd538e8747ccea77fb4c4a Mon Sep 17 00:00:00 2001 From: zhangjinli Date: Thu, 30 Jun 2022 16:05:23 +0800 Subject: [PATCH] zh --- .../controller/wxApp/RankUController.java | 64 ++++++++++++++++--- 1 file changed, 56 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zh/project0512/controller/wxApp/RankUController.java b/src/main/java/com/zh/project0512/controller/wxApp/RankUController.java index 1e90607..06b1e48 100644 --- a/src/main/java/com/zh/project0512/controller/wxApp/RankUController.java +++ b/src/main/java/com/zh/project0512/controller/wxApp/RankUController.java @@ -1,18 +1,28 @@ package com.zh.project0512.controller.wxApp; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.zh.project0512.annotation.AdminTokenValid; import com.zh.project0512.annotation.TokenValid; +import com.zh.project0512.controller.manage.StatisticsController; +import com.zh.project0512.mapper.UserEffectRecordsMapper; +import com.zh.project0512.model.UserEffectRecords; import com.zh.project0512.model.dto.RankListDTO; import com.zh.project0512.service.IRankService; import com.zh.project0512.service.IVideoService; import com.zh.project0512.utils.JwtUtil; import com.zh.project0512.utils.result.Result; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.Data; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; /** * 排行榜 @@ -25,17 +35,55 @@ public class RankUController { IRankService rankService; @Autowired private IVideoService videoService; + @Autowired + private UserEffectRecordsMapper userEffectRecordsMapper; +// /** +// * 查询排行榜列表 +// * +// * @param rankListDTO 排行列表DTO +// * @return 排行榜列表 +// */ +// @Operation(summary = "排行列表") +// @PostMapping("/list") +// public Result rankList(@Validated @RequestBody RankListDTO rankListDTO) { +// return Result.success(rankService.rankList(rankListDTO), "请求成功"); +// } + + @Data + static class RankParam { + @Schema(title = "时间条件", description = "1今日;2本周;3本月;4全年") + private Integer dateCondition; + @Schema(title = "1经销商2员工", description = "默认1") + private Integer type; + } - /** - * 查询排行榜列表 - * - * @param rankListDTO 排行列表DTO - * @return 排行榜列表 - */ @Operation(summary = "排行列表") @PostMapping("/list") - public Result rankList(@Validated @RequestBody RankListDTO rankListDTO) { - return Result.success(rankService.rankList(rankListDTO), "请求成功"); + @AdminTokenValid + public Result list(@Validated @RequestBody RankParam param) { + QueryWrapper qw = new QueryWrapper<>(); + DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDateTime now = LocalDateTime.of(LocalDateTime.now().toLocalDate(), LocalTime.MIN); + LocalDateTime before = now.minusMonths(1); + if (param.getDateCondition() != null) { + switch (param.getDateCondition()) { + case 1: + before = now; + break; + case 2: + before = now.minusWeeks(1); + break; + case 3: + before = now.minusMonths(1); + break; + case 4: + before = now.minusYears(1); + break; + default: + } + } + qw.between("t1.createAt", before, now.plusDays(1)); + return Result.success((param.getType() != null && param.getType() == 1) ? userEffectRecordsMapper.rankByDepartment(qw) : userEffectRecordsMapper.rankByUser(qw), "请求成功"); } @Operation(summary = "个人总记录")