From a96ea5aafd629860c50dbfab27ba4be4d1a8c8a8 Mon Sep 17 00:00:00 2001 From: "YAS\\29473" <2947326429@qq.com> Date: Wed, 27 Nov 2024 10:49:08 +0800 Subject: [PATCH 01/10] update --- .../thirdparty/ThirdPlatformTypeEnum.java | 2 +- .../impl/GuiZhouPlatformServiceImpl.java | 155 +++++++++++++++++- 2 files changed, 154 insertions(+), 3 deletions(-) diff --git a/jsowell-common/src/main/java/com/jsowell/common/enums/thirdparty/ThirdPlatformTypeEnum.java b/jsowell-common/src/main/java/com/jsowell/common/enums/thirdparty/ThirdPlatformTypeEnum.java index ff74716db..7b03585d7 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/enums/thirdparty/ThirdPlatformTypeEnum.java +++ b/jsowell-common/src/main/java/com/jsowell/common/enums/thirdparty/ThirdPlatformTypeEnum.java @@ -26,7 +26,7 @@ public enum ThirdPlatformTypeEnum { ZHE_JIANG_PLATFORM("15", "浙江省平台", "002485048"), SU_ZHOU_PLATFORM("16", "苏州市平台", "MAC1MFJ1X"), GAN_SU_PLATFORM("17", "甘肃省平台", ""), - GUI_ZHOU_PLATFORM("18", "贵州省平台", ""), + GUI_ZHOU_PLATFORM("18", "贵州省平台", "009390404"), NAN_RUI_PLATFORM("19", "南瑞平台", ""), ; diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/GuiZhouPlatformServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/GuiZhouPlatformServiceImpl.java index bd7414d11..d36f198eb 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/GuiZhouPlatformServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/GuiZhouPlatformServiceImpl.java @@ -27,6 +27,7 @@ import com.jsowell.pile.service.*; import com.jsowell.pile.thirdparty.CommonParamsDTO; import com.jsowell.pile.thirdparty.EquipmentInfo; import com.jsowell.pile.util.MerchantUtils; +import com.jsowell.pile.vo.SupStationStatsVO; import com.jsowell.pile.vo.ThirdPartySecretInfoVO; import com.jsowell.pile.vo.base.ConnectorInfoVO; import com.jsowell.pile.vo.base.MerchantInfoVO; @@ -59,6 +60,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; import java.util.concurrent.TimeUnit; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -195,7 +197,7 @@ public class GuiZhouPlatformServiceImpl implements ThirdPartyPlatformService { /** * 查询充电站信息 query_stations_info - * supervise_query_operator_info + * supervise_query_stations_info * 此接口用于查询对接平台的充电站的信息 * * @param dto 查询站点信息dto @@ -686,6 +688,155 @@ public class GuiZhouPlatformServiceImpl implements ThirdPartyPlatformService { return result; } + /** + * 推送充换电站用能统计信息 supervise_notification_operation_stats_info + * + * @param stationId + * @throws UnsupportedOperationException 未实现异常 + */ + @Override + public String notificationOperationStatsInfo(String stationId) { + SupStationStatsInfo. + EquipmentStatsInfo equipmentStatsInfo = new SupStationStatsInfo.EquipmentStatsInfo(); + List equipmentStatsInfoList = new ArrayList<>(); + + SupStationStatsInfo. + EquipmentStatsInfo. + ConnectorStatsInfo connectorStatsInfo = null; + List connectorStatsInfoList = new ArrayList<>(); + + // 根据站点id查询订单记录 (新建Service方法) + List orderVOS = orderBasicInfoService.queryOrderListByStationId(stationId); + // 根据订单信息汇总出站点充电数据 + BigDecimal stationTotalElectricity = BigDecimal.ZERO; // 充电站累计用电量 + int stationChargeTime = Constants.zero; // 充电站累计充电次数 + for (SupStationStatsVO orderVO : orderVOS) { + // 充电站累计用电量 + BigDecimal totalPower = orderVO.getTotalPower(); + if (totalPower == null || orderVO.getChargingTime() == null) { + continue; + } + stationTotalElectricity = stationTotalElectricity.add(totalPower); + // 充电站累计充电时长(分钟) + stationChargeTime += orderVO.getChargingTime(); + } + + // 根据枪口排序,分组,将充电时长和充电量累加 + Map collect = orderVOS.stream() + .sorted(Comparator.comparing(SupStationStatsVO::getPileConnectorCode)) + .filter(vo -> vo.getChargingTime() != null && vo.getTotalPower() != null) + .collect(Collectors.toMap(SupStationStatsVO::getPileConnectorCode, Function.identity(), + (a, b) -> { + a.setChargingTime(a.getChargingTime() + b.getChargingTime()); + a.setTotalPower(a.getTotalPower().add(b.getTotalPower())); + return a; + })); + TreeMap sortedMap = new TreeMap<>(collect); + + // 初始化相关数据 + String pileSn = ""; + BigDecimal pileTotalPower = BigDecimal.ZERO; + int pileChargeTime = Constants.zero; + // key : pileConnectorCode + // value: SupStationStatsVO + for (Map.Entry entry : sortedMap.entrySet()) { + + String pileConnectorCode = entry.getKey(); + SupStationStatsVO vo = entry.getValue(); + + connectorStatsInfo = new SupStationStatsInfo.EquipmentStatsInfo.ConnectorStatsInfo(); + + // 先封装枪口数据 + connectorStatsInfo.setConnectorId(pileConnectorCode); + + connectorStatsInfo.setEquipmentClassification(1); + connectorStatsInfo.setConnectorElectricity(vo.getTotalPower()); + connectorStatsInfo.setConnectorTotalChargeTime(vo.getChargingTime()); + // TODO connectorStatsInfo.setConnectorTotalChargeNum(); + connectorStatsInfo.setConnectorTotalWarningNum(0); + + // 对比这次循环到的桩编号和上次的桩编号,如果是同一台桩,将数据进行汇总,如果不是,新建桩数据,并将之前的累计数据清0 + String newPileSn = vo.getPileSn(); + if (!StringUtils.equals(pileSn, newPileSn)) { + pileSn = newPileSn; + pileTotalPower = BigDecimal.ZERO; + pileChargeTime = Constants.zero; + + equipmentStatsInfo = new SupStationStatsInfo.EquipmentStatsInfo(); + connectorStatsInfoList = new ArrayList<>(); + + equipmentStatsInfo.setEquipmentId(pileSn); + equipmentStatsInfo.setEquipmentClassification(1); + equipmentStatsInfo.setEquipmentElectricity(vo.getTotalPower()); + equipmentStatsInfo.setEquipmentTotalChargeTime(vo.getChargingTime()); + // TODO equipmentStatsInfo.setEquipmentTotalChargeNum(); + + pileTotalPower = pileTotalPower.add(vo.getTotalPower()); + pileChargeTime += vo.getChargingTime(); + + connectorStatsInfoList.add(connectorStatsInfo); + equipmentStatsInfo.setConnectorStatsInfos(connectorStatsInfoList); + equipmentStatsInfoList.add(equipmentStatsInfo); + } else { + // 同一台桩,枪口号不同,累加桩数据,将枪口数据新建 + + pileTotalPower = pileTotalPower.add(vo.getTotalPower()); + pileChargeTime += vo.getChargingTime(); + + equipmentStatsInfo.setEquipmentElectricity(pileTotalPower); // 第一次判断时一定不会进入到这里,所以不用判断 equipmentStatsInfo 是否为 null + equipmentStatsInfo.setEquipmentTotalChargeTime(pileChargeTime); + + connectorStatsInfoList.add(connectorStatsInfo); + equipmentStatsInfo.setConnectorStatsInfos(connectorStatsInfoList); + equipmentStatsInfoList.add(equipmentStatsInfo); + } + + } + + // 创建对象 + String startTime = DateUtils.getYesterdayStr() + " 00:00:00"; + String endTime = DateUtils.getYesterdayStr() + " 23:59:59"; + SupStationStatsInfo supStationStatsInfo = SupStationStatsInfo.builder() + .stationId(stationId) + .operatorId(Constants.OPERATORID_JIANG_SU) + // .equipmentOwnerId(orderVOS.get(0).getOrganizationCode()) + .stationClassification(1) + .startTime(startTime) + .endTime(endTime) + .stationElectricity(stationTotalElectricity) + .stationTotalChargeEnergy(stationTotalElectricity) + .stationTotalChargeNum(orderVOS.size()) + .stationTotalChargeTime(stationChargeTime) + .stationTotalWarningNum(0) + .equipmentStatsInfos(equipmentStatsInfoList) + + .build(); + JSONObject json = new JSONObject(); + json.put("StationStatsInfos", supStationStatsInfo); + String jsonString = JSON.toJSONString(json); + // 发送推送请求 + ThirdPartySecretInfoVO guiZhouPlatformSecretInfo = getGuiZhouPlatformSecretInfo(); + + String operatorId = guiZhouPlatformSecretInfo.getOurOperatorId(); + String operatorSecret = guiZhouPlatformSecretInfo.getTheirOperatorSecret(); + String signSecret = guiZhouPlatformSecretInfo.getTheirSigSecret(); + String dataSecret = guiZhouPlatformSecretInfo.getTheirDataSecret(); + String dataSecretIv = guiZhouPlatformSecretInfo.getTheirDataSecretIv(); + String urlAddress = guiZhouPlatformSecretInfo.getTheirUrlPrefix(); + String url = urlAddress + "supervise_notification_operation_stats_info"; + // 获取令牌 + String token = getToken(urlAddress, operatorId, operatorSecret, dataSecretIv, signSecret, dataSecret); + if (StringUtils.isBlank(token)) { + return null; + } + // 调用平台接口 + String result = HttpRequestUtil.sendPost(token, jsonString, url, dataSecret, dataSecretIv, operatorId, signSecret); + return result; + } + /** * 推送充换电站实时功率 supervise_notification_realtime_power_info * @@ -802,7 +953,7 @@ public class GuiZhouPlatformServiceImpl implements ThirdPartyPlatformService { private ThirdPartySecretInfoVO getGuiZhouPlatformSecretInfo() { String thirdPartyType = ThirdPlatformTypeEnum.GUI_ZHOU_PLATFORM.getTypeCode(); // 通过第三方平台类型查询相关配置信息 - ThirdPartySecretInfoVO thirdPartySecretInfoVO = thirdpartySecretInfoService.queryByThirdPlatformType(ThirdPlatformTypeEnum.GUI_ZHOU_PLATFORM.getTypeCode()); + ThirdPartySecretInfoVO thirdPartySecretInfoVO = thirdpartySecretInfoService.queryByThirdPlatformType(thirdPartyType); if (thirdPartySecretInfoVO == null) { throw new BusinessException(ReturnCodeEnum.CODE_SELECT_INFO_IS_NULL); } From 3821d0506d92a971cb3c234a6fc3cdc80f428cb5 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Thu, 28 Nov 2024 15:35:48 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E6=96=B0=E5=A2=9Eredis=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/java/SpringBootTestController.java | 53 ++++++++++++++++++- .../jsowell/common/core/redis/RedisCache.java | 14 ++++- 2 files changed, 64 insertions(+), 3 deletions(-) diff --git a/jsowell-admin/src/test/java/SpringBootTestController.java b/jsowell-admin/src/test/java/SpringBootTestController.java index 27ce2fa2c..fd2e7047f 100644 --- a/jsowell-admin/src/test/java/SpringBootTestController.java +++ b/jsowell-admin/src/test/java/SpringBootTestController.java @@ -28,6 +28,7 @@ import com.jsowell.adapay.vo.DrawCashDetailVO; import com.jsowell.adapay.vo.PaymentInfo; import com.jsowell.common.constant.CacheConstants; import com.jsowell.common.constant.Constants; +import com.jsowell.common.constant.RabbitConstants; import com.jsowell.common.core.domain.entity.SysDictData; import com.jsowell.common.core.domain.ykc.LoginRequestData; import com.jsowell.common.core.domain.ykc.TransactionRecordsData; @@ -91,6 +92,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.test.context.SpringBootTest; @@ -270,10 +272,13 @@ public class SpringBootTestController { private CarCouponRecordService carCouponRecordService; @Autowired + private RabbitTemplate rabbitTemplate; + @Qualifier("zhongDianLianPlatformServiceImpl") private ThirdPartyPlatformService platformLogic; - @Test + + public void saveSOCTest() { String transactionCode = "12345"; YKCUtils.saveSOC(transactionCode, "4"); @@ -324,6 +329,43 @@ public class SpringBootTestController { Map pileStatusV2 = pileConnectorInfoService.getPileStatusV2(pileSnList); } + @Test + public void sendRabbitMqTest() { + OrderBasicInfo orderBasicInfo = OrderBasicInfo.builder() + .orderCode("C123456789") + .merchantId("1") + .stationId("2") + .payAmount(new BigDecimal(100)) + .orderAmount(new BigDecimal(100)) + .settleAmount(new BigDecimal(100)) + .refundAmount(new BigDecimal(0)) + .build(); + OrderDetail orderDetail = OrderDetail.builder() + .totalElectricityAmount(new BigDecimal(50)) + .discountElectricityAmount(new BigDecimal(0)) + .totalServiceAmount(new BigDecimal(50)) + .discountElectricityAmount(new BigDecimal(0)) + .build(); + + AfterSettleOrderDTO afterSettleOrderDTO = AfterSettleOrderDTO.builder() + .orderCode(orderBasicInfo.getOrderCode()) + .merchantId(orderBasicInfo.getMerchantId()) + .stationId(orderBasicInfo.getStationId()) + .orderPayAmount(orderBasicInfo.getPayAmount()) + .orderConsumeAmount(orderBasicInfo.getOrderAmount()) + .orderSettleAmount(orderBasicInfo.getSettleAmount()) + .orderElectricityAmount(orderDetail.getTotalElectricityAmount()) + .orderElectricityDiscountAmount(orderDetail.getDiscountElectricityAmount()) + .orderServiceAmount(orderDetail.getTotalServiceAmount()) + .orderServiceDiscountAmount(orderDetail.getDiscountServiceAmount()) + .orderRefundAmount(orderBasicInfo.getRefundAmount()) + .build(); + + for (int i = 0; i < 10; i++) { + rabbitTemplate.convertAndSend(RabbitConstants.YKC_EXCHANGE_NAME, RabbitConstants.QUEUE_CHARGE_ORDER_DATA, afterSettleOrderDTO); + } + } + @Test public void getEBikePileSnTest() { List strings = pileSnGenerateService.generateEBikeSN(8); @@ -3843,4 +3885,13 @@ public class SpringBootTestController { System.out.println(StringUtils.equals(encryptData2, str)); } + @Test + public void addPileMsgTest() { + String redisKey = "pile_msg_list:" + "88000000000002"; + for (int i = 0; i < 30; i++) { + redisCache.addPileMsg(redisKey, "充电桩报文第" + i + "条") ; + } + System.out.println(redisCache.getCacheList(redisKey)); + } + } diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/redis/RedisCache.java b/jsowell-common/src/main/java/com/jsowell/common/core/redis/RedisCache.java index 2af1cd5d0..bb68aec62 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/core/redis/RedisCache.java +++ b/jsowell-common/src/main/java/com/jsowell/common/core/redis/RedisCache.java @@ -1,7 +1,6 @@ package com.jsowell.common.core.redis; import com.jsowell.common.util.StringUtils; -import org.apache.poi.ss.formula.functions.T; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -27,7 +26,7 @@ public class RedisCache { public RedisTemplate redisTemplate; // redis锁获取超时时间 - private long timeout = 500l; + private long timeout = 500L; /** * 缓存基本的对象,Integer、String、实体类等 @@ -593,4 +592,15 @@ public class RedisCache { return redisTemplate.opsForHash().increment(key, item, -by); } + /** + * 添加充电桩消息到redis + */ + public void addPileMsg(String redisKey, String newData) { + // 执行左推操作 + redisTemplate.opsForList().leftPush(redisKey, newData); + + // 执行修剪操作,限制列表的最大长度为10 + redisTemplate.opsForList().trim(redisKey, 0, 9); + } + } From ee84a042b81897f144ec3baaf26cdf1c62c6158b Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Thu, 28 Nov 2024 15:37:45 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E6=96=B0=E5=A2=9Eredis=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jsowell-admin/src/test/java/SpringBootTestController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jsowell-admin/src/test/java/SpringBootTestController.java b/jsowell-admin/src/test/java/SpringBootTestController.java index fd2e7047f..e37ea13ac 100644 --- a/jsowell-admin/src/test/java/SpringBootTestController.java +++ b/jsowell-admin/src/test/java/SpringBootTestController.java @@ -278,7 +278,7 @@ public class SpringBootTestController { private ThirdPartyPlatformService platformLogic; - + @Test public void saveSOCTest() { String transactionCode = "12345"; YKCUtils.saveSOC(transactionCode, "4"); From ed7be79f9d8718131438c77cede566803f27e65b Mon Sep 17 00:00:00 2001 From: "YAS\\29473" <2947326429@qq.com> Date: Fri, 29 Nov 2024 08:20:24 +0800 Subject: [PATCH 04/10] update --- .../pile/service/impl/PileBasicInfoServiceImpl.java | 2 ++ .../com/jsowell/pile/thirdparty/ConnectorInfo.java | 11 +++++++++++ .../com/jsowell/pile/thirdparty/EquipmentInfo.java | 3 ++- .../service/impl/GuiZhouPlatformServiceImpl.java | 7 +++++++ 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java index ed185e640..fb50aea81 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java @@ -1114,6 +1114,7 @@ public class PileBasicInfoServiceImpl implements PileBasicInfoService { equipmentInfo.setManufacturerID(Constants.OPERATORID_LIANLIAN); equipmentInfo.setManufacturerName(Constants.MANUFACTURER_NAME); equipmentInfo.setConstructionTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, pileBasicInfo.getCreateTime())); + equipmentInfo.setProductionDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, pileBasicInfo.getCreateTime())); PileModelInfoVO modelInfo = pileModelInfoService.getPileModelInfoByPileSn(pileSn); equipmentInfo.setEquipmentType(Integer.valueOf(modelInfo.getSpeedType())); @@ -1211,6 +1212,7 @@ public class PileBasicInfoServiceImpl implements PileBasicInfoService { connectorInfo.setCurrent(Integer.valueOf(modelInfo.getRatedCurrent())); connectorInfo.setConnectorName(pileConnectorInfo.getPileConnectorCode()); connectorInfo.setOperateStatus(50); // 50-正常使用 + connectorInfo.setOpreateStatus(50); // 50-正常使用 connectorInfo.setNationalStandard(2); // 2-2015 connectorInfo.setAuxPower(3); // 3-兼容12V和24V diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/thirdparty/ConnectorInfo.java b/jsowell-pile/src/main/java/com/jsowell/pile/thirdparty/ConnectorInfo.java index 7f2edf0bc..1b021e141 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/thirdparty/ConnectorInfo.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/thirdparty/ConnectorInfo.java @@ -82,6 +82,17 @@ public class ConnectorInfo { @JSONField(name = "OperateStatus") private Integer operateStatus; + /** + * 运营状态 + * 0-未知 + * 1-建设中 + * 5-关闭下线 + * 6-维护中 + * 50-正常使用 + */ + @JSONField(name = "OpreateStatus") + private Integer opreateStatus; + /** * 国家标准 */ diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/thirdparty/EquipmentInfo.java b/jsowell-pile/src/main/java/com/jsowell/pile/thirdparty/EquipmentInfo.java index f1cc24ad5..35ae8fffa 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/thirdparty/EquipmentInfo.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/thirdparty/EquipmentInfo.java @@ -53,7 +53,8 @@ public class EquipmentInfo { * 设备生产日期 N * YYYY-MM-DD */ - // private String ProductionDate; + @JSONField(name = "ProductionDate") + private String productionDate; /** * 建设时间 Y diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/GuiZhouPlatformServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/GuiZhouPlatformServiceImpl.java index d36f198eb..5434ccc6e 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/GuiZhouPlatformServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/GuiZhouPlatformServiceImpl.java @@ -25,6 +25,7 @@ import com.jsowell.pile.dto.QueryOperatorInfoDTO; import com.jsowell.pile.dto.QueryStationInfoDTO; import com.jsowell.pile.service.*; import com.jsowell.pile.thirdparty.CommonParamsDTO; +import com.jsowell.pile.thirdparty.ConnectorInfo; import com.jsowell.pile.thirdparty.EquipmentInfo; import com.jsowell.pile.util.MerchantUtils; import com.jsowell.pile.vo.SupStationStatsVO; @@ -35,6 +36,7 @@ import com.jsowell.pile.vo.base.ThirdPartyStationInfoVO; import com.jsowell.pile.vo.uniapp.customer.BillingPriceVO; import com.jsowell.pile.vo.web.PileConnectorInfoVO; import com.jsowell.pile.vo.web.PileMerchantInfoVO; +import com.jsowell.pile.vo.web.PileModelInfoVO; import com.jsowell.pile.vo.web.PileStationVO; import com.jsowell.thirdparty.lianlian.domain.ConnectorChargeStatusInfo; import com.jsowell.thirdparty.lianlian.domain.ConnectorStatusInfo; @@ -87,6 +89,8 @@ public class GuiZhouPlatformServiceImpl implements ThirdPartyPlatformService { @Autowired private OrderBasicInfoService orderBasicInfoService; @Autowired + private PileModelInfoService pileModelInfoService; + @Autowired private PileBillingTemplateService pileBillingTemplateService; @Autowired private RedisCache redisCache; @@ -238,6 +242,7 @@ public class GuiZhouPlatformServiceImpl implements ThirdPartyPlatformService { stationInfo.setStationLat(new BigDecimal(pileStationInfo.getStationLat())); stationInfo.setConstruction(Integer.valueOf(pileStationInfo.getConstruction())); stationInfo.setOpenAllDay(Integer.valueOf(pileStationInfo.getOpenAllDay())); + stationInfo.setPeriodFee(1); // stationInfo.setMinElectricityPrice(pileStationInfo); // 最低充电电费率 // stationInfo.setElectricityFee(); // 电费 xx元/度 // stationInfo.setServiceFee(); // 服务费 xx元/度 @@ -245,6 +250,7 @@ public class GuiZhouPlatformServiceImpl implements ThirdPartyPlatformService { stationInfo.setPayment(pileStationInfo.getPayment()); stationInfo.setSupportOrder(Integer.valueOf(pileStationInfo.getSupportOrder())); // stationInfo.setParkFeeType(pileStationInfo); // 停车收费类型 + stationInfo.setBusinessExpandType(Integer.parseInt(pileStationInfo.getAloneApply())); stationInfo.setToiletFlag(Integer.valueOf(pileStationInfo.getToiletFlag())); stationInfo.setStoreFlag(Integer.valueOf(pileStationInfo.getStoreFlag())); stationInfo.setRestaurantFlag(Integer.valueOf(pileStationInfo.getRestaurantFlag())); @@ -310,6 +316,7 @@ public class GuiZhouPlatformServiceImpl implements ThirdPartyPlatformService { .parkFree(Integer.valueOf(pileStationInfo.getParkFree())) .supportOrder(Integer.valueOf(pileStationInfo.getSupportOrder())) .parkFeeType(0) + .periodFee(1) // 峰谷分时 0-否;1-是 .toiletFlag(Integer.valueOf(pileStationInfo.getToiletFlag())) .storeFlag(Integer.valueOf(pileStationInfo.getStoreFlag())) .restaurantFlag(Integer.valueOf(pileStationInfo.getRestaurantFlag())) From e308df98229f65544a4b3d57f186d651d947e5f8 Mon Sep 17 00:00:00 2001 From: "YAS\\29473" <2947326429@qq.com> Date: Fri, 29 Nov 2024 09:12:52 +0800 Subject: [PATCH 05/10] update --- .../platform/service/impl/GuiZhouPlatformServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/GuiZhouPlatformServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/GuiZhouPlatformServiceImpl.java index 5434ccc6e..559c48e5f 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/GuiZhouPlatformServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/GuiZhouPlatformServiceImpl.java @@ -548,6 +548,7 @@ public class GuiZhouPlatformServiceImpl implements ThirdPartyPlatformService { .connectorID(orderInfo.getPileConnectorCode()) .orderNo(orderInfo.getOrderCode()) .orderStatus(2) + .equipmentClassification(1) .pushTimeStamp(dateTime) .connectorStatus(info.getStatus()) // 3-充电中 .currentA(current.setScale(1, BigDecimal.ROUND_HALF_UP)) From 566decc6b6a28e72275e4bcccd7ab9099617461e Mon Sep 17 00:00:00 2001 From: "YAS\\29473" <2947326429@qq.com> Date: Fri, 29 Nov 2024 09:23:34 +0800 Subject: [PATCH 06/10] update --- .../thirdparty/platform/domain/SupStationInfo.java | 8 ++++++++ .../platform/service/impl/GuiZhouPlatformServiceImpl.java | 1 + 2 files changed, 9 insertions(+) diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/domain/SupStationInfo.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/domain/SupStationInfo.java index b42624455..0246ddf00 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/domain/SupStationInfo.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/domain/SupStationInfo.java @@ -24,6 +24,14 @@ public class SupStationInfo extends StationInfo { @JSONField(name = "StationUniqueNumber") private String stationUniqueNumber; + /** + * 设备接口分类 + * 1:车辆充电设备接口 + * 2:换电站内的电池箱充电设备接口 + */ + @JSONField(name = "EquipmentClassification") + private Integer equipmentClassification; + /** * 充换电站所在县以下行政区划代码 * 填写内容为12位行政区划代码,1-6位为县及以上行政区划代码,7-12位为县以下区划代码; diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/GuiZhouPlatformServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/GuiZhouPlatformServiceImpl.java index 559c48e5f..1f901e328 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/GuiZhouPlatformServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/GuiZhouPlatformServiceImpl.java @@ -317,6 +317,7 @@ public class GuiZhouPlatformServiceImpl implements ThirdPartyPlatformService { .supportOrder(Integer.valueOf(pileStationInfo.getSupportOrder())) .parkFeeType(0) .periodFee(1) // 峰谷分时 0-否;1-是 + .equipmentClassification(1) .toiletFlag(Integer.valueOf(pileStationInfo.getToiletFlag())) .storeFlag(Integer.valueOf(pileStationInfo.getStoreFlag())) .restaurantFlag(Integer.valueOf(pileStationInfo.getRestaurantFlag())) From 8f650843e3ae618b90d0ff21722669469b1b40c0 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Fri, 29 Nov 2024 09:50:32 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E4=BC=98=E5=8C=96=20=E5=85=B3=E9=97=AD15?= =?UTF-8?q?=E5=88=86=E9=92=9F=E6=9C=AA=E6=94=AF=E4=BB=98=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/pile/mapper/OrderBasicInfoMapper.java | 2 ++ .../service/impl/OrderBasicInfoServiceImpl.java | 6 +++--- .../resources/mapper/pile/OrderBasicInfoMapper.xml | 13 ++++++++++++- 3 files changed, 17 insertions(+), 4 deletions(-) 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 6f6e22b5c..f14c18d07 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 @@ -231,6 +231,8 @@ public interface OrderBasicInfoMapper { */ List getUnpaidOrderListOver15Min(@Param("createTime") String createTime); + List getUnpaidOrderList(@Param("startTime") String startTime, @Param("endTime") String endTime); + /** * 根据orderId批量修改订单状态 * 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 129101a83..20c1b30c8 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 @@ -2098,9 +2098,9 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { */ @Override public List getUnpaidOrderListOver15Min() { - Date now = DateUtils.addMinute(new Date(), -15); - String nowString = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, now); - List list = orderBasicInfoMapper.getUnpaidOrderListOver15Min(nowString); + String startString = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, new Date()); + String endString = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.addMinute(new Date(), -15)); + List list = orderBasicInfoMapper.getUnpaidOrderList(startString, endString); return CollectionUtils.isNotEmpty(list) ? list : Lists.newArrayList(); } diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml index e598b48fb..2e7defa3d 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml @@ -2464,7 +2464,18 @@ where del_flag = '0' and order_status = '0' and pay_status = '0' - and create_time #{createTime,jdbcType=VARCHAR} + + and create_time between date_sub(#{createTime,jdbcType=VARCHAR}, interval 15 minute) and #{createTime,jdbcType=VARCHAR} + + +