Merge pull request #31 from linhaojun857/dev

merge dev
master
花未眠 3 years ago committed by GitHub
commit 7c8f957c5e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,14 +1,15 @@
package com.aurora.constant;
public class AuthConstant {
public interface AuthConstant {
public static final String TOKEN_HEADER = "Authorization";
int TWENTY_MINUTES = 20;
public static final String TOKEN_PREFIX = "Bearer ";
int EXPIRE_TIME = 7 * 24 * 60 * 60;
public final static Integer TWENTY_MINUTES = 20;
String TOKEN_HEADER = "Authorization";
public final static String SECRET = "huaweimian";
String TOKEN_PREFIX = "Bearer ";
String SECRET = "huaweimian";
public final static Integer EXPIRE_TIME = 7 * 24 * 60 * 60;
}

@ -1,43 +1,43 @@
package com.aurora.constant;
public class CommonConstant {
public interface CommonConstant {
public static final int ONE = 1;
int ONE = 1;
public static final int ZERO = 0;
int ZERO = 0;
public static final int FALSE = 0;
int FALSE = 0;
public static final int TRUE = 1;
int TRUE = 1;
public static final String PRE_TAG = "<mark>";
int BLOGGER_ID = 1;
public static final String POST_TAG = "</mark>";
int DEFAULT_CONFIG_ID = 1;
public static final String CURRENT = "current";
int DEFAULT_ABOUT_ID = 1;
public static final String SIZE = "size";
String PRE_TAG = "<mark>";
public static final Integer BLOGGER_ID = 1;
String POST_TAG = "</mark>";
public static final String DEFAULT_SIZE = "10";
String CURRENT = "current";
public static final String DEFAULT_NICKNAME = "用户";
String SIZE = "size";
public static String COMPONENT = "Layout";
String DEFAULT_SIZE = "10";
public static final String UNKNOWN = "未知";
String DEFAULT_NICKNAME = "用户";
public static final String APPLICATION_JSON = "application/json;charset=utf-8";
String COMPONENT = "Layout";
public static final Integer DEFAULT_CONFIG_ID = 1;
String UNKNOWN = "未知";
public static final Integer DEFAULT_ABOUT_ID = 1;
String APPLICATION_JSON = "application/json;charset=utf-8";
public static final String CAPTCHA = "验证码";
String CAPTCHA = "验证码";
public static final String CHECK_REMIND = "审核提醒";
String CHECK_REMIND = "审核提醒";
public static final String COMMENT_REMIND = "评论提醒";
String COMMENT_REMIND = "评论提醒";
}

@ -1,17 +1,17 @@
package com.aurora.constant;
public class OptTypeConstant {
public interface OptTypeConstant {
public static final String SAVE_OR_UPDATE = "新增或修改";
String SAVE_OR_UPDATE = "新增或修改";
public static final String SAVE = "新增";
String SAVE = "新增";
public static final String UPDATE = "修改";
String UPDATE = "修改";
public static final String DELETE = "删除";
String DELETE = "删除";
public static final String UPLOAD = "上传";
String UPLOAD = "上传";
public static final String EXPORT = "导出";
String EXPORT = "导出";
}

@ -1,17 +1,17 @@
package com.aurora.constant;
public class RabbitMQConstant {
public interface RabbitMQConstant {
public static final String MAXWELL_QUEUE = "maxwell_queue";
String MAXWELL_QUEUE = "maxwell_queue";
public static final String MAXWELL_EXCHANGE = "maxwell_exchange";
String MAXWELL_EXCHANGE = "maxwell_exchange";
public static final String EMAIL_QUEUE = "email_queue";
String EMAIL_QUEUE = "email_queue";
public static final String EMAIL_EXCHANGE = "email_exchange";
String EMAIL_EXCHANGE = "email_exchange";
public static final String SUBSCRIBE_QUEUE = "subscribe_queue";
String SUBSCRIBE_QUEUE = "subscribe_queue";
public static final String SUBSCRIBE_EXCHANGE = "subscribe_exchange";
String SUBSCRIBE_EXCHANGE = "subscribe_exchange";
}

@ -1,27 +1,27 @@
package com.aurora.constant;
public class RedisConstant {
public interface RedisConstant {
public static final long CODE_EXPIRE_TIME = 15 * 60;
long CODE_EXPIRE_TIME = 15 * 60;
public static final String USER_CODE_KEY = "code:";
String USER_CODE_KEY = "code:";
public static final String BLOG_VIEWS_COUNT = "blog_views_count";
String BLOG_VIEWS_COUNT = "blog_views_count";
public static final String ARTICLE_VIEWS_COUNT = "article_views_count";
String ARTICLE_VIEWS_COUNT = "article_views_count";
public static final String WEBSITE_CONFIG = "website_config";
String WEBSITE_CONFIG = "website_config";
public static final String USER_AREA = "user_area";
String USER_AREA = "user_area";
public static final String VISITOR_AREA = "visitor_area";
String VISITOR_AREA = "visitor_area";
public static final String ABOUT = "about";
String ABOUT = "about";
public static final String UNIQUE_VISITOR = "unique_visitor";
String UNIQUE_VISITOR = "unique_visitor";
public static final String LOGIN_USER = "login_user";
String LOGIN_USER = "login_user";
public static final String ARTICLE_ACCESS = "article_access:";
String ARTICLE_ACCESS = "article_access:";
}

@ -1,33 +1,17 @@
package com.aurora.constant;
public class ScheduleConstant {
public interface ScheduleConstant {
public static final String TASK_CLASS_NAME = "TASK_CLASS_NAME";
int MISFIRE_DEFAULT = 0;
public static final String TASK_PROPERTIES = "TASK_PROPERTIES";
int MISFIRE_IGNORE_MISFIRES = 1;
public static final int MISFIRE_DEFAULT = 0;
int MISFIRE_FIRE_AND_PROCEED = 2;
public static final int MISFIRE_IGNORE_MISFIRES = 1;
int MISFIRE_DO_NOTHING = 3;
public static final int MISFIRE_FIRE_AND_PROCEED = 2;
String TASK_CLASS_NAME = "TASK_CLASS_NAME";
public static final int MISFIRE_DO_NOTHING = 3;
String TASK_PROPERTIES = "TASK_PROPERTIES";
public enum Status {
NORMAL(1),
PAUSE(0);
private final Integer value;
Status(Integer value) {
this.value = value;
}
public Integer getValue() {
return value;
}
}
}

@ -1,11 +1,11 @@
package com.aurora.constant;
public class SocialLoginConstant {
public interface SocialLoginConstant {
public static final String QQ_OPEN_ID = "openid";
String QQ_OPEN_ID = "openid";
public static final String ACCESS_TOKEN = "access_token";
String ACCESS_TOKEN = "access_token";
public static final String OAUTH_CONSUMER_KEY = "oauth_consumer_key";
String OAUTH_CONSUMER_KEY = "oauth_consumer_key";
}

@ -0,0 +1,17 @@
package com.aurora.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum JobStatusEnum {
NORMAL(1),
PAUSE(0);
private final Integer value;
}

@ -1,10 +1,18 @@
package com.aurora.model.vo;
import com.aurora.enums.StatusCodeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import static com.aurora.enums.StatusCodeEnum.*;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@SuppressWarnings("all")
public class ResultVO<T> {
private Boolean flag;
@ -16,56 +24,54 @@ public class ResultVO<T> {
private T data;
public static <T> ResultVO<T> ok() {
return restResult(true, null, SUCCESS.getCode(), SUCCESS.getDesc());
return resultVO(true, SUCCESS.getCode(), SUCCESS.getDesc(), null);
}
public static <T> ResultVO<T> ok(T data) {
return restResult(true, data, SUCCESS.getCode(), SUCCESS.getDesc());
return resultVO(true, SUCCESS.getCode(), SUCCESS.getDesc(), data);
}
public static <T> ResultVO<T> ok(T data, String message) {
return restResult(true, data, SUCCESS.getCode(), message);
return resultVO(true, SUCCESS.getCode(), message, data);
}
public static <T> ResultVO<T> fail() {
return restResult(false, null, FAIL.getCode(), FAIL.getDesc());
return resultVO(false, FAIL.getCode(), FAIL.getDesc(), null);
}
public static <T> ResultVO<T> fail(StatusCodeEnum statusCodeEnum) {
return restResult(false, null, statusCodeEnum.getCode(), statusCodeEnum.getDesc());
return resultVO(false, statusCodeEnum.getCode(), statusCodeEnum.getDesc(), null);
}
public static <T> ResultVO<T> fail(String message) {
return restResult(false, message);
return resultVO(false, message);
}
public static <T> ResultVO<T> fail(T data) {
return restResult(false, data, FAIL.getCode(), FAIL.getDesc());
return resultVO(false, FAIL.getCode(), FAIL.getDesc(), data);
}
public static <T> ResultVO<T> fail(T data, String message) {
return restResult(false, data, FAIL.getCode(), message);
return resultVO(false, FAIL.getCode(), message, data);
}
public static <T> ResultVO<T> fail(Integer code, String message) {
return restResult(false, null, code, message);
return resultVO(false, code, message, null);
}
private static <T> ResultVO<T> restResult(Boolean flag, String message) {
ResultVO<T> apiResultVO = new ResultVO<>();
apiResultVO.setFlag(flag);
apiResultVO.setCode(flag ? SUCCESS.getCode() : FAIL.getCode());
apiResultVO.setMessage(message);
return apiResultVO;
private static <T> ResultVO<T> resultVO(Boolean flag, String message) {
return ResultVO.<T>builder()
.flag(flag)
.code(flag ? SUCCESS.getCode() : FAIL.getCode())
.message(message).build();
}
private static <T> ResultVO<T> restResult(Boolean flag, T data, Integer code, String message) {
ResultVO<T> apiResultVO = new ResultVO<>();
apiResultVO.setFlag(flag);
apiResultVO.setData(data);
apiResultVO.setCode(code);
apiResultVO.setMessage(message);
return apiResultVO;
private static <T> ResultVO<T> resultVO(Boolean flag, Integer code, String message, T data) {
return ResultVO.<T>builder()
.flag(flag)
.code(code)
.message(message)
.data(data).build();
}
}

@ -1,6 +1,7 @@
package com.aurora.service.impl;
import com.aurora.constant.ScheduleConstant;
import com.aurora.enums.JobStatusEnum;
import com.aurora.model.dto.JobDTO;
import com.aurora.entity.Job;
import com.aurora.mapper.JobMapper;
@ -115,9 +116,9 @@ public class JobServiceImpl extends ServiceImpl<JobMapper, Job> implements JobSe
updateWrapper.eq(Job::getId, jobStatusVO.getId()).set(Job::getStatus, status);
int row = jobMapper.update(null, updateWrapper);
if (row > 0) {
if (ScheduleConstant.Status.NORMAL.getValue().equals(status)) {
if (JobStatusEnum.NORMAL.getValue().equals(status)) {
scheduler.resumeJob(ScheduleUtil.getJobKey(jobId, jobGroup));
} else if (ScheduleConstant.Status.PAUSE.getValue().equals(status)) {
} else if (JobStatusEnum.PAUSE.getValue().equals(status)) {
scheduler.pauseJob(ScheduleUtil.getJobKey(jobId, jobGroup));
}
}
@ -144,10 +145,8 @@ public class JobServiceImpl extends ServiceImpl<JobMapper, Job> implements JobSe
@SneakyThrows
public void updateSchedulerJob(Job job, String jobGroup) {
Integer jobId = job.getId();
// 判断是否存在
JobKey jobKey = ScheduleUtil.getJobKey(jobId, jobGroup);
if (scheduler.checkExists(jobKey)) {
// 防止创建时存在数据问题 先移除,然后在执行创建操作
scheduler.deleteJob(jobKey);
}
ScheduleUtil.createScheduleJob(scheduler, job);

@ -58,15 +58,15 @@ public class PhotoAlbumServiceImpl extends ServiceImpl<PhotoAlbumMapper, PhotoAl
if (count == 0) {
return new PageResultDTO<>();
}
List<PhotoAlbumAdminDTO> photoAlbumBackList = photoAlbumMapper.listPhotoAlbumsAdmin(PageUtil.getLimitCurrent(), PageUtil.getSize(), conditionVO);
return new PageResultDTO<>(photoAlbumBackList, count);
List<PhotoAlbumAdminDTO> photoAlbumBacks = photoAlbumMapper.listPhotoAlbumsAdmin(PageUtil.getLimitCurrent(), PageUtil.getSize(), conditionVO);
return new PageResultDTO<>(photoAlbumBacks, count);
}
@Override
public List<PhotoAlbumDTO> listPhotoAlbumInfosAdmin() {
List<PhotoAlbum> photoAlbumList = photoAlbumMapper.selectList(new LambdaQueryWrapper<PhotoAlbum>()
List<PhotoAlbum> photoAlbums = photoAlbumMapper.selectList(new LambdaQueryWrapper<PhotoAlbum>()
.eq(PhotoAlbum::getIsDelete, FALSE));
return BeanCopyUtil.copyList(photoAlbumList, PhotoAlbumDTO.class);
return BeanCopyUtil.copyList(photoAlbums, PhotoAlbumDTO.class);
}
@Override

@ -46,13 +46,13 @@ public class ResourceServiceImpl extends ServiceImpl<ResourceMapper, Resource> i
@Autowired
private FilterInvocationSecurityMetadataSourceImpl filterInvocationSecurityMetadataSource;
@SuppressWarnings("unchecked")
@SuppressWarnings("all")
@Transactional(rollbackFor = Exception.class)
@Override
public void importSwagger() {
this.remove(null);
roleResourceMapper.delete(null);
List<Resource> resourceList = new ArrayList<>();
List<Resource> resources = new ArrayList<>();
Map<String, Object> data = restTemplate.getForObject("http://localhost:8080/v2/api-docs", Map.class);
List<Map<String, String>> tagList = (List<Map<String, String>>) data.get("tags");
tagList.forEach(item -> {
@ -61,12 +61,12 @@ public class ResourceServiceImpl extends ServiceImpl<ResourceMapper, Resource> i
.isAnonymous(FALSE)
.createTime(LocalDateTime.now())
.build();
resourceList.add(resource);
resources.add(resource);
});
this.saveBatch(resourceList);
Map<String, Integer> permissionMap = resourceList.stream()
this.saveBatch(resources);
Map<String, Integer> permissionMap = resources.stream()
.collect(Collectors.toMap(Resource::getResourceName, Resource::getId));
resourceList.clear();
resources.clear();
Map<String, Map<String, Map<String, Object>>> path = (Map<String, Map<String, Map<String, Object>>>) data.get("paths");
path.forEach((url, value) -> value.forEach((requestMethod, info) -> {
String permissionName = info.get("summary").toString();
@ -80,9 +80,9 @@ public class ResourceServiceImpl extends ServiceImpl<ResourceMapper, Resource> i
.isAnonymous(FALSE)
.createTime(LocalDateTime.now())
.build();
resourceList.add(resource);
resources.add(resource);
}));
this.saveBatch(resourceList);
this.saveBatch(resources);
}
@Override
@ -99,48 +99,48 @@ public class ResourceServiceImpl extends ServiceImpl<ResourceMapper, Resource> i
if (count > 0) {
throw new BizException("该资源下存在角色");
}
List<Integer> resourceIdList = resourceMapper.selectList(new LambdaQueryWrapper<Resource>()
List<Integer> resourceIds = resourceMapper.selectList(new LambdaQueryWrapper<Resource>()
.select(Resource::getId).
eq(Resource::getParentId, resourceId))
.stream()
.map(Resource::getId)
.collect(Collectors.toList());
resourceIdList.add(resourceId);
resourceMapper.deleteBatchIds(resourceIdList);
resourceIds.add(resourceId);
resourceMapper.deleteBatchIds(resourceIds);
}
@Override
public List<ResourceDTO> listResources(ConditionVO conditionVO) {
List<Resource> resourceList = resourceMapper.selectList(new LambdaQueryWrapper<Resource>()
List<Resource> resources = resourceMapper.selectList(new LambdaQueryWrapper<Resource>()
.like(StringUtils.isNotBlank(conditionVO.getKeywords()), Resource::getResourceName, conditionVO.getKeywords()));
List<Resource> parentList = listResourceModule(resourceList);
Map<Integer, List<Resource>> childrenMap = listResourceChildren(resourceList);
List<ResourceDTO> resourceDTOList = parentList.stream().map(item -> {
List<Resource> parents = listResourceModule(resources);
Map<Integer, List<Resource>> childrenMap = listResourceChildren(resources);
List<ResourceDTO> resourceDTOs = parents.stream().map(item -> {
ResourceDTO resourceDTO = BeanCopyUtil.copyObject(item, ResourceDTO.class);
List<ResourceDTO> childrenList = BeanCopyUtil.copyList(childrenMap.get(item.getId()), ResourceDTO.class);
resourceDTO.setChildren(childrenList);
List<ResourceDTO> child = BeanCopyUtil.copyList(childrenMap.get(item.getId()), ResourceDTO.class);
resourceDTO.setChildren(child);
childrenMap.remove(item.getId());
return resourceDTO;
}).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(childrenMap)) {
List<Resource> childrenList = new ArrayList<>();
childrenMap.values().forEach(childrenList::addAll);
List<ResourceDTO> childrenDTOList = childrenList.stream()
List<ResourceDTO> childrenDTOs = childrenList.stream()
.map(item -> BeanCopyUtil.copyObject(item, ResourceDTO.class))
.collect(Collectors.toList());
resourceDTOList.addAll(childrenDTOList);
resourceDTOs.addAll(childrenDTOs);
}
return resourceDTOList;
return resourceDTOs;
}
@Override
public List<LabelOptionDTO> listResourceOption() {
List<Resource> resourceList = resourceMapper.selectList(new LambdaQueryWrapper<Resource>()
List<Resource> resources = resourceMapper.selectList(new LambdaQueryWrapper<Resource>()
.select(Resource::getId, Resource::getResourceName, Resource::getParentId)
.eq(Resource::getIsAnonymous, FALSE));
List<Resource> parentList = listResourceModule(resourceList);
Map<Integer, List<Resource>> childrenMap = listResourceChildren(resourceList);
return parentList.stream().map(item -> {
List<Resource> parents = listResourceModule(resources);
Map<Integer, List<Resource>> childrenMap = listResourceChildren(resources);
return parents.stream().map(item -> {
List<LabelOptionDTO> list = new ArrayList<>();
List<Resource> children = childrenMap.get(item.getId());
if (CollectionUtils.isNotEmpty(children)) {

@ -58,10 +58,10 @@ public class TagServiceImpl extends ServiceImpl<TagMapper, Tag> implements TagSe
@SneakyThrows
@Override
public List<TagAdminDTO> listTagsAdminBySearch(ConditionVO conditionVO) {
List<Tag> tagList = tagMapper.selectList(new LambdaQueryWrapper<Tag>()
List<Tag> tags = tagMapper.selectList(new LambdaQueryWrapper<Tag>()
.like(StringUtils.isNotBlank(conditionVO.getKeywords()), Tag::getTagName, conditionVO.getKeywords())
.orderByDesc(Tag::getId));
return BeanCopyUtil.copyList(tagList, TagAdminDTO.class);
return BeanCopyUtil.copyList(tags, TagAdminDTO.class);
}
@Override

@ -6,18 +6,9 @@
</div>
<div class="bg-ob-deep-800 px-14 py-16 rounded-2xl shadow-xl block">
<TagList>
<template v-if="tags && tags.length > 0">
<template v-if="tags != '' && tags.length > 0">
<TagItem v-for="tag in tags" :key="tag.id" :id="tag.id" :name="tag.tagName" :count="tag.count" size="xl" />
</template>
<template v-else-if="tags">
<ob-skeleton tag="li" :count="10" height="20px" width="3rem" />
</template>
<template v-else>
<div class="flex flex-row justify-center items-center">
<svg-icon class="stroke-ob-bright mr-2" icon-class="warning" />
{{ t('settings.empty-tag') }}
</div>
</template>
</TagList>
</div>
</div>

Loading…
Cancel
Save