Jay
2025-01-23 e63c532ea03fd05855a21744a559b25b0363453d
提交 | 用户 | 时间
af72d8 1 package com.iailab.module.model.mpk.service.impl;
J 2
3 import com.alibaba.nacos.common.utils.CollectionUtils;
4 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5 import com.baomidou.mybatisplus.core.metadata.IPage;
6 import com.iailab.framework.common.page.PageData;
7 import com.iailab.framework.common.service.impl.BaseServiceImpl;
8 import com.iailab.framework.common.util.date.DateUtils;
9 import com.iailab.framework.common.util.object.ConvertUtils;
10 import com.iailab.module.model.api.mcs.dto.ElectricityPriceSegmentedDTO;
11 import com.iailab.module.model.mpk.dao.ElectricityPriceSegmentedDao;
12 import com.iailab.module.model.mpk.entity.ElectricityPriceSegmentedEntity;
13 import com.iailab.module.model.mpk.service.ElectricityPriceSegmentedService;
14 import lombok.extern.slf4j.Slf4j;
15 import org.apache.commons.lang3.StringUtils;
16 import org.springframework.stereotype.Service;
17
18 import java.util.*;
19
20 /**
21  * @description:
22  * @author: dzd 
23  * @date: 2024/11/5 11:21
24  **/
25 @Slf4j
26 @Service
27 public class ElectricityPriceSegmentedServiceImpl extends BaseServiceImpl<ElectricityPriceSegmentedDao, ElectricityPriceSegmentedEntity> implements ElectricityPriceSegmentedService {
28
29     @Override
30     public PageData<ElectricityPriceSegmentedDTO> page(Map<String, Object> params) {
31         IPage<ElectricityPriceSegmentedEntity> page = baseDao.selectPage(
32                 getPage(params, "create_time", false),
33                 getWrapper(params)
34         );
35
36         return getPageData(page, ElectricityPriceSegmentedDTO.class);
37     }
38
39     @Override
40     public void create(ElectricityPriceSegmentedDTO dto) {
e63c53 41         ElectricityPriceSegmentedEntity entity = ConvertUtils.sourceToTarget(dto, ElectricityPriceSegmentedEntity.class);
J 42         entity.setId(UUID.randomUUID().toString());
43         entity.setCreateTime(new Date());
44         baseDao.insert(entity);
af72d8 45     }
J 46
47     @Override
48     public void update(ElectricityPriceSegmentedEntity dto) {
49         ElectricityPriceSegmentedEntity entity = ConvertUtils.sourceToTarget(dto, ElectricityPriceSegmentedEntity.class);
50         entity.setUpdateTime(new Date());
51         baseDao.updateById(entity);
52     }
53
54     @Override
55     public ElectricityPriceSegmentedEntity get(String id) {
56         return baseDao.selectById(id);
57     }
58
59
60     @Override
61     public void delete(String id) {
62         baseDao.deleteById(id);
63     }
64
65     @Override
e63c53 66     public void deleteByITimeId(String iTimeId) {
af9c8a 67         QueryWrapper<ElectricityPriceSegmentedEntity> wrapper = new QueryWrapper<>();
e63c53 68         wrapper.eq(StringUtils.isNotBlank(iTimeId), "i_time_id", iTimeId);
J 69         baseDao.delete(wrapper);
70     }
71
72     @Override
73     public List<ElectricityPriceSegmentedDTO> getElectricityPriceList(String year) {
74         List<ElectricityPriceSegmentedDTO> result = new ArrayList<>();
75         QueryWrapper<ElectricityPriceSegmentedEntity> wrapper = new QueryWrapper<>();
76         wrapper.eq(StringUtils.isNotBlank(year), "year", year)
77                 .orderByDesc( "create_time");
78         List<ElectricityPriceSegmentedEntity> list = baseDao.selectList(wrapper);
79         if(CollectionUtils.isNotEmpty(list)){
80             String itimeId = list.get(0).getITimeId();
81             QueryWrapper<ElectricityPriceSegmentedEntity> wrapper1 = new QueryWrapper<>();
82             wrapper.eq(StringUtils.isNotBlank(itimeId), "i_time_id", itimeId)
83                     .orderByDesc( "create_time");
84             result = ConvertUtils.sourceToTarget(baseDao.selectList(wrapper1), ElectricityPriceSegmentedDTO.class);
85         }
86         return result;
af72d8 87     }
J 88
89     @Override
90     public List<ElectricityPriceSegmentedDTO> getElectricityPriceListByTime(ElectricityPriceSegmentedDTO dto) {
91         String startTime = DateUtils.format(dto.getStartTime(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);
92         String endTime = DateUtils.format(dto.getEndTime(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);
93         Map<String, Object> params = new HashMap<>();
94         params.put("startTime", startTime);
95         params.put("endTime", endTime);
96         List<ElectricityPriceSegmentedEntity> list = baseDao.selectList(getWrapper(params));
97         return ConvertUtils.sourceToTarget(list, ElectricityPriceSegmentedDTO.class);
98     }
99
100     private QueryWrapper<ElectricityPriceSegmentedEntity> getWrapper(Map<String, Object> params) {
101         String startTime = (String) params.get("startTime");
102         String endTime = (String) params.get("endTime");
103
104         QueryWrapper<ElectricityPriceSegmentedEntity> wrapper = new QueryWrapper<>();
105         wrapper.eq(StringUtils.isNotBlank(startTime), "start_time", startTime)
106                 .eq(StringUtils.isNotBlank(endTime), "end_time", endTime);
107         return wrapper;
108     }
109 }