zhangjinli 3 years ago
parent 69351ee031
commit cc4108c6df

@ -1,5 +1,6 @@
package com.zh.project0512.controller.manage;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zh.project0512.annotation.AdminTokenValid;
@ -20,7 +21,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
/**
*
@ -33,6 +40,7 @@ public class StatisticsController {
private AdminMapper adminMapper;
@Resource
IRankService rankService;
@Operation(summary = "总数据")
@PostMapping("/data1")
@AdminTokenValid
@ -76,14 +84,35 @@ public class StatisticsController {
break;
default:
}
qw.between("t1.creatAt",before, LocalDateTime.now());
qw.between("t1.creatAt", before, LocalDateTime.now());
} else {
qw.ge(param.getBeginTime() != null, "date_format(creatAt, '%Y-%m-%d')", param.getBeginTime());
qw.le(param.getEndTime() != null, "date_format(creatAt, '%Y-%m-%d')", param.getEndTime());
}
adminMapper.statistics2(qw);
return Result.success(adminMapper.statistics2(qw), "请求成功");
List<JSONObject> videoDataBydDay = adminMapper.statistics2(qw);
ArrayList<JSONObject> res = new ArrayList<>();
JSONObject first = videoDataBydDay.get(0);
JSONObject last = videoDataBydDay.get(videoDataBydDay.size() - 1);
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate dat = LocalDate.parse((CharSequence) first.get("dat"), df);
LocalDate dat2 = LocalDate.parse((CharSequence) last.get("dat"), df);
System.out.println(dat + "" + dat2);
System.out.println(ChronoUnit.DAYS.between(dat, dat2));
for (int i = 0; i <= ChronoUnit.DAYS.between(dat, dat2); i++) {
LocalDate today = dat.plusDays(i);
JSONObject obj = null;
// Stream<JSONObject> dat1 = videoDataBydDay.stream().filter(x -> LocalDate.parse((CharSequence) x.get("dat"), df) == today);
for (JSONObject o : videoDataBydDay) {
if (LocalDate.parse((CharSequence) o.get("dat"), df).equals(today)) {
obj = o;
break;
}
}
res.add(obj == null ? new JSONObject().fluentPut("dat", today) : obj);
}
return Result.success(res, "请求成功");
}
@Operation(summary = "排行列表")
@PostMapping("/data3")
@AdminTokenValid

@ -9,9 +9,11 @@ import com.zh.project0512.model.Video;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* <p>
* Mapper
* Mapper
* </p>
*
* @author zh
@ -30,14 +32,16 @@ public interface AdminMapper extends BaseMapper<Admin> {
"sum(IFNULL(v.recommendNum,0)) as recommendNumSum\n" +
" from video as v ")
JSONObject statistics1();
@Select("SELECT \n" +
"IFNULL(sum(playNum),0) as playNumSum, \n" +
"IFNULL(sum(commendNum),0) as commendNumSum, \n" +
"IFNULL(sum(collectionNum),0) as collectionNumSum, \n" +
"IFNULL(sum(commentNum),0) as commentNumSum, \n" +
"IFNULL(sum(reSendNum),0) as reSendNumSum, \n" +
"IFNULL(sum(recommendNum),0) as recommendNumSum\n" +
" from video " +
" ${ew.customSqlSegment}")
JSONObject statistics2( @Param("ew") Wrapper<Video> queryWrapper);
@Select("SELECT date_format(creatAt, '%Y-%m-%d') as dat" +
",sum(IFNULL(playNum,0)) as playNumSum " +
",sum(IFNULL(commendNum,0)) as commendNumSum " +
",sum(IFNULL(collectionNum,0)) as collectionNumSum " +
",sum(IFNULL(commentNum,0)) as commentNumSum " +
",sum(IFNULL(reSendNum,0)) as reSendNumSum " +
",sum(IFNULL(recommendNum,0)) as recommendNumSum " +
"from video \n" +
"${ew.customSqlSegment} " +
"GROUP BY dat ORDER BY dat ")
List<JSONObject> statistics2(@Param("ew") Wrapper<Video> queryWrapper);
}

Loading…
Cancel
Save