From ad5271f7407d82f1dd0e152591547e7bb6098e5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A6=BE=E5=87=A0=E6=B5=B7?= Date: Fri, 31 Jul 2020 21:19:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AF=B7=E6=B1=82=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=EF=BC=8C=E4=BF=AE=E6=94=B9=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../blog/controller/LinksController.java | 27 +++---------------- .../blog/entity/request/LinkApplyReq.java | 17 ++++++++++++ .../blog/service/PartnerSiteService.java | 7 +++++ .../serviceimpl/PartnerSiteServiceImpl.java | 13 ++++++++- 4 files changed, 39 insertions(+), 25 deletions(-) create mode 100644 src/main/java/cn/celess/blog/entity/request/LinkApplyReq.java diff --git a/src/main/java/cn/celess/blog/controller/LinksController.java b/src/main/java/cn/celess/blog/controller/LinksController.java index 943657f..1293deb 100644 --- a/src/main/java/cn/celess/blog/controller/LinksController.java +++ b/src/main/java/cn/celess/blog/controller/LinksController.java @@ -3,6 +3,7 @@ package cn.celess.blog.controller; import cn.celess.blog.enmu.ResponseEnum; import cn.celess.blog.entity.PartnerSite; import cn.celess.blog.entity.Response; +import cn.celess.blog.entity.request.LinkApplyReq; import cn.celess.blog.entity.request.LinkReq; import cn.celess.blog.exception.MyException; import cn.celess.blog.service.MailService; @@ -69,29 +70,7 @@ public class LinksController { } @PostMapping("/apply") - public Response apply(@RequestParam("name") String name, - @RequestParam("url") String url) { - // TODO :: 弃用发送邮件的方式。 - if (name == null || name.replaceAll(" ", "").isEmpty()) { - return Response.response(ResponseEnum.PARAMETERS_ERROR, null); - } - if (!RegexUtil.urlMatch(url)) { - return Response.response(ResponseEnum.PARAMETERS_URL_ERROR, null); - } - String applyTimeStr = redisUtil.get(request.getRemoteAddr() + "-Apply"); - int applyTime = 0; - if (applyTimeStr != null) { - applyTime = Integer.parseInt(applyTimeStr); - } - if (applyTime == 10) { - throw new MyException(ResponseEnum.FAILURE.getCode(), "申请次数已达10次,请2小时后重试"); - } - SimpleMailMessage message = new SimpleMailMessage(); - message.setSubject("友链申请:" + name); - message.setTo("a@celess.cn"); - message.setText("name:" + name + "\nurl:" + url + "\n" + DateFormatUtil.getNow()); - Boolean send = mailService.send(message); - redisUtil.setEx(request.getRemoteAddr() + "-Apply", applyTime + 1 + "", 2, TimeUnit.HOURS); - return send ? Response.success("") : Response.failure(""); + public Response apply(@RequestBody() LinkApplyReq linkApplyReq) { + return Response.success(partnerSiteService.apply(linkApplyReq)); } } diff --git a/src/main/java/cn/celess/blog/entity/request/LinkApplyReq.java b/src/main/java/cn/celess/blog/entity/request/LinkApplyReq.java new file mode 100644 index 0000000..910332b --- /dev/null +++ b/src/main/java/cn/celess/blog/entity/request/LinkApplyReq.java @@ -0,0 +1,17 @@ +package cn.celess.blog.entity.request; + +import lombok.Data; + +/** + * @author : xiaohai + * @date : 2020/07/31 20:50 + */ +@Data +public class LinkApplyReq { + private String name; + private String email; + private String url; + private String linkUrl; + private String desc; + private String iconPath; +} diff --git a/src/main/java/cn/celess/blog/service/PartnerSiteService.java b/src/main/java/cn/celess/blog/service/PartnerSiteService.java index 6d28b27..1ef52d3 100644 --- a/src/main/java/cn/celess/blog/service/PartnerSiteService.java +++ b/src/main/java/cn/celess/blog/service/PartnerSiteService.java @@ -2,6 +2,7 @@ package cn.celess.blog.service; import cn.celess.blog.entity.PartnerSite; import cn.celess.blog.entity.model.PageData; +import cn.celess.blog.entity.request.LinkApplyReq; import cn.celess.blog.entity.request.LinkReq; import org.springframework.stereotype.Service; @@ -53,4 +54,10 @@ public interface PartnerSiteService { */ List findAll(); + /** + * 申请友链 + * @param linkApplyReq linkApplyReq + * @return linkApplyReq + */ + PartnerSite apply(LinkApplyReq linkApplyReq); } diff --git a/src/main/java/cn/celess/blog/service/serviceimpl/PartnerSiteServiceImpl.java b/src/main/java/cn/celess/blog/service/serviceimpl/PartnerSiteServiceImpl.java index 81302c2..c3a2f68 100644 --- a/src/main/java/cn/celess/blog/service/serviceimpl/PartnerSiteServiceImpl.java +++ b/src/main/java/cn/celess/blog/service/serviceimpl/PartnerSiteServiceImpl.java @@ -3,6 +3,7 @@ package cn.celess.blog.service.serviceimpl; import cn.celess.blog.enmu.ResponseEnum; import cn.celess.blog.entity.PartnerSite; import cn.celess.blog.entity.model.PageData; +import cn.celess.blog.entity.request.LinkApplyReq; import cn.celess.blog.entity.request.LinkReq; import cn.celess.blog.exception.MyException; import cn.celess.blog.mapper.PartnerMapper; @@ -10,6 +11,7 @@ import cn.celess.blog.service.PartnerSiteService; import cn.celess.blog.util.RegexUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -108,5 +110,14 @@ public class PartnerSiteServiceImpl implements PartnerSiteService { return all; } - + @Override + public PartnerSite apply(LinkApplyReq linkApplyReq) { + if (StringUtils.isEmpty(linkApplyReq.getName()) + || StringUtils.isEmpty(linkApplyReq.getUrl()) + || StringUtils.isEmpty(linkApplyReq.getEmail()) + || StringUtils.isEmpty(linkApplyReq.getLinkUrl())) { + throw new MyException(ResponseEnum.PARAMETERS_ERROR); + } + return null; + } }