3 Commits

12 changed files with 390 additions and 0 deletions
Split View
  1. +66
    -0
      demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/infra/entity/ChatFileEntity.java
  2. +24
    -0
      demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/infra/mapper/ChatFileMapper.xml
  3. +17
    -0
      demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/infra/repository/ChatFileRepository.java
  4. +11
    -0
      demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/infra/service/ChatFileService.java
  5. +15
    -0
      demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/infra/service/impl/ChatFileServiceImpl.java
  6. +24
    -0
      demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/provider/ChatFileEAIService.java
  7. +35
    -0
      demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/provider/impl/ChatFileEAIServiceImpl.java
  8. +53
    -0
      demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/service/chatFile/ChatFileCreateEAIService.java
  9. +56
    -0
      demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/service/chatFile/ChatFileGetEAIService.java
  10. +47
    -0
      demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/service/chatFile/ChatFileUpdateEAIService.java
  11. +17
    -0
      demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/service/chatFile/ChatFileUtil.java
  12. +25
    -0
      doc/sql/app-20230703-ddl.sql

+ 66
- 0
demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/infra/entity/ChatFileEntity.java View File

@ -0,0 +1,66 @@
package com.digiwin.athena.app.chatFile.infra.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.digiwin.athena.opt.persistence.domain.BaseMgrEntity;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @auther: zhenggl
* @date: 2023/9/7
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@TableName(value = "cim_chat_file", autoResultMap = true)
public class ChatFileEntity extends BaseMgrEntity<ChatFileEntity> {
@SerializedName(value = "question")
private String question;
@SerializedName(value = "feedback_person")
private String feedbackPerson;
@SerializedName(value = "feedback_date")
private Date feedbackDate;
@SerializedName(value = "urgency")
private Integer urgency;
@SerializedName(value = "question_type")
private Integer questionType;
@SerializedName(value = "question_source")
private Integer questionSource;
@SerializedName(value = "question_complete_by")
private String questionCompleteBy;
@SerializedName(value = "complete_date")
private Date completeDate;
@SerializedName(value = "complete_explain")
private String completeExplain;
@SerializedName(value = "is_join")
private Integer isJoin;
@SerializedName(value = "tab_status")
private Integer tabStatus;
}

+ 24
- 0
demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/infra/mapper/ChatFileMapper.xml View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.digiwin.athena.app.chatFile.infra.repository.ChatFileRepository">
<update id="updateBatch" parameterType="com.digiwin.athena.app.chatFile.infra.entity.ChatFileEntity">
UPDATE cim_chat_file
<set>
`question` = #{question},
`question_source` = #{questionSource},
`question_type` = #{questionType},
`urgency` = #{urgency},
`question_complete_by` = #{questionCompleteBy},
`complete_explain` = #{completeExplain},
`complete_date` = #{completeDate},
`is_join` = #{isJoin}
</set>
WHERE `id`=#{id}
</update>
</mapper>

+ 17
- 0
demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/infra/repository/ChatFileRepository.java View File

@ -0,0 +1,17 @@
package com.digiwin.athena.app.chatFile.infra.repository;
import com.digiwin.athena.app.chatFile.infra.entity.ChatFileEntity;
import com.digiwin.athena.opt.persistence.repository.BaseRepository;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @auther: zhenggl
* @date: 2023/9/7
*/
public interface ChatFileRepository extends BaseRepository<ChatFileEntity> {
void updateBatch(ChatFileEntity chatFile);
}

+ 11
- 0
demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/infra/service/ChatFileService.java View File

@ -0,0 +1,11 @@
package com.digiwin.athena.app.chatFile.infra.service;
import com.digiwin.athena.app.chatFile.infra.entity.ChatFileEntity;
import com.digiwin.athena.opt.persistence.service.IBaseService;
/**
* @auther: zhenggl
* @date: 2023/9/7
*/
public interface ChatFileService extends IBaseService<ChatFileEntity> {
}

+ 15
- 0
demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/infra/service/impl/ChatFileServiceImpl.java View File

@ -0,0 +1,15 @@
package com.digiwin.athena.app.chatFile.infra.service.impl;
import com.digiwin.athena.app.chatFile.infra.entity.ChatFileEntity;
import com.digiwin.athena.app.chatFile.infra.repository.ChatFileRepository;
import com.digiwin.athena.app.chatFile.infra.service.ChatFileService;
import com.digiwin.athena.opt.persistence.service.impl.AbsBaseService;
import org.springframework.stereotype.Service;
/**
* @auther: zhenggl
* @date: 2023/9/7
*/
@Service
public class ChatFileServiceImpl extends AbsBaseService<ChatFileRepository, ChatFileEntity> implements ChatFileService {
}

+ 24
- 0
demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/provider/ChatFileEAIService.java View File

@ -0,0 +1,24 @@
package com.digiwin.athena.app.chatFile.provider;
import com.digiwin.app.service.DWEAIResult;
import com.digiwin.app.service.DWService;
import com.digiwin.app.service.eai.EAIService;
import com.digiwin.athena.app.chatFile.service.chatFile.ChatFileUtil;
import java.util.Map;
/**
* @auther: zhenggl
* @date: 2023/9/7
*/
public interface ChatFileEAIService extends DWService {
@EAIService(id = ChatFileUtil.CA_CHAT_FILE_INFO_GET)
DWEAIResult get(Map<String, String> headers, String messageBody) throws Exception;
@EAIService(id = ChatFileUtil.CA_CHAT_FILE_INFO_CREATE)
DWEAIResult create(Map<String, String> headers, String messageBody) throws Exception;
@EAIService(id = ChatFileUtil.CA_CHAT_FILE_INFO_UPDATE)
DWEAIResult update(Map<String, String> headers, String messageBody) throws Exception;
}

+ 35
- 0
demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/provider/impl/ChatFileEAIServiceImpl.java View File

@ -0,0 +1,35 @@
package com.digiwin.athena.app.chatFile.provider.impl;
import com.digiwin.app.service.DWEAIResult;
import com.digiwin.athena.app.chatFile.provider.ChatFileEAIService;
import com.digiwin.athena.app.chatFile.service.chatFile.ChatFileUtil;
import com.digiwin.athena.opt.common.eai.service.EAIServiceContext;
import javax.annotation.Resource;
import java.util.Map;
/**
* @auther: zhenggl
* @date: 2023/9/7
*/
public class ChatFileEAIServiceImpl implements ChatFileEAIService {
@Resource
private EAIServiceContext eaiServiceContext;
@Override
public DWEAIResult get(Map<String, String> headers, String messageBody) throws Exception {
return eaiServiceContext.execute(ChatFileUtil.CA_CHAT_FILE_INFO_GET,headers,messageBody);
}
@Override
public DWEAIResult create(Map<String, String> headers, String messageBody) throws Exception {
return eaiServiceContext.execute(ChatFileUtil.CA_CHAT_FILE_INFO_CREATE,headers,messageBody);
}
@Override
public DWEAIResult update(Map<String, String> headers, String messageBody) throws Exception {
return eaiServiceContext.execute(ChatFileUtil.CA_CHAT_FILE_INFO_UPDATE,headers,messageBody);
}
}

+ 53
- 0
demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/service/chatFile/ChatFileCreateEAIService.java View File

@ -0,0 +1,53 @@
package com.digiwin.athena.app.chatFile.service.chatFile;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.alibaba.nacos.common.utils.StringUtils;
import com.digiwin.app.container.exceptions.DWBusinessException;
import com.digiwin.app.service.DWEAIResult;
import com.digiwin.athena.app.chatFile.infra.entity.ChatFileEntity;
import com.digiwin.athena.app.chatFile.infra.service.ChatFileService;
import com.digiwin.athena.opt.common.eai.EAIRequest;
import com.digiwin.athena.opt.common.eai.service.AbsEAIService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
* @auther: zhenggl
* @date: 2023/9/7
*/
@Service
@Log4j2
public class ChatFileCreateEAIService extends AbsEAIService {
@Resource
private ChatFileService chatFileService;
@Override
public String getServiceName() {
return ChatFileUtil.CA_CHAT_FILE_INFO_CREATE;
}
@Override
public DWEAIResult execute(Map<String, String> headers, String messageBody) throws Exception {
EAIRequest eaiRequest = EAIRequest.build(messageBody);
ChatFileEntity chatFileInfo = eaiRequest.getObject("chat_file_info", new TypeReference<ChatFileEntity>(){});
if (Objects.isNull(chatFileInfo)){
throw new DWBusinessException("缺少必要参数chat_file_info");
}
//反馈时间
chatFileInfo.setFeedbackDate(new Date());
chatFileService.save(chatFileInfo);
return buildOK("chat_file_info",chatFileInfo);
}
}

+ 56
- 0
demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/service/chatFile/ChatFileGetEAIService.java View File

@ -0,0 +1,56 @@
package com.digiwin.athena.app.chatFile.service.chatFile;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.digiwin.app.container.exceptions.DWBusinessException;
import com.digiwin.app.service.DWEAIResult;
import com.digiwin.athena.app.chatFile.infra.entity.ChatFileEntity;
import com.digiwin.athena.app.chatFile.infra.service.ChatFileService;
import com.digiwin.athena.opt.common.eai.EAIRequest;
import com.digiwin.athena.opt.common.eai.service.AbsEAIService;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @auther: zhenggl
* @date: 2023/9/7
*/
@Service
@Log4j2
public class ChatFileGetEAIService extends AbsEAIService {
@Resource
private ChatFileService chatFileService;
@Override
public String getServiceName() {
return ChatFileUtil.CA_CHAT_FILE_INFO_GET;
}
@Override
public DWEAIResult execute(Map<String, String> headers, String messageBody) throws Exception {
EAIRequest eaiRequest = EAIRequest.build(messageBody);
ChatFileEntity chatFileInfo = eaiRequest.getObject("chat_file_info", new TypeReference<ChatFileEntity>(){});
if (Objects.isNull(chatFileInfo)){
throw new DWBusinessException("缺少必要参数chat_file_info");
}
LambdaQueryWrapper<ChatFileEntity> lmq = new LambdaQueryWrapper<>();
lmq.eq(ChatFileEntity::getId,chatFileInfo.getId());
List<ChatFileEntity> list = chatFileService.list(lmq);
return buildOK("chat_file_info",list);
}
}

+ 47
- 0
demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/service/chatFile/ChatFileUpdateEAIService.java View File

@ -0,0 +1,47 @@
package com.digiwin.athena.app.chatFile.service.chatFile;
import com.alibaba.fastjson.TypeReference;
import com.digiwin.app.service.DWEAIResult;
import com.digiwin.athena.app.chatFile.infra.entity.ChatFileEntity;
import com.digiwin.athena.app.chatFile.infra.repository.ChatFileRepository;
import com.digiwin.athena.opt.common.eai.EAIRequest;
import com.digiwin.athena.opt.common.eai.service.AbsEAIService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @auther: zhenggl
* @date: 2023/9/7
*/
@Service
@Log4j2
public class ChatFileUpdateEAIService extends AbsEAIService {
@Resource
private ChatFileRepository chatFileRepository;
@Override
public String getServiceName() {
return ChatFileUtil.CA_CHAT_FILE_INFO_UPDATE;
}
@Override
public DWEAIResult execute(Map<String, String> headers, String messageBody) throws Exception {
EAIRequest eaiRequest = EAIRequest.build(messageBody);
ChatFileEntity chatFileInfo = eaiRequest.getObject("chat_file_info", new TypeReference<ChatFileEntity>(){});
chatFileInfo.setCompleteDate(new Date());
chatFileRepository.updateBatch(chatFileInfo);
return buildOK(new HashMap<>());
}
}

+ 17
- 0
demo-athenaopt_backend/develop/src/main/java/com/digiwin/athena/app/chatFile/service/chatFile/ChatFileUtil.java View File

@ -0,0 +1,17 @@
package com.digiwin.athena.app.chatFile.service.chatFile;
/**
* @auther: zhenggl
* @date: 2023/9/7
*/
public class ChatFileUtil {
/***
* 工博会chat_file
*/
public static final String CA_CHAT_FILE_INFO_CREATE = "demo.kcfr.chat.file.info.create";
public static final String CA_CHAT_FILE_INFO_UPDATE = "demo.kcfr.chat.file.info.update";
public static final String CA_CHAT_FILE_INFO_GET = "demo.kcfr.chat.file.info.get";
}

+ 25
- 0
doc/sql/app-20230703-ddl.sql View File

@ -1 +1,26 @@
alter table cps_question_info Add column measures_from varchar(520) null default '' AFTER `knowledge_accumulation`, Add column accumulation_from varchar(520) null default '' AFTER `knowledge_accumulation`;
CREATE TABLE `cim_chat_file` (
`id` bigint(20) NOT NULL COMMENT 'id',
`question` varchar(255) DEFAULT '' COMMENT '问题描述',
`feedback_person` varchar(255) DEFAULT '' COMMENT '反馈人',
`feedback_date` datetime DEFAULT NULL COMMENT '反馈时间',
`urgency` int(1) DEFAULT NULL COMMENT '紧急程度1:低,2中,3高',
`question_source` int(1) DEFAULT NULL COMMENT '问题来源',
`question_type` int(1) DEFAULT NULL COMMENT '问题分类',
`question_complete_by` varchar(255) DEFAULT '' COMMENT '问题处理人',
`complete_date` datetime DEFAULT NULL COMMENT '处理时间',
`complete_explain` varchar(255) DEFAULT '' COMMENT '处理说明',
`is_join` int(1) DEFAULT NULL COMMENT '是否加入知识库0否,1是',
`tab_status` int(1) DEFAULT NULL COMMENT '状态',
`tenantsid` bigint(20) DEFAULT NULL COMMENT '租户sid',
`tenant_id` varchar(20) DEFAULT NULL COMMENT '租户id',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建者',
`create_date` datetime DEFAULT NULL COMMENT '创建时间',
`modified_by` varchar(50) DEFAULT NULL COMMENT '修改者',
`modified_date` datetime DEFAULT NULL COMMENT '修改时间',
`version` int(11) DEFAULT '0' COMMENT '版本',
`deleted` tinyint(255) DEFAULT '0' COMMENT '逻辑删除标志,默认0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Loading…
Cancel
Save