Browse Source

1、知识库管理

dev
mh 3 months ago
parent
commit
c95c8ebc21
  1. 25
      2024数据库脚本.sql
  2. 63
      user-service/src/main/java/com/mh/user/controller/KnowledgeDataController.java
  3. 38
      user-service/src/main/java/com/mh/user/entity/KnowledgeDataEntity.java
  4. 57
      user-service/src/main/java/com/mh/user/mapper/KnowledgeDataMapper.java
  5. 23
      user-service/src/main/java/com/mh/user/service/KnowledgeDataService.java
  6. 47
      user-service/src/main/java/com/mh/user/service/impl/KnowledgeDataServiceImpl.java

25
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';
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);

63
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();
}
}

38
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;
}

57
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<KnowledgeDataEntity> findPage();
@Update("<script>" +
" update knowledge_data set " +
" <if test='title!=null'> title = #{title} </if>" +
" <if test='description!=null'> , description = #{description} </if>" +
" <if test='content!=null'> , content = #{content} </if>" +
" <if test='createTime!=null'> , create_time = #{createTime} </if>" +
" <if test='status!=null'> , status = #{status} </if>" +
" <if test='remark!=null'> , remark = #{remark} </if>" +
" where id = #{id} " +
"</script>")
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);
}

23
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);
}

47
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);
}
}
Loading…
Cancel
Save