use of com.moxi.mogublog.commons.entity.Link in project mogu_blog_v2 by moxi624.
the class LinkServiceImpl method addLinkCount.
@Override
public String addLinkCount(String uid) {
if (StringUtils.isEmpty(uid)) {
return ResultUtil.errorWithMessage(MessageConf.PARAM_INCORRECT);
}
Link link = linkService.getById(uid);
if (link != null) {
int count = link.getClickCount() + 1;
link.setClickCount(count);
link.updateById();
} else {
return ResultUtil.errorWithMessage(MessageConf.PARAM_INCORRECT);
}
return ResultUtil.successWithMessage(MessageConf.UPDATE_SUCCESS);
}
use of com.moxi.mogublog.commons.entity.Link in project mogu_blog_v2 by moxi624.
the class LinkServiceImpl method getPageList.
@Override
public IPage<Link> getPageList(LinkVO linkVO) {
QueryWrapper<Link> queryWrapper = new QueryWrapper<>();
if (StringUtils.isNotEmpty(linkVO.getKeyword()) && !StringUtils.isEmpty(linkVO.getKeyword().trim())) {
queryWrapper.like(SQLConf.TITLE, linkVO.getKeyword().trim());
}
if (linkVO.getLinkStatus() != null) {
queryWrapper.eq(SQLConf.LINK_STATUS, linkVO.getLinkStatus());
}
if (StringUtils.isNotEmpty(linkVO.getOrderByAscColumn())) {
String column = StringUtils.underLine(new StringBuffer(linkVO.getOrderByAscColumn())).toString();
queryWrapper.orderByAsc(column);
} else if (StringUtils.isNotEmpty(linkVO.getOrderByDescColumn())) {
String column = StringUtils.underLine(new StringBuffer(linkVO.getOrderByDescColumn())).toString();
queryWrapper.orderByDesc(column);
} else {
queryWrapper.orderByDesc(SQLConf.SORT);
}
Page<Link> page = new Page<>();
page.setCurrent(linkVO.getCurrentPage());
page.setSize(linkVO.getPageSize());
queryWrapper.eq(SQLConf.STATUS, EStatus.ENABLE);
IPage<Link> pageList = linkService.page(page, queryWrapper);
List<Link> linkList = pageList.getRecords();
final StringBuffer fileUids = new StringBuffer();
// 给友情链接添加图片
linkList.forEach(item -> {
if (StringUtils.isNotEmpty(item.getFileUid())) {
fileUids.append(item.getFileUid() + SysConf.FILE_SEGMENTATION);
}
});
String pictureList = null;
Map<String, String> pictureMap = new HashMap<>();
if (fileUids != null) {
pictureList = pictureFeignClient.getPicture(fileUids.toString(), SysConf.FILE_SEGMENTATION);
}
List<Map<String, Object>> picList = webUtil.getPictureMap(pictureList);
picList.forEach(item -> {
pictureMap.put(item.get(SysConf.UID).toString(), item.get(SysConf.URL).toString());
});
for (Link item : linkList) {
// 获取图片
if (StringUtils.isNotEmpty(item.getFileUid())) {
List<String> pictureUidsTemp = StringUtils.changeStringToString(item.getFileUid(), Constants.SYMBOL_COMMA);
List<String> pictureListTemp = new ArrayList<>();
pictureUidsTemp.forEach(picture -> {
pictureListTemp.add(pictureMap.get(picture));
});
item.setPhotoList(pictureListTemp);
}
}
pageList.setRecords(linkList);
return pageList;
}
use of com.moxi.mogublog.commons.entity.Link in project mogu_blog_v2 by moxi624.
the class IndexRestApi method getLink.
@ApiOperation(value = "获取友情链接", notes = "获取友情链接")
@GetMapping("/getLink")
public String getLink() {
String friendlyLinkCount = sysParamsService.getSysParamsValueByKey(SysConf.FRIENDLY_LINK_COUNT);
// 从Redis中获取友情链接
String jsonResult = redisUtil.get(RedisConf.BLOG_LINK + Constants.SYMBOL_COLON + friendlyLinkCount);
if (StringUtils.isNotEmpty(jsonResult)) {
List jsonResult2List = JsonUtils.jsonArrayToArrayList(jsonResult);
return ResultUtil.result(SysConf.SUCCESS, jsonResult2List);
}
List<Link> linkList = linkService.getListByPageSize(Integer.valueOf(friendlyLinkCount));
if (linkList.size() > 0) {
redisUtil.setEx(RedisConf.BLOG_LINK + Constants.SYMBOL_COLON + friendlyLinkCount, JsonUtils.objectToJson(linkList), 1, TimeUnit.HOURS);
}
return ResultUtil.result(SysConf.SUCCESS, linkList);
}
use of com.moxi.mogublog.commons.entity.Link 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.Link in project mogu_blog_v2 by moxi624.
the class LinkServiceImpl method addLink.
@Override
public String addLink(LinkVO linkVO) {
Link link = new Link();
link.setTitle(linkVO.getTitle());
link.setSummary(linkVO.getSummary());
link.setUrl(linkVO.getUrl());
link.setClickCount(0);
link.setLinkStatus(linkVO.getLinkStatus());
link.setSort(linkVO.getSort());
link.setEmail(linkVO.getEmail());
link.setFileUid(linkVO.getFileUid());
link.setStatus(EStatus.ENABLE);
link.setUpdateTime(new Date());
link.insert();
// 友链从申请状态到发布状态,需要发送邮件到站长邮箱
if (StringUtils.isNotEmpty(link.getEmail()) && CheckUtils.checkEmail(link.getEmail())) {
log.info("发送友链申请通过的邮件通知");
String linkApplyText = "<a href=\" " + link.getUrl() + "\">" + link.getTitle() + "</a> 站长,您申请的友链已经成功上架~";
rabbitMqUtil.sendSimpleEmail(link.getEmail(), linkApplyText);
}
// 删除Redis中的BLOG_LINK
deleteRedisBlogLinkList();
return ResultUtil.successWithMessage(MessageConf.INSERT_SUCCESS);
}
Aggregations