feat: 增加从账单获取电价接口

This commit is contained in:
liyalong 2025-04-08 10:45:49 +08:00
parent beba4dae71
commit d2e5bfafea
4 changed files with 34 additions and 2 deletions

View File

@ -86,6 +86,16 @@ public class BasicController {
return response;
}
@PostMapping("/getElePriceFromBill")
@ResponseBody
public Object getElePriceFromBill(@RequestBody ElePriceInfoModel model) {
Object response = new Object();
log.info("获取电费电价信息入参model{}", JSON.toJSONString(model));
response = basicService.getElePriceFromBill(model);
log.info("获取电费电价返回:{}", JSON.toJSONString(response));
return response;
}
// http://127.0.0.1:8080/user
@RequestMapping("/user")
@ResponseBody

View File

@ -15,4 +15,5 @@ public class ElePriceInfoModel {
private String elecType;
private String startTime;
private String endTime;
private String elecNumber;
}

View File

@ -3,8 +3,6 @@ package com.example.demo.service;
import com.example.demo.model.ElePriceInfoModel;
import com.example.demo.model.ElecBindInfoModel;
import com.example.demo.model.Response;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.Map;
@ -18,4 +16,6 @@ public interface BasicService {
Object getBindingInfo(ElecBindInfoModel model);
Object getElePriceInfo(ElePriceInfoModel model);
Object getElePriceFromBill(ElePriceInfoModel param);
}

View File

@ -1,5 +1,6 @@
package com.example.demo.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.demo.constant.EleConstant;
import com.example.demo.constant.StaConstant;
@ -16,6 +17,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Slf4j
@Service
@ -128,6 +130,25 @@ public class BasicServiceImpl implements BasicService {
return result;
}
@Override
public Object getElePriceFromBill(ElePriceInfoModel param) {
// 处理时间
String startTime = param.getStartTime().replace("-","");
String endTime = param.getEndTime().replace("-","");
List<ElectricityBill> electricityBills = electricityBillMapper.selectList(
new LambdaQueryWrapper<ElectricityBill>()
.eq(ElectricityBill::getElectricityUserNumber, param.getElecNumber())
.between(ElectricityBill::getStatementDate, startTime, endTime));
List<Map<String, Object>> list = electricityBills.stream().map(e -> {
Map<String, Object> priceMap = new HashMap<>();
priceMap.put("price", e.getImplementElectricityPrices());
String date = e.getStatementDate().replaceAll("(\\d{4})(\\d{2})", "$1-$2");
priceMap.put("date", date);
return priceMap;
}).collect(Collectors.toList());
return list;
}
private void analysisKeyWord(String keyWord,TypeAndQuery typeAndQuery){
int querySymbol = 0;
String type = EleConstant.LINE_TYPE_BG;