From d8650d8976d3882efc6daf9407138186db0fe9e7 Mon Sep 17 00:00:00 2001 From: Lemon Date: Mon, 17 Apr 2023 15:48:12 +0800 Subject: [PATCH 01/26] =?UTF-8?q?add=20=20=E6=96=B0=E5=A2=9E=E8=81=94?= =?UTF-8?q?=E8=81=94=20=E6=9F=A5=E8=AF=A2=E7=B4=AF=E8=AE=A1=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/lianlian/LianLianController.java | 7 +-- .../pile}/dto/QueryStationInfoDTO.java | 2 +- .../pile/mapper/OrderBasicInfoMapper.java | 9 ++++ .../pile/service/IOrderBasicInfoService.java | 13 +++-- .../impl/OrderBasicInfoServiceImpl.java | 17 ++++-- .../pile/vo/lianlian/AccumulativeInfoVO.java | 42 +++++++++++++++ .../mapper/pile/OrderBasicInfoMapper.xml | 17 ++++++ .../thirdparty/domain/StationStatsInfo.java | 6 +++ .../thirdparty/service/LianLianService.java | 6 +-- .../service/impl/LianLianServiceImpl.java | 54 +++++++++++++++++-- .../views/pile/station/components/billing.vue | 3 +- 11 files changed, 150 insertions(+), 26 deletions(-) rename {jsowell-thirdparty/src/main/java/com/jsowell/thirdparty => jsowell-pile/src/main/java/com/jsowell/pile}/dto/QueryStationInfoDTO.java (96%) create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/vo/lianlian/AccumulativeInfoVO.java diff --git a/jsowell-admin/src/main/java/com/jsowell/lianlian/LianLianController.java b/jsowell-admin/src/main/java/com/jsowell/lianlian/LianLianController.java index 0d2353940..3b06e6a01 100644 --- a/jsowell-admin/src/main/java/com/jsowell/lianlian/LianLianController.java +++ b/jsowell-admin/src/main/java/com/jsowell/lianlian/LianLianController.java @@ -4,19 +4,14 @@ import com.alibaba.fastjson2.JSONObject; import com.jsowell.common.annotation.Anonymous; import com.jsowell.common.core.controller.BaseController; import com.jsowell.common.response.RestApiResponse; -import com.jsowell.common.util.StringUtils; -import com.jsowell.thirdparty.dto.QueryStationInfoDTO; +import com.jsowell.pile.dto.QueryStationInfoDTO; import com.jsowell.thirdparty.service.LianLianService; import com.jsowell.thirdparty.vo.LianLianPageResponse; import org.apache.commons.collections4.CollectionUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; -import java.util.Collections; -import java.util.List; /** * 对接联联平台controller diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/dto/QueryStationInfoDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryStationInfoDTO.java similarity index 96% rename from jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/dto/QueryStationInfoDTO.java rename to jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryStationInfoDTO.java index 9f9a61834..6b7278e7e 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/dto/QueryStationInfoDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryStationInfoDTO.java @@ -1,4 +1,4 @@ -package com.jsowell.thirdparty.dto; +package com.jsowell.pile.dto; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java index 90addf337..5a6d72335 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java @@ -5,6 +5,8 @@ import com.jsowell.pile.domain.OrderDetail; import com.jsowell.pile.dto.IndexQueryDTO; import com.jsowell.pile.dto.QueryOrderDTO; 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.PersonPileConnectorSumInfoVO; import com.jsowell.pile.vo.uniapp.SendMessageVO; @@ -192,4 +194,11 @@ public interface OrderBasicInfoMapper { List getAppointmentOrder(LocalDateTime dateTime); List getListByOrderCodes(@Param("orderCodes") List orderCodes); + + /** + * 联联平台 获取累计数据用 + * @param dto + * @return + */ + List getAccumulativeInfoForLianLian(QueryStationInfoDTO dto); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java index 6aa159ca1..e1fac3631 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java @@ -4,10 +4,8 @@ import com.jsowell.common.core.domain.ykc.RealTimeMonitorData; import com.jsowell.common.core.domain.ykc.TransactionRecordsData; import com.jsowell.pile.domain.OrderBasicInfo; import com.jsowell.pile.domain.OrderDetail; -import com.jsowell.pile.dto.GenerateOrderDTO; -import com.jsowell.pile.dto.IndexQueryDTO; -import com.jsowell.pile.dto.QueryOrderDTO; -import com.jsowell.pile.dto.QueryPersonPileDTO; +import com.jsowell.pile.dto.*; +import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO; import com.jsowell.pile.vo.uniapp.OrderVO; import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO; import com.jsowell.pile.vo.uniapp.SendMessageVO; @@ -222,4 +220,11 @@ public interface IOrderBasicInfoService { List getAppointmentOrder(LocalDateTime dateTime); Map generateOrderByCard(GenerateOrderDTO dto); + + /** + * 联联平台 获取累计数据用 + * @param dto + * @return + */ + List getAccumulativeInfoForLianLian(QueryStationInfoDTO dto); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index ec48e229a..1998c9195 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -35,11 +35,7 @@ import com.jsowell.pile.domain.PileAuthCard; import com.jsowell.pile.domain.PileBasicInfo; import com.jsowell.pile.domain.WxpayCallbackRecord; import com.jsowell.pile.domain.WxpayRefundCallback; -import com.jsowell.pile.dto.GenerateOrderDTO; -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.dto.*; import com.jsowell.pile.mapper.OrderBasicInfoMapper; import com.jsowell.pile.service.IMemberBasicInfoService; 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.service.TransactionService; 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.OrderVO; import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO; @@ -1345,4 +1342,14 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { resultMap.put("accountBalance", totalAccountAmount); return resultMap; } + + /** + * 联联平台 获取累计数据用 + * @param dto + * @return + */ + @Override + public List getAccumulativeInfoForLianLian(QueryStationInfoDTO dto) { + return orderBasicInfoMapper.getAccumulativeInfoForLianLian(dto); + } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/lianlian/AccumulativeInfoVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/lianlian/AccumulativeInfoVO.java new file mode 100644 index 000000000..cbb35824e --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/lianlian/AccumulativeInfoVO.java @@ -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; +} diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml index 6a1d44560..d0c770134 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml @@ -922,4 +922,21 @@ #{orderCode,jdbcType=VARCHAR} + + \ No newline at end of file diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/StationStatsInfo.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/StationStatsInfo.java index 096cd70ba..e189c2652 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/StationStatsInfo.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/StationStatsInfo.java @@ -1,6 +1,9 @@ package com.jsowell.thirdparty.domain; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; import java.math.BigDecimal; import java.util.List; @@ -12,6 +15,9 @@ import java.util.List; * @date 2023/4/15 9:29 */ @Data +@NoArgsConstructor +@AllArgsConstructor +@Builder public class StationStatsInfo { /** * 充电站 ID diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/LianLianService.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/LianLianService.java index e37c3eea9..f54a08434 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/LianLianService.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/LianLianService.java @@ -1,7 +1,7 @@ package com.jsowell.thirdparty.service; -import com.jsowell.thirdparty.domain.StationInfo; -import com.jsowell.thirdparty.dto.QueryStationInfoDTO; +import com.jsowell.thirdparty.domain.StationStatsInfo; +import com.jsowell.pile.dto.QueryStationInfoDTO; import com.jsowell.thirdparty.vo.LianLianPageResponse; import java.util.List; @@ -31,5 +31,5 @@ public interface LianLianService { LianLianPageResponse query_station_status(List StationIDs); - LianLianPageResponse query_station_stats(QueryStationInfoDTO dto); + StationStatsInfo query_station_stats(QueryStationInfoDTO dto); } diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/impl/LianLianServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/impl/LianLianServiceImpl.java index 4c6e703da..31135f20a 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/impl/LianLianServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/impl/LianLianServiceImpl.java @@ -14,9 +14,10 @@ import com.jsowell.pile.domain.PileStationInfo; import com.jsowell.pile.service.*; import com.jsowell.pile.vo.base.ConnectorInfoVO; import com.jsowell.pile.vo.base.MerchantInfoVO; +import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO; import com.jsowell.pile.vo.web.PileModelInfoVO; 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.vo.LianLianPageResponse; import org.apache.commons.collections4.CollectionUtils; @@ -26,7 +27,7 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; -import java.util.Objects; +import java.util.Map; import java.util.stream.Collectors; @Service @@ -210,9 +211,52 @@ public class LianLianServiceImpl implements LianLianService { * @return */ @Override - public LianLianPageResponse query_station_stats(QueryStationInfoDTO dto) { - - return null; + public StationStatsInfo query_station_stats(QueryStationInfoDTO dto) { + List equipmentStatsInfoList = new ArrayList<>(); + List connectorStatsInfos = new ArrayList<>(); + BigDecimal stationElectricity = new BigDecimal("0"); + + // 根据站点id 查出这段时间的充电量 + List accumulativeInfoForLianLian = orderBasicInfoService.getAccumulativeInfoForLianLian(dto); + + // 查出站点下所有枪口的充电量 + Map connectorElectricityMap = accumulativeInfoForLianLian.stream() + .collect(Collectors.toMap(AccumulativeInfoVO::getPileConnectorCode, AccumulativeInfoVO::getConnectorElectricity)); + + // 查出设备列表下所有设备列表的充电量 + Map pileElectricityMap = accumulativeInfoForLianLian.stream() + .collect(Collectors.toMap(AccumulativeInfoVO::getPileSn, AccumulativeInfoVO::getConnectorElectricity)); + + // 组装数据并返回 + // 枪口累计数据 + for (Map.Entry entry : connectorElectricityMap.entrySet()) { + ConnectorStatsInfo connectorStatsInfo = ConnectorStatsInfo.builder() + .ConnectorID(entry.getKey()) + .ConnectorElectricity(new BigDecimal(entry.getValue())) + .build(); + connectorStatsInfos.add(connectorStatsInfo); + } + // 桩累计数据 + for (Map.Entry 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; } /** diff --git a/jsowell-ui/src/views/pile/station/components/billing.vue b/jsowell-ui/src/views/pile/station/components/billing.vue index b25d62f43..e0ffee51e 100644 --- a/jsowell-ui/src/views/pile/station/components/billing.vue +++ b/jsowell-ui/src/views/pile/station/components/billing.vue @@ -65,8 +65,7 @@ size="mini" @click="clickImport" v-has-permi = "['pile:station:edit']" - >导入 + >导入 - - <!– 日志文件名格式 –> + ${log.path}/netty9011.%d{yyyy-MM-dd}.log - <!– 日志最大的历史–> + ${maxHistory} ${log.pattern} - <!– 过滤的级别 –> + INFO - <!– 匹配时的操作:接收(记录) –> + ACCEPT - <!– 不匹配时的操作:拒绝(不记录) –> + DENY - --> + @@ -102,9 +102,9 @@ - + From a442398c6bc232b097ba8feef0f60a6b2683e934 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Wed, 19 Apr 2023 14:27:30 +0800 Subject: [PATCH 12/26] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OrderBasicInfoServiceImpl.java | 74 ++++++++++--------- 1 file changed, 39 insertions(+), 35 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index a7c1d520a..278249b4c 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -727,43 +727,47 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { // 计算数据 private List calculateData(List list) { for (OrderDetail orderDetail : list) { - // 总电费金额 - BigDecimal totalElectricityAmount = BigDecimal.ZERO; + try { + // 总电费金额 + BigDecimal totalElectricityAmount = BigDecimal.ZERO; - // 尖时段用电量 - BigDecimal sharpUsedElectricity = orderDetail.getSharpUsedElectricity(); - if (sharpUsedElectricity != null) { - // 计算该时段电费 - BigDecimal multiply = orderDetail.getSharpElectricityPrice().multiply(sharpUsedElectricity).setScale(2,BigDecimal.ROUND_DOWN); - totalElectricityAmount = totalElectricityAmount.add(multiply); + // 尖时段用电量 + BigDecimal sharpUsedElectricity = orderDetail.getSharpUsedElectricity(); + if (sharpUsedElectricity != null) { + // 计算该时段电费 + BigDecimal multiply = orderDetail.getSharpElectricityPrice().multiply(sharpUsedElectricity).setScale(2,BigDecimal.ROUND_DOWN); + totalElectricityAmount = totalElectricityAmount.add(multiply); + } + + // 峰时段用电量 + BigDecimal peakUsedElectricity = orderDetail.getPeakUsedElectricity(); + if (peakUsedElectricity != null) { + // 计算该时段电费 + BigDecimal multiply = orderDetail.getPeakElectricityPrice().multiply(peakUsedElectricity).setScale(2,BigDecimal.ROUND_DOWN); + totalElectricityAmount = totalElectricityAmount.add(multiply); + } + + // 平时段用电量 + BigDecimal flatUsedElectricity = orderDetail.getFlatUsedElectricity(); + if (flatUsedElectricity != null) { + // 计算该时段电费 + BigDecimal multiply = orderDetail.getFlatElectricityPrice().multiply(flatUsedElectricity).setScale(2,BigDecimal.ROUND_DOWN); + totalElectricityAmount = totalElectricityAmount.add(multiply); + } + + // 谷时段用电量 + BigDecimal valleyUsedElectricity = orderDetail.getValleyUsedElectricity(); + if (valleyUsedElectricity != null) { + // 计算该时段电费 + BigDecimal multiply = orderDetail.getValleyElectricityPrice().multiply(valleyUsedElectricity).setScale(2,BigDecimal.ROUND_DOWN); + totalElectricityAmount = totalElectricityAmount.add(multiply); + } + + orderDetail.setTotalElectricityAmount(totalElectricityAmount); + orderDetail.setTotalServiceAmount(orderDetail.getTotalOrderAmount().subtract(totalElectricityAmount)); + }catch (Exception e) { + logger.info("发生异常", e); } - - // 峰时段用电量 - BigDecimal peakUsedElectricity = orderDetail.getPeakUsedElectricity(); - if (peakUsedElectricity != null) { - // 计算该时段电费 - BigDecimal multiply = orderDetail.getPeakElectricityPrice().multiply(peakUsedElectricity).setScale(2,BigDecimal.ROUND_DOWN); - totalElectricityAmount = totalElectricityAmount.add(multiply); - } - - // 平时段用电量 - BigDecimal flatUsedElectricity = orderDetail.getFlatUsedElectricity(); - if (flatUsedElectricity != null) { - // 计算该时段电费 - BigDecimal multiply = orderDetail.getFlatElectricityPrice().multiply(flatUsedElectricity).setScale(2,BigDecimal.ROUND_DOWN); - totalElectricityAmount = totalElectricityAmount.add(multiply); - } - - // 谷时段用电量 - BigDecimal valleyUsedElectricity = orderDetail.getValleyUsedElectricity(); - if (valleyUsedElectricity != null) { - // 计算该时段电费 - BigDecimal multiply = orderDetail.getValleyElectricityPrice().multiply(valleyUsedElectricity).setScale(2,BigDecimal.ROUND_DOWN); - totalElectricityAmount = totalElectricityAmount.add(multiply); - } - - orderDetail.setTotalElectricityAmount(totalElectricityAmount); - orderDetail.setTotalServiceAmount(orderDetail.getTotalOrderAmount().subtract(totalElectricityAmount)); } return list; } From 5ec5577a3046d55d727d82b135c4d0892c876c4a Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Wed, 19 Apr 2023 16:55:43 +0800 Subject: [PATCH 13/26] =?UTF-8?q?=E7=AB=99=E7=82=B9=E7=99=BD=E5=90=8D?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/domain/PileStationWhitelist.java | 84 +++++++++++++++++ .../mapper/PileStationWhitelistMapper.java | 63 +++++++++++++ .../service/IPileStationWhitelistService.java | 61 +++++++++++++ .../impl/PileStationWhitelistServiceImpl.java | 90 +++++++++++++++++++ .../pile/PileStationWhitelistMapper.xml | 89 ++++++++++++++++++ 5 files changed, 387 insertions(+) create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/domain/PileStationWhitelist.java create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationWhitelistMapper.java create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationWhitelistService.java create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationWhitelistServiceImpl.java create mode 100644 jsowell-pile/src/main/resources/mapper/pile/PileStationWhitelistMapper.xml diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/domain/PileStationWhitelist.java b/jsowell-pile/src/main/java/com/jsowell/pile/domain/PileStationWhitelist.java new file mode 100644 index 000000000..a308f4015 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/domain/PileStationWhitelist.java @@ -0,0 +1,84 @@ +package com.jsowell.pile.domain; + +import com.jsowell.common.annotation.Excel; +import com.jsowell.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 站点白名单对象 pile_station_whitelist + * + * @author jsowell + * @date 2023-04-19 + */ +public class PileStationWhitelist extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private Long id; + + /** + * 站点id + */ + @Excel(name = "站点id") + private String stationId; + + /** + * 会员id + */ + @Excel(name = "会员id") + private String memberId; + + /** + * 删除标识(0-正常;1-删除) + */ + private String delFlag; + + public void setId(Long id) { + this.id = id; + } + + public Long getId() { + return id; + } + + public void setStationId(String stationId) { + this.stationId = stationId; + } + + public String getStationId() { + return stationId; + } + + public void setMemberId(String memberId) { + this.memberId = memberId; + } + + public String getMemberId() { + return memberId; + } + + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getDelFlag() { + return delFlag; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.JSON_STYLE) + .append("id", getId()) + .append("stationId", getStationId()) + .append("memberId", getMemberId()) + .append("createTime", getCreateTime()) + .append("createBy", getCreateBy()) + .append("updateTime", getUpdateTime()) + .append("updateBy", getUpdateBy()) + .append("delFlag", getDelFlag()) + .toString(); + } +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationWhitelistMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationWhitelistMapper.java new file mode 100644 index 000000000..72dad76fc --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationWhitelistMapper.java @@ -0,0 +1,63 @@ +package com.jsowell.pile.mapper; + +import com.jsowell.pile.domain.PileStationWhitelist; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 站点白名单Mapper接口 + * + * @author jsowell + * @date 2023-04-19 + */ +@Repository +public interface PileStationWhitelistMapper { + /** + * 查询站点白名单 + * + * @param id 站点白名单主键 + * @return 站点白名单 + */ + public PileStationWhitelist selectPileStationWhitelistById(Long id); + + /** + * 查询站点白名单列表 + * + * @param pileStationWhitelist 站点白名单 + * @return 站点白名单集合 + */ + public List selectPileStationWhitelistList(PileStationWhitelist pileStationWhitelist); + + /** + * 新增站点白名单 + * + * @param pileStationWhitelist 站点白名单 + * @return 结果 + */ + public int insertPileStationWhitelist(PileStationWhitelist pileStationWhitelist); + + /** + * 修改站点白名单 + * + * @param pileStationWhitelist 站点白名单 + * @return 结果 + */ + public int updatePileStationWhitelist(PileStationWhitelist pileStationWhitelist); + + /** + * 删除站点白名单 + * + * @param id 站点白名单主键 + * @return 结果 + */ + public int deletePileStationWhitelistById(Long id); + + /** + * 批量删除站点白名单 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deletePileStationWhitelistByIds(Long[] ids); +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationWhitelistService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationWhitelistService.java new file mode 100644 index 000000000..e3f635d25 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationWhitelistService.java @@ -0,0 +1,61 @@ +package com.jsowell.pile.service; + +import java.util.List; + +import com.jsowell.pile.domain.PileStationWhitelist; + +/** + * 站点白名单Service接口 + * + * @author jsowell + * @date 2023-04-19 + */ +public interface IPileStationWhitelistService { + /** + * 查询站点白名单 + * + * @param id 站点白名单主键 + * @return 站点白名单 + */ + public PileStationWhitelist selectPileStationWhitelistById(Long id); + + /** + * 查询站点白名单列表 + * + * @param pileStationWhitelist 站点白名单 + * @return 站点白名单集合 + */ + public List selectPileStationWhitelistList(PileStationWhitelist pileStationWhitelist); + + /** + * 新增站点白名单 + * + * @param pileStationWhitelist 站点白名单 + * @return 结果 + */ + public int insertPileStationWhitelist(PileStationWhitelist pileStationWhitelist); + + /** + * 修改站点白名单 + * + * @param pileStationWhitelist 站点白名单 + * @return 结果 + */ + public int updatePileStationWhitelist(PileStationWhitelist pileStationWhitelist); + + /** + * 批量删除站点白名单 + * + * @param ids 需要删除的站点白名单主键集合 + * @return 结果 + */ + public int deletePileStationWhitelistByIds(Long[] ids); + + /** + * 删除站点白名单信息 + * + * @param id 站点白名单主键 + * @return 结果 + */ + public int deletePileStationWhitelistById(Long id); +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationWhitelistServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationWhitelistServiceImpl.java new file mode 100644 index 000000000..f320e0128 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationWhitelistServiceImpl.java @@ -0,0 +1,90 @@ +package com.jsowell.pile.service.impl; + +import com.jsowell.common.util.DateUtils; +import com.jsowell.pile.domain.PileStationWhitelist; +import com.jsowell.pile.mapper.PileStationWhitelistMapper; +import com.jsowell.pile.service.IPileStationWhitelistService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 站点白名单Service业务层处理 + * + * @author jsowell + * @date 2023-04-19 + */ +@Service +public class PileStationWhitelistServiceImpl implements IPileStationWhitelistService { + @Autowired + private PileStationWhitelistMapper pileStationWhitelistMapper; + + /** + * 查询站点白名单 + * + * @param id 站点白名单主键 + * @return 站点白名单 + */ + @Override + public PileStationWhitelist selectPileStationWhitelistById(Long id) { + return pileStationWhitelistMapper.selectPileStationWhitelistById(id); + } + + /** + * 查询站点白名单列表 + * + * @param pileStationWhitelist 站点白名单 + * @return 站点白名单 + */ + @Override + public List selectPileStationWhitelistList(PileStationWhitelist pileStationWhitelist) { + return pileStationWhitelistMapper.selectPileStationWhitelistList(pileStationWhitelist); + } + + /** + * 新增站点白名单 + * + * @param pileStationWhitelist 站点白名单 + * @return 结果 + */ + @Override + public int insertPileStationWhitelist(PileStationWhitelist pileStationWhitelist) { + pileStationWhitelist.setCreateTime(DateUtils.getNowDate()); + return pileStationWhitelistMapper.insertPileStationWhitelist(pileStationWhitelist); + } + + /** + * 修改站点白名单 + * + * @param pileStationWhitelist 站点白名单 + * @return 结果 + */ + @Override + public int updatePileStationWhitelist(PileStationWhitelist pileStationWhitelist) { + pileStationWhitelist.setUpdateTime(DateUtils.getNowDate()); + return pileStationWhitelistMapper.updatePileStationWhitelist(pileStationWhitelist); + } + + /** + * 批量删除站点白名单 + * + * @param ids 需要删除的站点白名单主键 + * @return 结果 + */ + @Override + public int deletePileStationWhitelistByIds(Long[] ids) { + return pileStationWhitelistMapper.deletePileStationWhitelistByIds(ids); + } + + /** + * 删除站点白名单信息 + * + * @param id 站点白名单主键 + * @return 结果 + */ + @Override + public int deletePileStationWhitelistById(Long id) { + return pileStationWhitelistMapper.deletePileStationWhitelistById(id); + } +} diff --git a/jsowell-pile/src/main/resources/mapper/pile/PileStationWhitelistMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PileStationWhitelistMapper.xml new file mode 100644 index 000000000..e6603ad20 --- /dev/null +++ b/jsowell-pile/src/main/resources/mapper/pile/PileStationWhitelistMapper.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + id, station_id, member_id, create_time, create_by, update_time, update_by, del_flag + + + + select + + from pile_station_whitelist + + + + + + + + insert into pile_station_whitelist + + id, + station_id, + member_id, + create_time, + create_by, + update_time, + update_by, + del_flag, + + + #{id}, + #{stationId}, + #{memberId}, + #{createTime}, + #{createBy}, + #{updateTime}, + #{updateBy}, + #{delFlag}, + + + + + update pile_station_whitelist + + station_id = #{stationId}, + member_id = #{memberId}, + create_time = #{createTime}, + create_by = #{createBy}, + update_time = #{updateTime}, + update_by = #{updateBy}, + del_flag = #{delFlag}, + + where id = #{id} + + + + delete from pile_station_whitelist where id = #{id} + + + + delete from pile_station_whitelist where id in + + #{id} + + + \ No newline at end of file From 582640e5a0397d0ce487a150145c8e3dce98ecf2 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Thu, 20 Apr 2023 15:04:46 +0800 Subject: [PATCH 14/26] =?UTF-8?q?update=20=E7=AB=99=E7=82=B9=E7=99=BD?= =?UTF-8?q?=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/PileStationWhitelistController.java | 105 +++++++ .../pile/domain/PileStationWhitelist.java | 14 + .../pile/PileStationWhitelistMapper.xml | 7 +- jsowell-ui/src/api/pile/whitelist.js | 44 +++ jsowell-ui/src/views/pile/station/detail.vue | 28 +- .../views/pile/station/stationWhiteList.vue | 273 ++++++++++++++++++ 6 files changed, 459 insertions(+), 12 deletions(-) create mode 100644 jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileStationWhitelistController.java create mode 100644 jsowell-ui/src/api/pile/whitelist.js create mode 100644 jsowell-ui/src/views/pile/station/stationWhiteList.vue diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileStationWhitelistController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileStationWhitelistController.java new file mode 100644 index 000000000..ce2012d6c --- /dev/null +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileStationWhitelistController.java @@ -0,0 +1,105 @@ +package com.jsowell.web.controller.pile; + +import com.jsowell.common.annotation.Log; +import com.jsowell.common.core.controller.BaseController; +import com.jsowell.common.core.domain.AjaxResult; +import com.jsowell.common.core.page.TableDataInfo; +import com.jsowell.common.enums.BusinessType; +import com.jsowell.common.util.poi.ExcelUtil; +import com.jsowell.pile.domain.PileStationWhitelist; +import com.jsowell.pile.service.IPileStationWhitelistService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 站点白名单Controller + * + * @author jsowell + * @date 2023-04-20 + */ +@RestController +@RequestMapping("/pile/whitelist") +public class PileStationWhitelistController extends BaseController +{ + @Autowired + private IPileStationWhitelistService pileStationWhitelistService; + + /** + * 查询站点白名单列表 + */ + @PreAuthorize("@ss.hasPermi('pile:whitelist:list')") + @GetMapping("/list") + public TableDataInfo list(PileStationWhitelist pileStationWhitelist) + { + startPage(); + List list = pileStationWhitelistService.selectPileStationWhitelistList(pileStationWhitelist); + return getDataTable(list); + } + + /** + * 导出站点白名单列表 + */ + @PreAuthorize("@ss.hasPermi('pile:whitelist:export')") + @Log(title = "站点白名单", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PileStationWhitelist pileStationWhitelist) + { + List list = pileStationWhitelistService.selectPileStationWhitelistList(pileStationWhitelist); + ExcelUtil util = new ExcelUtil(PileStationWhitelist.class); + util.exportExcel(response, list, "站点白名单数据"); + } + + /** + * 获取站点白名单详细信息 + */ + @PreAuthorize("@ss.hasPermi('pile:whitelist:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return AjaxResult.success(pileStationWhitelistService.selectPileStationWhitelistById(id)); + } + + /** + * 新增站点白名单 + */ + @PreAuthorize("@ss.hasPermi('pile:whitelist:add')") + @Log(title = "站点白名单", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody PileStationWhitelist pileStationWhitelist) + { + return toAjax(pileStationWhitelistService.insertPileStationWhitelist(pileStationWhitelist)); + } + + /** + * 修改站点白名单 + */ + @PreAuthorize("@ss.hasPermi('pile:whitelist:edit')") + @Log(title = "站点白名单", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody PileStationWhitelist pileStationWhitelist) + { + return toAjax(pileStationWhitelistService.updatePileStationWhitelist(pileStationWhitelist)); + } + + /** + * 删除站点白名单 + */ + @PreAuthorize("@ss.hasPermi('pile:whitelist:remove')") + @Log(title = "站点白名单", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(pileStationWhitelistService.deletePileStationWhitelistByIds(ids)); + } +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/domain/PileStationWhitelist.java b/jsowell-pile/src/main/java/com/jsowell/pile/domain/PileStationWhitelist.java index a308f4015..04c298d36 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/domain/PileStationWhitelist.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/domain/PileStationWhitelist.java @@ -31,6 +31,12 @@ public class PileStationWhitelist extends BaseEntity { @Excel(name = "会员id") private String memberId; + /** + * 手机号 + */ + @Excel(name = "手机号") + private String mobileNumber; + /** * 删除标识(0-正常;1-删除) */ @@ -60,6 +66,14 @@ public class PileStationWhitelist extends BaseEntity { return memberId; } + public String getMobileNumber() { + return mobileNumber; + } + + public void setMobileNumber(String mobileNumber) { + this.mobileNumber = mobileNumber; + } + public void setDelFlag(String delFlag) { this.delFlag = delFlag; } diff --git a/jsowell-pile/src/main/resources/mapper/pile/PileStationWhitelistMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PileStationWhitelistMapper.xml index e6603ad20..8d9fb6ebb 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/PileStationWhitelistMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/PileStationWhitelistMapper.xml @@ -8,6 +8,7 @@ + @@ -16,7 +17,7 @@ - id, station_id, member_id, create_time, create_by, update_time, update_by, del_flag + id, station_id, member_id, mobile_number, create_time, create_by, update_time, update_by, del_flag @@ -30,6 +31,7 @@ and station_id = #{stationId} and member_id = #{memberId} + and mobile_number = #{mobileNumber} @@ -44,6 +46,7 @@ id, station_id, member_id, + mobile_number, create_time, create_by, update_time, @@ -54,6 +57,7 @@ #{id}, #{stationId}, #{memberId}, + #{mobileNumber}, #{createTime}, #{createBy}, #{updateTime}, @@ -67,6 +71,7 @@ station_id = #{stationId}, member_id = #{memberId}, + mobile_number = #{mobileNumber}, create_time = #{createTime}, create_by = #{createBy}, update_time = #{updateTime}, diff --git a/jsowell-ui/src/api/pile/whitelist.js b/jsowell-ui/src/api/pile/whitelist.js new file mode 100644 index 000000000..291a99f90 --- /dev/null +++ b/jsowell-ui/src/api/pile/whitelist.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询站点白名单列表 +export function listWhitelist(query) { + return request({ + url: '/pile/whitelist/list', + method: 'get', + params: query + }) +} + +// 查询站点白名单详细 +export function getWhitelist(id) { + return request({ + url: '/pile/whitelist/' + id, + method: 'get' + }) +} + +// 新增站点白名单 +export function addWhitelist(data) { + return request({ + url: '/pile/whitelist', + method: 'post', + data: data + }) +} + +// 修改站点白名单 +export function updateWhitelist(data) { + return request({ + url: '/pile/whitelist', + method: 'put', + data: data + }) +} + +// 删除站点白名单 +export function delWhitelist(id) { + return request({ + url: '/pile/whitelist/' + id, + method: 'delete' + }) +} diff --git a/jsowell-ui/src/views/pile/station/detail.vue b/jsowell-ui/src/views/pile/station/detail.vue index 5210ef06f..65dbe8d8a 100644 --- a/jsowell-ui/src/views/pile/station/detail.vue +++ b/jsowell-ui/src/views/pile/station/detail.vue @@ -44,22 +44,24 @@ 配置参数 - - - + + + + + + - - - + + @@ -70,16 +72,20 @@ import connectorList from "./connectorList.vue"; import pileList from "./pileList.vue"; import MapContainer from "../../../components/MapContainer/MapContainer.vue"; import stationOrderList from "@/views/pile/station/stationOrderList"; -import {updatePlateNumber} from "@/api/member/info"; +import stationWhiteList from "@/views/pile/station/stationWhiteList"; import {getStationInfo, updateStationQRCodePrefix} from "@/api/pile/station"; +import Whitelist from "@/views/pile/station/stationWhiteList"; + export default { components: { + Whitelist, SiteInfo, pileList, connectorList, Billing, MapContainer, - stationOrderList + stationOrderList, + stationWhiteList }, data() { return { diff --git a/jsowell-ui/src/views/pile/station/stationWhiteList.vue b/jsowell-ui/src/views/pile/station/stationWhiteList.vue new file mode 100644 index 000000000..898337cf0 --- /dev/null +++ b/jsowell-ui/src/views/pile/station/stationWhiteList.vue @@ -0,0 +1,273 @@ + + + From a89870bea91985fa104706cfbba95d5ca0a1373a Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Thu, 20 Apr 2023 15:20:07 +0800 Subject: [PATCH 15/26] =?UTF-8?q?update=20=E7=AB=99=E7=82=B9=E7=99=BD?= =?UTF-8?q?=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/PileStationWhitelistController.java | 125 +++++++++--------- .../impl/PileStationWhitelistServiceImpl.java | 16 ++- .../views/pile/station/stationWhiteList.vue | 9 +- 3 files changed, 80 insertions(+), 70 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileStationWhitelistController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileStationWhitelistController.java index ce2012d6c..aa649d72c 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileStationWhitelistController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileStationWhitelistController.java @@ -24,82 +24,75 @@ import java.util.List; /** * 站点白名单Controller - * + * * @author jsowell * @date 2023-04-20 */ @RestController @RequestMapping("/pile/whitelist") -public class PileStationWhitelistController extends BaseController -{ - @Autowired - private IPileStationWhitelistService pileStationWhitelistService; +public class PileStationWhitelistController extends BaseController { + @Autowired + private IPileStationWhitelistService pileStationWhitelistService; - /** - * 查询站点白名单列表 - */ - @PreAuthorize("@ss.hasPermi('pile:whitelist:list')") - @GetMapping("/list") - public TableDataInfo list(PileStationWhitelist pileStationWhitelist) - { - startPage(); - List list = pileStationWhitelistService.selectPileStationWhitelistList(pileStationWhitelist); - return getDataTable(list); - } + /** + * 查询站点白名单列表 + */ + @PreAuthorize("@ss.hasPermi('pile:whitelist:list')") + @GetMapping("/list") + public TableDataInfo list(PileStationWhitelist pileStationWhitelist) { + startPage(); + List list = pileStationWhitelistService.selectPileStationWhitelistList(pileStationWhitelist); + return getDataTable(list); + } - /** - * 导出站点白名单列表 - */ - @PreAuthorize("@ss.hasPermi('pile:whitelist:export')") - @Log(title = "站点白名单", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, PileStationWhitelist pileStationWhitelist) - { - List list = pileStationWhitelistService.selectPileStationWhitelistList(pileStationWhitelist); - ExcelUtil util = new ExcelUtil(PileStationWhitelist.class); - util.exportExcel(response, list, "站点白名单数据"); - } + /** + * 导出站点白名单列表 + */ + @PreAuthorize("@ss.hasPermi('pile:whitelist:export')") + @Log(title = "站点白名单", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PileStationWhitelist pileStationWhitelist) { + List list = pileStationWhitelistService.selectPileStationWhitelistList(pileStationWhitelist); + ExcelUtil util = new ExcelUtil(PileStationWhitelist.class); + util.exportExcel(response, list, "站点白名单数据"); + } - /** - * 获取站点白名单详细信息 - */ - @PreAuthorize("@ss.hasPermi('pile:whitelist:query')") - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) - { - return AjaxResult.success(pileStationWhitelistService.selectPileStationWhitelistById(id)); - } + /** + * 获取站点白名单详细信息 + */ + @PreAuthorize("@ss.hasPermi('pile:whitelist:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return AjaxResult.success(pileStationWhitelistService.selectPileStationWhitelistById(id)); + } - /** - * 新增站点白名单 - */ - @PreAuthorize("@ss.hasPermi('pile:whitelist:add')") - @Log(title = "站点白名单", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody PileStationWhitelist pileStationWhitelist) - { - return toAjax(pileStationWhitelistService.insertPileStationWhitelist(pileStationWhitelist)); - } + /** + * 新增站点白名单 + */ + @PreAuthorize("@ss.hasPermi('pile:whitelist:add')") + @Log(title = "站点白名单", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody PileStationWhitelist pileStationWhitelist) { + return toAjax(pileStationWhitelistService.insertPileStationWhitelist(pileStationWhitelist)); + } - /** - * 修改站点白名单 - */ - @PreAuthorize("@ss.hasPermi('pile:whitelist:edit')") - @Log(title = "站点白名单", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody PileStationWhitelist pileStationWhitelist) - { - return toAjax(pileStationWhitelistService.updatePileStationWhitelist(pileStationWhitelist)); - } + /** + * 修改站点白名单 + */ + @PreAuthorize("@ss.hasPermi('pile:whitelist:edit')") + @Log(title = "站点白名单", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody PileStationWhitelist pileStationWhitelist) { + return toAjax(pileStationWhitelistService.updatePileStationWhitelist(pileStationWhitelist)); + } - /** - * 删除站点白名单 - */ - @PreAuthorize("@ss.hasPermi('pile:whitelist:remove')") - @Log(title = "站点白名单", businessType = BusinessType.DELETE) + /** + * 删除站点白名单 + */ + @PreAuthorize("@ss.hasPermi('pile:whitelist:remove')") + @Log(title = "站点白名单", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) - { - return toAjax(pileStationWhitelistService.deletePileStationWhitelistByIds(ids)); - } + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(pileStationWhitelistService.deletePileStationWhitelistByIds(ids)); + } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationWhitelistServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationWhitelistServiceImpl.java index f320e0128..2c89d9c00 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationWhitelistServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationWhitelistServiceImpl.java @@ -1,8 +1,11 @@ package com.jsowell.pile.service.impl; import com.jsowell.common.util.DateUtils; +import com.jsowell.common.util.StringUtils; +import com.jsowell.pile.domain.MemberBasicInfo; import com.jsowell.pile.domain.PileStationWhitelist; import com.jsowell.pile.mapper.PileStationWhitelistMapper; +import com.jsowell.pile.service.IMemberBasicInfoService; import com.jsowell.pile.service.IPileStationWhitelistService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -20,6 +23,9 @@ public class PileStationWhitelistServiceImpl implements IPileStationWhitelistSer @Autowired private PileStationWhitelistMapper pileStationWhitelistMapper; + @Autowired + private IMemberBasicInfoService memberBasicInfoService; + /** * 查询站点白名单 * @@ -50,7 +56,15 @@ public class PileStationWhitelistServiceImpl implements IPileStationWhitelistSer */ @Override public int insertPileStationWhitelist(PileStationWhitelist pileStationWhitelist) { - pileStationWhitelist.setCreateTime(DateUtils.getNowDate()); + // pileStationWhitelist.setCreateTime(DateUtils.getNowDate()); + if (StringUtils.isBlank(pileStationWhitelist.getMobileNumber())) { + return 0; + } + MemberBasicInfo info = memberBasicInfoService.selectInfoByMobileNumber(pileStationWhitelist.getMobileNumber()); + if (info == null) { + return 0; + } + pileStationWhitelist.setMemberId(info.getMemberId()); return pileStationWhitelistMapper.insertPileStationWhitelist(pileStationWhitelist); } diff --git a/jsowell-ui/src/views/pile/station/stationWhiteList.vue b/jsowell-ui/src/views/pile/station/stationWhiteList.vue index 898337cf0..5d1d06cdb 100644 --- a/jsowell-ui/src/views/pile/station/stationWhiteList.vue +++ b/jsowell-ui/src/views/pile/station/stationWhiteList.vue @@ -72,7 +72,7 @@ - + @@ -109,9 +109,9 @@ - + @@ -152,6 +152,7 @@ export default { title: "", // 是否显示弹出层 open: false, + stationId: this.$route.params.id, // 查询参数 queryParams: { pageNum: 1, @@ -174,6 +175,7 @@ export default { /** 查询站点白名单列表 */ getList() { this.loading = true; + this.queryParams.stationId = this.stationId; listWhitelist(this.queryParams).then(response => { this.whitelistList = response.rows; this.total = response.total; @@ -243,6 +245,7 @@ export default { this.getList(); }); } else { + this.form.stationId = this.stationId; addWhitelist(this.form).then(response => { this.$modal.msgSuccess("新增成功"); this.open = false; From 7ae72733e84694ceaefadd1fbea886dec24e586d Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 21 Apr 2023 09:35:42 +0800 Subject: [PATCH 16/26] =?UTF-8?q?update=20=E7=AB=99=E7=82=B9=E7=99=BD?= =?UTF-8?q?=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/jsowell/api/uniapp/PayController.java | 2 +- .../src/main/java/com/jsowell/service/OrderService.java | 8 +++++++- .../jsowell/pile/mapper/PileStationWhitelistMapper.java | 3 +++ .../pile/service/IPileStationWhitelistService.java | 2 ++ .../service/impl/PileStationWhitelistServiceImpl.java | 5 +++++ .../resources/mapper/pile/PileStationWhitelistMapper.xml | 9 +++++++++ 6 files changed, 27 insertions(+), 2 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java index 0b2a5023f..962e33ea6 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java @@ -142,7 +142,7 @@ public class PayController extends BaseController { public RestApiResponse getPayMode(HttpServletRequest request, @RequestBody GetPayModeDTO dto) { RestApiResponse response; try { - // dto.setMemberId(getMemberIdByAuthorization(request)); + dto.setMemberId(getMemberIdByAuthorization(request)); List list = orderService.getPayMode(dto); response = new RestApiResponse<>(ImmutableMap.of("list", list)); } catch (BusinessException e) { diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index ecbf48b8a..09c1203bb 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -34,6 +34,7 @@ import com.jsowell.pile.domain.OrderBasicInfo; import com.jsowell.pile.domain.OrderDetail; import com.jsowell.pile.domain.OrderInvoiceRecord; import com.jsowell.pile.domain.OrderPayRecord; +import com.jsowell.pile.domain.PileStationWhitelist; import com.jsowell.pile.domain.WxpayCallbackRecord; import com.jsowell.pile.dto.ApplyOrderInvoiceDTO; import com.jsowell.pile.dto.BasicPileDTO; @@ -57,6 +58,7 @@ import com.jsowell.pile.service.IOrderInvoiceRecordService; import com.jsowell.pile.service.IOrderPayRecordService; import com.jsowell.pile.service.IPileBillingTemplateService; import com.jsowell.pile.service.IPileStationInfoService; +import com.jsowell.pile.service.IPileStationWhitelistService; import com.jsowell.pile.service.WechatPayService; import com.jsowell.pile.service.WxpayCallbackRecordService; import com.jsowell.pile.transaction.dto.OrderTransactionDTO; @@ -140,6 +142,9 @@ public class OrderService { @Autowired private IOrderInvoiceRecordService orderInvoiceRecordService; + @Autowired + private IPileStationWhitelistService pileStationWhitelistService; + @Autowired private RedisCache redisCache; @@ -976,7 +981,8 @@ public class OrderService { public List getPayMode(GetPayModeDTO dto) { List result = Lists.newArrayList(); // 查询会员在站点是否是白名单用户 - boolean flag = false; + PileStationWhitelist whitelist = pileStationWhitelistService.queryWhitelistByMemberId(dto.getStationId(), dto.getMemberId()); + boolean flag = whitelist != null; if (flag) { result.add( PayModeVO.builder() diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationWhitelistMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationWhitelistMapper.java index 72dad76fc..071bf3627 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationWhitelistMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationWhitelistMapper.java @@ -1,6 +1,7 @@ package com.jsowell.pile.mapper; import com.jsowell.pile.domain.PileStationWhitelist; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; @@ -60,4 +61,6 @@ public interface PileStationWhitelistMapper { * @return 结果 */ public int deletePileStationWhitelistByIds(Long[] ids); + + PileStationWhitelist queryWhitelistByMemberId(@Param("stationId") String stationId, @Param("memberId") String memberId); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationWhitelistService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationWhitelistService.java index e3f635d25..6d2469e87 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationWhitelistService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationWhitelistService.java @@ -58,4 +58,6 @@ public interface IPileStationWhitelistService { * @return 结果 */ public int deletePileStationWhitelistById(Long id); + + PileStationWhitelist queryWhitelistByMemberId(String stationId, String memberId); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationWhitelistServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationWhitelistServiceImpl.java index 2c89d9c00..37d1c7580 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationWhitelistServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationWhitelistServiceImpl.java @@ -101,4 +101,9 @@ public class PileStationWhitelistServiceImpl implements IPileStationWhitelistSer public int deletePileStationWhitelistById(Long id) { return pileStationWhitelistMapper.deletePileStationWhitelistById(id); } + + @Override + public PileStationWhitelist queryWhitelistByMemberId(String stationId, String memberId) { + return pileStationWhitelistMapper.queryWhitelistByMemberId(stationId, memberId); + } } diff --git a/jsowell-pile/src/main/resources/mapper/pile/PileStationWhitelistMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PileStationWhitelistMapper.xml index 8d9fb6ebb..6ce1738e3 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/PileStationWhitelistMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/PileStationWhitelistMapper.xml @@ -91,4 +91,13 @@ #{id} + + \ No newline at end of file From b7228b18debd86780c65bd74b2cca5e164b038eb Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 21 Apr 2023 09:36:27 +0800 Subject: [PATCH 17/26] =?UTF-8?q?update=20=E7=AB=99=E7=82=B9=E7=99=BD?= =?UTF-8?q?=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/service/impl/PileStationWhitelistServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationWhitelistServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationWhitelistServiceImpl.java index 37d1c7580..369de838c 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationWhitelistServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationWhitelistServiceImpl.java @@ -104,6 +104,9 @@ public class PileStationWhitelistServiceImpl implements IPileStationWhitelistSer @Override public PileStationWhitelist queryWhitelistByMemberId(String stationId, String memberId) { + if (StringUtils.isBlank(stationId) || StringUtils.isBlank(memberId)) { + return null; + } return pileStationWhitelistMapper.queryWhitelistByMemberId(stationId, memberId); } } From d3ba89aeb480fd20c415f869e49afa67051391f4 Mon Sep 17 00:00:00 2001 From: JS-LM <2497833386@QQ.com> Date: Sun, 23 Apr 2023 14:42:30 +0800 Subject: [PATCH 18/26] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/MapContainer/MapContainer.vue | 50 +++++++++++++++---- 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/jsowell-ui/src/components/MapContainer/MapContainer.vue b/jsowell-ui/src/components/MapContainer/MapContainer.vue index c5b155a46..29b1519c1 100644 --- a/jsowell-ui/src/components/MapContainer/MapContainer.vue +++ b/jsowell-ui/src/components/MapContainer/MapContainer.vue @@ -16,17 +16,31 @@
-
- - 上传图片 -
+
上传图片
+ + + + + + + + + + + + + + + + + + + @@ -41,6 +55,11 @@ window._AMapSecurityConfig = { export default { data() { return { + dialogImageUrl: '', + dialogVisible: false, + // headers:{ + // Authorization:this.$store.state.user.token + // }, map: null, autoOptions: { input: "", @@ -58,6 +77,14 @@ export default { }; }, methods: { + handleRemove(file, fileList) { + console.log(file, fileList); + }, + handlePictureCardPreview(file) { + this.dialogImageUrl = file.url; + console.log(this.dialogImageUrl) + this.dialogVisible = true; + }, // 点击搜索按钮 send() { this.searchPlaceInput = this.inputObject.userInput; @@ -160,6 +187,7 @@ export default { }); }, onFileChange(e) { + console.log(e,'上传图片') // 1.获取用户选择的文件列表 const fileList = e.target.files; console.log(fileList); From 1dbc645d63136d055f8fd00c10b49b51e13fc548 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sun, 23 Apr 2023 11:22:28 +0800 Subject: [PATCH 19/26] =?UTF-8?q?update=20=E8=AE=B0=E5=BD=95=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit e40db7e32b8512c1f83a4e7437a7cfedd53299a4) --- .../impl/OrderBasicInfoServiceImpl.java | 18 ----------- .../service/impl/WechatPayServiceImpl.java | 3 +- .../response/WechatPayNotifyResource.java | 31 +++++++++++++++++++ 3 files changed, 33 insertions(+), 19 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 278249b4c..dce39d9f6 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -1067,24 +1067,6 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { * 订单退款处理逻辑 */ private WechatPayRefundResponse refundForOrder(WeChatRefundDTO dto) { - // 查到orderCode对应的支付订单 - // OrderBasicInfo orderInfo = this.getOrderInfoByOrderCode(dto.getOrderCode()); - // // 校验订单 - // if (Objects.isNull(orderInfo)) { - // logger.warn("orderCode:{}, 订单退款处理逻辑, 查询订单为空!", dto.getOrderCode()); - // throw new BusinessException(ReturnCodeEnum.CODE_QUERY_ORDER_NULL_ERROR); - // } - // // 判断退款金额,不能大于支付金额 - // BigDecimal payAmount = orderInfo.getPayAmount(); - // // BigDecimal orderAmount = orderInfo.getOrderAmount(); - // // BigDecimal amountToBeRefunded = payAmount.subtract(orderAmount); // 可退金额 - // BigDecimal amountToBeRefunded = dto.getRefundAmount(); // 可退金额 - // logger.info("订单:{}, 支付金额:{}, 需退款金额:{}", dto.getOrderCode(), payAmount, amountToBeRefunded); - // if (dto.getRefundAmount().compareTo(amountToBeRefunded) > 0) { - // // 退款金额,大于可退金额 抛出异常 - // logger.warn("退款金额:{},大于可退金额{}, 抛出异常", dto.getRefundAmount(), amountToBeRefunded); - // throw new BusinessException(ReturnCodeEnum.CODE_REFUND_ORDER_AMOUNT_ERROR); - // } // 查出来原来的支付信息 WxpayCallbackRecord record = wxpayCallbackRecordService.selectByOrderCode(dto.getOrderCode()); if (Objects.isNull(record)) { diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/WechatPayServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/WechatPayServiceImpl.java index 90b8cccc6..7e95bc1e8 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/WechatPayServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/WechatPayServiceImpl.java @@ -194,6 +194,7 @@ public class WechatPayServiceImpl implements WechatPayService { // 转换附属参数 PaymentScenarioDTO paymentScenarioDTO = JSONObject.parseObject(attach, PaymentScenarioDTO.class); String type = paymentScenarioDTO.getType(); + // BigDecimal amount = new BigDecimal(wechatPayNotifyResource.getAmount().getTotal()); if (StringUtils.equals(type, ScenarioEnum.ORDER.getValue())) { // 1-订单支付 @@ -225,7 +226,7 @@ public class WechatPayServiceImpl implements WechatPayService { record.setAttach(wechatPayNotifyResource.getAttach()); record.setSuccessTime(DateUtils.toLocalDateTime(wechatPayNotifyResource.getSuccess_time(), DateUtils.RFC3339)); record.setPayerOpenId(wechatPayNotifyResource.getPayer().getOpenid()); - record.setPayerTotal(wechatPayNotifyResource.getAmount().getPayer_total()); + record.setPayerTotal(wechatPayNotifyResource.getAmount().getTotal()); wxpayCallbackRecordService.insertSelective(record); } return resultMap; diff --git a/jsowell-pile/src/main/java/com/jsowell/wxpay/response/WechatPayNotifyResource.java b/jsowell-pile/src/main/java/com/jsowell/wxpay/response/WechatPayNotifyResource.java index 0c197aeb4..9b6ea5c10 100644 --- a/jsowell-pile/src/main/java/com/jsowell/wxpay/response/WechatPayNotifyResource.java +++ b/jsowell-pile/src/main/java/com/jsowell/wxpay/response/WechatPayNotifyResource.java @@ -2,6 +2,8 @@ package com.jsowell.wxpay.response; import lombok.Data; +import java.util.List; + @Data public class WechatPayNotifyResource { @@ -79,6 +81,11 @@ public class WechatPayNotifyResource { */ private Amount amount; + /** + * 优惠功能,享受优惠时返回该字段。 + */ + private List promotion_detail; + @Data public static class Payer { /** @@ -109,4 +116,28 @@ public class WechatPayNotifyResource { */ private String payer_currency; } + + @Data + public static class Promotion{ + // 券ID + private String coupon_id; + // 优惠名称 + private String name; + // 优惠范围 GLOBAL:全场代金券 SINGLE:单品优惠 + private String scope; + //优惠类型 CASH:充值型代金券 NOCASH:免充值型代金券 + private String type; + // 优惠券面额 + private String amount; + // 活动ID + private String stock_id; + // 微信出资 + private String wechatpay_contribute; + // 商户出资 + private String merchant_contribute; + // 其他出资 + private String other_contribute; + // 优惠币种 + private String currency; + } } From 539de42c5252c77c4891f4ca8e6c71a59daf00f9 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sun, 23 Apr 2023 10:25:06 +0800 Subject: [PATCH 20/26] =?UTF-8?q?update=20=E4=BF=AE=E6=94=B9=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit d9e138ba5d3ca174caa5b60c8b4f28e998f8c0df) --- .../service/yunkuaichong/impl/YKCPushCommandServiceImpl.java | 2 +- .../jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/service/yunkuaichong/impl/YKCPushCommandServiceImpl.java b/jsowell-netty/src/main/java/com/jsowell/netty/service/yunkuaichong/impl/YKCPushCommandServiceImpl.java index b76cfa0e3..0aaab6fcf 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/service/yunkuaichong/impl/YKCPushCommandServiceImpl.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/service/yunkuaichong/impl/YKCPushCommandServiceImpl.java @@ -271,7 +271,7 @@ public class YKCPushCommandServiceImpl implements YKCPushCommandService { */ @Override public void pushProofreadTimeCommand(ProofreadTimeCommand command) { - log.info("充电桩对时,thread:{}", Thread.currentThread().getName()); + // log.info("充电桩对时,thread:{}", Thread.currentThread().getName()); String pileSn = command.getPileSn(); // Date date = new Date(); // Date parseDate = DateUtils.parseDate("2023-02-28 16:45:20"); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index dce39d9f6..5d99ff683 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -1070,7 +1070,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { // 查出来原来的支付信息 WxpayCallbackRecord record = wxpayCallbackRecordService.selectByOrderCode(dto.getOrderCode()); if (Objects.isNull(record)) { - logger.warn("orderCode:{}, 订单退款处理逻辑, 查询订单微信支付记录为空!", dto.getOrderCode()); + logger.error("orderCode:{}, 订单退款处理逻辑, 查询订单微信支付记录为空!", dto.getOrderCode()); throw new BusinessException(ReturnCodeEnum.CODE_REFUND_ORDER_CALLBACK_RECORD_ERROR); } @@ -1078,7 +1078,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { int refundAmountInt = dto.getRefundAmount().multiply(new BigDecimal("100")).intValue(); int payerTotalInt = Integer.parseInt(record.getPayerTotal()); if (refundAmountInt > payerTotalInt) { - logger.warn("订单号:{}, 退款金额:{}(分),大于可退金额{}(分), 抛出异常", dto.getOrderCode(), refundAmountInt, payerTotalInt); + logger.error("订单号:{}, 退款金额:{}(分),大于可退金额{}(分), 抛出异常", dto.getOrderCode(), refundAmountInt, payerTotalInt); throw new BusinessException(ReturnCodeEnum.CODE_REFUND_ORDER_AMOUNT_ERROR); } From 3f6768a0c0d3c74d61526f2c905e840b17cc1619 Mon Sep 17 00:00:00 2001 From: JS-LM <2497833386@QQ.com> Date: Sun, 23 Apr 2023 16:57:50 +0800 Subject: [PATCH 21/26] =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E8=BE=93=E5=85=A5?= =?UTF-8?q?=E6=A1=86=E5=9B=9E=E8=BD=A6=E6=89=A7=E8=A1=8C=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/MapContainer/MapContainer.vue | 1 + .../MapContainer/MapContainer11111.vue | 176 ------------------ 2 files changed, 1 insertion(+), 176 deletions(-) delete mode 100644 jsowell-ui/src/components/MapContainer/MapContainer11111.vue diff --git a/jsowell-ui/src/components/MapContainer/MapContainer.vue b/jsowell-ui/src/components/MapContainer/MapContainer.vue index 29b1519c1..82c0839c5 100644 --- a/jsowell-ui/src/components/MapContainer/MapContainer.vue +++ b/jsowell-ui/src/components/MapContainer/MapContainer.vue @@ -7,6 +7,7 @@ v-model="inputObject.userInput" placeholder="请输入你要查找的关键词" type="text" + @keyup.enter.native="send" > 搜索 diff --git a/jsowell-ui/src/components/MapContainer/MapContainer11111.vue b/jsowell-ui/src/components/MapContainer/MapContainer11111.vue deleted file mode 100644 index 8f6c29149..000000000 --- a/jsowell-ui/src/components/MapContainer/MapContainer11111.vue +++ /dev/null @@ -1,176 +0,0 @@ - - - - - From ba315d8adb051a8802b9b4b61a2b17a345f56aba Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Mon, 24 Apr 2023 10:33:55 +0800 Subject: [PATCH 22/26] =?UTF-8?q?update=20=E7=AB=99=E7=82=B9=E7=99=BD?= =?UTF-8?q?=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/jsowell/service/OrderService.java | 2 +- .../main/java/com/jsowell/pile/vo/uniapp/UniAppOrderVO.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index 09c1203bb..e0af62f28 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -839,7 +839,7 @@ public class OrderService { vo.setReason(orderBasicInfo.getReason()); vo.setOrderAmount(String.valueOf(orderBasicInfo.getOrderAmount())); vo.setPayAmount(String.valueOf(orderBasicInfo.getPayAmount())); - + vo.setPayMode(orderBasicInfo.getPayMode()); // 订单状态描述 String orderStatusDescribe = orderBasicInfoService.transformOrderStatusDescribe(orderStatus, orderBasicInfo.getPayStatus()); vo.setOrderStatusDescribe(orderStatusDescribe); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/UniAppOrderVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/UniAppOrderVO.java index 38c0e464b..e2aa752e4 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/UniAppOrderVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/UniAppOrderVO.java @@ -58,6 +58,11 @@ public class UniAppOrderVO { */ private String payAmount; + /** + * 支付方式 + */ + private String payMode; + /** * 订单金额 */ From 1d82041f19583cc83deb6f7a37616e75261e0832 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Mon, 24 Apr 2023 11:08:59 +0800 Subject: [PATCH 23/26] =?UTF-8?q?update=20=E6=9E=AA=E5=8F=A3=E5=85=85?= =?UTF-8?q?=E7=94=B5=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/api/uniapp/PileController.java | 29 ++++++++++++++++--- .../service/IPileConnectorInfoService.java | 2 ++ .../impl/PileConnectorInfoServiceImpl.java | 9 +++++- .../pile/vo/web/PileConnectorInfoVO.java | 5 ++++ 4 files changed, 40 insertions(+), 5 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PileController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PileController.java index 695d60b38..ea0f6cc8d 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PileController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PileController.java @@ -11,13 +11,13 @@ import com.jsowell.pile.dto.QueryConnectorListDTO; import com.jsowell.pile.dto.QueryStationDTO; import com.jsowell.pile.service.IPileConnectorInfoService; import com.jsowell.pile.service.IPileStationInfoService; -import com.jsowell.pile.vo.base.StationInfoVO; -import com.jsowell.pile.vo.uniapp.PersonalPileInfoVO; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; -import java.util.List; /** * 充电桩相关接口 @@ -89,6 +89,27 @@ public class PileController extends BaseController { return response; } + /** + * 根据充电站id查询枪口列表 + * @param request + * @param dto + * @return + */ + @PostMapping("/selectStationConnectorList") + public RestApiResponse selectStationConnectorList(HttpServletRequest request, @RequestBody QueryConnectorListDTO dto) { + logger.info("查询充电枪口列表 params:{}", JSONObject.toJSONString(dto)); + RestApiResponse response = null; + try { + PageResponse pageResponse = pileConnectorInfoService.selectStationConnectorList(dto); + response = new RestApiResponse<>(pageResponse); + } catch (Exception e) { + logger.error("查询充电枪口列表异常", e); + response = new RestApiResponse<>(ReturnCodeEnum.CODE_GET_CONNECTOR_INFO_BY_STATION_ID_ERROR); + } + logger.info("查询充电枪口列表 result:{}", response); + return response; + } + } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileConnectorInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileConnectorInfoService.java index 33aba530f..798420031 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileConnectorInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileConnectorInfoService.java @@ -132,4 +132,6 @@ public interface IPileConnectorInfoService { List getConnectorListForLianLian(Long stationId); List selectConnectorInfoList(String pileSn); + + PageResponse selectStationConnectorList(QueryConnectorListDTO dto); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java index bd0139300..cf67c58d3 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java @@ -423,6 +423,12 @@ public class PileConnectorInfoServiceImpl implements IPileConnectorInfoService { return connectorInfoList; } + @Override + public PageResponse selectStationConnectorList(QueryConnectorListDTO dto) { + PageResponse response = getUniAppConnectorInfoListByParams(dto); + return response; + } + /** * 查询充电枪口的实时数据 */ @@ -448,7 +454,8 @@ public class PileConnectorInfoServiceImpl implements IPileConnectorInfoService { pileConnectorInfoVO.setChargingDegree(new BigDecimal(realTimeMonitorData.getChargingDegree())); pileConnectorInfoVO.setGunLineTemperature(realTimeMonitorData.getGunLineTemperature()); // 枪线温度 pileConnectorInfoVO.setTimeRemaining(realTimeMonitorData.getTimeRemaining()); - pileConnectorInfoVO.setChargingTime(realTimeMonitorData.getSumChargingTime()); + pileConnectorInfoVO.setChargingTime(realTimeMonitorData.getSumChargingTime()); // 已充时长 + pileConnectorInfoVO.setTimeRemaining(realTimeMonitorData.getTimeRemaining()); // 剩余时间 // 计算实时功率(单位:kw) BigDecimal instantPowerTemp = outputVoltage.multiply(outputCurrent); BigDecimal instantPower = instantPowerTemp.divide(new BigDecimal(1000)); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileConnectorInfoVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileConnectorInfoVO.java index 3f5fa89cb..a945ca31f 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileConnectorInfoVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileConnectorInfoVO.java @@ -102,6 +102,11 @@ public class PileConnectorInfoVO { */ private String chargingTime; + /** + * 剩余时间 + */ + private String timeRemaining; + /** * 电压 */ From 7b5aadda3c6dd0e33bf3d3ac06e0cc382ed38a86 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Mon, 24 Apr 2023 11:12:42 +0800 Subject: [PATCH 24/26] =?UTF-8?q?update=20=E6=9E=AA=E5=8F=A3=E5=85=85?= =?UTF-8?q?=E7=94=B5=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/service/impl/PileConnectorInfoServiceImpl.java | 3 +-- .../java/com/jsowell/pile/vo/web/PileConnectorInfoVO.java | 4 ---- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java index cf67c58d3..01b9a206b 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java @@ -453,9 +453,8 @@ public class PileConnectorInfoServiceImpl implements IPileConnectorInfoService { pileConnectorInfoVO.setChargingAmount(new BigDecimal(realTimeMonitorData.getChargingAmount())); pileConnectorInfoVO.setChargingDegree(new BigDecimal(realTimeMonitorData.getChargingDegree())); pileConnectorInfoVO.setGunLineTemperature(realTimeMonitorData.getGunLineTemperature()); // 枪线温度 - pileConnectorInfoVO.setTimeRemaining(realTimeMonitorData.getTimeRemaining()); - pileConnectorInfoVO.setChargingTime(realTimeMonitorData.getSumChargingTime()); // 已充时长 pileConnectorInfoVO.setTimeRemaining(realTimeMonitorData.getTimeRemaining()); // 剩余时间 + pileConnectorInfoVO.setChargingTime(realTimeMonitorData.getSumChargingTime()); // 已充时长 // 计算实时功率(单位:kw) BigDecimal instantPowerTemp = outputVoltage.multiply(outputCurrent); BigDecimal instantPower = instantPowerTemp.divide(new BigDecimal(1000)); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileConnectorInfoVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileConnectorInfoVO.java index a945ca31f..56b937774 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileConnectorInfoVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileConnectorInfoVO.java @@ -157,8 +157,4 @@ public class PileConnectorInfoVO { */ private String ratedPower; - /** - * 剩余时间 - */ - private String timeRemaining; } From 1227ed92c5ec53ba0043a5eabdeec358509fc812 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Mon, 24 Apr 2023 11:31:53 +0800 Subject: [PATCH 25/26] =?UTF-8?q?update=20update=20=E6=9E=AA=E5=8F=A3?= =?UTF-8?q?=E5=85=85=E7=94=B5=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/pile/service/IOrderBasicInfoService.java | 7 ------- .../pile/service/impl/OrderBasicInfoServiceImpl.java | 11 ----------- .../service/impl/PileConnectorInfoServiceImpl.java | 10 ++++++++++ 3 files changed, 10 insertions(+), 18 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java index 7b542976c..932706d90 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java @@ -25,13 +25,6 @@ import java.util.Map; * @date 2022-09-30 */ public interface IOrderBasicInfoService { - /** - * 查询订单 - * - * @param id 订单主键 - * @return 订单 - */ - OrderBasicInfo selectOrderBasicInfoById(Long id); /** * 条件查询订单基础信息 diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 5d99ff683..50cb0093b 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -144,17 +144,6 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { @Autowired private IPileAuthCardService pileAuthCardService; - /** - * 查询订单 - * - * @param id 订单主键 - * @return 订单 - */ - @Override - public OrderBasicInfo selectOrderBasicInfoById(Long id) { - return orderBasicInfoMapper.selectOrderBasicInfoById(id); - } - /** * 条件查询订单基本信息 * diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java index 01b9a206b..be7b3c4b0 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java @@ -361,6 +361,16 @@ public class PileConnectorInfoServiceImpl implements IPileConnectorInfoService { PageInfo pageInfo = new PageInfo<>(pileConnectorInfoList); + // 查询枪口当前订单 + for (PileConnectorInfoVO pileConnectorInfoVO : pageInfo.getList()) { + String pileConnectorCode = pileConnectorInfoVO.getPileConnectorCode(); + pileConnectorInfoVO.setConnectorQrCodeUrl(getPileConnectorQrCodeUrl(pileConnectorCode)); // 枪口号二维码 + OrderBasicInfo order = orderBasicInfoService.queryChargingByPileConnectorCode(pileConnectorCode); + if (order != null) { + pileConnectorInfoVO.setOrderCode(order.getOrderCode()); + } + } + queryRealTimeData(pageInfo.getList()); // 返回结果集 From a18c693d4c6845616da45fb782e0971ce46d0aef Mon Sep 17 00:00:00 2001 From: Lemon Date: Mon, 24 Apr 2023 13:55:33 +0800 Subject: [PATCH 26/26] =?UTF-8?q?add=20=20=E8=81=94=E8=81=94=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0=E8=AF=B7=E6=B1=82=E8=AE=BE=E5=A4=87=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/lianlian/LianLianController.java | 22 ++++++++ .../com/jsowell/common/util/DateUtils.java | 2 +- .../com/jsowell/common/util/YKCUtils.java | 4 ++ .../jsowell/pile/dto/QueryEquipmentDTO.java | 27 ++++++++++ .../thirdparty/service/LianLianService.java | 15 ++++++ .../service/impl/LianLianServiceImpl.java | 49 ++++++++++++++++- .../thirdparty/vo/EquipmentAuthVO.java | 52 +++++++++++++++++++ 7 files changed, 169 insertions(+), 2 deletions(-) create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryEquipmentDTO.java create mode 100644 jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/vo/EquipmentAuthVO.java diff --git a/jsowell-admin/src/main/java/com/jsowell/lianlian/LianLianController.java b/jsowell-admin/src/main/java/com/jsowell/lianlian/LianLianController.java index c900b8381..a0c34254b 100644 --- a/jsowell-admin/src/main/java/com/jsowell/lianlian/LianLianController.java +++ b/jsowell-admin/src/main/java/com/jsowell/lianlian/LianLianController.java @@ -4,9 +4,11 @@ import com.alibaba.fastjson2.JSONObject; import com.jsowell.common.annotation.Anonymous; import com.jsowell.common.core.controller.BaseController; import com.jsowell.common.response.RestApiResponse; +import com.jsowell.pile.dto.QueryEquipmentDTO; import com.jsowell.pile.dto.QueryStationInfoDTO; import com.jsowell.thirdparty.domain.StationStatsInfo; import com.jsowell.thirdparty.service.LianLianService; +import com.jsowell.thirdparty.vo.EquipmentAuthVO; import com.jsowell.thirdparty.vo.LianLianPageResponse; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -92,4 +94,24 @@ public class LianLianController extends BaseController { logger.info("联联平台查询统计信息 result :{}", response); return response; } + + /** + * 请求设备认证 + * @param dto + * @return + */ + @PostMapping("/query_equip_auth") + public RestApiResponse query_equip_auth(@RequestBody QueryEquipmentDTO dto) { + logger.info("联联平台请求设备认证 params :{}", JSONObject.toJSONString(dto)); + RestApiResponse response; + try { + EquipmentAuthVO equipmentAuthVO = lianLianService.query_equip_auth(dto); + response = new RestApiResponse<>(equipmentAuthVO); + } catch (Exception e) { + logger.error("联联平台请求设备认证 error", e); + response = new RestApiResponse<>(e); + } + logger.info("联联平台请求设备认证 result :{}", response); + return response; + } } diff --git a/jsowell-common/src/main/java/com/jsowell/common/util/DateUtils.java b/jsowell-common/src/main/java/com/jsowell/common/util/DateUtils.java index b6631ead0..82bd3702a 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/util/DateUtils.java +++ b/jsowell-common/src/main/java/com/jsowell/common/util/DateUtils.java @@ -149,7 +149,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { } } - public static void main(String[] args) { + public static void main(String[] args) throws ParseException { // String str = "2023-01-07 11:17:12"; // Date date = parseDate(str); // String str1 = parseDateToStr(YYYY_MM_DD_HH_MM_SS, date); diff --git a/jsowell-common/src/main/java/com/jsowell/common/util/YKCUtils.java b/jsowell-common/src/main/java/com/jsowell/common/util/YKCUtils.java index aacc527b9..8299a91dc 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/util/YKCUtils.java +++ b/jsowell-common/src/main/java/com/jsowell/common/util/YKCUtils.java @@ -133,6 +133,10 @@ public class YKCUtils { String s = transitionTemperature(bytes); System.out.println(s); + byte[] bytess = new byte[]{(byte) 0x80, (byte) 0x1A, 0x06, 0x00}; + String s1 = convertDecimalPoint(bytess, 5); + System.out.println(s1); + } /** diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryEquipmentDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryEquipmentDTO.java new file mode 100644 index 000000000..587697ea6 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryEquipmentDTO.java @@ -0,0 +1,27 @@ +package com.jsowell.pile.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +/** + * 联联平台请求设备认证 + * + * @author JS-ZZA + * @date 2023/4/19 10:08 + */ +@Data +public class QueryEquipmentDTO { + /** + * 设备认证流水号 + * 格式“运营商 ID+yyyyMMddHHmmss+4 位随机数”, + * 27 字符 + */ + @JsonProperty(value = "EquipAuthSeq") + private String EquipAuthSeq; + + /** + * 充电设备接口编码 + */ + @JsonProperty(value = "ConnectorID") + private String ConnectorID; +} diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/LianLianService.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/LianLianService.java index f54a08434..b249c3670 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/LianLianService.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/LianLianService.java @@ -1,7 +1,9 @@ package com.jsowell.thirdparty.service; +import com.jsowell.pile.dto.QueryEquipmentDTO; import com.jsowell.thirdparty.domain.StationStatsInfo; import com.jsowell.pile.dto.QueryStationInfoDTO; +import com.jsowell.thirdparty.vo.EquipmentAuthVO; import com.jsowell.thirdparty.vo.LianLianPageResponse; import java.util.List; @@ -31,5 +33,18 @@ public interface LianLianService { LianLianPageResponse query_station_status(List StationIDs); + /** + * 查询统计信息 + * @param dto + * @return + */ StationStatsInfo query_station_stats(QueryStationInfoDTO dto); + + + /** + * 请求设备认证 + * @param dto + * @return + */ + EquipmentAuthVO query_equip_auth(QueryEquipmentDTO dto); } diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/impl/LianLianServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/impl/LianLianServiceImpl.java index cc4fd6706..c16df19ce 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/impl/LianLianServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/impl/LianLianServiceImpl.java @@ -5,6 +5,7 @@ import com.github.pagehelper.PageInfo; import com.google.common.collect.Lists; import com.jsowell.common.core.domain.ykc.RealTimeMonitorData; import com.jsowell.common.enums.ykc.PileConnectorDataBaseStatusEnum; +import com.jsowell.common.exception.BusinessException; import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.PageUtils; import com.jsowell.common.util.StringUtils; @@ -12,6 +13,7 @@ import com.jsowell.pile.domain.OrderBasicInfo; import com.jsowell.pile.domain.PileBasicInfo; import com.jsowell.pile.domain.PileConnectorInfo; import com.jsowell.pile.domain.PileStationInfo; +import com.jsowell.pile.dto.QueryEquipmentDTO; import com.jsowell.pile.dto.QueryStationInfoDTO; import com.jsowell.pile.service.IOrderBasicInfoService; import com.jsowell.pile.service.IPileBasicInfoService; @@ -22,6 +24,7 @@ import com.jsowell.pile.service.IPileStationInfoService; import com.jsowell.pile.vo.base.ConnectorInfoVO; import com.jsowell.pile.vo.base.MerchantInfoVO; import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO; +import com.jsowell.pile.vo.web.PileConnectorInfoVO; import com.jsowell.pile.vo.web.PileModelInfoVO; import com.jsowell.thirdparty.domain.ConnectorChargeStatusInfo; import com.jsowell.thirdparty.domain.ConnectorInfo; @@ -34,6 +37,7 @@ import com.jsowell.thirdparty.domain.StationInfo; import com.jsowell.thirdparty.domain.StationStatsInfo; import com.jsowell.thirdparty.domain.StationStatusInfo; import com.jsowell.thirdparty.service.LianLianService; +import com.jsowell.thirdparty.vo.EquipmentAuthVO; import com.jsowell.thirdparty.vo.LianLianPageResponse; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -221,7 +225,7 @@ public class LianLianServiceImpl implements LianLianService { } /** - * TODO 查询统计信息 + * 查询统计信息 * @param dto * @return */ @@ -305,6 +309,49 @@ public class LianLianServiceImpl implements LianLianService { return stationStatsInfo; } + /** + * 请求设备认证 + * @param dto + * @return + */ + @Override + public EquipmentAuthVO query_equip_auth(QueryEquipmentDTO dto) { + EquipmentAuthVO vo = new EquipmentAuthVO(); + + String equipAuthSeq = dto.getEquipAuthSeq(); + String pileConnectorCode = dto.getConnectorID(); + // 通过运营商id + 枪口编码查询数据 + String merchantId = StringUtils.substring(equipAuthSeq, 0, 9); + String pileSn = StringUtils.substring(pileConnectorCode, 0, 14); + // 能查到为成功 + vo.setSuccStat(1); // 1-失败 0-成功 + PileBasicInfo pileBasicInfo = pileBasicInfoService.selectPileBasicInfoBySN(pileSn); + if (pileBasicInfo == null) { + vo.setFailReason(2); // 设备检测失败 + vo.setFailReasonMsg("未查到该桩的数据"); + throw new BusinessException("", ""); + } + if (pileBasicInfo.getMerchantId() == Long.parseLong(merchantId)) { + vo.setSuccStat(0); + // 查询当前数据 + PileConnectorInfoVO connectorInfo = pileConnectorInfoService.getPileConnectorInfoByConnectorCode(pileConnectorCode); + if (StringUtils.equals(PileConnectorDataBaseStatusEnum.OCCUPIED_NOT_CHARGED.getValue(), String.valueOf(connectorInfo.getStatus())) + || StringUtils.equals(PileConnectorDataBaseStatusEnum.OCCUPIED_CHARGING.getValue(), String.valueOf(connectorInfo.getStatus())) + || StringUtils.equals(PileConnectorDataBaseStatusEnum.OCCUPIED_APPOINTMENT_LOCK.getValue(), String.valueOf(connectorInfo.getStatus())) + ) { + vo.setFailReason(0); + } else { + vo.setFailReason(1); // 1- 此设备尚未插枪; + } + vo.setFailReasonMsg(""); + } + + vo.setEquipAuthSeq(equipAuthSeq); + vo.setConnectorID(pileConnectorCode); + + return vo; + } + /** * 获取桩列表信息 * @param pileStationInfo diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/vo/EquipmentAuthVO.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/vo/EquipmentAuthVO.java new file mode 100644 index 000000000..3ccb1e022 --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/vo/EquipmentAuthVO.java @@ -0,0 +1,52 @@ +package com.jsowell.thirdparty.vo; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 请求设备认证VO + * + * @author JS-ZZA + * @date 2023/4/19 9:57 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class EquipmentAuthVO { + + /** + * 设备认证流水号 + * 格式“运营商 ID+yyyyMMddHHmmss+4 位随机数” + */ + private String EquipAuthSeq; + + /** + * 充电设备接口编码 + */ + private String ConnectorID; + + /** + * 成功状态 + * 0:成功; + * 1:失败 + */ + private int SuccStat; + + /** + * 失败原因 + * 0:无; + * 1:此设备尚未插枪; + * 2:设备检测失败: + * 3~99:自定义 + */ + private int FailReason; + + /** + * 失败原因描述 + * 如果设备认证失败则必传,描述力求简单明了,用户一看即懂 + */ + private String FailReasonMsg; +}