Commit ed72b5c4 authored by alex yao's avatar alex yao

feat:Agent应用插件接口

parent c7f012b9
package cn.com.poc.agent_application.convert;
import cn.com.poc.agent_application.dto.AgentApplicationPluginClassificationDto;
import cn.com.poc.agent_application.dto.AgentApplicationPluginDto;
import cn.com.poc.agent_application.model.BizAgentApplicationPluginModel;
import cn.com.poc.agent_application.entity.BizAgentApplicationPluginEntity;
import java.util.*;
import java.util.stream.Collectors;
import static cn.com.poc.common.constant.XLangConstant.*;
......@@ -65,6 +67,7 @@ public class BizAgentApplicationPluginConvert {
public static List<AgentApplicationPluginDto> entitiesToDtos(List<BizAgentApplicationPluginEntity> entities, String lang) {
List<AgentApplicationPluginDto> result = new ArrayList<>();
Map<String, List<AgentApplicationPluginDto.PluginInfo>> pluginInfoMap = new HashMap<>();
Map<String, String> classificationMap = new HashMap<>();
for (BizAgentApplicationPluginEntity entity : entities) {
String title = "";
String desc = "";
......@@ -94,6 +97,7 @@ public class BizAgentApplicationPluginConvert {
pluginInfo.setPluginId(entity.getPluginId());
if (!pluginInfoMap.containsKey(parentClassificationName)) {
pluginInfoMap.put(parentClassificationName, new ArrayList<>());
classificationMap.put(parentClassificationName, entity.getClassification());
}
pluginInfoMap.get(parentClassificationName).add(pluginInfo);
}
......@@ -103,6 +107,7 @@ public class BizAgentApplicationPluginConvert {
AgentApplicationPluginDto agentApplicationPluginDto = new AgentApplicationPluginDto();
agentApplicationPluginDto.setClassificationName(parentClassificationName);
agentApplicationPluginDto.setPluginInfos(pluginInfoMap.get(parentClassificationName));
agentApplicationPluginDto.setClassification(classificationMap.get(parentClassificationName));
result.add(agentApplicationPluginDto);
}
return result;
......@@ -110,6 +115,7 @@ public class BizAgentApplicationPluginConvert {
public static AgentApplicationPluginDto entityToDto(BizAgentApplicationPluginEntity entity, String lang) {
Map<String, List<AgentApplicationPluginDto.PluginInfo>> pluginInfoMap = new HashMap<>();
String title = "";
String desc = "";
String parentClassificationName = "";
......@@ -140,11 +146,40 @@ public class BizAgentApplicationPluginConvert {
pluginInfoMap.put(parentClassificationName, new ArrayList<>());
}
pluginInfoMap.get(parentClassificationName).add(pluginInfo);
AgentApplicationPluginDto agentApplicationPluginDto = new AgentApplicationPluginDto();
agentApplicationPluginDto.setClassificationName(parentClassificationName);
agentApplicationPluginDto.setPluginInfos(pluginInfoMap.get(parentClassificationName));
agentApplicationPluginDto.setClassification(entity.getClassification());
return agentApplicationPluginDto;
}
public static List<AgentApplicationPluginClassificationDto> entitiesToClassificationDtos(List<BizAgentApplicationPluginEntity> entities, String lang) {
List<AgentApplicationPluginClassificationDto> result = new ArrayList<>();
Map<String, String> classificationMap = new HashMap<>();
for (BizAgentApplicationPluginEntity entity : entities) {
String classificationName = "";
String classification = entity.getClassification();
switch (lang) {
case ZH_CN:
classificationName = entity.getParentZhCnName();
break;
case EN:
classificationName = entity.getParentEnName();
break;
case ZH_TW:
classificationName = entity.getParentZhTwName();
break;
}
classificationMap.put(classification, classificationName);
}
Set<String> keySet = classificationMap.keySet();
for (String classification : keySet) {
AgentApplicationPluginClassificationDto classificationDto = new AgentApplicationPluginClassificationDto();
classificationDto.setClassification(classification);
classificationDto.setClassificationName(classificationMap.get(classification));
result.add(classificationDto);
}
return result.stream().distinct().collect(Collectors.toList());
}
}
\ No newline at end of file
package cn.com.poc.agent_application.dto;
/**
* @author alex.yao
* @date 2025/1/14
*/
public class AgentApplicationPluginClassificationDto {
private String classificationName;
private String classification;
public String getClassificationName() {
return classificationName;
}
public void setClassificationName(String classificationName) {
this.classificationName = classificationName;
}
public String getClassification() {
return classification;
}
public void setClassification(String classification) {
this.classification = classification;
}
}
......@@ -10,9 +10,18 @@ public class AgentApplicationPluginDto {
private List<PluginInfo> pluginInfos;
private String classification;
private String classificationName;
public String getClassification() {
return classification;
}
public void setClassification(String classification) {
this.classification = classification;
}
public List<PluginInfo> getPluginInfos() {
return pluginInfos;
}
......
package cn.com.poc.agent_application.rest;
import cn.com.poc.agent_application.dto.AgentApplicationPluginClassificationDto;
import cn.com.poc.agent_application.dto.AgentApplicationPluginDto;
import cn.com.yict.framemax.core.rest.BaseRest;
import cn.com.poc.agent_application.dto.BizAgentApplicationPluginDto;
......@@ -24,21 +25,21 @@ public interface BizAgentApplicationPluginRest extends BaseRest {
* @return
* @throws Exception
*/
AgentApplicationPluginDto getByPluginId(@RequestParam String pluginId) throws Exception;
AgentApplicationPluginDto getByPluginId(@RequestParam String pluginId) ;
/**
* 获取插件列表
*
* @param classificationName
* @param classification
* @param pagingInfo
* @return
* @throws Exception
*/
List<AgentApplicationPluginDto> getList(@RequestParam(required = false) String classificationName, PagingInfo pagingInfo) throws Exception;
List<AgentApplicationPluginDto> getList(@RequestParam(required = false) String classification, PagingInfo pagingInfo) throws Exception;
/**
* 插件分类列表
*/
List<String> classificationList() throws Exception;
List<AgentApplicationPluginClassificationDto> classificationList() ;
}
\ No newline at end of file
package cn.com.poc.agent_application.rest.impl;
import cn.com.poc.agent_application.convert.BizAgentApplicationPluginConvert;
import cn.com.poc.agent_application.dto.AgentApplicationPluginClassificationDto;
import cn.com.poc.agent_application.dto.AgentApplicationPluginDto;
import cn.com.poc.agent_application.entity.BizAgentApplicationPluginEntity;
import cn.com.poc.agent_application.rest.BizAgentApplicationPluginRest;
import cn.com.poc.agent_application.service.BizAgentApplicationPluginService;
import cn.com.poc.common.constant.CommonConstant;
import cn.com.poc.common.utils.BlContext;
import cn.com.yict.framemax.core.context.Context;
import cn.com.yict.framemax.core.i18n.I18nMessageException;
import cn.com.yict.framemax.data.model.PagingInfo;
import cn.hutool.core.util.ObjectUtil;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.stream.Collectors;
......@@ -24,29 +25,27 @@ public class BizAgentApplicationPluginRestImpl implements BizAgentApplicationPlu
private BizAgentApplicationPluginService bizAgentApplicationPluginService;
@Override
public AgentApplicationPluginDto getByPluginId(String pluginId) throws Exception {
Locale currentLocale = Context.get().getMessageSource().getCurrentLocale();
public AgentApplicationPluginDto getByPluginId(String pluginId) {
BizAgentApplicationPluginEntity bizAgentApplicationPluginEntity = new BizAgentApplicationPluginEntity();
bizAgentApplicationPluginEntity.setPluginId(pluginId);
BizAgentApplicationPluginEntity entity = bizAgentApplicationPluginService.getInfoById(pluginId);
if (ObjectUtil.isEmpty(entity)) {
//todo
throw new I18nMessageException("");
}
return BizAgentApplicationPluginConvert.entityToDto(entity, currentLocale.toLanguageTag().toLowerCase());
return BizAgentApplicationPluginConvert.entityToDto(entity, BlContext.getCurrentLocaleLanguageToLowerCase());
}
@Override
public List<AgentApplicationPluginDto> getList(String classificationName, PagingInfo pagingInfo) throws Exception {
Locale currentLocale = Context.get().getMessageSource().getCurrentLocale();
public List<AgentApplicationPluginDto> getList(String classification, PagingInfo pagingInfo) throws Exception {
BizAgentApplicationPluginEntity bizAgentApplicationPluginEntity = new BizAgentApplicationPluginEntity();
bizAgentApplicationPluginEntity.setClassification(classification);
bizAgentApplicationPluginEntity.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizAgentApplicationPluginEntity> entities = bizAgentApplicationPluginService.findByExample(bizAgentApplicationPluginEntity, pagingInfo);
return BizAgentApplicationPluginConvert.entitiesToDtos(entities.stream().filter(entity -> !"system".equals(entity.getClassification())).collect(Collectors.toList()), currentLocale.toLanguageTag().toLowerCase());
return BizAgentApplicationPluginConvert.entitiesToDtos(entities.stream().filter(entity -> !"system".equals(entity.getClassification())).collect(Collectors.toList()), BlContext.getCurrentLocaleLanguageToLowerCase());
}
@Override
public List<String> classificationList() throws Exception {
return null;
public List<AgentApplicationPluginClassificationDto> classificationList() {
BizAgentApplicationPluginEntity bizAgentApplicationPluginEntity = new BizAgentApplicationPluginEntity();
bizAgentApplicationPluginEntity.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizAgentApplicationPluginEntity> entities = bizAgentApplicationPluginService.findByExample(bizAgentApplicationPluginEntity, null);
return BizAgentApplicationPluginConvert.entitiesToClassificationDtos(entities.stream().filter(entity -> !"system".equals(entity.getClassification())).collect(Collectors.toList()), BlContext.getCurrentLocaleLanguageToLowerCase());
}
}
\ No newline at end of file
......@@ -4,14 +4,13 @@ import cn.com.yict.framemax.core.service.BaseService;
import cn.com.poc.agent_application.entity.BizAgentApplicationPluginEntity;
import cn.com.yict.framemax.data.model.PagingInfo;
import java.util.Collection;
import java.util.List;
public interface BizAgentApplicationPluginService extends BaseService {
BizAgentApplicationPluginEntity get(java.lang.Long id) throws Exception;
List<BizAgentApplicationPluginEntity> findByExample(BizAgentApplicationPluginEntity example, PagingInfo pagingInfo) throws Exception;
List<BizAgentApplicationPluginEntity> findByExample(BizAgentApplicationPluginEntity example, PagingInfo pagingInfo);
BizAgentApplicationPluginEntity save(BizAgentApplicationPluginEntity entity) throws Exception;
......
......@@ -8,7 +8,6 @@ import cn.com.poc.agent_application.entity.BizAgentApplicationPluginEntity;
import cn.com.poc.agent_application.convert.BizAgentApplicationPluginConvert;
import cn.com.poc.agent_application.repository.BizAgentApplicationPluginRepository;
import cn.com.yict.framemax.data.model.PagingInfo;
import org.apache.hadoop.fs.shell.Command;
import org.springframework.stereotype.Service;
import org.apache.commons.collections4.CollectionUtils;
......@@ -40,7 +39,7 @@ public class BizAgentApplicationPluginServiceImpl extends BaseServiceImpl
}
public List<BizAgentApplicationPluginEntity> findByExample(BizAgentApplicationPluginEntity example, PagingInfo pagingInfo) throws Exception {
public List<BizAgentApplicationPluginEntity> findByExample(BizAgentApplicationPluginEntity example, PagingInfo pagingInfo) {
List<BizAgentApplicationPluginEntity> result = new ArrayList<BizAgentApplicationPluginEntity>();
BizAgentApplicationPluginModel model = new BizAgentApplicationPluginModel();
if (example != null) {
......
......@@ -11,6 +11,8 @@ import cn.com.yict.framemax.frame.entity.UserSessionEntity;
import cn.com.yict.framemax.security.oauth.exception.TokenExpiredException;
import org.springframework.beans.BeanUtils;
import java.util.Locale;
/**
* @author Focan Zhong
* @create 2021/8/6
......@@ -57,4 +59,11 @@ public class BlContext {
}
return userBaseEntity;
}
/**
* 获取当前系统语言[小写]
*/
public static String getCurrentLocaleLanguageToLowerCase() {
return Context.get().getMessageSource().getCurrentLocale().toLanguageTag().toLowerCase();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment