diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiNewsController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiNewsController.java index 270ad6d5b..b059f7b93 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiNewsController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiNewsController.java @@ -3,6 +3,7 @@ package com.elink.esua.epdc.controller; import com.elink.esua.epdc.common.token.dto.TokenDto; import com.elink.esua.epdc.commons.tools.annotation.LoginUser; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeBrowseFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeDetailResultDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO; @@ -52,4 +53,17 @@ public class ApiNewsController { public Result getNoticeDetail(@PathVariable("noticeId") String noticeId) { return newsService.getNoticeDetail(noticeId); } + + /** + * 阅读通知 + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author yujintao + * @date 2019/9/6 16:07 + */ + @PostMapping("notice/browse") + public Result browseNotice(@RequestBody EpdcNoticeBrowseFormDTO formDto) { + return newsService.updateReadingAmount(formDto); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/NewsFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/NewsFeignClient.java index e3e6d4472..70f21a2cc 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/NewsFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/NewsFeignClient.java @@ -2,6 +2,7 @@ package com.elink.esua.epdc.feign; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeBrowseFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeDetailResultDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO; @@ -43,4 +44,15 @@ public interface NewsFeignClient { */ @GetMapping("news/epdc-app/notice/getDetail/{noticeId}") Result getNoticeDetail(@PathVariable String noticeId); + + /** + * 用户浏览量增加 + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author yujintao + * @date 2019/9/6 15:54 + */ + @PostMapping(value = "news/epdc-app/notice/browse", consumes = MediaType.APPLICATION_JSON_VALUE) + Result browseNotice(@RequestBody EpdcNoticeBrowseFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/NewsFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/NewsFeignClientFallback.java index 52802d85c..ffb72e6cc 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/NewsFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/NewsFeignClientFallback.java @@ -3,6 +3,7 @@ package com.elink.esua.epdc.feign.fallback; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeBrowseFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeDetailResultDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO; @@ -28,4 +29,9 @@ public class NewsFeignClientFallback implements NewsFeignClient { public Result getNoticeDetail(String noticeId) { return ModuleUtils.feignConError(ServiceConstant.EPDC_NEWS_SERVER, "getNoticeDetail", noticeId); } + + @Override + public Result browseNotice(EpdcNoticeBrowseFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_NEWS_SERVER, "browseNotice", formDto); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/NewsService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/NewsService.java index bdec41813..566963e5d 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/NewsService.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/NewsService.java @@ -2,6 +2,7 @@ package com.elink.esua.epdc.service; import com.elink.esua.epdc.common.token.dto.TokenDto; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeBrowseFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeDetailResultDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO; @@ -37,4 +38,14 @@ public interface NewsService { * @date 2019/9/6 14:58 */ Result getNoticeDetail(String noticeId); + + /** + * 阅读通知 + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author yujintao + * @date 2019/9/6 16:09 + */ + Result updateReadingAmount(EpdcNoticeBrowseFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java index 0547da98f..6be061005 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java @@ -2,6 +2,7 @@ package com.elink.esua.epdc.service.impl; import com.elink.esua.epdc.common.token.dto.TokenDto; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeBrowseFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeDetailResultDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO; @@ -35,4 +36,9 @@ public class NewsServiceImpl implements NewsService { public Result getNoticeDetail(String noticeId) { return newsFeignClient.getNoticeDetail(noticeId); } + + @Override + public Result updateReadingAmount(EpdcNoticeBrowseFormDTO formDto) { + return newsFeignClient.browseNotice(formDto); + } } diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcNoticeBrowseFormDTO.java b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcNoticeBrowseFormDTO.java new file mode 100644 index 000000000..ac2e2597c --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcNoticeBrowseFormDTO.java @@ -0,0 +1,25 @@ +package com.elink.esua.epdc.dto.epdc.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 移动端通知列表,查询条件 + * + * @author yujintao + * @email yujintao@elink-cn.com + * @date 2019/9/5 19:40 + */ +@Data +public class EpdcNoticeBrowseFormDTO implements Serializable { + + private static final long serialVersionUID = 8429642784846512912L; + + /** + * ID + */ + @NotBlank(message = "通知ID不能为空") + private String noticeId; +} diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppNoticeController.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppNoticeController.java index 249f60e98..cd54640c2 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppNoticeController.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppNoticeController.java @@ -20,6 +20,7 @@ package com.elink.esua.epdc.controller; import com.elink.esua.epdc.commons.tools.constant.Constant; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeBrowseFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeDetailResultDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO; @@ -69,4 +70,18 @@ public class EpdcAppNoticeController { public Result getDetail(@PathVariable String noticeId) { return this.noticeService.getNoticeDetailById(noticeId); } + + /** + * 用户浏览量增加 + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author yujintao + * @date 2019/9/6 15:54 + */ + @PostMapping("browse") + public Result browseNotice(@RequestBody EpdcNoticeBrowseFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return this.noticeService.updateReadingAmount(formDto); + } } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NoticeDao.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NoticeDao.java index 236332ad7..7632b8b16 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NoticeDao.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NoticeDao.java @@ -55,4 +55,14 @@ public interface NoticeDao extends BaseDao { * @date 2019/9/6 14:46 */ EpdcNoticeDetailResultDTO selectOneAppNotice(@Param("noticeId") String noticeId); + + /** + * 修改通知阅读数 + * + * @param noticeId + * @return int + * @author yujintao + * @date 2019/9/6 15:59 + */ + int updateReadingAmount(@Param("noticeId") String noticeId); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeService.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeService.java index 39783c3df..fe4885b65 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeService.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeService.java @@ -21,6 +21,7 @@ import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.NoticeDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeBrowseFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeDetailResultDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO; @@ -126,4 +127,14 @@ public interface NoticeService extends BaseService { * @date 2019/9/6 14:45 */ Result getNoticeDetailById(String noticeId); + + /** + * 用户浏览量增加 + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author yujintao + * @date 2019/9/6 15:55 + */ + Result updateReadingAmount(EpdcNoticeBrowseFormDTO formDto); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java index 26c8f2f49..583fdd939 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java @@ -32,6 +32,7 @@ import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dao.NoticeDao; import com.elink.esua.epdc.dto.NoticeDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeBrowseFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeDetailResultDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO; @@ -159,6 +160,7 @@ public class NoticeServiceImpl extends BaseServiceImpl } if (isSave) { + entity.setReadingAmount(NumConstant.ZERO); insert(entity); } else { updateById(entity); @@ -201,4 +203,10 @@ public class NoticeServiceImpl extends BaseServiceImpl EpdcNoticeDetailResultDTO dto = this.baseDao.selectOneAppNotice(noticeId); return new Result().ok(dto); } + + @Override + public Result updateReadingAmount(EpdcNoticeBrowseFormDTO formDto) { + this.baseDao.updateReadingAmount(formDto.getNoticeId()); + return new Result(); + } } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml index 2c505b935..53409630c 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml @@ -2,6 +2,9 @@ + + UPDATE epdc_notice SET READING_AMOUNT = READING_AMOUNT + 1 WHERE id = #{noticeId} +