mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-13 03:39:55 +08:00
add 新增联联 查询累计数据接口
This commit is contained in:
@@ -4,19 +4,14 @@ import com.alibaba.fastjson2.JSONObject;
|
|||||||
import com.jsowell.common.annotation.Anonymous;
|
import com.jsowell.common.annotation.Anonymous;
|
||||||
import com.jsowell.common.core.controller.BaseController;
|
import com.jsowell.common.core.controller.BaseController;
|
||||||
import com.jsowell.common.response.RestApiResponse;
|
import com.jsowell.common.response.RestApiResponse;
|
||||||
import com.jsowell.common.util.StringUtils;
|
import com.jsowell.pile.dto.QueryStationInfoDTO;
|
||||||
import com.jsowell.thirdparty.dto.QueryStationInfoDTO;
|
|
||||||
import com.jsowell.thirdparty.service.LianLianService;
|
import com.jsowell.thirdparty.service.LianLianService;
|
||||||
import com.jsowell.thirdparty.vo.LianLianPageResponse;
|
import com.jsowell.thirdparty.vo.LianLianPageResponse;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 对接联联平台controller
|
* 对接联联平台controller
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.jsowell.thirdparty.dto;
|
package com.jsowell.pile.dto;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
@@ -5,6 +5,8 @@ import com.jsowell.pile.domain.OrderDetail;
|
|||||||
import com.jsowell.pile.dto.IndexQueryDTO;
|
import com.jsowell.pile.dto.IndexQueryDTO;
|
||||||
import com.jsowell.pile.dto.QueryOrderDTO;
|
import com.jsowell.pile.dto.QueryOrderDTO;
|
||||||
import com.jsowell.pile.dto.QueryPersonPileDTO;
|
import com.jsowell.pile.dto.QueryPersonPileDTO;
|
||||||
|
import com.jsowell.pile.dto.QueryStationInfoDTO;
|
||||||
|
import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO;
|
||||||
import com.jsowell.pile.vo.uniapp.OrderVO;
|
import com.jsowell.pile.vo.uniapp.OrderVO;
|
||||||
import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO;
|
import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO;
|
||||||
import com.jsowell.pile.vo.uniapp.SendMessageVO;
|
import com.jsowell.pile.vo.uniapp.SendMessageVO;
|
||||||
@@ -192,4 +194,11 @@ public interface OrderBasicInfoMapper {
|
|||||||
List<OrderBasicInfo> getAppointmentOrder(LocalDateTime dateTime);
|
List<OrderBasicInfo> getAppointmentOrder(LocalDateTime dateTime);
|
||||||
|
|
||||||
List<OrderVO> getListByOrderCodes(@Param("orderCodes") List<String> orderCodes);
|
List<OrderVO> getListByOrderCodes(@Param("orderCodes") List<String> orderCodes);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 联联平台 获取累计数据用
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<AccumulativeInfoVO> getAccumulativeInfoForLianLian(QueryStationInfoDTO dto);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,10 +4,8 @@ import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
|
|||||||
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
|
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
|
||||||
import com.jsowell.pile.domain.OrderBasicInfo;
|
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||||
import com.jsowell.pile.domain.OrderDetail;
|
import com.jsowell.pile.domain.OrderDetail;
|
||||||
import com.jsowell.pile.dto.GenerateOrderDTO;
|
import com.jsowell.pile.dto.*;
|
||||||
import com.jsowell.pile.dto.IndexQueryDTO;
|
import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO;
|
||||||
import com.jsowell.pile.dto.QueryOrderDTO;
|
|
||||||
import com.jsowell.pile.dto.QueryPersonPileDTO;
|
|
||||||
import com.jsowell.pile.vo.uniapp.OrderVO;
|
import com.jsowell.pile.vo.uniapp.OrderVO;
|
||||||
import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO;
|
import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO;
|
||||||
import com.jsowell.pile.vo.uniapp.SendMessageVO;
|
import com.jsowell.pile.vo.uniapp.SendMessageVO;
|
||||||
@@ -222,4 +220,11 @@ public interface IOrderBasicInfoService {
|
|||||||
List<OrderBasicInfo> getAppointmentOrder(LocalDateTime dateTime);
|
List<OrderBasicInfo> getAppointmentOrder(LocalDateTime dateTime);
|
||||||
|
|
||||||
Map<String, Object> generateOrderByCard(GenerateOrderDTO dto);
|
Map<String, Object> generateOrderByCard(GenerateOrderDTO dto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 联联平台 获取累计数据用
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<AccumulativeInfoVO> getAccumulativeInfoForLianLian(QueryStationInfoDTO dto);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,11 +35,7 @@ import com.jsowell.pile.domain.PileAuthCard;
|
|||||||
import com.jsowell.pile.domain.PileBasicInfo;
|
import com.jsowell.pile.domain.PileBasicInfo;
|
||||||
import com.jsowell.pile.domain.WxpayCallbackRecord;
|
import com.jsowell.pile.domain.WxpayCallbackRecord;
|
||||||
import com.jsowell.pile.domain.WxpayRefundCallback;
|
import com.jsowell.pile.domain.WxpayRefundCallback;
|
||||||
import com.jsowell.pile.dto.GenerateOrderDTO;
|
import com.jsowell.pile.dto.*;
|
||||||
import com.jsowell.pile.dto.IndexQueryDTO;
|
|
||||||
import com.jsowell.pile.dto.QueryOrderDTO;
|
|
||||||
import com.jsowell.pile.dto.QueryPersonPileDTO;
|
|
||||||
import com.jsowell.pile.dto.RefundableWxPayOrderData;
|
|
||||||
import com.jsowell.pile.mapper.OrderBasicInfoMapper;
|
import com.jsowell.pile.mapper.OrderBasicInfoMapper;
|
||||||
import com.jsowell.pile.service.IMemberBasicInfoService;
|
import com.jsowell.pile.service.IMemberBasicInfoService;
|
||||||
import com.jsowell.pile.service.IOrderAbnormalRecordService;
|
import com.jsowell.pile.service.IOrderAbnormalRecordService;
|
||||||
@@ -55,6 +51,7 @@ import com.jsowell.pile.service.WxpayRefundCallbackService;
|
|||||||
import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
|
import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
|
||||||
import com.jsowell.pile.transaction.service.TransactionService;
|
import com.jsowell.pile.transaction.service.TransactionService;
|
||||||
import com.jsowell.pile.vo.base.PileInfoVO;
|
import com.jsowell.pile.vo.base.PileInfoVO;
|
||||||
|
import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO;
|
||||||
import com.jsowell.pile.vo.uniapp.MemberVO;
|
import com.jsowell.pile.vo.uniapp.MemberVO;
|
||||||
import com.jsowell.pile.vo.uniapp.OrderVO;
|
import com.jsowell.pile.vo.uniapp.OrderVO;
|
||||||
import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO;
|
import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO;
|
||||||
@@ -1345,4 +1342,14 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
resultMap.put("accountBalance", totalAccountAmount);
|
resultMap.put("accountBalance", totalAccountAmount);
|
||||||
return resultMap;
|
return resultMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 联联平台 获取累计数据用
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<AccumulativeInfoVO> getAccumulativeInfoForLianLian(QueryStationInfoDTO dto) {
|
||||||
|
return orderBasicInfoMapper.getAccumulativeInfoForLianLian(dto);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
package com.jsowell.pile.vo.lianlian;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对接联联平台 获取累计数据
|
||||||
|
*
|
||||||
|
* @author JS-ZZA
|
||||||
|
* @date 2023/4/17 14:06
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class AccumulativeInfoVO {
|
||||||
|
/**
|
||||||
|
* 枪口编号
|
||||||
|
*/
|
||||||
|
private String pileConnectorCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 桩编码
|
||||||
|
*/
|
||||||
|
private String pileSn;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 站点id
|
||||||
|
*/
|
||||||
|
private String stationId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开始时间
|
||||||
|
*/
|
||||||
|
private String startTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 结束时间
|
||||||
|
*/
|
||||||
|
private String endTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 枪口充电量
|
||||||
|
*/
|
||||||
|
private String connectorElectricity;
|
||||||
|
}
|
||||||
@@ -922,4 +922,21 @@
|
|||||||
#{orderCode,jdbcType=VARCHAR}
|
#{orderCode,jdbcType=VARCHAR}
|
||||||
</foreach>
|
</foreach>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getAccumulativeInfoForLianLian" resultType="com.jsowell.pile.vo.lianlian.AccumulativeInfoVO">
|
||||||
|
SELECT
|
||||||
|
t1.pile_connector_code as pileConnectorCode,
|
||||||
|
t1.pile_sn as pileSn,
|
||||||
|
t1.station_id as stationId,
|
||||||
|
t2.total_used_electricity as connectorElectricity
|
||||||
|
FROM
|
||||||
|
order_basic_info t1
|
||||||
|
JOIN order_detail t2 ON t1.order_code = t2.order_code
|
||||||
|
WHERE
|
||||||
|
t1.del_flag = '0'
|
||||||
|
AND t1.station_id = #{stationID,jdbcType=VARCHAR}
|
||||||
|
AND t1.create_time <![CDATA[ >= ]]> #{startTime,jdbcType=VARCHAR}
|
||||||
|
AND t1.create_time <![CDATA[ <= ]]> #{endTime,jdbcType=VARCHAR}
|
||||||
|
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
package com.jsowell.thirdparty.domain;
|
package com.jsowell.thirdparty.domain;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -12,6 +15,9 @@ import java.util.List;
|
|||||||
* @date 2023/4/15 9:29
|
* @date 2023/4/15 9:29
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
public class StationStatsInfo {
|
public class StationStatsInfo {
|
||||||
/**
|
/**
|
||||||
* 充电站 ID
|
* 充电站 ID
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.jsowell.thirdparty.service;
|
package com.jsowell.thirdparty.service;
|
||||||
|
|
||||||
import com.jsowell.thirdparty.domain.StationInfo;
|
import com.jsowell.thirdparty.domain.StationStatsInfo;
|
||||||
import com.jsowell.thirdparty.dto.QueryStationInfoDTO;
|
import com.jsowell.pile.dto.QueryStationInfoDTO;
|
||||||
import com.jsowell.thirdparty.vo.LianLianPageResponse;
|
import com.jsowell.thirdparty.vo.LianLianPageResponse;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -31,5 +31,5 @@ public interface LianLianService {
|
|||||||
LianLianPageResponse query_station_status(List<String> StationIDs);
|
LianLianPageResponse query_station_status(List<String> StationIDs);
|
||||||
|
|
||||||
|
|
||||||
LianLianPageResponse query_station_stats(QueryStationInfoDTO dto);
|
StationStatsInfo query_station_stats(QueryStationInfoDTO dto);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,9 +14,10 @@ import com.jsowell.pile.domain.PileStationInfo;
|
|||||||
import com.jsowell.pile.service.*;
|
import com.jsowell.pile.service.*;
|
||||||
import com.jsowell.pile.vo.base.ConnectorInfoVO;
|
import com.jsowell.pile.vo.base.ConnectorInfoVO;
|
||||||
import com.jsowell.pile.vo.base.MerchantInfoVO;
|
import com.jsowell.pile.vo.base.MerchantInfoVO;
|
||||||
|
import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO;
|
||||||
import com.jsowell.pile.vo.web.PileModelInfoVO;
|
import com.jsowell.pile.vo.web.PileModelInfoVO;
|
||||||
import com.jsowell.thirdparty.domain.*;
|
import com.jsowell.thirdparty.domain.*;
|
||||||
import com.jsowell.thirdparty.dto.QueryStationInfoDTO;
|
import com.jsowell.pile.dto.QueryStationInfoDTO;
|
||||||
import com.jsowell.thirdparty.service.LianLianService;
|
import com.jsowell.thirdparty.service.LianLianService;
|
||||||
import com.jsowell.thirdparty.vo.LianLianPageResponse;
|
import com.jsowell.thirdparty.vo.LianLianPageResponse;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
@@ -26,7 +27,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@@ -210,9 +211,52 @@ public class LianLianServiceImpl implements LianLianService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public LianLianPageResponse query_station_stats(QueryStationInfoDTO dto) {
|
public StationStatsInfo query_station_stats(QueryStationInfoDTO dto) {
|
||||||
|
List<EquipmentStatsInfo> equipmentStatsInfoList = new ArrayList<>();
|
||||||
|
List<ConnectorStatsInfo> connectorStatsInfos = new ArrayList<>();
|
||||||
|
BigDecimal stationElectricity = new BigDecimal("0");
|
||||||
|
|
||||||
return null;
|
// 根据站点id 查出这段时间的充电量
|
||||||
|
List<AccumulativeInfoVO> accumulativeInfoForLianLian = orderBasicInfoService.getAccumulativeInfoForLianLian(dto);
|
||||||
|
|
||||||
|
// 查出站点下所有枪口的充电量
|
||||||
|
Map<String, String> connectorElectricityMap = accumulativeInfoForLianLian.stream()
|
||||||
|
.collect(Collectors.toMap(AccumulativeInfoVO::getPileConnectorCode, AccumulativeInfoVO::getConnectorElectricity));
|
||||||
|
|
||||||
|
// 查出设备列表下所有设备列表的充电量
|
||||||
|
Map<String, String> pileElectricityMap = accumulativeInfoForLianLian.stream()
|
||||||
|
.collect(Collectors.toMap(AccumulativeInfoVO::getPileSn, AccumulativeInfoVO::getConnectorElectricity));
|
||||||
|
|
||||||
|
// 组装数据并返回
|
||||||
|
// 枪口累计数据
|
||||||
|
for (Map.Entry<String, String> entry : connectorElectricityMap.entrySet()) {
|
||||||
|
ConnectorStatsInfo connectorStatsInfo = ConnectorStatsInfo.builder()
|
||||||
|
.ConnectorID(entry.getKey())
|
||||||
|
.ConnectorElectricity(new BigDecimal(entry.getValue()))
|
||||||
|
.build();
|
||||||
|
connectorStatsInfos.add(connectorStatsInfo);
|
||||||
|
}
|
||||||
|
// 桩累计数据
|
||||||
|
for (Map.Entry<String, String> pileEntry : pileElectricityMap.entrySet()) {
|
||||||
|
BigDecimal pileElectricity = new BigDecimal(pileEntry.getValue());
|
||||||
|
EquipmentStatsInfo equipmentStatsInfo = EquipmentStatsInfo.builder()
|
||||||
|
.EquipmentID(pileEntry.getKey())
|
||||||
|
.EquipmentElectricity(new BigDecimal(pileEntry.getValue()))
|
||||||
|
.ConnectorStatsInfos(connectorStatsInfos)
|
||||||
|
.build();
|
||||||
|
equipmentStatsInfoList.add(equipmentStatsInfo);
|
||||||
|
stationElectricity = stationElectricity.add(pileElectricity);
|
||||||
|
}
|
||||||
|
|
||||||
|
StationStatsInfo stationStatsInfo = StationStatsInfo.builder()
|
||||||
|
.StationID(dto.getStationID())
|
||||||
|
.StartTime(dto.getStartTime())
|
||||||
|
.EndTime(dto.getEndTime())
|
||||||
|
.StationElectricity(stationElectricity)
|
||||||
|
.equipmentStatsInfos(equipmentStatsInfoList) // 设备列表
|
||||||
|
.build();
|
||||||
|
|
||||||
|
return stationStatsInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -65,8 +65,7 @@
|
|||||||
size="mini"
|
size="mini"
|
||||||
@click="clickImport"
|
@click="clickImport"
|
||||||
v-has-permi = "['pile:station:edit']"
|
v-has-permi = "['pile:station:edit']"
|
||||||
>导入</el-button
|
>导入</el-button>
|
||||||
>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<!--<el-col :span="1.5">
|
<!--<el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
|
|||||||
Reference in New Issue
Block a user