mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-11 11:56:50 +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())){
|
if(StringUtil.isBlank(cases.getTitle())){
|
||||||
return badRequest("标题不能为空");
|
return badRequest("标题不能为空");
|
||||||
}
|
}
|
||||||
if(StringUtil.isBlank(cases.getOrgDomainParent())){
|
if(StringUtil.isBlank(cases.getOrgDomainParent()) && StringUtil.isBlank(cases.getOrgDomainParent2()) && StringUtil.isBlank(cases.getOrgDomainParent3())){
|
||||||
return badRequest("请选择组织领域");
|
return badRequest("请选择组织领域");
|
||||||
}
|
}
|
||||||
if(cases.getMajorIds().isEmpty()){
|
if(cases.getMajorIds().isEmpty()){
|
||||||
@@ -364,7 +364,7 @@ public class CasesApi extends ApiBaseController {
|
|||||||
if(StringUtil.isBlank(cases.getTitle())){
|
if(StringUtil.isBlank(cases.getTitle())){
|
||||||
return badRequest("标题不能为空");
|
return badRequest("标题不能为空");
|
||||||
}
|
}
|
||||||
if(StringUtil.isBlank(cases.getOrgDomainParent())){
|
if(StringUtil.isBlank(cases.getOrgDomainParent()) && StringUtil.isBlank(cases.getOrgDomainParent2()) && StringUtil.isBlank(cases.getOrgDomainParent3())){
|
||||||
return badRequest("请选择组织领域");
|
return badRequest("请选择组织领域");
|
||||||
}
|
}
|
||||||
if(cases.getMajorIds().isEmpty()){
|
if(cases.getMajorIds().isEmpty()){
|
||||||
|
|||||||
@@ -105,10 +105,18 @@ public class Cases extends BaseEntity {
|
|||||||
@Column(name = "org_domain")
|
@Column(name = "org_domain")
|
||||||
private String orgDomain;
|
private String orgDomain;
|
||||||
|
|
||||||
/**组织领域一级 对应原数据 二级对应的关系上级的名称*/
|
/**组织领域一级 对应字典code*/
|
||||||
@Column(name = "org_domain_parent")
|
@Column(name = "org_domain_parent")
|
||||||
private String orgDomainParent;
|
private String orgDomainParent;
|
||||||
|
|
||||||
|
/**组织领域二级 对应字典code*/
|
||||||
|
@Column(name = "org_domain_parent2")
|
||||||
|
private String orgDomainParent2;
|
||||||
|
|
||||||
|
/**组织领域三级级 对应字典code*/
|
||||||
|
@Column(name = "org_domain_parent3")
|
||||||
|
private String orgDomainParent3;
|
||||||
|
|
||||||
/**专业分类,原数据 案例专业序列caseSpecialtySequence*/
|
/**专业分类,原数据 案例专业序列caseSpecialtySequence*/
|
||||||
@Column(name = "major_type")
|
@Column(name = "major_type")
|
||||||
private String majorType;
|
private String majorType;
|
||||||
|
|||||||
@@ -38,9 +38,8 @@ public class DictItem implements java.io.Serializable{
|
|||||||
private Boolean deleted;
|
private Boolean deleted;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 二级
|
* 二级 和三级
|
||||||
* */
|
* */
|
||||||
@Transient
|
@Transient
|
||||||
private List<DictItem> list;
|
private List<DictItem> list;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
package com.xboe.module.dict.service.impl;
|
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.common.PageList;
|
||||||
import com.xboe.constants.CacheName;
|
import com.xboe.constants.CacheName;
|
||||||
|
import com.xboe.core.SysConstant;
|
||||||
import com.xboe.core.orm.FieldFilters;
|
import com.xboe.core.orm.FieldFilters;
|
||||||
|
import com.xboe.core.utils.OkHttpUtil;
|
||||||
import com.xboe.module.course.entity.Course;
|
import com.xboe.module.course.entity.Course;
|
||||||
import com.xboe.module.dict.dao.SysDictionaryDao;
|
import com.xboe.module.dict.dao.SysDictionaryDao;
|
||||||
import com.xboe.module.dict.entity.DictItem;
|
import com.xboe.module.dict.entity.DictItem;
|
||||||
@@ -16,7 +20,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static org.springframework.transaction.annotation.Propagation.REQUIRED;
|
import static org.springframework.transaction.annotation.Propagation.REQUIRED;
|
||||||
@@ -33,11 +37,104 @@ public class SysDictionaryServiceImpl implements ISysDictionaryService{
|
|||||||
RedisTemplate redisTemplate;
|
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
|
@Override
|
||||||
public List<DictItem> findByKey(String key) {
|
public List<DictItem> findByKey(String key) {
|
||||||
|
if ("org_domain".equals(key)) {
|
||||||
|
return this.findCaseOrgFromDict();
|
||||||
|
}
|
||||||
return dao.findByKey(key);
|
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
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user