release_1.0.0
liu 8 months ago
parent 306023b414
commit ddd363678a

@ -50,16 +50,16 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
@Override
public IPage<KnowledgePageResVO> queryKnowledgePage(Integer status,
String title,
String publishDeptId,
String baseId,
String submittedDeptId,
LocalDateTime publishDateBegin,
LocalDateTime publishDateEnd, Integer pageNum, Integer pageSize) {
String title,
String publishDeptId,
String baseId,
String submittedDeptId,
LocalDateTime publishDateBegin,
LocalDateTime publishDateEnd, Integer pageNum, Integer pageSize) {
String userId = UserUtil.getUser().getId();
IPage<KnowledgePageResVO> knowledgeIPage = knowledgeService.queryKnowledgePage(status, title, publishDeptId, baseId, submittedDeptId, publishDateBegin, publishDateEnd, userId, pageNum, pageSize);
List<KnowledgePageResVO> records = knowledgeIPage.getRecords();
if (CollUtil.isEmpty(records)){
if (CollUtil.isEmpty(records)) {
return knowledgeIPage;
}
// 获取所有部门
@ -84,13 +84,13 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
@Override
@Transactional(rollbackFor = Exception.class)
public void saveKnowledge(SaveKnowledgeReqVO reqVO) {
if (2 == reqVO.getOperate()){
if (2 == reqVO.getOperate()) {
Assert.notBlank(reqVO.getBaseId(), "应用子库不能为空");
KnowledgeInfo knowledgeInfo = reqVO.getKnowledgeInfo();
Assert.notNull(knowledgeInfo,"有效日期不能为空");
Assert.notBlank(reqVO.getPublishDeptId(),"发文部门不能为空");
Assert.notNull(knowledgeInfo.getPublishDate(),"发文时间不能为空");
Assert.notNull(knowledgeInfo.getTimeliness(),"有效日期不能为空");
Assert.notNull(knowledgeInfo, "有效日期不能为空");
Assert.notBlank(reqVO.getPublishDeptId(), "发文部门不能为空");
Assert.notNull(knowledgeInfo.getPublishDate(), "发文时间不能为空");
Assert.notNull(knowledgeInfo.getTimeliness(), "有效日期不能为空");
}
var context = new KnowledgeContext();
context.setContext(reqVO.getContent());
@ -107,12 +107,13 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
knowledge.setInfoId(baseInfo.getId());
knowledge.setBaseId(reqVO.getBaseId());
knowledge.setPublishDeptId(reqVO.getPublishDeptId());
knowledge.setExcerpt(reqVO.getExcerpt());
// 目前只有人工添加
knowledge.setKnowledgeFrom(1);
knowledge.setStatus(reqVO.getOperate() == 1 ? StatusEnum.DRAFT.getStatus() : StatusEnum.WAIT_APPROVAL.getStatus());
knowledge.setSubmittedDeptId(UserUtil.getUser().getDeptId());
if (1 == reqVO.getOperate()) {
knowledge.setDraftBelongUserId( UserUtil.getUser().getId());
knowledge.setDraftBelongUserId(UserUtil.getUser().getId());
}
knowledgeService.save(knowledge);
// 保存知识的基本信息
@ -126,6 +127,7 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
}
for (KnowledgeLinkVO knowLedgeLinkVO : reqVO.getLinkList()) {
KnowledgeLink knowledgeLink = new KnowledgeLink();
knowledgeLink.setKnowledgeId(knowledge.getId());
knowledgeLink.setLinkName(knowLedgeLinkVO.getLinkName());
knowledgeLink.setLinkUrl(knowLedgeLinkVO.getLinkUrl());
knowledgeLinkService.save(knowledgeLink);
@ -145,13 +147,13 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
*/
@Override
public void updateKnowledge(ModifyKnowledgeReqVO reqVO) {
if (2 == reqVO.getOperate()){
if (2 == reqVO.getOperate()) {
Assert.notBlank(reqVO.getBaseId(), "应用子库不能为空");
KnowledgeInfo knowledgeInfo = reqVO.getKnowledgeInfo();
Assert.notNull(knowledgeInfo,"有效日期不能为空");
Assert.notBlank(reqVO.getPublishDeptId(),"发文部门不能为空");
Assert.notNull(knowledgeInfo.getPublishDate(),"发文时间不能为空");
Assert.notNull(knowledgeInfo.getTimeliness(),"有效日期不能为空");
Assert.notNull(knowledgeInfo, "有效日期不能为空");
Assert.notBlank(reqVO.getPublishDeptId(), "发文部门不能为空");
Assert.notNull(knowledgeInfo.getPublishDate(), "发文时间不能为空");
Assert.notNull(knowledgeInfo.getTimeliness(), "有效日期不能为空");
}
Knowledge knowledge = knowledgeService.getOptById(reqVO.getKnowledgeId()).orElseThrow(() -> new BusinessException("未找到知识"));
@ -166,6 +168,7 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
// 然后更新
knowledge.setTitle(reqVO.getTitle());
knowledge.setExcerpt(reqVO.getExcerpt());
knowledge.setBaseId(reqVO.getBaseId());
knowledge.setPublishDeptId(reqVO.getPublishDeptId());
knowledge.setSubmittedDeptId(UserUtil.getUser().getDeptId());
@ -280,6 +283,8 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
public void deleteKnowledge(String knowledgeId, String remark) {
// 删除是逻辑删除,如果当前状态是草稿,且没有走过审批流程,则可以直接删除
Knowledge knowledge = knowledgeService.getOptById(knowledgeId).orElseThrow(() -> new BusinessException("未找到知识"));
// 如果非草稿,则校验是否是通过/驳回/已失效状态,如果是,则需要走审批流程进行删除
Set<Integer> canDeleteStatusSet = Set.of(StatusEnum.PASS.getStatus(), StatusEnum.REJECT.getStatus(), StatusEnum.INVALID.getStatus());
if (Objects.equals(StatusEnum.DRAFT.getStatus(), knowledge.getStatus())) {
// 需要判断之前是否走过审批流程
if (flowRecordService.lambdaQuery().eq(KnowledgeFlowRecord::getKnowledgeId, knowledgeId).count() == 0) {
@ -297,10 +302,7 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
knowledge.setStatus(StatusEnum.DELETE.getStatus());
knowledgeService.updateById(knowledge);
}
}
// 如果非草稿,则校验是否是通过/驳回/已失效状态,如果是,则需要走审批流程进行删除
Set<Integer> canDeleteStatusSet = Set.of(StatusEnum.PASS.getStatus(), StatusEnum.REJECT.getStatus(), StatusEnum.INVALID.getStatus());
if (canDeleteStatusSet.contains(knowledge.getStatus())) {
} else if (canDeleteStatusSet.contains(knowledge.getStatus())) {
// 这时需要走审批流程进行删除
UserInfo user = UserUtil.getUser();
knowledgeFlowService.submitFlowProcess(knowledge, FlowTypeEnum.DELETE, user.getId(), user.getDeptId(), remark);

@ -0,0 +1,32 @@
package com.supervision.knowsub.config;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@Configuration
public class DateFormatConfig {
@Bean
public ObjectMapper objectMapper() {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
JavaTimeModule javaTimeModule = new JavaTimeModule();
javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
objectMapper.registerModule(javaTimeModule);
objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
return objectMapper;
}
}

@ -1,6 +1,12 @@
package com.supervision.knowsub.config;
import cn.hutool.core.util.RandomUtil;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
@ -8,6 +14,8 @@ import org.springdoc.core.customizers.GlobalOpenApiCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.Map;

@ -54,18 +54,5 @@ public class WebConfig implements WebMvcConfigurer {
return paths;
}
@Bean
public ObjectMapper objectMapper() {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
JavaTimeModule javaTimeModule = new JavaTimeModule();
javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
objectMapper.registerModule(javaTimeModule);
objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
return objectMapper;
}
}

@ -50,7 +50,7 @@ public class KnowledgeInfo implements Serializable {
*
*/
@Schema(description = "发布时间")
private Date publishDate;
private LocalDateTime publishDate;
/**
* 1 2
@ -68,13 +68,13 @@ public class KnowledgeInfo implements Serializable {
*
*/
@Schema(description = "执行期限开始")
private Date execTimeBegin;
private LocalDateTime execTimeBegin;
/**
*
*/
@Schema(description = "执行期限结束")
private Date execTimeEnd;
private LocalDateTime execTimeEnd;
/**
* ,,;

Loading…
Cancel
Save