From f70a6e1d6292eb8204590ad50069307a879b2823 Mon Sep 17 00:00:00 2001 From: ajaxfan <909938737@qq.com> Date: Thu, 25 Feb 2021 15:55:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B6=88=E6=81=AF=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +- .../controller/BizMessageQueryController.java | 68 +++++++++++++++++++ .../bizmessage/dao/BizMessageMapper.java | 8 +++ .../extend/bizmessage/entity/BizMessage.java | 21 ++++++ .../service/IBizMessageQueryService.java | 13 ++++ .../service/impl/BizMessageQueryService.java | 44 ++++++++++++ .../vo/DescribeSiteMsgDetailVO.java | 30 ++++++++ .../bizmessage/vo/DescribeSiteMsgVO.java | 23 +++++++ 8 files changed, 208 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/controller/BizMessageQueryController.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/dao/BizMessageMapper.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/entity/BizMessage.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/service/IBizMessageQueryService.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/service/impl/BizMessageQueryService.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/vo/DescribeSiteMsgDetailVO.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/vo/DescribeSiteMsgVO.java diff --git a/README.md b/README.md index 33c31eb..223c0db 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,5 @@ ## 组件模块 - 1. 包名:功能 - 2. 包名:功能 - 3. 包名:功能 + 1. 消息模块 diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/controller/BizMessageQueryController.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/controller/BizMessageQueryController.java new file mode 100644 index 0000000..4ead9fc --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/controller/BizMessageQueryController.java @@ -0,0 +1,68 @@ +package com.chinaunicom.mall.ebtp.extend.bizmessage.controller; + +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.bind.annotation.RestController; + +import com.chinaunicom.mall.ebtp.extend.bizmessage.service.IBizMessageQueryService; +import com.chinaunicom.mall.ebtp.extend.bizmessage.vo.DescribeSiteMsgDetailVO; +import com.chinaunicom.mall.ebtp.extend.bizmessage.vo.DescribeSiteMsgVO; + +/** + * 消息查询服务 + * + * @author ajaxfan + */ +@RestController() +@RequestMapping("/v1/message/") +public class BizMessageQueryController { + + private @Autowired IBizMessageQueryService service; + + /** + * 消息概要清单 + * + * @return + */ + @GetMapping("describeSiteMsg") + @ResponseStatus(code = HttpStatus.OK) + public List describeSiteMsg() { + // Dao -> Vo + return service.listOutline().stream().map(source -> { + DescribeSiteMsgVO vo = new DescribeSiteMsgVO(); + vo.setMsgId(source.getId()); + BeanUtils.copyProperties(source, vo); + + return vo; + }).collect(Collectors.toList()); + } + + /** + * 消息明细 + * + * @param id + * @return + */ + @GetMapping("describeSiteMsgDetail/{id}") + @ResponseStatus(code = HttpStatus.OK) + public DescribeSiteMsgDetailVO describeSiteMsgDetail(@PathVariable("id") String id) { + return Optional.ofNullable(service.getDetailById(id)).map(source -> { + DescribeSiteMsgDetailVO vo = new DescribeSiteMsgDetailVO(); + vo.setMsgId(source.getId()); + BeanUtils.copyProperties(source, vo); + + return vo; + }).orElseGet(DescribeSiteMsgDetailVO::new); + } + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/dao/BizMessageMapper.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/dao/BizMessageMapper.java new file mode 100644 index 0000000..0ce7fdd --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/dao/BizMessageMapper.java @@ -0,0 +1,8 @@ +package com.chinaunicom.mall.ebtp.extend.bizmessage.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessage; + +public interface BizMessageMapper extends BaseMapper { + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/entity/BizMessage.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/entity/BizMessage.java new file mode 100644 index 0000000..3c438ab --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/entity/BizMessage.java @@ -0,0 +1,21 @@ +package com.chinaunicom.mall.ebtp.extend.bizmessage.entity; + +import java.sql.Timestamp; + +import org.springframework.data.annotation.Id; + +import lombok.Data; + +@Data +public class BizMessage { + + @Id + private Integer id; + private String title; + private String category; + private String content; + private String url; + private String params; + private Timestamp createtime; + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/service/IBizMessageQueryService.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/service/IBizMessageQueryService.java new file mode 100644 index 0000000..95a92b6 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/service/IBizMessageQueryService.java @@ -0,0 +1,13 @@ +package com.chinaunicom.mall.ebtp.extend.bizmessage.service; + +import java.util.List; + +import com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessage; + +public interface IBizMessageQueryService { + + List listOutline(); + + BizMessage getDetailById(String id); + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/service/impl/BizMessageQueryService.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/service/impl/BizMessageQueryService.java new file mode 100644 index 0000000..10906a3 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/service/impl/BizMessageQueryService.java @@ -0,0 +1,44 @@ +package com.chinaunicom.mall.ebtp.extend.bizmessage.service.impl; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.chinaunicom.mall.ebtp.extend.bizmessage.dao.BizMessageMapper; +import com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessage; +import com.chinaunicom.mall.ebtp.extend.bizmessage.service.IBizMessageQueryService; + +/** + * 消息查询服务 + * + * @author ajaxfan + */ +@Service +public class BizMessageQueryService implements IBizMessageQueryService { + + private @Autowired BizMessageMapper mapper; + + /** + * 消息概要列表 + * + * @return + */ + @Override + public List listOutline() { + return mapper.selectList(new QueryWrapper().select("id", "title", "category", "createtime")); + } + + /** + * 消息详情 + * + * @param id + * @return + */ + @Override + public BizMessage getDetailById(String id) { + return mapper.selectById(id); + } + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/vo/DescribeSiteMsgDetailVO.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/vo/DescribeSiteMsgDetailVO.java new file mode 100644 index 0000000..814792f --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/vo/DescribeSiteMsgDetailVO.java @@ -0,0 +1,30 @@ +package com.chinaunicom.mall.ebtp.extend.bizmessage.vo; + + +import java.sql.Timestamp; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +import lombok.Data; + +/** + * 消息详情 + * + * @author ajaxfan + */ +@Data +@JsonInclude(value = Include.NON_NULL) +public class DescribeSiteMsgDetailVO { + + private Integer msgId; + private String title; + private String category; + private String content; + private String url; + private String params; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Timestamp createtime; + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/vo/DescribeSiteMsgVO.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/vo/DescribeSiteMsgVO.java new file mode 100644 index 0000000..dee6cf6 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/vo/DescribeSiteMsgVO.java @@ -0,0 +1,23 @@ +package com.chinaunicom.mall.ebtp.extend.bizmessage.vo; + +import java.sql.Timestamp; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; + +/** + * 消息概要 + * + * @author ajaxfan + */ +@Data +public class DescribeSiteMsgVO { + + private Integer msgId; + private String title; + private String category; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Timestamp createtime; + +}