zxc 3 years ago
parent
commit
f1824bf0ab
  1. 13
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/api/yt/OrgData.java
  2. 41
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/yantai/DataSyncUserAndOrgServiceImpl.java
  3. 2
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/yantai/DataSyncOrgDataDao.java
  4. 3
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/yantai/DataSyncUserDataDao.java
  5. 2
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DataSyncOrgDataService.java
  6. 2
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DataSyncUserDataService.java
  7. 6
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DataSyncOrgDataServiceImpl.java
  8. 5
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DataSyncUserDataServiceImpl.java
  9. 1
      epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.18__yt_alter_sync.sql
  10. 6
      epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/yantai/DataSyncOrgDataDao.xml
  11. 6
      epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/yantai/DataSyncUserDataDao.xml

13
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/api/yt/OrgData.java

@ -74,6 +74,19 @@ public class OrgData implements Serializable {
*/
private String unifiedSocialCreditId;
/**
* 上级ID
*/
private String pid;
/**
* orgId全路径
*/
private String pids;
/**
* 上级组织名
*/
private String parentOrgName;
}

41
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/yantai/DataSyncUserAndOrgServiceImpl.java

@ -63,6 +63,11 @@ public class DataSyncUserAndOrgServiceImpl implements DataSyncUserAndOrgService
@Override
public Boolean yanTaiSyncUser(String organizationId) {
String customerId = YT_CUSTOMER_ID;
// 先删除 旧数据
Integer delSize = NumConstant.ZERO;
do {
delSize = dataSyncUserDataService.deleteByCustomerId(customerId);
}while (delSize == NumConstant.ONE_THOUSAND);
// 缓存初始化staffs
epmetUserOpenFeignClient.allCustomerStaffInCache(customerId);
Integer no = NumConstant.ONE;
@ -106,19 +111,34 @@ public class DataSyncUserAndOrgServiceImpl implements DataSyncUserAndOrgService
@Override
public Boolean yanTaiSyncOrg(String organizationId) {
// 先删除 旧数据
Integer delSize = NumConstant.ZERO;
do {
delSize = dataSyncOrgDataService.deleteByCustomerId(YT_CUSTOMER_ID);
}while (delSize == NumConstant.ONE_THOUSAND);
List<OrgData> needInsert = new ArrayList<>();
// 根组织
OrgData rootOrg = YantaiApi.getOuInfoByOuGuid(organizationId);
if (null == rootOrg){
log.error("未查询到根组织:"+organizationId);
return true;
}
rootOrg.setPid("");
rootOrg.setPids("");
rootOrg.setNameOfOrganization("");
needInsert.add(rootOrg);
List<OrgData> data = YantaiApi.getChildOuInfoByGuid(organizationId);
if (CollectionUtils.isNotEmpty(data)){
List<OrgData> needInsert = new ArrayList<>();
data.forEach(d -> {
d.setPid(organizationId);
d.setPids(organizationId.concat(":").concat(d.getOrganizationId()));
d.setNameOfOrganization(rootOrg.getNameOfOrganization());
needInsert.add(d);
disposeYanTaiSyncOrg(d.getOrganizationId(),needInsert);
disposeYanTaiSyncOrg(d,needInsert);
});
List<DataSyncOrgDataEntity> entities = needInsert.stream().map(m -> {
DataSyncOrgDataEntity entity = ConvertUtils.sourceToTarget(m, DataSyncOrgDataEntity.class);
entity.setCustomerId(YT_CUSTOMER_ID);
entity.setPid("");
entity.setParentOrgName("");
entity.setPids("");
return entity;
}).collect(Collectors.toList());
dataSyncOrgDataService.insertBatch(entities, NumConstant.ONE_HUNDRED);
@ -126,12 +146,15 @@ public class DataSyncUserAndOrgServiceImpl implements DataSyncUserAndOrgService
return false;
}
public void disposeYanTaiSyncOrg(String organizationId, List<OrgData> needInsert){
List<OrgData> data = YantaiApi.getChildOuInfoByGuid(organizationId);
public void disposeYanTaiSyncOrg(OrgData orgData, List<OrgData> needInsert){
List<OrgData> data = YantaiApi.getChildOuInfoByGuid(orgData.getOrganizationId());
if (CollectionUtils.isNotEmpty(data)){
needInsert.addAll(data);
data.forEach(d -> {
disposeYanTaiSyncOrg(d.getOrganizationId(),needInsert);
d.setPid(orgData.getOrganizationId());
d.setPids(orgData.getPids().concat(":").concat(d.getOrganizationId()));
d.setNameOfOrganization(orgData.getNameOfOrganization());
needInsert.add(d);
disposeYanTaiSyncOrg(d,needInsert);
});
}
}

2
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/yantai/DataSyncOrgDataDao.java

@ -24,4 +24,6 @@ public interface DataSyncOrgDataDao extends BaseDao<DataSyncOrgDataEntity> {
List<DataSyncOrgDataDTO> queryList(@Param("pid") String pid);
List<com.epmet.dto.DataSyncOrgDataDTO> getAllList(@Param("customerId") String customerId);
Integer deleteByCustomerId(@Param("customerId")String customerId);
}

3
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/yantai/DataSyncUserDataDao.java

@ -38,4 +38,7 @@ public interface DataSyncUserDataDao extends BaseDao<DataSyncUserDataEntity> {
@Param("staffId")String staffId,
@Param("name")String name,
@Param("mobile")String mobile);
Integer deleteByCustomerId(@Param("customerId")String customerId);
}

2
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DataSyncOrgDataService.java

@ -75,4 +75,6 @@ public interface DataSyncOrgDataService extends BaseService<DataSyncOrgDataEntit
* @date 2022-10-18
*/
void delete(String[] ids);
Integer deleteByCustomerId(String customerId);
}

2
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DataSyncUserDataService.java

@ -75,4 +75,6 @@ public interface DataSyncUserDataService extends BaseService<DataSyncUserDataEnt
* @date 2022-10-18
*/
void delete(String[] ids);
Integer deleteByCustomerId(String customerId);
}

6
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DataSyncOrgDataServiceImpl.java

@ -80,4 +80,10 @@ public class DataSyncOrgDataServiceImpl extends BaseServiceImpl<DataSyncOrgDataD
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
@Transactional(rollbackFor = Exception.class)
public Integer deleteByCustomerId(String customerId) {
return baseDao.deleteByCustomerId(customerId);
}
}

5
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DataSyncUserDataServiceImpl.java

@ -80,4 +80,9 @@ public class DataSyncUserDataServiceImpl extends BaseServiceImpl<DataSyncUserDat
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public Integer deleteByCustomerId(String customerId) {
return null;
}
}

1
epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.18__yt_alter_sync.sql

@ -0,0 +1 @@
alter table data_sync_org_data modify column PIDS varchar(1024) comment '所有上级组织。不包含本身!如果是根组织,此列为空串'

6
epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/yantai/DataSyncOrgDataDao.xml

@ -29,6 +29,12 @@
<result property="parentOrgName" column="PARENT_ORG_NAME"/>
<result property="pids" column="PIDS"/>
</resultMap>
<delete id="deleteByCustomerId">
delete from data_sync_org_data
where customer_id = #{customerId}
and del_flag = 0
limit 1000
</delete>
<select id="queryList" parameterType="map" resultType="com.epmet.dto.result.yantai.DataSyncOrgDataDTO">
select

6
epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/yantai/DataSyncUserDataDao.xml

@ -26,6 +26,12 @@
<result property="staffId" column="STAFF_ID"/>
<result property="remark" column="REMARK"/>
</resultMap>
<delete id="deleteByCustomerId">
delete from data_sync_user_data
where customer_id = #{customerId}
and del_flag = 0
limit 1000
</delete>
<!-- 运营端,统一认证 列表返参 -->
<select id="pageUser" parameterType="com.epmet.dto.form.yantai.YtUserPageFormDTO" resultType="com.epmet.dto.result.yantai.YtUserPageResDTO">

Loading…
Cancel
Save