提交 | 用户 | 时间
|
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) { |
|
41 |
List<ElectricityPriceSegmentedDTO> list = getElectricityPriceListByTime(dto); |
|
42 |
if (CollectionUtils.isEmpty(list)){ |
|
43 |
ElectricityPriceSegmentedEntity entity = ConvertUtils.sourceToTarget(dto, ElectricityPriceSegmentedEntity.class); |
|
44 |
entity.setId(UUID.randomUUID().toString()); |
|
45 |
entity.setCreateTime(new Date()); |
|
46 |
baseDao.insert(entity); |
|
47 |
} |
|
48 |
} |
|
49 |
|
|
50 |
@Override |
|
51 |
public void update(ElectricityPriceSegmentedEntity dto) { |
|
52 |
ElectricityPriceSegmentedEntity entity = ConvertUtils.sourceToTarget(dto, ElectricityPriceSegmentedEntity.class); |
|
53 |
entity.setUpdateTime(new Date()); |
|
54 |
baseDao.updateById(entity); |
|
55 |
} |
|
56 |
|
|
57 |
@Override |
|
58 |
public ElectricityPriceSegmentedEntity get(String id) { |
|
59 |
return baseDao.selectById(id); |
|
60 |
} |
|
61 |
|
|
62 |
|
|
63 |
@Override |
|
64 |
public void delete(String id) { |
|
65 |
baseDao.deleteById(id); |
|
66 |
} |
|
67 |
|
|
68 |
@Override |
|
69 |
public List<ElectricityPriceSegmentedDTO> getElectricityPriceList() { |
|
70 |
return ConvertUtils.sourceToTarget(baseDao.selectList(new QueryWrapper<>()), ElectricityPriceSegmentedDTO.class); |
|
71 |
} |
|
72 |
|
|
73 |
@Override |
|
74 |
public List<ElectricityPriceSegmentedDTO> getElectricityPriceListByTime(ElectricityPriceSegmentedDTO dto) { |
|
75 |
String startTime = DateUtils.format(dto.getStartTime(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND); |
|
76 |
String endTime = DateUtils.format(dto.getEndTime(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND); |
|
77 |
Map<String, Object> params = new HashMap<>(); |
|
78 |
params.put("startTime", startTime); |
|
79 |
params.put("endTime", endTime); |
|
80 |
List<ElectricityPriceSegmentedEntity> list = baseDao.selectList(getWrapper(params)); |
|
81 |
return ConvertUtils.sourceToTarget(list, ElectricityPriceSegmentedDTO.class); |
|
82 |
} |
|
83 |
|
|
84 |
private QueryWrapper<ElectricityPriceSegmentedEntity> getWrapper(Map<String, Object> params) { |
|
85 |
String startTime = (String) params.get("startTime"); |
|
86 |
String endTime = (String) params.get("endTime"); |
|
87 |
|
|
88 |
QueryWrapper<ElectricityPriceSegmentedEntity> wrapper = new QueryWrapper<>(); |
|
89 |
wrapper.eq(StringUtils.isNotBlank(startTime), "start_time", startTime) |
|
90 |
.eq(StringUtils.isNotBlank(endTime), "end_time", endTime); |
|
91 |
return wrapper; |
|
92 |
} |
|
93 |
} |