@@ -0,0 +1,26 @@ | |||||
package com.hz.pm.api.external.model.enumeration; | |||||
import lombok.AllArgsConstructor; | |||||
import lombok.Getter; | |||||
/** | |||||
* <p> | |||||
* MhUnitStripEnum | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 10:26 2024/1/25 | |||||
*/ | |||||
@Getter | |||||
@AllArgsConstructor | |||||
public enum MhUnitStripEnum { | |||||
GOV_COMPANY("国企"), | |||||
PARTY_GOV("党政"), | |||||
INDUSTRY("行业"); | |||||
private final String name; | |||||
} |
@@ -87,4 +87,14 @@ public enum MhUnitTypeEnum { | |||||
return !isGovCompany() && !isIndustry(); | return !isGovCompany() && !isIndustry(); | ||||
} | } | ||||
public MhUnitStripEnum getStrip() { | |||||
if (isIndustry()) { | |||||
return MhUnitStripEnum.INDUSTRY; | |||||
} else if (isGovCompany()) { | |||||
return MhUnitStripEnum.GOV_COMPANY; | |||||
} else { | |||||
return MhUnitStripEnum.PARTY_GOV; | |||||
} | |||||
} | |||||
} | } |
@@ -7,6 +7,7 @@ import com.github.benmanes.caffeine.cache.CacheLoader; | |||||
import com.github.benmanes.caffeine.cache.Caffeine; | import com.github.benmanes.caffeine.cache.Caffeine; | ||||
import com.github.benmanes.caffeine.cache.LoadingCache; | import com.github.benmanes.caffeine.cache.LoadingCache; | ||||
import com.google.common.collect.Lists; | import com.google.common.collect.Lists; | ||||
import com.hz.pm.api.external.model.enumeration.MhUnitTypeEnum; | |||||
import com.hz.pm.api.user.helper.MhUnitCache; | import com.hz.pm.api.user.helper.MhUnitCache; | ||||
import com.hz.pm.api.user.model.dto.UnitDTO; | import com.hz.pm.api.user.model.dto.UnitDTO; | ||||
import com.hz.pm.api.user.model.entity.MhUnit; | import com.hz.pm.api.user.model.entity.MhUnit; | ||||
@@ -18,7 +19,10 @@ import org.checkerframework.checker.nullness.qual.NonNull; | |||||
import org.springframework.beans.factory.InitializingBean; | import org.springframework.beans.factory.InitializingBean; | ||||
import org.springframework.stereotype.Component; | import org.springframework.stereotype.Component; | ||||
import java.util.*; | |||||
import java.util.ArrayList; | |||||
import java.util.Collections; | |||||
import java.util.List; | |||||
import java.util.Map; | |||||
import java.util.concurrent.ConcurrentHashMap; | import java.util.concurrent.ConcurrentHashMap; | ||||
import java.util.concurrent.TimeUnit; | import java.util.concurrent.TimeUnit; | ||||
@@ -65,7 +69,9 @@ public class MhUnitCacheImpl implements MhUnitCache, InitializingBean { | |||||
return null; | return null; | ||||
} | } | ||||
putToChildIdMap(unit.getId(), unit.getParentId()); | putToChildIdMap(unit.getId(), unit.getParentId()); | ||||
return BeanUtil.copyProperties(unit, UnitDTO.class); | |||||
UnitDTO unitTmp = BeanUtil.copyProperties(unit, UnitDTO.class); | |||||
unitTmp.setType(MhUnitTypeEnum.getByCode(unit.getType()).orElse(null)); | |||||
return unitTmp; | |||||
} | } | ||||
@Override | @Override | ||||
@@ -83,7 +89,9 @@ public class MhUnitCacheImpl implements MhUnitCache, InitializingBean { | |||||
} | } | ||||
return CollUtils.listToMap(allUnits, MhUnit::getId, w -> { | return CollUtils.listToMap(allUnits, MhUnit::getId, w -> { | ||||
putToChildIdMap(w.getId(), w.getParentId()); | putToChildIdMap(w.getId(), w.getParentId()); | ||||
return BeanUtil.copyProperties(w, UnitDTO.class); | |||||
UnitDTO unit = BeanUtil.copyProperties(w, UnitDTO.class); | |||||
unit.setType(MhUnitTypeEnum.getByCode(w.getType()).orElse(null)); | |||||
return unit; | |||||
}); | }); | ||||
} | } | ||||
}); | }); | ||||
@@ -5,10 +5,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | ||||
import com.hz.pm.api.common.util.StrUtils; | import com.hz.pm.api.common.util.StrUtils; | ||||
import com.hz.pm.api.external.model.enumeration.MhUnitTypeEnum; | |||||
import com.hz.pm.api.user.helper.MhUnitCache; | import com.hz.pm.api.user.helper.MhUnitCache; | ||||
import com.hz.pm.api.user.model.dto.UnitDTO; | |||||
import com.hz.pm.api.user.model.dto.MhUnitTreeDTO; | import com.hz.pm.api.user.model.dto.MhUnitTreeDTO; | ||||
import com.hz.pm.api.user.model.dto.MhUnitUserTreeDTO; | import com.hz.pm.api.user.model.dto.MhUnitUserTreeDTO; | ||||
import com.hz.pm.api.user.model.dto.UnitDTO; | |||||
import com.hz.pm.api.user.model.entity.MhUnit; | import com.hz.pm.api.user.model.entity.MhUnit; | ||||
import com.hz.pm.api.user.model.entity.UserInfo; | import com.hz.pm.api.user.model.entity.UserInfo; | ||||
import com.hz.pm.api.user.model.enumeration.UnitUserNodeType; | import com.hz.pm.api.user.model.enumeration.UnitUserNodeType; | ||||
@@ -26,6 +27,7 @@ import org.springframework.stereotype.Component; | |||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.Collections; | import java.util.Collections; | ||||
import java.util.List; | import java.util.List; | ||||
import java.util.stream.Collectors; | |||||
/** | /** | ||||
* <p> | * <p> | ||||
@@ -45,7 +47,11 @@ public class MhUnitManage { | |||||
public List<MhUnitTreeDTO> getMhUnitTree() { | public List<MhUnitTreeDTO> getMhUnitTree() { | ||||
List<UnitDTO> allUnits = mhUnitCache.all(); | List<UnitDTO> allUnits = mhUnitCache.all(); | ||||
List<MhUnitTreeDTO> nodes = BeanUtil.copyToList(allUnits, MhUnitTreeDTO.class); | |||||
List<MhUnitTreeDTO> nodes = allUnits.stream().map(w -> { | |||||
MhUnitTreeDTO node = BeanUtil.copyProperties(w, MhUnitTreeDTO.class); | |||||
node.setStrip(node.getStrip()); | |||||
return node; | |||||
}).collect(Collectors.toList()); | |||||
return TreeUtil.convertToTree(nodes, 0L); | return TreeUtil.convertToTree(nodes, 0L); | ||||
} | } | ||||
@@ -56,7 +62,16 @@ public class MhUnitManage { | |||||
if (page.getTotal() == 0) { | if (page.getTotal() == 0) { | ||||
return PageVo.empty(); | return PageVo.empty(); | ||||
} | } | ||||
List<MhUnitListVO> records = BeanUtil.copyToList(page.getRecords(), MhUnitListVO.class); | |||||
List<MhUnitListVO> records = page.getRecords().stream().map(w -> { | |||||
MhUnitListVO unit = BeanUtil.copyProperties(w, MhUnitListVO.class, "type"); | |||||
MhUnitTypeEnum.getByCode(w.getType()).ifPresent(type -> { | |||||
unit.setType(type); | |||||
unit.setStrip(type.getStrip()); | |||||
unit.setTypeName(type.getVal()); | |||||
unit.setStripName(type.getStrip().getName()); | |||||
}); | |||||
return unit; | |||||
}).collect(Collectors.toList()); | |||||
return PageVo.of(records, page.getTotal()); | return PageVo.of(records, page.getTotal()); | ||||
} | } | ||||
@@ -1,5 +1,7 @@ | |||||
package com.hz.pm.api.user.model.dto; | package com.hz.pm.api.user.model.dto; | ||||
import com.hz.pm.api.external.model.enumeration.MhUnitStripEnum; | |||||
import com.hz.pm.api.external.model.enumeration.MhUnitTypeEnum; | |||||
import com.ningdatech.basic.model.ITree; | import com.ningdatech.basic.model.ITree; | ||||
import lombok.Data; | import lombok.Data; | ||||
@@ -21,6 +23,10 @@ public class MhUnitTreeDTO implements ITree<Long, MhUnitTreeDTO> { | |||||
private String name; | private String name; | ||||
private MhUnitTypeEnum type; | |||||
private MhUnitStripEnum strip; | |||||
private Long parentId; | private Long parentId; | ||||
private Short sort; | private Short sort; | ||||
@@ -1,5 +1,6 @@ | |||||
package com.hz.pm.api.user.model.dto; | package com.hz.pm.api.user.model.dto; | ||||
import com.hz.pm.api.external.model.enumeration.MhUnitTypeEnum; | |||||
import lombok.Data; | import lombok.Data; | ||||
/** | /** | ||||
@@ -21,4 +22,8 @@ public class UnitDTO { | |||||
private Short sort; | private Short sort; | ||||
private MhUnitTypeEnum type; | |||||
private String unifiedSocialCreditCode; | |||||
} | } |
@@ -1,5 +1,7 @@ | |||||
package com.hz.pm.api.user.model.vo; | package com.hz.pm.api.user.model.vo; | ||||
import com.hz.pm.api.external.model.enumeration.MhUnitStripEnum; | |||||
import com.hz.pm.api.external.model.enumeration.MhUnitTypeEnum; | |||||
import io.swagger.annotations.ApiModelProperty; | import io.swagger.annotations.ApiModelProperty; | ||||
import lombok.Data; | import lombok.Data; | ||||
@@ -26,4 +28,19 @@ public class MhUnitListVO { | |||||
@ApiModelProperty("排序号") | @ApiModelProperty("排序号") | ||||
private Short sort; | private Short sort; | ||||
@ApiModelProperty("条线") | |||||
private MhUnitStripEnum strip; | |||||
@ApiModelProperty("条线名称") | |||||
private String stripName; | |||||
@ApiModelProperty("单位类型") | |||||
private MhUnitTypeEnum type; | |||||
@ApiModelProperty("单位类型名称") | |||||
private String typeName; | |||||
@ApiModelProperty("统一社会信用代码") | |||||
private String unifiedSocialCreditCode; | |||||
} | } |