Browse Source

单位树、列表增加类型、条线等信息

tags/24082201
WendyYang 1 year ago
parent
commit
f12da29718
7 changed files with 93 additions and 6 deletions
  1. +26
    -0
      hz-pm-api/src/main/java/com/hz/pm/api/external/model/enumeration/MhUnitStripEnum.java
  2. +10
    -0
      hz-pm-api/src/main/java/com/hz/pm/api/external/model/enumeration/MhUnitTypeEnum.java
  3. +11
    -3
      hz-pm-api/src/main/java/com/hz/pm/api/user/helper/impl/MhUnitCacheImpl.java
  4. +18
    -3
      hz-pm-api/src/main/java/com/hz/pm/api/user/manage/MhUnitManage.java
  5. +6
    -0
      hz-pm-api/src/main/java/com/hz/pm/api/user/model/dto/MhUnitTreeDTO.java
  6. +5
    -0
      hz-pm-api/src/main/java/com/hz/pm/api/user/model/dto/UnitDTO.java
  7. +17
    -0
      hz-pm-api/src/main/java/com/hz/pm/api/user/model/vo/MhUnitListVO.java

+ 26
- 0
hz-pm-api/src/main/java/com/hz/pm/api/external/model/enumeration/MhUnitStripEnum.java View File

@@ -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;

}

+ 10
- 0
hz-pm-api/src/main/java/com/hz/pm/api/external/model/enumeration/MhUnitTypeEnum.java View File

@@ -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;
}
}

} }

+ 11
- 3
hz-pm-api/src/main/java/com/hz/pm/api/user/helper/impl/MhUnitCacheImpl.java View File

@@ -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;
}); });
} }
}); });


+ 18
- 3
hz-pm-api/src/main/java/com/hz/pm/api/user/manage/MhUnitManage.java View File

@@ -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());
} }




+ 6
- 0
hz-pm-api/src/main/java/com/hz/pm/api/user/model/dto/MhUnitTreeDTO.java View File

@@ -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;


+ 5
- 0
hz-pm-api/src/main/java/com/hz/pm/api/user/model/dto/UnitDTO.java View File

@@ -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;

} }

+ 17
- 0
hz-pm-api/src/main/java/com/hz/pm/api/user/model/vo/MhUnitListVO.java View File

@@ -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;

} }

Loading…
Cancel
Save