use of com.moxi.mogublog.commons.entity.SystemConfig in project mogu_blog_v2 by moxi624.
the class AuthRestApi method replyBlogLink.
@ApiOperation(value = "申请友链", notes = "申请友链")
@PostMapping("/replyBlogLink")
public String replyBlogLink(HttpServletRequest request, @RequestBody LinkVO linkVO) {
if (request.getAttribute(SysConf.USER_UID) == null) {
return ResultUtil.result(SysConf.ERROR, MessageConf.INVALID_TOKEN);
}
String userUid = request.getAttribute(SysConf.USER_UID).toString();
User user = userService.getById(userUid);
// 判断该用户是否被禁言,被禁言的用户,也无法进行友链申请操作
if (user != null && user.getCommentStatus() == SysConf.ZERO) {
return ResultUtil.result(SysConf.ERROR, MessageConf.YOU_DONT_HAVE_PERMISSION_TO_REPLY);
}
// 判断是否开启邮件通知
SystemConfig systemConfig = systemConfigService.getConfig();
if (systemConfig != null && EOpenStatus.OPEN.equals(systemConfig.getStartEmailNotification())) {
if (StringUtils.isNotEmpty(systemConfig.getEmail())) {
log.info("发送友链申请邮件通知");
String feedback = "收到新的友链申请: " + "<br />" + "名称:" + linkVO.getTitle() + "<br />" + "简介:" + linkVO.getSummary() + "<br />" + "地址:" + linkVO.getUrl();
rabbitMqUtil.sendSimpleEmail(systemConfig.getEmail(), feedback);
} else {
log.error("网站没有配置通知接收的邮箱地址!");
}
}
QueryWrapper<Link> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(SQLConf.USER_UID, userUid);
queryWrapper.eq(SQLConf.STATUS, EStatus.ENABLE);
queryWrapper.eq(SQLConf.TITLE, linkVO.getTitle());
queryWrapper.last(SysConf.LIMIT_ONE);
Link existLink = linkService.getOne(queryWrapper);
if (existLink != null) {
Integer linkStatus = existLink.getLinkStatus();
String message = "";
switch(linkStatus) {
case 0:
{
message = MessageConf.BLOG_LINK_IS_EXIST;
}
break;
case 1:
{
message = MessageConf.BLOG_LINK_IS_PUBLISH;
}
break;
case 2:
{
message = MessageConf.BLOG_LINK_IS_NO_PUBLISH;
}
break;
}
return ResultUtil.result(SysConf.ERROR, message);
}
Link link = new Link();
link.setLinkStatus(ELinkStatus.APPLY);
link.setTitle(linkVO.getTitle());
link.setSummary(linkVO.getSummary());
link.setUrl(linkVO.getUrl());
link.setClickCount(0);
link.setSort(0);
link.setFileUid(linkVO.getFileUid());
link.setEmail(linkVO.getEmail());
link.setStatus(EStatus.ENABLE);
link.setUserUid(userUid);
link.insert();
return ResultUtil.result(SysConf.SUCCESS, MessageConf.OPERATION_SUCCESS);
}
use of com.moxi.mogublog.commons.entity.SystemConfig in project mogu_blog_v2 by moxi624.
the class AuthRestApi method edit.
@ApiOperation(value = "提交反馈", notes = "提交反馈", response = String.class)
@PostMapping("/addFeedback")
public String edit(HttpServletRequest request, @Validated({ Insert.class }) @RequestBody FeedbackVO feedbackVO, BindingResult result) {
// 参数校验
ThrowableUtils.checkParamArgument(result);
if (request.getAttribute(SysConf.USER_UID) == null) {
return ResultUtil.result(SysConf.ERROR, MessageConf.INVALID_TOKEN);
}
String userUid = request.getAttribute(SysConf.USER_UID).toString();
User user = userService.getById(userUid);
// 判断该用户是否被禁言,被禁言的用户,也无法进行反馈操作
if (user != null && user.getCommentStatus() == SysConf.ZERO) {
return ResultUtil.result(SysConf.ERROR, MessageConf.YOU_DONT_HAVE_PERMISSION_TO_FEEDBACK);
}
// 判断是否开启邮件通知
SystemConfig systemConfig = systemConfigService.getConfig();
if (systemConfig != null && EOpenStatus.OPEN.equals(systemConfig.getStartEmailNotification())) {
if (StringUtils.isNotEmpty(systemConfig.getEmail())) {
log.info("发送反馈邮件通知");
String feedback = "网站收到新的反馈: " + "<br />" + "标题:" + feedbackVO.getTitle() + "<br />" + "<br />" + "内容" + feedbackVO.getContent();
rabbitMqUtil.sendSimpleEmail(systemConfig.getEmail(), feedback);
} else {
log.error("网站没有配置通知接收的邮箱地址!");
}
}
Feedback feedback = new Feedback();
feedback.setUserUid(userUid);
feedback.setTitle(feedbackVO.getTitle());
feedback.setContent(feedbackVO.getContent());
// 设置反馈已开启
feedback.setFeedbackStatus(0);
feedback.setReply(feedbackVO.getReply());
feedback.setUpdateTime(new Date());
feedback.insert();
return ResultUtil.result(SysConf.SUCCESS, MessageConf.INSERT_SUCCESS);
}
use of com.moxi.mogublog.commons.entity.SystemConfig in project mogu_blog_v2 by moxi624.
the class WebUtil method getPicture.
/**
* 格式化数据获取图片列表
*
* @param result
* @return
*/
public List<String> getPicture(String result) {
String picturePriority = "";
String localPictureBaseUrl = "";
String qiNiuPictureBaseUrl = "";
String minioPictureBaseUrl = "";
// 从Redis中获取系统配置
String systemConfigJson = redisUtil.get(RedisConf.SYSTEM_CONFIG);
if (StringUtils.isEmpty(systemConfigJson)) {
QueryWrapper<SystemConfig> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(SQLConf.STATUS, EStatus.ENABLE);
SystemConfig systemConfig = systemConfigService.getOne(queryWrapper);
if (systemConfig == null) {
throw new QueryException(MessageConf.SYSTEM_CONFIG_IS_NOT_EXIST);
} else {
// 将系统配置存入Redis中【设置过期时间24小时】
redisUtil.setEx(RedisConf.SYSTEM_CONFIG, JsonUtils.objectToJson(systemConfig), 24, TimeUnit.HOURS);
}
picturePriority = systemConfig.getPicturePriority();
localPictureBaseUrl = systemConfig.getLocalPictureBaseUrl();
qiNiuPictureBaseUrl = systemConfig.getQiNiuPictureBaseUrl();
minioPictureBaseUrl = systemConfig.getMinioPictureBaseUrl();
} else {
SystemConfig systemConfig = JsonUtils.jsonToPojo(systemConfigJson, SystemConfig.class);
if (systemConfig == null) {
throw new QueryException(ErrorCode.QUERY_DEFAULT_ERROR, "系统配置转换错误,请检查系统配置,或者清空Redis后重试!");
}
picturePriority = systemConfig.getPicturePriority();
localPictureBaseUrl = systemConfig.getLocalPictureBaseUrl();
qiNiuPictureBaseUrl = systemConfig.getQiNiuPictureBaseUrl();
minioPictureBaseUrl = systemConfig.getMinioPictureBaseUrl();
}
List<String> picUrls = new ArrayList<>();
try {
Map<String, Object> picMap = (Map<String, Object>) JsonUtils.jsonToObject(result, Map.class);
if (SysConf.SUCCESS.equals(picMap.get(SysConf.CODE))) {
List<Map<String, Object>> picData = (List<Map<String, Object>>) picMap.get(SysConf.DATA);
if (picData.size() > 0) {
for (int i = 0; i < picData.size(); i++) {
// 判断文件显示优先级【需要显示存储在哪里的图片】
if (EFilePriority.QI_NIU.equals(picturePriority)) {
picUrls.add(qiNiuPictureBaseUrl + picData.get(i).get(SysConf.QI_NIU_URL));
} else if (EFilePriority.MINIO.equals(picturePriority)) {
picUrls.add(minioPictureBaseUrl + picData.get(i).get(SysConf.MINIO_URL));
} else {
picUrls.add(localPictureBaseUrl + picData.get(i).get(SysConf.URL));
}
}
}
}
} catch (Exception e) {
log.error("从Json中获取图片列表失败");
log.error(e.getMessage());
return picUrls;
}
return picUrls;
}
use of com.moxi.mogublog.commons.entity.SystemConfig in project mogu_blog_v2 by moxi624.
the class WebUtil method getPictureMap.
/**
* 获取图片,返回Map
*
* @param result
* @return
*/
public List<Map<String, Object>> getPictureMap(String result) {
String picturePriority = "";
String localPictureBaseUrl = "";
String qiNiuPictureBaseUrl = "";
String minioPictureBaseUrl = "";
// 从Redis中获取系统配置
String systemConfigJson = redisUtil.get(RedisConf.SYSTEM_CONFIG);
if (StringUtils.isEmpty(systemConfigJson)) {
QueryWrapper<SystemConfig> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(SQLConf.STATUS, EStatus.ENABLE);
SystemConfig systemConfig = systemConfigService.getOne(queryWrapper);
if (systemConfig == null) {
throw new QueryException(MessageConf.SYSTEM_CONFIG_IS_NOT_EXIST);
} else {
// 将系统配置存入Redis中【设置过期时间24小时】
redisUtil.setEx(RedisConf.SYSTEM_CONFIG, JsonUtils.objectToJson(systemConfig), 24, TimeUnit.HOURS);
}
picturePriority = systemConfig.getPicturePriority();
localPictureBaseUrl = systemConfig.getLocalPictureBaseUrl();
qiNiuPictureBaseUrl = systemConfig.getQiNiuPictureBaseUrl();
minioPictureBaseUrl = systemConfig.getMinioPictureBaseUrl();
} else {
SystemConfig systemConfig = JsonUtils.jsonToPojo(systemConfigJson, SystemConfig.class);
picturePriority = systemConfig.getPicturePriority();
localPictureBaseUrl = systemConfig.getLocalPictureBaseUrl();
qiNiuPictureBaseUrl = systemConfig.getQiNiuPictureBaseUrl();
minioPictureBaseUrl = systemConfig.getMinioPictureBaseUrl();
}
List<Map<String, Object>> resultList = new ArrayList<>();
Map<String, Object> picMap = (Map<String, Object>) JsonUtils.jsonToObject(result, Map.class);
if (SysConf.SUCCESS.equals(picMap.get(SysConf.CODE))) {
List<Map<String, Object>> picData = (List<Map<String, Object>>) picMap.get(SysConf.DATA);
if (picData.size() > 0) {
for (int i = 0; i < picData.size(); i++) {
Map<String, Object> map = new HashMap<>();
if (StringUtils.isEmpty(picData.get(i).get(SysConf.UID))) {
continue;
}
// 判断文件显示优先级【需要显示存储在哪里的图片】
if (EFilePriority.QI_NIU.equals(picturePriority)) {
map.put(SysConf.URL, qiNiuPictureBaseUrl + picData.get(i).get(SysConf.QI_NIU_URL));
} else if (EFilePriority.MINIO.equals(picturePriority)) {
map.put(SysConf.URL, minioPictureBaseUrl + picData.get(i).get(SysConf.MINIO_URL));
} else {
map.put(SysConf.URL, localPictureBaseUrl + picData.get(i).get(SysConf.URL));
}
map.put(SysConf.UID, picData.get(i).get(SysConf.UID));
resultList.add(map);
}
}
} else if (SysConf.ERROR.equals(picMap.get(SysConf.CODE))) {
log.error("获取图片失败,图片服务出现异常:{}", picMap.get(SysConf.MESSAGE));
} else {
log.error("获取图片失败");
}
return resultList;
}
use of com.moxi.mogublog.commons.entity.SystemConfig in project mogu_blog_v2 by moxi624.
the class StorageServiceImpl method uploadFile.
@Override
public String uploadFile(NetworkDisk networkDisk, List<MultipartFile> fileDatas) {
HttpServletRequest request = RequestHolder.getRequest();
SystemConfig systemConfig = feignUtil.getSystemConfig();
if (systemConfig == null) {
throw new QueryException(ErrorCode.SYSTEM_CONFIG_IS_NOT_EXIST, MessageConf.SYSTEM_CONFIG_NOT_EXIST);
}
// 计算文件大小
Long newStorageSize = 0L;
Long storageSize = 0L;
for (MultipartFile fileData : fileDatas) {
newStorageSize += fileData.getSize();
}
Storage storage = getStorageByAdmin();
if (storage != null) {
storageSize = storage.getStorageSize() + newStorageSize;
// 判断上传的文件是否超过了剩余空间
if (storage.getMaxStorageSize() < storageSize) {
throw new UpdateException(ErrorCode.UPDATE_DEFAULT_ERROR, "上传失败,您可用的空间已经不足!");
} else {
storage.setStorageSize(storageSize);
}
} else {
throw new UpdateException(ErrorCode.UPDATE_DEFAULT_ERROR, "上传失败,您没有分配可用的上传空间!");
}
// 上传文件
String result = fileService.batchUploadFile(request, fileDatas, systemConfig);
List<File> fileList = WebUtils.getAllList(result, File.class);
List<NetworkDisk> networkDiskList = new ArrayList<>();
for (File file : fileList) {
NetworkDisk saveNetworkDisk = new NetworkDisk();
saveNetworkDisk.setAdminUid(request.getAttribute(SysConf.ADMIN_UID).toString());
saveNetworkDisk.setFilePath(networkDisk.getFilePath());
saveNetworkDisk.setQiNiuUrl(file.getQiNiuUrl());
saveNetworkDisk.setLocalUrl(file.getPicUrl());
saveNetworkDisk.setMinioUrl(file.getMinioUrl());
saveNetworkDisk.setFileSize(file.getFileSize());
saveNetworkDisk.setFileName(file.getPicName());
saveNetworkDisk.setExtendName(file.getPicExpandedName());
saveNetworkDisk.setFileOldName(file.getFileOldName());
saveNetworkDisk.setCreateTime(new Date());
networkDiskList.add(saveNetworkDisk);
}
// 上传文件
networkDiskService.saveBatch(networkDiskList);
// 更新容量大小
storageService.updateById(storage);
return ResultUtil.successWithMessage(MessageConf.OPERATION_SUCCESS);
}
Aggregations