完成计算作品总数和近7天作品总数接口。
This commit is contained in:
parent
fb30a58c74
commit
758553cc47
@ -12,6 +12,7 @@ import com.ruoyi.system.domain.DailyUser;
|
||||
import com.ruoyi.system.domain.UserInfo;
|
||||
import com.ruoyi.system.domain.UserWork;
|
||||
import com.ruoyi.system.domain.dto.SeUserCountDto;
|
||||
import com.ruoyi.system.domain.dto.SeUserWorkCountDto;
|
||||
import com.ruoyi.system.domain.dto.UpdateUserStateDto;
|
||||
import com.ruoyi.system.service.*;
|
||||
import com.ruoyi.web.controller.backstage.daily.dailySysServer;
|
||||
@ -50,6 +51,9 @@ public class BackstageController {
|
||||
@Autowired
|
||||
private IUserWorkService userWorkService;
|
||||
|
||||
@Autowired
|
||||
private ISysUserWorkCountService sysUserWorkCountService;
|
||||
|
||||
@GetMapping("/getAllUserInfo")
|
||||
public TableDataInfo getAllUserInfo(){
|
||||
|
||||
@ -141,6 +145,22 @@ public class BackstageController {
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/getSeUserWorkCount")
|
||||
public AjaxResult getSeUserWorkCount(){
|
||||
if(isAtuthority(Constants.USER_TYPE_ADMIN)){
|
||||
AjaxResult ajax = new AjaxResult();
|
||||
|
||||
List<SeUserWorkCountDto> seUserWorkCount = sysUserWorkCountService.getSeUserWorkCount();
|
||||
ajax.put("seUserWorkCount", seUserWorkCount);
|
||||
return ajax;
|
||||
}
|
||||
else{
|
||||
return error("无权限访问");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 不能这样用啊,
|
||||
// @PostMapping("/updateUserOnlineTime")
|
||||
public AjaxResult updateUserOnlineTime(@RequestParam("duration") String duration){
|
||||
|
||||
@ -5,6 +5,7 @@ import com.ruoyi.framework.websocket.UserOnlineTimeWebSocketServer;
|
||||
import com.ruoyi.system.domain.DailySys;
|
||||
import com.ruoyi.system.service.IDailySysService;
|
||||
import com.ruoyi.system.service.ISysUserCountService;
|
||||
import com.ruoyi.system.service.ISysUserWorkCountService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -30,8 +31,12 @@ public class dailySysServer {
|
||||
@Autowired
|
||||
private ISysUserCountService sysUserCountService;
|
||||
|
||||
@Autowired
|
||||
private ISysUserWorkCountService sysUserWorkCountService;
|
||||
|
||||
//计数当前系统用户数量并且插入daily_sys表(日期是昨天)
|
||||
// 每天凌晨2点计算一次
|
||||
// 应该是定时任务, 测试完毕后修改接口类型
|
||||
@GetMapping("/UserCount")
|
||||
public void updateUserCount(){
|
||||
|
||||
@ -74,7 +79,46 @@ public class dailySysServer {
|
||||
LOGGER.info("更新昨天的统计用户总数数据成功");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//测试统计用户作品总数
|
||||
@GetMapping("/UserWorkCount")
|
||||
public void updateUserWorkCount(){
|
||||
|
||||
Long UserWorkCount = sysUserWorkCountService.getUserWorkCount();
|
||||
|
||||
System.out.println("当前用户作品数量为:"+UserWorkCount);
|
||||
|
||||
LocalDate now = LocalDate.now();
|
||||
|
||||
LocalDate oneDayAgo = now.minusDays(1);
|
||||
|
||||
DailySys dailySys = dailySysService.selectDailySysByDate(oneDayAgo);
|
||||
|
||||
// 今天未统计过, 统计时一定要先判断这个, 别的定时任务可能会先插入数据.
|
||||
if (dailySys == null){
|
||||
LOGGER.info("计数昨天的用户作品总数, 并插入数据");
|
||||
|
||||
DailySys dailySys1 = new DailySys();
|
||||
dailySys1.settWork(UserWorkCount);
|
||||
dailySys1.setDate(oneDayAgo);
|
||||
|
||||
int back = dailySysService.insertDailySys(dailySys1);
|
||||
if(back == 0){
|
||||
LOGGER.info("插入昨天的统计用户作品总数数据失败");
|
||||
} else{
|
||||
LOGGER.info("插入昨天的统计用户作品总数数据成功");
|
||||
}
|
||||
}
|
||||
// 已有其他任务插入过数据, 后期直接写在一起,
|
||||
else{
|
||||
dailySys.settWork(UserWorkCount);
|
||||
int back = dailySysService.updateDailySys(dailySys);
|
||||
if(back == 0){
|
||||
LOGGER.info("更新昨天的统计用户作品总数数据失败");
|
||||
} else{
|
||||
LOGGER.info("更新昨天的统计用户作品总数数据成功");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,22 @@
|
||||
package com.ruoyi.system.domain.dto;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class SeUserWorkCountDto {
|
||||
private Long tWork;
|
||||
private LocalDate date;
|
||||
|
||||
public Long gettWork() {
|
||||
return tWork;
|
||||
}
|
||||
public void settWork(Long tWork) {
|
||||
this.tWork = tWork;
|
||||
}
|
||||
public LocalDate getDate() {
|
||||
return date;
|
||||
}
|
||||
|
||||
public void setDate(LocalDate date) {
|
||||
this.date = date;
|
||||
}
|
||||
}
|
||||
|
||||
@ -58,4 +58,6 @@ public interface UserWorkMapper
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteUserWorkByWorkIds(Long[] workIds);
|
||||
|
||||
public Long getUserWorkCount();
|
||||
}
|
||||
|
||||
@ -0,0 +1,11 @@
|
||||
package com.ruoyi.system.service;
|
||||
|
||||
import com.ruoyi.system.domain.dto.SeUserCountDto;
|
||||
import com.ruoyi.system.domain.dto.SeUserWorkCountDto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ISysUserWorkCountService {
|
||||
public Long getUserWorkCount();
|
||||
public List<SeUserWorkCountDto> getSeUserWorkCount();
|
||||
}
|
||||
@ -58,4 +58,6 @@ public interface IUserWorkService
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteUserWorkByWorkId(Long workId);
|
||||
|
||||
public Long getUserWorkCount();
|
||||
}
|
||||
|
||||
@ -13,7 +13,7 @@ import java.util.List;
|
||||
|
||||
|
||||
@Service
|
||||
public class ISysUserCountServiceImpl implements ISysUserCountService {
|
||||
public class SysUserCountServiceImpl implements ISysUserCountService {
|
||||
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
@ -0,0 +1,39 @@
|
||||
package com.ruoyi.system.service.impl;
|
||||
|
||||
import com.ruoyi.system.domain.UserWork;
|
||||
import com.ruoyi.system.domain.dto.SeUserCountDto;
|
||||
import com.ruoyi.system.domain.dto.SeUserWorkCountDto;
|
||||
import com.ruoyi.system.service.IDailySysService;
|
||||
import com.ruoyi.system.service.ISysUserWorkCountService;
|
||||
import com.ruoyi.system.service.IUserWorkService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Service
|
||||
public class SysUserWorkCountServiceImpl implements ISysUserWorkCountService {
|
||||
|
||||
@Autowired
|
||||
private IUserWorkService userWorkService;
|
||||
|
||||
@Autowired
|
||||
private IDailySysService dailySysService;
|
||||
|
||||
@Override
|
||||
public Long getUserWorkCount() {
|
||||
Long userWorkCount = userWorkService.getUserWorkCount();
|
||||
return userWorkCount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SeUserWorkCountDto> getSeUserWorkCount() {
|
||||
LocalDate now = LocalDate.now();
|
||||
LocalDate startDate = now.minusDays(8);
|
||||
LocalDate endDate = now.minusDays(1);
|
||||
List<SeUserWorkCountDto> seUserCount = dailySysService.getSeUserWorkCount(startDate, endDate);
|
||||
return seUserCount;
|
||||
}
|
||||
}
|
||||
@ -92,4 +92,10 @@ public class UserWorkServiceImpl implements IUserWorkService
|
||||
{
|
||||
return userWorkMapper.deleteUserWorkByWorkId(workId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getUserWorkCount()
|
||||
{
|
||||
return userWorkMapper.getUserWorkCount();
|
||||
}
|
||||
}
|
||||
|
||||
@ -127,4 +127,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{workId}
|
||||
</foreach>
|
||||
</delete>
|
||||
<select id="getUserWorkCount" resultType="Long">
|
||||
select count(*) from user_work
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue
Block a user