|
|
|
@ -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<UserEffectRecords> 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 = "个人总记录")
|
|
|
|
|