Commit 37f113b7 by 陈健智

非人工项目增加新创建流程

parent 87a5e5ff
......@@ -124,6 +124,11 @@ public class Project extends AbstractProject {
private int markModel;
/**
* 数据库来源(仅非人工项目);1:舆情同步新建项目 2:舆情现有项目,默认1
*/
private Integer creationMode;
/**
* 项目主品牌配置信息转换
*
* @return 项目对象
......@@ -155,6 +160,7 @@ public class Project extends AbstractProject {
projectVO.setBlackChannelGroup(this.getBlackChannelGroup());
projectVO.setMergeSensitive(true);
projectVO.setMarkModel(this.getMarkModel());
projectVO.setCreationMode(this.getCreationMode());
return projectVO;
}
......
......@@ -135,7 +135,14 @@ public class ProjectVO {
/**
* 标注模型(默认为0:nlp语料库,1:豆包模型)
*/
private int markModel;
@ApiModelProperty("标注模型(默认为0:nlp语料库,1:豆包模型)")
private Integer markModel;
/**
* 数据库来源(仅非人工项目);1:舆情同步新建项目 2:使用舆情现有项目,默认1
*/
@ApiModelProperty("数据库来源(仅非人工项目);1:舆情同步新建项目 2:使用舆情现有项目,默认1")
private Integer creationMode;
/**
* 项目主品牌配置信息转换
......@@ -146,7 +153,7 @@ public class ProjectVO {
Project project = new Project();
project.setId(this.getId());
project.setProjectName(this.getProjectName());
project.setExtraProjectName(this.getExtraProjectName());
project.setExtraProjectName(Objects.isNull(this.getExtraProjectName()) ? this.getProjectName() : this.getExtraProjectName());
project.setBrandName(this.getBrandName());
project.setBrandLinkedGroup(this.getBrandLinkedGroup());
project.setBrandLinkedGroupId(this.getBrandLinkedGroupId());
......@@ -202,7 +209,7 @@ public class ProjectVO {
Project project = new Project();
project.setId(vo.getId());
project.setProjectName(vo.getProjectName());
project.setExtraProjectName(vo.getExtraProjectName());
project.setExtraProjectName(Objects.isNull(vo.getExtraProjectName()) ? vo.getProjectName() : vo.getExtraProjectName());
project.setBrandName(vo.getBrandName());
project.setBrandLinkedGroup(vo.getBrandLinkedGroup());
project.setBrandLinkedGroupId(vo.getBrandLinkedGroupId());
......@@ -220,6 +227,7 @@ public class ProjectVO {
project.setShow(true);
project.setStart(true);
project.setMarkModel(vo.getMarkModel());
project.setCreationMode(vo.getCreationMode());
project.setCTime(System.currentTimeMillis());
project.setUTime(System.currentTimeMillis());
return project;
......
......@@ -34,6 +34,9 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.context.request.RequestContextHolder;
......@@ -103,6 +106,12 @@ public class ProjectServiceImpl implements ProjectService {
@Value("${brandkbs.image.url}")
private String brandkbsImageUrl;
@Value("${qbjc.monitorProject.create.url}")
private String monitorProjectCreateUrl;
@Value("${qbjc.monitorProject.create.token}")
private String monitorProjectCreateToken;
@Resource(name = "restTemplate")
private RestTemplate restTemplate;
......@@ -551,6 +560,13 @@ public class ProjectServiceImpl implements ProjectService {
//抛出项目名称已存在异常
return ResponseResult.failure(ProjectCodeEnum.PROJECT_EXISTSNAME_ERROR.message());
}
// 舆情系统同步创建项目
if (Objects.nonNull(projectVO.getCreationMode()) && 1 == projectVO.getCreationMode()){
ResponseResult responseResult = createYuqingProject(projectVO);
if (!responseResult.isStatus()){
return responseResult;
}
}
Project project = ProjectVO.createNonManualProject(projectVO);
// 添加时默认关闭商业数据源
project.setExternalDataSource(false);
......@@ -574,6 +590,13 @@ public class ProjectServiceImpl implements ProjectService {
//抛出项目名已存在异常
ExceptionCast.cast(ProjectCodeEnum.PROJECT_EXISTSNAME_ERROR);
}
// 切换创建流程
if (Objects.nonNull(projectVO.getCreationMode()) && 1 == projectVO.getCreationMode() && 2 == existsProject.getCreationMode()){
ResponseResult responseResult = createYuqingProject(projectVO);
if (!responseResult.isStatus()){
return responseResult;
}
}
Project project = ProjectVO.createNonManualProject(projectVO);
project.setCTime(existsProject.getCTime());
project.setShow(existsProject.isShow());
......@@ -584,6 +607,25 @@ public class ProjectServiceImpl implements ProjectService {
return ResponseResult.success();
}
private ResponseResult createYuqingProject(ProjectVO projectVO){
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.add("Monitor-Token", monitorProjectCreateToken);
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", projectVO.getProjectName());
HttpEntity<String> request = new HttpEntity<>(jsonObject.toJSONString(), httpHeaders);
JSONObject body = restTemplate.postForEntity(monitorProjectCreateUrl, request, JSONObject.class).getBody();
if (Objects.isNull(body)){
return ResponseResult.failure("舆情系统创建项目失败");
}
if (!body.getBooleanValue("status")){
return ResponseResult.failure("舆情系统:" + body.getString("message"));
}
projectVO.setBrandLinkedGroup(projectVO.getProjectName());
projectVO.setBrandLinkedGroupId(body.getString("data"));
return ResponseResult.success();
}
@Override
public PageVO<JSONObject> findNonManualProjectList(int page, int size, String sorter, String keyword, Boolean isStart) {
Query query = new Query();
......@@ -618,6 +660,7 @@ public class ProjectServiceImpl implements ProjectService {
result.put("isShow", project.isShow());
result.put("dataBalance", project.getDataBalance());
result.put("externalDataSource", project.getExternalDataSource());
result.put("creationMode", project.getCreationMode());
result.put("markModel", project.getMarkModel());
return result;
}).collect(Collectors.toList());
......
......@@ -78,6 +78,8 @@ qbjc.userCenter.url=https://login.zhiweidata.com/plogin/center
qbjc.userCenter.token=AoJ0ooy3HV1EElWnvQw9YTS9b5Y+fmtkbM6DdpPgDO6D/OhNqH4qrJKarzMr
qbjc.channel.application.url=https://yuqing.zhiweidata.com/qbjcbackPhoenix/interface/middleware/channel-application
qbjc.channel.influence=https://yuqing.zhiweidata.com/qbjcbackPhoenix/interface/middleware/channel-influence?platform={1}&channel={2}
qbjc.monitorProject.create.url=https://yuqing.zhiweidata.com/qbjcbackPhoenix/interface/monitor-project/create
qbjc.monitorProject.create.token=JveuI3RNNn6vUnqUfqbiYbYr
#\u5371\u673A\u5E93\u5916\u90E8\u63A5\u53E3
crisis.search.url=https://crisis.zhiweidata.com/app/brandkbs/crisisSearch?page={1}&size={2}&keyword={3}
crisis.searchTags.url=https://crisis.zhiweidata.com/app/brandkbs/searchCrisisByTags?page={1}&size={2}&brand={3}&category={4}
......
......@@ -36,9 +36,9 @@ mongo.autoConnectRetry=true
mongo.socketKeepAlive=true
mongo.socketTimeout=120000
mongo.slaveOk=true
# 测试
# \u6D4B\u8BD5
primary.uri=mongodb://rsync:rsync1q2w3e4r@115.236.59.88:30001/brandkbs2?authSource=admin
# 线上
# \u7EBF\u4E0A
#primary.uri=mongodb://brandkbs2:3vh65l$i6qQA@202.107.192.94:17152/brandkbs2?authSource=admin
secondary.uri=mongodb://qbjcuser:qbjc1q2w3e4r@202.107.192.94:17152/qbjc?authSource=admin
......@@ -87,6 +87,8 @@ qbjc.userCenter.url=http://login.zhiweidata.top/plogin/center
qbjc.userCenter.token=AoJ0ooy3HV1EElWnvQw9YTS9b5Y+fmtkbM6DdpPgDO6D/OhNqH4qrJKarzMr
qbjc.channel.application.url=http://192.168.0.79:11000/qbjcbackPhoenix/interface/middleware/channel-application
qbjc.channel.influence=https://yuqing.zhiweidata.com/qbjcbackPhoenix/interface/middleware/channel-influence?platform={1}&channel={2}
qbjc.monitorProject.create.url=http://localhost:11000/qbjcbackPhoenix/interface/monitor-project/create
qbjc.monitorProject.create.token=JveuI3RNNn6vUnqUfqbiYbYr
#\u5371\u673A\u5E93\u5916\u90E8\u63A5\u53E3
crisis.search.url=https://crisis.zhiweidata.com/app/brandkbs/crisisSearch?page={1}&size={2}&keyword={3}
crisis.searchTags.url=https://crisis.zhiweidata.com/app/brandkbs/searchCrisisByTags?page={1}&size={2}&brand={3}&category={4}
......
......@@ -78,6 +78,8 @@ qbjc.userCenter.url=https://login.zhiweidata.com/plogin/center
qbjc.userCenter.token=AoJ0ooy3HV1EElWnvQw9YTS9b5Y+fmtkbM6DdpPgDO6D/OhNqH4qrJKarzMr
qbjc.channel.application.url=https://yuqing.zhiweidata.com/qbjcbackPhoenix/interface/middleware/channel-application
qbjc.channel.influence=https://yuqing.zhiweidata.com/qbjcbackPhoenix/interface/middleware/channel-influence?platform={1}&channel={2}
qbjc.monitorProject.create.url=https://yuqing.zhiweidata.com/qbjcbackPhoenix/interface/monitor-project/create
qbjc.monitorProject.create.token=JveuI3RNNn6vUnqUfqbiYbYr
#\u5371\u673A\u5E93\u5916\u90E8\u63A5\u53E3
crisis.search.url=https://crisis.zhiweidata.com/app/brandkbs/crisisSearch?page={1}&size={2}&keyword={3}
crisis.searchTags.url=https://crisis.zhiweidata.com/app/brandkbs/searchCrisisByTags?page={1}&size={2}&brand={3}&category={4}
......
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