From 72aebb831db846670a42fbf39e5d89c5a0f7d996 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8E=E7=BB=A7=E5=AD=98?= <449427055@qq.com> Date: Thu, 18 May 2023 12:23:26 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=A1=88=E4=BE=8B=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E6=9C=BA=E6=9E=84=E5=88=87=E6=8D=A2=E5=9F=BA=E7=A1=80=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=AD=97=E5=85=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/dict/entity/DictItem.java | 3 +- .../impl/SysDictionaryServiceImpl.java | 99 ++++++++++++++++++- 2 files changed, 99 insertions(+), 3 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/dict/entity/DictItem.java b/servers/boe-server-all/src/main/java/com/xboe/module/dict/entity/DictItem.java index 6b91a126..d36e4bc4 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/dict/entity/DictItem.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/dict/entity/DictItem.java @@ -38,9 +38,8 @@ public class DictItem implements java.io.Serializable{ private Boolean deleted; /** - * 二级 + * 二级 和三级 * */ @Transient private List list; - } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/dict/service/impl/SysDictionaryServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/dict/service/impl/SysDictionaryServiceImpl.java index 017da29a..8140c4ac 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/dict/service/impl/SysDictionaryServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/dict/service/impl/SysDictionaryServiceImpl.java @@ -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; @@ -36,8 +40,101 @@ public class SysDictionaryServiceImpl implements ISysDictionaryService{ @Cacheable(value = CacheName.DICT,key = "'" + CacheName.KEY_DICT + "'+#key", unless = "#result == null") @Override public List findByKey(String key) { + if ("org_domain".equals(key)) { + return this.findCaseOrgFromDict(); + } return dao.findByKey(key); + } + private List findCaseOrgFromDict() { + List 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 formatDict(JsonNode dictItemsJson) { + List items=new ArrayList<>(); + + Iterator 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 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()); + dict1.getList().add(dict2); + } else { + dict1.getList().add(dict2); + } + continue; + } + + Iterator 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()); + dict2.getList().add(dict3); + } else { + dict2.getList().add(dict3); + } + } + if (dict1.getList() == null || dict1.getList().isEmpty()) { + dict1.setList(new ArrayList()); + dict1.getList().add(dict2); + } else { + dict1.getList().add(dict2); + } + } + items.add(dict1); + } + return items; } @Override From cd1ae32c095d0e9037dcad6841651fe6a3b4ca6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8E=E7=BB=A7=E5=AD=98?= <449427055@qq.com> Date: Thu, 18 May 2023 17:02:33 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E7=BC=93=E5=AD=98=E4=B8=8D=E4=BC=9A?= =?UTF-8?q?=E8=BF=87=E6=9C=9F=E5=85=88=E5=8E=BB=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xboe/module/dict/service/impl/SysDictionaryServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/dict/service/impl/SysDictionaryServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/dict/service/impl/SysDictionaryServiceImpl.java index 8140c4ac..d09ef4fc 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/dict/service/impl/SysDictionaryServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/dict/service/impl/SysDictionaryServiceImpl.java @@ -37,7 +37,7 @@ 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 findByKey(String key) { if ("org_domain".equals(key)) { From 5755d5c3a952fee16150c1fe2700a1f2e3e784f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8E=E7=BB=A7=E5=AD=98?= <449427055@qq.com> Date: Thu, 18 May 2023 17:13:13 +0800 Subject: [PATCH 3/5] =?UTF-8?q?Revert=20"=E7=BC=93=E5=AD=98=E4=B8=8D?= =?UTF-8?q?=E4=BC=9A=E8=BF=87=E6=9C=9F=E5=85=88=E5=8E=BB=E6=8E=89"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit cd1ae32c095d0e9037dcad6841651fe6a3b4ca6c. --- .../xboe/module/dict/service/impl/SysDictionaryServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/dict/service/impl/SysDictionaryServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/dict/service/impl/SysDictionaryServiceImpl.java index d09ef4fc..8140c4ac 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/dict/service/impl/SysDictionaryServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/dict/service/impl/SysDictionaryServiceImpl.java @@ -37,7 +37,7 @@ 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 findByKey(String key) { if ("org_domain".equals(key)) { From 23db91ac86e0be4824a22389160c9236a6976c01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8E=E7=BB=A7=E5=AD=98?= <449427055@qq.com> Date: Thu, 18 May 2023 17:21:35 +0800 Subject: [PATCH 4/5] =?UTF-8?q?Revert=20"Revert=20"=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E4=B8=8D=E4=BC=9A=E8=BF=87=E6=9C=9F=E5=85=88=E5=8E=BB=E6=8E=89?= =?UTF-8?q?""?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 5755d5c3a952fee16150c1fe2700a1f2e3e784f2. --- .../xboe/module/dict/service/impl/SysDictionaryServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/dict/service/impl/SysDictionaryServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/dict/service/impl/SysDictionaryServiceImpl.java index 8140c4ac..d09ef4fc 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/dict/service/impl/SysDictionaryServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/dict/service/impl/SysDictionaryServiceImpl.java @@ -37,7 +37,7 @@ 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 findByKey(String key) { if ("org_domain".equals(key)) { From c241d057a5a2c152b70fcadff8884907a826af6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8E=E7=BB=A7=E5=AD=98?= <449427055@qq.com> Date: Fri, 19 May 2023 14:06:39 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=A1=88=E4=BE=8B=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xboe/module/boecase/api/CasesApi.java | 4 ++-- .../java/com/xboe/module/boecase/entity/Cases.java | 10 +++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java index fccf5e31..53eee909 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java @@ -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()){ diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java index 2b2ed8d7..38302726 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java @@ -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;