zhangjinli 3 years ago
parent 69351ee031
commit cc4108c6df

@ -1,5 +1,6 @@
package com.zh.project0512.controller.manage; package com.zh.project0512.controller.manage;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.zh.project0512.annotation.AdminTokenValid; 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 org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime; 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; private AdminMapper adminMapper;
@Resource @Resource
IRankService rankService; IRankService rankService;
@Operation(summary = "总数据") @Operation(summary = "总数据")
@PostMapping("/data1") @PostMapping("/data1")
@AdminTokenValid @AdminTokenValid
@ -76,14 +84,35 @@ public class StatisticsController {
break; break;
default: default:
} }
qw.between("t1.creatAt",before, LocalDateTime.now()); qw.between("t1.creatAt", before, LocalDateTime.now());
} else { } else {
qw.ge(param.getBeginTime() != null, "date_format(creatAt, '%Y-%m-%d')", param.getBeginTime()); 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()); qw.le(param.getEndTime() != null, "date_format(creatAt, '%Y-%m-%d')", param.getEndTime());
} }
adminMapper.statistics2(qw); List<JSONObject> videoDataBydDay = adminMapper.statistics2(qw);
return Result.success(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 = "排行列表") @Operation(summary = "排行列表")
@PostMapping("/data3") @PostMapping("/data3")
@AdminTokenValid @AdminTokenValid

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

Loading…
Cancel
Save