mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-11 20:06:51 +08:00
Merge branch 'fix_case_0511' into 'master'
Fix case 0511 See merge request !9
This commit is contained in:
@@ -332,7 +332,7 @@ public class CasesApi extends ApiBaseController {
|
||||
if(StringUtil.isBlank(cases.getTitle())){
|
||||
return badRequest("标题不能为空");
|
||||
}
|
||||
if(StringUtil.isBlank(cases.getOrgDomainParent())){
|
||||
if(StringUtil.isBlank(cases.getOrgDomainParent()) && StringUtil.isBlank(cases.getOrgDomainParent2()) && StringUtil.isBlank(cases.getOrgDomainParent3())){
|
||||
return badRequest("请选择组织领域");
|
||||
}
|
||||
if(cases.getMajorIds().isEmpty()){
|
||||
@@ -364,7 +364,7 @@ public class CasesApi extends ApiBaseController {
|
||||
if(StringUtil.isBlank(cases.getTitle())){
|
||||
return badRequest("标题不能为空");
|
||||
}
|
||||
if(StringUtil.isBlank(cases.getOrgDomainParent())){
|
||||
if(StringUtil.isBlank(cases.getOrgDomainParent()) && StringUtil.isBlank(cases.getOrgDomainParent2()) && StringUtil.isBlank(cases.getOrgDomainParent3())){
|
||||
return badRequest("请选择组织领域");
|
||||
}
|
||||
if(cases.getMajorIds().isEmpty()){
|
||||
|
||||
@@ -105,10 +105,18 @@ public class Cases extends BaseEntity {
|
||||
@Column(name = "org_domain")
|
||||
private String orgDomain;
|
||||
|
||||
/**组织领域一级 对应原数据 二级对应的关系上级的名称*/
|
||||
/**组织领域一级 对应字典code*/
|
||||
@Column(name = "org_domain_parent")
|
||||
private String orgDomainParent;
|
||||
|
||||
/**组织领域二级 对应字典code*/
|
||||
@Column(name = "org_domain_parent2")
|
||||
private String orgDomainParent2;
|
||||
|
||||
/**组织领域三级级 对应字典code*/
|
||||
@Column(name = "org_domain_parent3")
|
||||
private String orgDomainParent3;
|
||||
|
||||
/**专业分类,原数据 案例专业序列caseSpecialtySequence*/
|
||||
@Column(name = "major_type")
|
||||
private String majorType;
|
||||
|
||||
@@ -38,9 +38,8 @@ public class DictItem implements java.io.Serializable{
|
||||
private Boolean deleted;
|
||||
|
||||
/**
|
||||
* 二级
|
||||
* 二级 和三级
|
||||
* */
|
||||
@Transient
|
||||
private List<DictItem> list;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
package com.xboe.module.dict.service.impl;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.xboe.common.PageList;
|
||||
import com.xboe.constants.CacheName;
|
||||
import com.xboe.core.SysConstant;
|
||||
import com.xboe.core.orm.FieldFilters;
|
||||
import com.xboe.core.utils.OkHttpUtil;
|
||||
import com.xboe.module.course.entity.Course;
|
||||
import com.xboe.module.dict.dao.SysDictionaryDao;
|
||||
import com.xboe.module.dict.entity.DictItem;
|
||||
@@ -16,7 +20,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.springframework.transaction.annotation.Propagation.REQUIRED;
|
||||
@@ -33,11 +37,104 @@ public class SysDictionaryServiceImpl implements ISysDictionaryService{
|
||||
RedisTemplate redisTemplate;
|
||||
|
||||
//缓存配置
|
||||
@Cacheable(value = CacheName.DICT,key = "'" + CacheName.KEY_DICT + "'+#key", unless = "#result == null")
|
||||
//@Cacheable(value = CacheName.DICT,key = "'" + CacheName.KEY_DICT + "'+#key", unless = "#result == null")
|
||||
@Override
|
||||
public List<DictItem> findByKey(String key) {
|
||||
if ("org_domain".equals(key)) {
|
||||
return this.findCaseOrgFromDict();
|
||||
}
|
||||
return dao.findByKey(key);
|
||||
}
|
||||
|
||||
private List<DictItem> findCaseOrgFromDict() {
|
||||
List<DictItem> items=new ArrayList<>();
|
||||
try {
|
||||
OkHttpUtil http = new OkHttpUtil();
|
||||
//调用基础服务获取字典数据
|
||||
String baseUrl= SysConstant.getConfigValue("xboe.old.base.url");
|
||||
String infrasUrl = baseUrl + "/infrasApi/dict/allList?code=case_org";
|
||||
String infrasRes = http.doGet(infrasUrl);
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
JsonNode infrasNode = mapper.readTree(infrasRes);
|
||||
int infrasResCode = infrasNode.get("code").asInt();
|
||||
if (infrasResCode != 200) {
|
||||
return items;
|
||||
}
|
||||
JsonNode dictItemsJson = infrasNode.get("data");
|
||||
return this.formatDict(dictItemsJson);
|
||||
} catch (Exception e) {
|
||||
return items;
|
||||
}
|
||||
}
|
||||
|
||||
private List<DictItem> formatDict(JsonNode dictItemsJson) {
|
||||
List<DictItem> items=new ArrayList<>();
|
||||
|
||||
Iterator<JsonNode> list=dictItemsJson.iterator();
|
||||
while(list.hasNext()) {
|
||||
JsonNode itemNode1 = list.next();
|
||||
DictItem dict1=new DictItem();
|
||||
dict1.setCode(itemNode1.get("code").asText());
|
||||
dict1.setName(itemNode1.get("name").asText());
|
||||
dict1.setFilter(itemNode1.get("code").asText());
|
||||
dict1.setNorder(itemNode1.get("sort").asInt());
|
||||
dict1.setDeletable(false);
|
||||
dict1.setDeleted(false);
|
||||
|
||||
JsonNode children1 = itemNode1.get("children");
|
||||
if (children1 == null || children1.isEmpty()) {
|
||||
items.add(dict1);
|
||||
continue;
|
||||
}
|
||||
Iterator<JsonNode> childrenList1 = children1.iterator();
|
||||
while (childrenList1.hasNext()) {
|
||||
JsonNode childrenNode1 = childrenList1.next();
|
||||
DictItem dict2=new DictItem();
|
||||
dict2.setCode(childrenNode1.get("code").asText());
|
||||
dict2.setName(childrenNode1.get("name").asText());
|
||||
dict2.setFilter(childrenNode1.get("code").asText());
|
||||
dict2.setNorder(childrenNode1.get("sort").asInt());
|
||||
dict2.setDeletable(false);
|
||||
dict2.setDeleted(false);
|
||||
|
||||
JsonNode children2 = childrenNode1.get("children");
|
||||
if (children2 == null || children2.isEmpty()) {
|
||||
if (dict1.getList() == null || dict1.getList().isEmpty()) {
|
||||
dict1.setList(new ArrayList<DictItem>());
|
||||
dict1.getList().add(dict2);
|
||||
} else {
|
||||
dict1.getList().add(dict2);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
Iterator<JsonNode> childrenList2 = children2.iterator();
|
||||
while (childrenList2.hasNext()) {
|
||||
JsonNode childrenNode2 = childrenList2.next();
|
||||
DictItem dict3=new DictItem();
|
||||
dict3.setCode(childrenNode2.get("code").asText());
|
||||
dict3.setName(childrenNode2.get("name").asText());
|
||||
dict3.setFilter(childrenNode2.get("code").asText());
|
||||
dict3.setNorder(childrenNode2.get("sort").asInt());
|
||||
dict3.setDeletable(false);
|
||||
dict3.setDeleted(false);
|
||||
if (dict2.getList() == null || dict2.getList().isEmpty()) {
|
||||
dict2.setList(new ArrayList<DictItem>());
|
||||
dict2.getList().add(dict3);
|
||||
} else {
|
||||
dict2.getList().add(dict3);
|
||||
}
|
||||
}
|
||||
if (dict1.getList() == null || dict1.getList().isEmpty()) {
|
||||
dict1.setList(new ArrayList<DictItem>());
|
||||
dict1.getList().add(dict2);
|
||||
} else {
|
||||
dict1.getList().add(dict2);
|
||||
}
|
||||
}
|
||||
items.add(dict1);
|
||||
}
|
||||
return items;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user