From c95c8ebc21166a4b723bf200e045228e673626dd Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 27 Jun 2024 16:40:45 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E7=9F=A5=E8=AF=86=E5=BA=93=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 2024数据库脚本.sql | 25 +++++++- .../controller/KnowledgeDataController.java | 63 +++++++++++++++++++ .../mh/user/entity/KnowledgeDataEntity.java | 38 +++++++++++ .../mh/user/mapper/KnowledgeDataMapper.java | 57 +++++++++++++++++ .../mh/user/service/KnowledgeDataService.java | 23 +++++++ .../impl/KnowledgeDataServiceImpl.java | 47 ++++++++++++++ 6 files changed, 252 insertions(+), 1 deletion(-) create mode 100644 user-service/src/main/java/com/mh/user/controller/KnowledgeDataController.java create mode 100644 user-service/src/main/java/com/mh/user/entity/KnowledgeDataEntity.java create mode 100644 user-service/src/main/java/com/mh/user/mapper/KnowledgeDataMapper.java create mode 100644 user-service/src/main/java/com/mh/user/service/KnowledgeDataService.java create mode 100644 user-service/src/main/java/com/mh/user/service/impl/KnowledgeDataServiceImpl.java diff --git a/2024数据库脚本.sql b/2024数据库脚本.sql index 2576a23..084c698 100644 --- a/2024数据库脚本.sql +++ b/2024数据库脚本.sql @@ -165,4 +165,27 @@ EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'楼栋名称', @le -- 2024-06-24 添加楼栋人数 alter table history_data_pre add people_num numeric(24,2) not null default 0; -exec sp_addextendedproperty N'MS_Description', N'每栋楼人数', N'schema', N'dbo',N'table', N'history_data_pre', N'column', N'people_num'; \ No newline at end of file +exec sp_addextendedproperty N'MS_Description', N'每栋楼人数', N'schema', N'dbo',N'table', N'history_data_pre', N'column', N'people_num'; + +-- 2024-06-26 添加知识库 +CREATE TABLE knowledge_data +( + id bigint IDENTITY(1,1) NOT NULL, + title varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + description varchar(200) COLLATE Chinese_PRC_CI_AS NULL, + content varchar(2000) COLLATE Chinese_PRC_CI_AS NULL, + create_time datetime NULL, + status int NULL, + remark varchar(200) COLLATE Chinese_PRC_CI_AS NULL, + CONSTRAINT pk_knowledge_data PRIMARY KEY (id) +); +EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'知识库数据', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'knowledge_data'; +EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'id', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'knowledge_data', @level2type=N'Column', @level2name=N'id'; +EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'标题', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'knowledge_data', @level2type=N'Column', @level2name=N'title'; +EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'描述', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'knowledge_data', @level2type=N'Column', @level2name=N'description'; +EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'内容', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'knowledge_data', @level2type=N'Column', @level2name=N'content'; +EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'knowledge_data', @level2type=N'Column', @level2name=N'create_time'; +EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'状态', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'knowledge_data', @level2type=N'Column', @level2name=N'status'; +EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'备注', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'history_data_pre', @level2type=N'Column', @level2name=N'remark'; + +create index knowledge_data_create_time on history_data_pre (create_time); \ No newline at end of file diff --git a/user-service/src/main/java/com/mh/user/controller/KnowledgeDataController.java b/user-service/src/main/java/com/mh/user/controller/KnowledgeDataController.java new file mode 100644 index 0000000..6d8a52b --- /dev/null +++ b/user-service/src/main/java/com/mh/user/controller/KnowledgeDataController.java @@ -0,0 +1,63 @@ +package com.mh.user.controller; + +import com.mh.common.http.HttpResult; +import com.mh.common.page.PageRequest; +import com.mh.common.page.PageResult; +import com.mh.user.entity.KnowledgeDataEntity; +import com.mh.user.service.KnowledgeDataService; +import io.jsonwebtoken.lang.Assert; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * @author LJF + * @version 1.0 + * @project CHWS + * @description 知识库管理 + * @date 2024-06-26 14:39:24 + */ +@RestController +@RequestMapping("/knowledge") +public class KnowledgeDataController { + + @Resource + private KnowledgeDataService knowledgeDataService; + + @GetMapping("/query") + public HttpResult queryKnowledgeData(@RequestParam("pageNum") int pageNum, @RequestParam("pageSize") int pageSize) { + PageRequest pageRequest = new PageRequest(); + pageRequest.setPageNum(pageNum); + pageRequest.setPageSize(pageSize); + return HttpResult.ok(knowledgeDataService.queryKnowledgeData(pageRequest)); + } + + @GetMapping("/{id}") + public HttpResult detail(@PathVariable(name = "id") Long id) { + KnowledgeDataEntity knowledgeData = knowledgeDataService.getById(id); + Assert.notNull(knowledgeData, "该文章已被删除"); + return HttpResult.ok(knowledgeData); + } + + @PostMapping("/update") + public HttpResult updateData(@Validated @RequestBody KnowledgeDataEntity knowledgeData) { + try { + knowledgeDataService.updateData(knowledgeData); + } catch (Exception e) { + throw new RuntimeException(e); + } + return HttpResult.ok(); + } + + @PostMapping("/insert") + public HttpResult insertKnowledgeData(@Validated @RequestBody KnowledgeDataEntity knowledgeData) { + try { + knowledgeDataService.insertKnowledgeData(knowledgeData); + } catch (Exception e) { + throw new RuntimeException(e); + } + return HttpResult.ok(); + } + +} diff --git a/user-service/src/main/java/com/mh/user/entity/KnowledgeDataEntity.java b/user-service/src/main/java/com/mh/user/entity/KnowledgeDataEntity.java new file mode 100644 index 0000000..1351c41 --- /dev/null +++ b/user-service/src/main/java/com/mh/user/entity/KnowledgeDataEntity.java @@ -0,0 +1,38 @@ +package com.mh.user.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.Date; + +/** + * @author LJF + * @version 1.0 + * @project CHWS + * @description 知识库管理 + * @date 2024-06-26 14:18:28 + */ +@Data +public class KnowledgeDataEntity implements Serializable { + + private Long id; + + @NotBlank(message = "标题不能为空") + private String title; + + @NotBlank(message = "摘要不能为空") + private String description; + + @NotBlank(message = "内容不能为空") + private String content; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + private Integer status; + + private String remark; + +} diff --git a/user-service/src/main/java/com/mh/user/mapper/KnowledgeDataMapper.java b/user-service/src/main/java/com/mh/user/mapper/KnowledgeDataMapper.java new file mode 100644 index 0000000..98103ee --- /dev/null +++ b/user-service/src/main/java/com/mh/user/mapper/KnowledgeDataMapper.java @@ -0,0 +1,57 @@ +package com.mh.user.mapper; + +import com.mh.user.entity.KnowledgeDataEntity; +import org.apache.ibatis.annotations.*; + +import java.util.List; + +/** + * @author LJF + * @version 1.0 + * @project CHWS + * @description 知识库管理 + * @date 2024-06-26 14:21:47 + */ +@Mapper +public interface KnowledgeDataMapper { + + @Insert("insert into knowledge_data(title,description,content,create_time,status,remark) " + + " values(#{title},#{description},#{content},getDate(),#{status},#{remark})") + void insertKnowledgeData(KnowledgeDataEntity knowledgeData); + + @Results({ + @Result(column = "id",property = "id" ), + @Result(column = "title", property = "title"), + @Result(column = "description", property = "description"), + @Result(column = "content", property = "content"), + @Result(column = "create_time", property = "createTime"), + @Result(column = "status", property = "status"), + @Result(column = "remark", property = "remark") + }) + @Select("select id,title,description,content,create_time,status,remark from knowledge_data order by create_time desc") + List findPage(); + + @Update("") + void updateData(KnowledgeDataEntity knowledgeData); + + @Results({ + @Result(column = "id",property = "id" ), + @Result(column = "title", property = "title"), + @Result(column = "description", property = "description"), + @Result(column = "content", property = "content"), + @Result(column = "create_time", property = "createTime"), + @Result(column = "status", property = "status"), + @Result(column = "remark", property = "remark") + }) + @Select("select id,title,description,content,create_time,status,remark from knowledge_data where id = #{id} order by create_time desc") + KnowledgeDataEntity getById(@Param("id") Long id); +} diff --git a/user-service/src/main/java/com/mh/user/service/KnowledgeDataService.java b/user-service/src/main/java/com/mh/user/service/KnowledgeDataService.java new file mode 100644 index 0000000..ff3b125 --- /dev/null +++ b/user-service/src/main/java/com/mh/user/service/KnowledgeDataService.java @@ -0,0 +1,23 @@ +package com.mh.user.service; + +import com.mh.common.page.PageRequest; +import com.mh.common.page.PageResult; +import com.mh.user.entity.KnowledgeDataEntity; + +/** + * @author LJF + * @version 1.0 + * @project CHWS + * @description 知识库服务 + * @date 2024-06-26 14:32:06 + */ +public interface KnowledgeDataService { + + void insertKnowledgeData(KnowledgeDataEntity knowledgeData); + + PageResult queryKnowledgeData(PageRequest pageRequest); + + void updateData(KnowledgeDataEntity knowledgeData); + + KnowledgeDataEntity getById(Long id); +} diff --git a/user-service/src/main/java/com/mh/user/service/impl/KnowledgeDataServiceImpl.java b/user-service/src/main/java/com/mh/user/service/impl/KnowledgeDataServiceImpl.java new file mode 100644 index 0000000..c3c402d --- /dev/null +++ b/user-service/src/main/java/com/mh/user/service/impl/KnowledgeDataServiceImpl.java @@ -0,0 +1,47 @@ +package com.mh.user.service.impl; + +import com.github.pagehelper.PageHelper; +import com.mh.common.page.ColumnFilter; +import com.mh.common.page.MybatisPageHelper; +import com.mh.common.page.PageRequest; +import com.mh.common.page.PageResult; +import com.mh.user.entity.KnowledgeDataEntity; +import com.mh.user.mapper.KnowledgeDataMapper; +import com.mh.user.service.KnowledgeDataService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * @author LJF + * @version 1.0 + * @project CHWS + * @description 知识库服务实现类 + * @date 2024-06-26 14:33:20 + */ +@Service +public class KnowledgeDataServiceImpl implements KnowledgeDataService { + + @Resource + private KnowledgeDataMapper knowledgeDataMapper; + + @Override + public void insertKnowledgeData(KnowledgeDataEntity knowledgeData) { + knowledgeDataMapper.insertKnowledgeData(knowledgeData); + } + + @Override + public PageResult queryKnowledgeData(PageRequest pageRequest) { + return MybatisPageHelper.findPage(pageRequest, knowledgeDataMapper); + } + + @Override + public void updateData(KnowledgeDataEntity knowledgeData) { + knowledgeDataMapper.updateData(knowledgeData); + } + + @Override + public KnowledgeDataEntity getById(Long id) { + return knowledgeDataMapper.getById(id); + } +}