Parcourir la source

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

tags/24082201
WendyYang il y a 1 an
Parent
révision
f12da29718
7 fichiers modifiés avec 93 ajouts et 6 suppressions
  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 Voir le fichier

@@ -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 Voir le fichier

@@ -87,4 +87,14 @@ public enum MhUnitTypeEnum {
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 Voir le fichier

@@ -7,6 +7,7 @@ import com.github.benmanes.caffeine.cache.CacheLoader;
import com.github.benmanes.caffeine.cache.Caffeine;
import com.github.benmanes.caffeine.cache.LoadingCache;
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.model.dto.UnitDTO;
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.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.TimeUnit;

@@ -65,7 +69,9 @@ public class MhUnitCacheImpl implements MhUnitCache, InitializingBean {
return null;
}
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
@@ -83,7 +89,9 @@ public class MhUnitCacheImpl implements MhUnitCache, InitializingBean {
}
return CollUtils.listToMap(allUnits, MhUnit::getId, w -> {
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 Voir le fichier

@@ -5,10 +5,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.model.dto.UnitDTO;
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.UnitDTO;
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.enumeration.UnitUserNodeType;
@@ -26,6 +27,7 @@ import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

/**
* <p>
@@ -45,7 +47,11 @@ public class MhUnitManage {

public List<MhUnitTreeDTO> getMhUnitTree() {
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);
}

@@ -56,7 +62,16 @@ public class MhUnitManage {
if (page.getTotal() == 0) {
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());
}



+ 6
- 0
hz-pm-api/src/main/java/com/hz/pm/api/user/model/dto/MhUnitTreeDTO.java Voir le fichier

@@ -1,5 +1,7 @@
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 lombok.Data;

@@ -21,6 +23,10 @@ public class MhUnitTreeDTO implements ITree<Long, MhUnitTreeDTO> {

private String name;

private MhUnitTypeEnum type;

private MhUnitStripEnum strip;

private Long parentId;

private Short sort;


+ 5
- 0
hz-pm-api/src/main/java/com/hz/pm/api/user/model/dto/UnitDTO.java Voir le fichier

@@ -1,5 +1,6 @@
package com.hz.pm.api.user.model.dto;

import com.hz.pm.api.external.model.enumeration.MhUnitTypeEnum;
import lombok.Data;

/**
@@ -21,4 +22,8 @@ public class UnitDTO {

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 Voir le fichier

@@ -1,5 +1,7 @@
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 lombok.Data;

@@ -26,4 +28,19 @@ public class MhUnitListVO {
@ApiModelProperty("排序号")
private Short sort;

@ApiModelProperty("条线")
private MhUnitStripEnum strip;

@ApiModelProperty("条线名称")
private String stripName;

@ApiModelProperty("单位类型")
private MhUnitTypeEnum type;

@ApiModelProperty("单位类型名称")
private String typeName;

@ApiModelProperty("统一社会信用代码")
private String unifiedSocialCreditCode;

}

Chargement…
Annuler
Enregistrer