Refactor AdminController.java.

pull/146/head
ruibaby 2019-05-04 23:54:39 +08:00
parent a10fa0e312
commit 2a503d8550
20 changed files with 46 additions and 40 deletions

View File

@ -4,16 +4,13 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import run.halo.app.cache.lock.CacheLock;
import run.halo.app.model.dto.EnvironmentDTO;
import run.halo.app.model.dto.StatisticDTO;
import run.halo.app.model.params.LoginParam;
import run.halo.app.security.token.AuthToken;
import run.halo.app.service.AdminService;
import javax.validation.Valid;
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
import java.util.HashMap;
import java.util.Map;
/**
* Admin controller.
@ -45,11 +42,8 @@ public class AdminController {
@GetMapping("environments")
@ApiOperation("Gets environments info")
public Map<String, Object> getEnvironments() {
Map<String, Object> result = new HashMap<>();
RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
result.put("startTime", runtimeMXBean.getStartTime());
return result;
public EnvironmentDTO getEnvironments() {
return adminService.getEnvironments();
}
@PostMapping("login")

View File

@ -17,6 +17,8 @@ public class StatisticDTO {
private long attachmentCount;
private long birthday;
private long establishDays;
private long linkCount;

View File

@ -3,8 +3,6 @@ package run.halo.app.model.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import run.halo.app.model.enums.AttachmentType;
import javax.persistence.*;

View File

@ -1,6 +1,5 @@
package run.halo.app.model.entity;
import run.halo.app.utils.DateUtils;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

View File

@ -3,8 +3,6 @@ package run.halo.app.model.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import run.halo.app.model.enums.PostCreateFrom;
import run.halo.app.model.enums.PostStatus;
import run.halo.app.utils.MarkdownUtils;

View File

@ -3,9 +3,6 @@ package run.halo.app.model.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import org.springframework.core.io.support.ResourcePatternResolver;
import javax.persistence.*;

View File

@ -3,8 +3,6 @@ package run.halo.app.model.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import javax.persistence.*;

View File

@ -3,8 +3,6 @@ package run.halo.app.model.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import javax.persistence.*;

View File

@ -4,8 +4,6 @@ package run.halo.app.model.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import run.halo.app.model.enums.LogType;
import run.halo.app.utils.ServletUtils;

View File

@ -3,8 +3,6 @@ package run.halo.app.model.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import javax.persistence.*;

View File

@ -4,8 +4,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import javax.persistence.*;

View File

@ -3,8 +3,6 @@ package run.halo.app.model.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import javax.persistence.*;
import java.util.Date;

View File

@ -2,8 +2,6 @@ package run.halo.app.model.entity;
import lombok.Data;
import lombok.ToString;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import javax.persistence.*;
import java.util.Objects;

View File

@ -2,8 +2,6 @@ package run.halo.app.model.entity;
import lombok.Data;
import lombok.ToString;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import javax.persistence.*;
import java.util.Objects;

View File

@ -3,8 +3,6 @@ package run.halo.app.model.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import javax.persistence.*;

View File

@ -3,8 +3,6 @@ package run.halo.app.model.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import javax.persistence.*;

View File

@ -1,11 +1,8 @@
package run.halo.app.model.entity;
import run.halo.app.utils.DateUtils;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import run.halo.app.utils.DateUtils;
import javax.persistence.*;

View File

@ -1,6 +1,7 @@
package run.halo.app.service;
import org.springframework.lang.NonNull;
import run.halo.app.model.dto.EnvironmentDTO;
import run.halo.app.model.dto.StatisticDTO;
import run.halo.app.model.params.LoginParam;
import run.halo.app.security.token.AuthToken;
@ -9,6 +10,7 @@ import run.halo.app.security.token.AuthToken;
* Admin service.
*
* @author johnniang
* @author ryanwang
* @date 19-4-29
*/
public interface AdminService {
@ -46,6 +48,13 @@ public interface AdminService {
@NonNull
StatisticDTO getCount();
/**
* Get system environments
* @return environments
*/
@NonNull
EnvironmentDTO getEnvironments();
/**
* Refreshes token.
*

View File

@ -2,12 +2,14 @@ package run.halo.app.service.impl;
import cn.hutool.core.lang.Validator;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.lang.NonNull;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import run.halo.app.cache.StringCacheStore;
import run.halo.app.exception.BadRequestException;
import run.halo.app.exception.NotFoundException;
import run.halo.app.model.dto.EnvironmentDTO;
import run.halo.app.model.dto.StatisticDTO;
import run.halo.app.model.entity.User;
import run.halo.app.model.enums.CommentStatus;
@ -20,12 +22,15 @@ import run.halo.app.security.util.SecurityUtils;
import run.halo.app.service.*;
import run.halo.app.utils.HaloUtils;
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
import java.util.concurrent.TimeUnit;
/**
* Admin service implementation.
*
* @author johnniang
* @author ryanwang
* @date 19-4-29
*/
@Slf4j
@ -52,6 +57,9 @@ public class AdminServiceImpl implements AdminService {
private final StringCacheStore cacheStore;
@Value("${spring.datasource.driver-class-name}")
private String driverClassName;
public AdminServiceImpl(PostService postService,
SheetService sheetService,
AttachmentService attachmentService,
@ -153,6 +161,7 @@ public class AdminServiceImpl implements AdminService {
long birthday = optionService.getBirthday();
long days = (System.currentTimeMillis() - birthday) / (1000 * 24 * 3600);
statisticDTO.setEstablishDays(days);
statisticDTO.setBirthday(birthday);
statisticDTO.setLinkCount(linkService.count());
@ -161,6 +170,19 @@ public class AdminServiceImpl implements AdminService {
return statisticDTO;
}
@Override
public EnvironmentDTO getEnvironments() {
EnvironmentDTO environmentDTO = new EnvironmentDTO();
// Get application start time.
RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
environmentDTO.setStartTime(runtimeMXBean.getStartTime());
environmentDTO.setDatabase("org.h2.Driver".equals(driverClassName) ? "H2" : "MySQL");
return environmentDTO;
}
@Override
public AuthToken refreshToken(String refreshToken) {
Assert.hasText(refreshToken, "Refresh token must not be blank");

View File

@ -46,3 +46,13 @@
<#t><#else>刚刚
</#if>
</#macro>
<#macro globalHeader>
<@favicon />
<@verification />
</#macro>
<#macro globalFooter>
<@statistics />
<@footer_info />
</#macro>