Search in sources :

Example 1 with EcReptileDynamicBeanEntity

use of com.easy.cloud.core.reptile.dynamicbean.pojo.entity.EcReptileDynamicBeanEntity in project dq-easy-cloud by dq-open-cloud.

the class EcReptileDynamicBeanServiceImpl method saveReptileDynamicBean.

@Override
public EcBaseServiceResult saveReptileDynamicBean(EcReptileDynamicBeanDTO dynamicBeanDTO) {
    // 1 创建爬虫动态bean逻辑对象
    EcReptileDynamicBeanBO dynamicBeanBO = new EcReptileDynamicBeanBO(dynamicBeanDTO);
    // 2 初始化
    dynamicBeanBO.initSaveReptileDynamicBeanData();
    // 3 数据校验
    dynamicBeanBO.verifySaveReptileDynamicBeanData();
    // 4 数据转换
    EcReptileDynamicBeanEntity dynamicBeanEntity = EcJSONUtils.parseObject(dynamicBeanBO.getReptileDynamicBeanDTO(), EcReptileDynamicBeanEntity.class);
    // 保存
    reptileDynamicBeanDAO.save(dynamicBeanEntity);
    // 返回结果
    return EcBaseServiceResult.newInstanceOfSucResult(dynamicBeanEntity);
}
Also used : EcReptileDynamicBeanBO(com.easy.cloud.core.reptile.dynamicbean.pojo.bo.EcReptileDynamicBeanBO) EcReptileDynamicBeanEntity(com.easy.cloud.core.reptile.dynamicbean.pojo.entity.EcReptileDynamicBeanEntity)

Example 2 with EcReptileDynamicBeanEntity

use of com.easy.cloud.core.reptile.dynamicbean.pojo.entity.EcReptileDynamicBeanEntity in project dq-easy-cloud by dq-open-cloud.

the class EcReptileDynamicBeanServiceImpl method buildDynamicBeanDTOs.

/**
 * <p>
 * 根据dynamicBeanEntities列表构建EcReptileDynamicBeanDTO列表
 * </p>
 *
 * <pre>
 *     所需参数示例及其说明
 *     参数名称 : 示例值 : 说明 : 是否必须
 * </pre>
 *
 * @param dynamicBeanEntities
 * @return
 * @author daiqi
 * @创建时间 2018年6月7日 下午8:59:01
 */
private List<EcReptileDynamicBeanDTO> buildDynamicBeanDTOs(List<EcReptileDynamicBeanEntity> dynamicBeanEntities) {
    // 1 entity转换为dto
    List<EcReptileDynamicBeanDTO> dynamicBeanDTOs = EcJSONUtils.parseArray(dynamicBeanEntities, EcReptileDynamicBeanDTO.class);
    // 2 构建dynamicBeanIds
    Set<Integer> dynamicBeanNos = new HashSet<>();
    for (EcReptileDynamicBeanEntity dynamicBean : dynamicBeanEntities) {
        dynamicBeanNos.add(dynamicBean.getDynamicBeanNo());
    }
    // 3 根据dynamicBeanIds获取数据属性数据传输对象列表
    List<EcReptileDataFieldDTO> dataFieldDTOs = reptileDynamicBeanService.findDataFieldsByDynamicBeanNos(dynamicBeanNos);
    EcLogUtils.info("buildDynamicBeanDTOs获取到的属性数据为", dataFieldDTOs, logger);
    EcAssert.verifyListEmpty(dataFieldDTOs, "reptileDataField");
    // 4 将数据属性对象列表放置到对应的dynamicBeanDTO中
    for (EcReptileDynamicBeanDTO dynamicBeanDTO : dynamicBeanDTOs) {
        List<EcReptileDataFieldDTO> dataFieldDTOsTemp = new ArrayList<>();
        for (EcReptileDataFieldDTO dataFieldDTO : dataFieldDTOs) {
            if (EcBaseUtils.equals(dynamicBeanDTO.getDynamicBeanNo(), dataFieldDTO.getDynamicBeanNo())) {
                dataFieldDTOsTemp.add(dataFieldDTO);
            }
        }
        dynamicBeanDTO.setReptileDataFieldDTOs(dataFieldDTOsTemp);
    }
    // 5 返回列表
    return dynamicBeanDTOs;
}
Also used : EcReptileDynamicBeanDTO(com.easy.cloud.core.reptile.dynamicbean.pojo.dto.EcReptileDynamicBeanDTO) EcReptileDynamicBeanEntity(com.easy.cloud.core.reptile.dynamicbean.pojo.entity.EcReptileDynamicBeanEntity) EcReptileDataFieldDTO(com.easy.cloud.core.reptile.datafield.pojo.dto.EcReptileDataFieldDTO)

Example 3 with EcReptileDynamicBeanEntity

use of com.easy.cloud.core.reptile.dynamicbean.pojo.entity.EcReptileDynamicBeanEntity in project dq-easy-cloud by dq-open-cloud.

the class EcReptileDynamicBeanServiceImpl method updateReptileDynamicBean.

@Override
public EcBaseServiceResult updateReptileDynamicBean(EcReptileDynamicBeanDTO dynamicBeanDTO) {
    // 1 创建爬虫动态bean逻辑对象
    EcReptileDynamicBeanBO dynamicBeanBO = new EcReptileDynamicBeanBO(dynamicBeanDTO);
    // 2 初始化
    dynamicBeanBO.initUpdateReptileDynamicBeanData();
    // 3 数据校验
    dynamicBeanBO.verifyUpdateReptileDynamicBeanData();
    EcReptileDynamicBeanEntity reptileDynamicBeanEntity = reptileDynamicBeanDAO.findById(dynamicBeanDTO.getId());
    // 校验
    EcAssert.verifyDataNotExistent(reptileDynamicBeanEntity, "reptileDynamicBeanEntity");
    // 设置
    reptileDynamicBeanEntity.setMatchUrls(dynamicBeanDTO.getMatchUrls());
    // 更新
    reptileDynamicBeanDAO.update(reptileDynamicBeanEntity);
    // 返回结果
    return EcBaseServiceResult.newInstanceOfSucResult(reptileDynamicBeanEntity);
}
Also used : EcReptileDynamicBeanBO(com.easy.cloud.core.reptile.dynamicbean.pojo.bo.EcReptileDynamicBeanBO) EcReptileDynamicBeanEntity(com.easy.cloud.core.reptile.dynamicbean.pojo.entity.EcReptileDynamicBeanEntity)

Aggregations

EcReptileDynamicBeanEntity (com.easy.cloud.core.reptile.dynamicbean.pojo.entity.EcReptileDynamicBeanEntity)3 EcReptileDynamicBeanBO (com.easy.cloud.core.reptile.dynamicbean.pojo.bo.EcReptileDynamicBeanBO)2 EcReptileDataFieldDTO (com.easy.cloud.core.reptile.datafield.pojo.dto.EcReptileDataFieldDTO)1 EcReptileDynamicBeanDTO (com.easy.cloud.core.reptile.dynamicbean.pojo.dto.EcReptileDynamicBeanDTO)1