diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/DataSyncOrgDataDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/DataSyncOrgDataDTO.java new file mode 100644 index 0000000000..fd5f9121c7 --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/DataSyncOrgDataDTO.java @@ -0,0 +1,139 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-10-18 + */ +@Data +public class DataSyncOrgDataDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + private String id; + + /** + * 联系人姓名 + */ + private String contact; + + /** + * 联系电话号码 + */ + private String contacttelephoneNumber; + + /** + * 详细地址 + */ + private String detailAddress; + + /** + * 组织机构第一名称 + */ + private String firstnameofOrganization; + + /** + * 组织机构全称 + */ + private String nameofOrganization; + + /** + * 排序号码 + */ + private String orderNumber; + + /** + * 组织机构简称 + */ + private String organizatioNabbreviation; + + /** + * 组织机构ID + */ + private String organizationId; + + /** + * 组织机构级别 + */ + private String organizationLevel; + + /** + * 组织机构路径 + */ + private String organizationPath; + + /** + * 组织机构类型 + */ + private String organizationType; + + /** + * 注册类型 + */ + private String registrationType; + + /** + * 统一社会信用代码 + */ + private String unifiedsocialcreditId; + + /** + * 删除标识 0.未删除 1.已删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + /** + * 客户id;烟台id + */ + private String customerId; + + /** + * 上级组织机构id:ORGANIZATION_ID; 根级组织赋值0 + */ + private String pid; + + /** + * 上级组织机构名称:ORGANIZATIO_NABBREVIATION + */ + private String parentOrgName; + + /** + * 所有上级组织。不包含本身! + */ + private String pids; + +} \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/DataSyncUserDataDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/DataSyncUserDataDTO.java new file mode 100644 index 0000000000..291d40d7de --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/DataSyncUserDataDTO.java @@ -0,0 +1,124 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-10-18 + */ +@Data +public class DataSyncUserDataDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + private String id; + + /** + * 性别:0未知1男2女 + */ + private String gender; + + /** + * 手机号码 + */ + private String mobileTelephoneNumber; + + /** + * 排序号码 + */ + private String orderNumber; + + /** + * 职务 + */ + private String position; + + /** + * 职级 + */ + private String positionLevel; + + /** + * 电话号码 + */ + private String telephoneNumber; + + /** + * 统一用户编码 + */ + private String userGuid; + + /** + * 用户姓名 + */ + private String userName; + + /** + * 人员路径 + */ + private String userPath; + + /** + * data_sync_org_data.组织机构ID; + */ + private String organizationId; + + /** + * 删除标识 0.未删除 1.已删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + /** + * 客户id + */ + private String customerId; + + /** + * 0未创建、1已创建 + */ + private String status; + + /** + * customer_staff.userId + */ + private String staffId; + + /** + * 备注;目前为空 + */ + private String remark; + +} \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/yantai/DataSyncUserAndOrgServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/yantai/DataSyncUserAndOrgServiceImpl.java index 5866b1efdb..ada434a02e 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/yantai/DataSyncUserAndOrgServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/yantai/DataSyncUserAndOrgServiceImpl.java @@ -6,15 +6,21 @@ import com.epmet.dao.yantai.DataSyncUserDataDao; import com.epmet.dto.form.yantai.YtUserPageFormDTO; import com.epmet.dto.result.yantai.DataSyncOrgDataDTO; import com.epmet.dto.result.yantai.YtUserPageResDTO; +import com.epmet.service.DataSyncOrgDataService; +import com.epmet.service.DataSyncUserDataService; import com.epmet.utils.OrgData; import com.epmet.utils.UserData; import com.epmet.utils.YantaiApi; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * desc:烟台 从认证中心同步组织和用户信息 到本地 @@ -23,11 +29,17 @@ import java.util.List; * @date: 2022/10/17 3:42 下午 * @version: 1.0 */ +@Service +@Slf4j public class DataSyncUserAndOrgServiceImpl implements DataSyncUserAndOrgService { @Autowired private DataSyncUserDataDao dataSyncUserDataDao; @Autowired private DataSyncOrgDataDao dataSyncOrgDataDao; + @Autowired + private DataSyncOrgDataService dataSyncOrgDataService; + @Autowired + private DataSyncUserDataService dataSyncUserDataService; @Override public Boolean yanTaiSyncUser(String organizationId) { @@ -40,11 +52,26 @@ public class DataSyncUserAndOrgServiceImpl implements DataSyncUserAndOrgService public Boolean yanTaiSyncOrg(String organizationId) { List data = YantaiApi.getChildOuInfoByGuid(organizationId); if (CollectionUtils.isNotEmpty(data)){ + List needInsert = new ArrayList<>(); + data.forEach(d -> { + needInsert.add(d); + disposeYanTaiSyncOrg(d.getOrganizationId(),needInsert); + }); } return false; } + public void disposeYanTaiSyncOrg(String organizationId, List needInsert){ + List data = YantaiApi.getChildOuInfoByGuid(organizationId); + if (CollectionUtils.isNotEmpty(data)){ + needInsert.addAll(data); + data.forEach(d -> { + disposeYanTaiSyncOrg(d.getOrganizationId(),needInsert); + }); + } + } + /** * 运营端-统一认证 diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DataSyncOrgDataService.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DataSyncOrgDataService.java new file mode 100644 index 0000000000..3a3d40fe2d --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DataSyncOrgDataService.java @@ -0,0 +1,78 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.DataSyncOrgDataDTO; +import com.epmet.entity.yantai.DataSyncOrgDataEntity; + +import java.util.List; +import java.util.Map; + +/** + * + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-10-18 + */ +public interface DataSyncOrgDataService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-10-18 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-10-18 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return DataSyncOrgDataDTO + * @author generator + * @date 2022-10-18 + */ + DataSyncOrgDataDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-10-18 + */ + void save(DataSyncOrgDataDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-10-18 + */ + void update(DataSyncOrgDataDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-10-18 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DataSyncUserDataService.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DataSyncUserDataService.java new file mode 100644 index 0000000000..0b5e41df00 --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DataSyncUserDataService.java @@ -0,0 +1,78 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.DataSyncUserDataDTO; +import com.epmet.entity.yantai.DataSyncUserDataEntity; + +import java.util.List; +import java.util.Map; + +/** + * + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-10-18 + */ +public interface DataSyncUserDataService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-10-18 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-10-18 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return DataSyncUserDataDTO + * @author generator + * @date 2022-10-18 + */ + DataSyncUserDataDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-10-18 + */ + void save(DataSyncUserDataDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-10-18 + */ + void update(DataSyncUserDataDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-10-18 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DataSyncOrgDataServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DataSyncOrgDataServiceImpl.java new file mode 100644 index 0000000000..2191a77c85 --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DataSyncOrgDataServiceImpl.java @@ -0,0 +1,83 @@ +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.yantai.DataSyncOrgDataDao; +import com.epmet.dto.DataSyncOrgDataDTO; +import com.epmet.entity.yantai.DataSyncOrgDataEntity; +import com.epmet.service.DataSyncOrgDataService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-10-18 + */ +@Service +public class DataSyncOrgDataServiceImpl extends BaseServiceImpl implements DataSyncOrgDataService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, DataSyncOrgDataDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, DataSyncOrgDataDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public DataSyncOrgDataDTO get(String id) { + DataSyncOrgDataEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, DataSyncOrgDataDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(DataSyncOrgDataDTO dto) { + DataSyncOrgDataEntity entity = ConvertUtils.sourceToTarget(dto, DataSyncOrgDataEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(DataSyncOrgDataDTO dto) { + DataSyncOrgDataEntity entity = ConvertUtils.sourceToTarget(dto, DataSyncOrgDataEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DataSyncUserDataServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DataSyncUserDataServiceImpl.java new file mode 100644 index 0000000000..87ffb7a479 --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DataSyncUserDataServiceImpl.java @@ -0,0 +1,83 @@ +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.yantai.DataSyncUserDataDao; +import com.epmet.dto.DataSyncUserDataDTO; +import com.epmet.entity.yantai.DataSyncUserDataEntity; +import com.epmet.service.DataSyncUserDataService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-10-18 + */ +@Service +public class DataSyncUserDataServiceImpl extends BaseServiceImpl implements DataSyncUserDataService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, DataSyncUserDataDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, DataSyncUserDataDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public DataSyncUserDataDTO get(String id) { + DataSyncUserDataEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, DataSyncUserDataDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(DataSyncUserDataDTO dto) { + DataSyncUserDataEntity entity = ConvertUtils.sourceToTarget(dto, DataSyncUserDataEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(DataSyncUserDataDTO dto) { + DataSyncUserDataEntity entity = ConvertUtils.sourceToTarget(dto, DataSyncUserDataEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file