dengzedong
2025-01-23 bd649581ebfe1bfbcec8e1efc76444e6f699bc43
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ElectricityPriceSegmentedServiceImpl.java
@@ -38,13 +38,10 @@
    @Override
    public void create(ElectricityPriceSegmentedDTO dto) {
        List<ElectricityPriceSegmentedDTO> list =  getElectricityPriceListByTime(dto);
        if (CollectionUtils.isEmpty(list)){
            ElectricityPriceSegmentedEntity entity = ConvertUtils.sourceToTarget(dto, ElectricityPriceSegmentedEntity.class);
            entity.setId(UUID.randomUUID().toString());
            entity.setCreateTime(new Date());
            baseDao.insert(entity);
        }
        ElectricityPriceSegmentedEntity entity = ConvertUtils.sourceToTarget(dto, ElectricityPriceSegmentedEntity.class);
        entity.setId(UUID.randomUUID().toString());
        entity.setCreateTime(new Date());
        baseDao.insert(entity);
    }
    @Override
@@ -66,8 +63,29 @@
    }
    @Override
    public List<ElectricityPriceSegmentedDTO> getElectricityPriceList() {
        return ConvertUtils.sourceToTarget(baseDao.selectList(new QueryWrapper<>()), ElectricityPriceSegmentedDTO.class);
    public void deleteByITimeId(String iTimeId) {
        QueryWrapper<ElectricityPriceSegmentedEntity> wrapper = new QueryWrapper<>();
        wrapper.eq(StringUtils.isNotBlank(iTimeId), "i_time_id", iTimeId);
        baseDao.delete(wrapper);
    }
    @Override
    public List<ElectricityPriceSegmentedDTO> getElectricityPriceList(String year, String time) {
        List<ElectricityPriceSegmentedDTO> result = new ArrayList<>();
        QueryWrapper<ElectricityPriceSegmentedEntity> wrapper = new QueryWrapper<>();
        wrapper.eq(StringUtils.isNotBlank(year), "year", year)
                .orderByDesc( "create_time");
        List<ElectricityPriceSegmentedEntity> list = baseDao.selectList(wrapper);
        if(CollectionUtils.isNotEmpty(list)){
            String itimeId = list.get(0).getITimeId();
            QueryWrapper<ElectricityPriceSegmentedEntity> wrapper1 = new QueryWrapper<>();
            wrapper1.eq(StringUtils.isNotBlank(itimeId), "i_time_id", itimeId)
                    .apply(StringUtils.isNotBlank(time),"TIME(start_time) <= TIME({0})", time)
                    .apply(StringUtils.isNotBlank(time),"TIME(end_time) > TIME({0})", time)
                    .orderByDesc( "create_time");
            result = ConvertUtils.sourceToTarget(baseDao.selectList(wrapper1), ElectricityPriceSegmentedDTO.class);
        }
        return result;
    }
    @Override