From fb260eb68dc715113e77686c8a44caa21b7ce596 Mon Sep 17 00:00:00 2001 From: Lemon Date: Mon, 15 May 2023 10:30:16 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=81=94=E8=81=94=E5=B9=B3=E5=8F=B0?= =?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 | 5 +- .../test/java/SpringBootTestController.java | 69 +++-------- .../netty/handler/LoginRequestHandler.java | 1 - .../pile/dto/LianLianPushStationInfoDTO.java | 48 ++++++++ .../thirdparty/domain/ConnectorInfo.java | 5 +- .../thirdparty/domain/EquipmentInfo.java | 11 +- .../thirdparty/domain/StationInfo.java | 30 ++--- .../thirdparty/service/LianLianService.java | 12 +- .../service/impl/LianLianServiceImpl.java | 108 +++++++++++++----- 9 files changed, 178 insertions(+), 111 deletions(-) create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/dto/LianLianPushStationInfoDTO.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 673ac4fa0..a895dbccd 100644 --- a/jsowell-admin/src/main/java/com/jsowell/lianlian/LianLianController.java +++ b/jsowell-admin/src/main/java/com/jsowell/lianlian/LianLianController.java @@ -5,6 +5,7 @@ import com.jsowell.common.annotation.Anonymous; import com.jsowell.common.core.controller.BaseController; import com.jsowell.common.exception.BusinessException; import com.jsowell.common.response.RestApiResponse; +import com.jsowell.pile.dto.LianLianPushStationInfoDTO; import com.jsowell.pile.dto.QueryEquipmentDTO; import com.jsowell.pile.dto.QueryStartChargeDTO; import com.jsowell.pile.dto.QueryStationInfoDTO; @@ -33,11 +34,11 @@ public class LianLianController extends BaseController { @PostMapping("/pushStationInfo") - public RestApiResponse pushStationInfo(@RequestBody QueryStationInfoDTO dto) { + public RestApiResponse pushStationInfo(@RequestBody LianLianPushStationInfoDTO dto) { logger.info("推送联联平台充电站信息 params:{}", JSONObject.toJSONString(dto)); RestApiResponse response = null; try { - lianLianService.pushStationInfo(Long.parseLong(dto.getStationID())); + lianLianService.pushStationInfo(dto); response = new RestApiResponse<>(); }catch (BusinessException e) { logger.error("推送联联平台充电站信息 error",e); diff --git a/jsowell-admin/src/test/java/SpringBootTestController.java b/jsowell-admin/src/test/java/SpringBootTestController.java index a67e6a328..4ced984c4 100644 --- a/jsowell-admin/src/test/java/SpringBootTestController.java +++ b/jsowell-admin/src/test/java/SpringBootTestController.java @@ -159,66 +159,27 @@ public class SpringBootTestController { } @Test - public void testLianLian() throws Exception { - // Long stationId = 2L; - // // 通过id查询站点相关信息 - // PileStationInfo pileStationInfo = pileStationInfoService.selectPileStationInfoById(stationId); - // // 组装联联平台所需要的数据格式 - // StationInfo info = StationInfo.builder() - // .StationID(String.valueOf(stationId)) - // .OperatorID(Constants.OPERATORID_LIANLIAN) - // .EquipmentOwnerID(Constants.OPERATORID_LIANLIAN) - // .StationName(pileStationInfo.getStationName()) - // .IsAloneApply(Integer.valueOf(pileStationInfo.getAloneApply())) - // .IsPublicParkingLot(Integer.valueOf(pileStationInfo.getPublicParking())) - // .CountryCode(pileStationInfo.getCountryCode()) - // .AreaCode(pileStationInfo.getAreaCode()) - // .Address(pileStationInfo.getAddress()) - // .ServiceTel(pileStationInfo.getServiceTel()) - // .StationType(Integer.valueOf(pileStationInfo.getStationType())) - // .StationStatus(Integer.valueOf(pileStationInfo.getStationStatus())) - // .ParkNums(Integer.valueOf(pileStationInfo.getParkNums())) - // .StationLng(new BigDecimal(pileStationInfo.getStationLng())) - // .StationLat(new BigDecimal(pileStationInfo.getStationLat())) - // .Construction(Integer.valueOf(pileStationInfo.getConstruction())) - // .OpenAllDay(Integer.valueOf(pileStationInfo.getOpenAllDay())) - // // .MinElectricityPrice() - // // .ElectricityFee() - // // .ServiceFee() - // .ParkFree(Integer.valueOf(pileStationInfo.getParkFree())) - // // .ParkFee() - // .Payment(pileStationInfo.getPayment()) - // .SupportOrder(Integer.valueOf(pileStationInfo.getSupportOrder())) - // // .equipmentInfos() - // // .ParkFeeType() - // .ToiletFlag(Integer.valueOf(pileStationInfo.getToiletFlag())) - // .StoreFlag(Integer.valueOf(pileStationInfo.getStoreFlag())) - // .RestaurantFlag(Integer.valueOf(pileStationInfo.getRestaurantFlag())) - // .LoungeFlag(Integer.valueOf(pileStationInfo.getLoungeFlag())) - // .CanopyFlag(Integer.valueOf(pileStationInfo.getCanopyFlag())) - // .PrinterFlag(Integer.valueOf(pileStationInfo.getPrinterFlag())) - // .BarrierFlag(Integer.valueOf(pileStationInfo.getBarrierFlag())) - // .ParkingLockFlag(Integer.valueOf(pileStationInfo.getParkingLockFlag())) - // - // .build(); - - // List pileList = lianLianService.getPileList(pileStationInfo); - // if (CollectionUtils.isNotEmpty(pileList)) { - // info.setEquipmentInfos(pileList); // 充电设备信息列表 - // } - - String url = "http://testdataexchange.evchargeonline.com:82/shevcs/v1/" + "notification_stationInfo"; - JSONObject json = new JSONObject(); - json.put("OperatorID", "MA1JLFUU8"); - json.put("OperatorSecret", "Nh62XxllR5OjAzFj"); - // json.put("StationInfo", info); - + public void testLianLian(){ + // 获取令牌 LianLianGetTokenDTO dto = new LianLianGetTokenDTO(); dto.setOperatorId("987654321"); dto.setOperatorSecret("1234567890abcdef"); String token = lianLianService.getToken(dto); System.out.println("token:" + token); + + LianLianPushStationInfoDTO dto1 = LianLianPushStationInfoDTO.builder() + .OperatorID("987654321") + .DataSecret("1234567890abcdef") + .DataSecretIV("1234567890abcdef") + .SigSecret("1234567890abcdef") + .token(token) + .stationId(2L) + + .build(); + lianLianService.pushStationInfo(dto1); + + } diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/LoginRequestHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/LoginRequestHandler.java index 33817202b..674ea1a49 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/LoginRequestHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/LoginRequestHandler.java @@ -169,7 +169,6 @@ public class LoginRequestHandler extends AbstractHandler{ ProofreadTimeCommand command = ProofreadTimeCommand.builder().pileSn(pileSn).build(); ykcPushCommandService.pushProofreadTimeCommand(command); }); - // log.info("下面进行下发二维码 pileSn:{}, thread:{}", pileSn, Thread.currentThread().getName()); CompletableFuture.runAsync(() -> { try { diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/LianLianPushStationInfoDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/LianLianPushStationInfoDTO.java new file mode 100644 index 000000000..c969c6963 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/LianLianPushStationInfoDTO.java @@ -0,0 +1,48 @@ +package com.jsowell.pile.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 联联平台推送站点信息 + * + * @author JS-ZZA + * @date 2023/5/10 14:56 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class LianLianPushStationInfoDTO { + /** + * 运营商id + */ + private String OperatorID; + + /** + * 签名秘钥 + */ + private String SigSecret; + + /** + * 消息密钥 + */ + private String DataSecret; + + /** + * 消息密钥初始化向量 + */ + private String DataSecretIV; + + /** + * 令牌 + */ + private String token; + + /** + * 站点id + */ + private Long stationId; +} diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/ConnectorInfo.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/ConnectorInfo.java index e55f3258e..bec786cc9 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/ConnectorInfo.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/ConnectorInfo.java @@ -1,5 +1,6 @@ package com.jsowell.thirdparty.domain; +import com.alibaba.fastjson2.annotation.JSONField; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -24,7 +25,7 @@ public class ConnectorInfo { /** * 充电设备接口名称 N */ - private String ConnectorName; + // private String ConnectorName; /** * 充电设备接口类型 Y @@ -59,6 +60,6 @@ public class ConnectorInfo { * 车位号 N * 停车场车位编号 */ - private String ParkNo; + // private String ParkNo; } diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/EquipmentInfo.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/EquipmentInfo.java index 72f5f5e35..d9145b600 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/EquipmentInfo.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/EquipmentInfo.java @@ -1,5 +1,6 @@ package com.jsowell.thirdparty.domain; +import com.alibaba.fastjson2.annotation.JSONField; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -31,18 +32,18 @@ public class EquipmentInfo { * 设备型号 N * 由设备生厂商定义的设备型号 */ - private String EquipmentModel; + // private String EquipmentModel; /** * 设备名称 N */ - private String EquipmentName; + // private String EquipmentName; /** * 设备生产日期 N * YYYY-MM-DD */ - private String ProductionDate; + // private String ProductionDate; /** * 建设时间 Y @@ -86,13 +87,13 @@ public class EquipmentInfo { * 充电设备经度 N * GCJ-02坐标系 */ - private BigDecimal EquipmentLng; + // private BigDecimal EquipmentLng; /** * 充电设备纬度 N * GCJ-02坐标系 */ - private BigDecimal EquipmentLat; + // private BigDecimal EquipmentLat; /** * 是否支持VIN码识别(0-否;1-是) Y diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/StationInfo.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/StationInfo.java index 23b3a8562..0b311d067 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/StationInfo.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/StationInfo.java @@ -1,10 +1,12 @@ package com.jsowell.thirdparty.domain; +import com.alibaba.fastjson2.annotation.JSONField; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import org.apache.commons.lang3.builder.ToStringBuilder; import java.math.BigDecimal; import java.util.List; @@ -51,13 +53,13 @@ public class StationInfo { * 户号 N * 国网电费账单户号 */ - private String AccountNumber; + // private String AccountNumber; /** * 容量(单位KW) N * 独立电表申请的功率 */ - private BigDecimal Capacity; + // private BigDecimal Capacity; /** * 是否是公共停车场库 (0-否;1-是) Y @@ -69,7 +71,7 @@ public class StationInfo { * 停车场库编号 N * 公共停车场库编号 */ - private String ParkingLotNumber; + // private String ParkingLotNumber; /** * 充电站国家代码 Y @@ -92,7 +94,7 @@ public class StationInfo { * 站点电话 N * 能够联系场站工作人员进行协助的联系电话 */ - private String StationTel; + // private String StationTel; /** * 服务电话 Y @@ -147,7 +149,7 @@ public class StationInfo { * 站点引导 N * 描述性文字,用于引导车主找到充电车位 */ - private String SiteGuide; + // private String SiteGuide; /** * 建设场所 Y @@ -174,31 +176,31 @@ public class StationInfo { * 站点照片 N * 充电设备照片、充电车位照片、停车场入口照片 */ - private List Pictures; + // private List Pictures; /** * 使用车型描述 N * 描述该站点接受的车大小以及类型,如大巴、物流车、私家乘用车、出租车等 */ - private String MatchCars; + // private String MatchCars; /** * 车位楼层及数量描述 N * 车位楼层以及数量信息 */ - private String ParkInfo; + // private String ParkInfo; /** * 停车场产权方 N * 停车场产权人 */ - private String ParkOwner; + // private String ParkOwner; /** * 停车场管理方 N * 停车场管理人(如:XX 物业) */ - private String ParkManager; + // private String ParkManager; /** * 全天开放 Y @@ -210,7 +212,7 @@ public class StationInfo { * 营业时间 N * 营业时间描述,推荐格式:周一至周日00:00-24:00 */ - private String BusinessHours; + // private String BusinessHours; /** * 最低单价 Y @@ -240,7 +242,7 @@ public class StationInfo { * 停车费 N * 停车费率描述 */ - private String ParkFee; + // private String ParkFee; /** * 支付方式 Y @@ -258,13 +260,13 @@ public class StationInfo { * 备注 N * 其他备注信息 */ - private String Remark; + // private String Remark; /** * 充电设备信息列表 Y * 该充电站所有充电设备信息对象集合 */ - private List equipmentInfos; + private List EquipmentInfos; /** * 停车收费类型 Y 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 94a7860c7..8af4b5414 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,10 +1,7 @@ package com.jsowell.thirdparty.service; -import com.jsowell.pile.dto.LianLianGetTokenDTO; -import com.jsowell.pile.dto.QueryEquipmentDTO; -import com.jsowell.pile.dto.QueryStartChargeDTO; +import com.jsowell.pile.dto.*; import com.jsowell.thirdparty.domain.StationStatsInfo; -import com.jsowell.pile.dto.QueryStationInfoDTO; import com.jsowell.thirdparty.vo.*; import java.util.List; @@ -21,7 +18,7 @@ public interface LianLianService { * 根据充电站id,推送充电站信息 * @param stationId */ - void pushStationInfo(Long stationId) throws Exception; + void pushStationInfo(LianLianPushStationInfoDTO dto); /** * 联联平台获取充电站信息 @@ -75,5 +72,10 @@ public interface LianLianService { */ QueryStopChargeVO query_stop_charge(QueryStartChargeDTO dto); + /** + * 联联平台获取令牌 + * @param dto + * @return + */ String getToken(LianLianGetTokenDTO 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 a526b1f89..ea6b4c007 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 @@ -1,12 +1,15 @@ package com.jsowell.thirdparty.service.impl; import cn.hutool.core.util.PageUtil; +import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.github.pagehelper.PageInfo; import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.gson.Gson; import com.jsowell.common.constant.Constants; import com.jsowell.common.core.domain.ykc.RealTimeMonitorData; import com.jsowell.common.enums.ykc.OrderStatusEnum; @@ -22,10 +25,7 @@ import com.jsowell.netty.command.ykc.StartChargingCommand; import com.jsowell.netty.command.ykc.StopChargingCommand; import com.jsowell.netty.service.yunkuaichong.YKCPushCommandService; import com.jsowell.pile.domain.*; -import com.jsowell.pile.dto.LianLianGetTokenDTO; -import com.jsowell.pile.dto.QueryEquipmentDTO; -import com.jsowell.pile.dto.QueryStartChargeDTO; -import com.jsowell.pile.dto.QueryStationInfoDTO; +import com.jsowell.pile.dto.*; import com.jsowell.pile.service.IOrderBasicInfoService; import com.jsowell.pile.service.IPileBasicInfoService; import com.jsowell.pile.service.IPileConnectorInfoService; @@ -98,24 +98,30 @@ public class LianLianServiceImpl implements LianLianService { /** * 根据站点id推送站点信息 - * @param stationId + * @param dto */ @Override - public void pushStationInfo(Long stationId) throws Exception { + public void pushStationInfo(LianLianPushStationInfoDTO dto){ + // String OperatorID = "987654321"; + // String SigSecret = "1234567890abcdef"; // 签名秘钥 + // String DataSecret = "1234567890abcdef"; // 消息密钥 + // String DataSecretIV = "1234567890abcdef"; // 消息密钥初始化向量 + // String token = "c548f9276c1c4ea8b88b1f7b1eb7cf07"; //QueryToken类查询接口获取到的token + // 通过id查询站点相关信息 - PileStationInfo pileStationInfo = pileStationInfoService.selectPileStationInfoById(stationId); + PileStationInfo pileStationInfo = pileStationInfoService.selectPileStationInfoById(dto.getStationId()); // 组装联联平台所需要的数据格式 StationInfo info = StationInfo.builder() - .StationID(String.valueOf(stationId)) - .OperatorID(Constants.OPERATORID_LIANLIAN) - .EquipmentOwnerID(Constants.OPERATORID_LIANLIAN) + .StationID(String.valueOf(dto.getStationId())) + .OperatorID(dto.getOperatorID()) + .EquipmentOwnerID(dto.getOperatorID()) .StationName(pileStationInfo.getStationName()) .IsAloneApply(Integer.valueOf(pileStationInfo.getAloneApply())) .IsPublicParkingLot(Integer.valueOf(pileStationInfo.getPublicParking())) .CountryCode(pileStationInfo.getCountryCode()) - .AreaCode(pileStationInfo.getAreaCode()) + .AreaCode("310118") .Address(pileStationInfo.getAddress()) - .ServiceTel(pileStationInfo.getServiceTel()) + .ServiceTel(pileStationInfo.getStationTel()) .StationType(Integer.valueOf(pileStationInfo.getStationType())) .StationStatus(Integer.valueOf(pileStationInfo.getStationStatus())) .ParkNums(Integer.valueOf(pileStationInfo.getParkNums())) @@ -123,15 +129,15 @@ public class LianLianServiceImpl implements LianLianService { .StationLat(new BigDecimal(pileStationInfo.getStationLat())) .Construction(Integer.valueOf(pileStationInfo.getConstruction())) .OpenAllDay(Integer.valueOf(pileStationInfo.getOpenAllDay())) - // .MinElectricityPrice() - // .ElectricityFee() - // .ServiceFee() + .MinElectricityPrice(new BigDecimal("2")) + .ElectricityFee("2") + .ServiceFee("2") .ParkFree(Integer.valueOf(pileStationInfo.getParkFree())) - // .ParkFee() - .Payment(pileStationInfo.getPayment()) + // .ParkFee("2") + .Payment("线上") .SupportOrder(Integer.valueOf(pileStationInfo.getSupportOrder())) // .equipmentInfos() - // .ParkFeeType() + .ParkFeeType(0) .ToiletFlag(Integer.valueOf(pileStationInfo.getToiletFlag())) .StoreFlag(Integer.valueOf(pileStationInfo.getStoreFlag())) .RestaurantFlag(Integer.valueOf(pileStationInfo.getRestaurantFlag())) @@ -149,14 +155,60 @@ public class LianLianServiceImpl implements LianLianService { } // 调用联联平台接口 - String url = "http://dataexchange.evchargeonline.com:81/shevcs/v1/" + "notification_stationInfo"; + String url = "http://testdataexchange.evchargeonline.com:82/shevcs/v1/" + "notification_stationInfo"; - JSONObject jsonObject = new JSONObject(); - // Map map = new HashMap<>(); - jsonObject.put("StationInfo", info); - String s = HttpUtils.sendPost(url, jsonObject.toJSONString()); + // String jsonString = JSON.toJSONString(info); - System.out.println(s); + // Gson gson = new Gson(); + // String gsonString = gson.toJson(info); + + String jsonStr = JSONUtil.toJsonStr(info); + + // System.out.println("jsonString : " + jsonString); + // System.out.println("gsonString : " + gsonString); + System.out.println("jsonStr : " + jsonStr); + + JSONObject data = new JSONObject(); + data.put("StationInfo", jsonStr); + + String jsonString = JSONObject.toJSONString(data); + System.out.println("jsonString : " + jsonString); + + //加密 + byte[] encryptText = Cryptos.aesEncrypt(jsonString.getBytes(), + dto.getDataSecret().getBytes(), dto.getDataSecretIV().getBytes()); + String encryptData = Encodes.encodeBase64(encryptText); + System.out.println("加密数据:" + encryptData); + + Map params = Maps.newLinkedHashMap(); + params.put("OperatorID", dto.getOperatorID()); + params.put("Data", encryptData); + params.put("TimeStamp", "20230510145200"); + params.put("Seq", "001"); + String sign = GBSignUtils.sign(params, dto.getSigSecret()); + params.put("Sig", sign); + + String postData = JSON.toJSONString(params); + System.out.println("最终提交数据:" + postData); + + String hutoolRequest = HttpRequest.post(url).header("Authorization", "Bearer " + dto.getToken()).body(postData).execute().body(); + + System.out.println("接收到返回数据:" + hutoolRequest); + + Map map = (Map) JSON.parse(hutoolRequest); + + String rData = map.get("Data"); + + byte[] plainText = Cryptos.aesDecrypt(Encodes.decodeBase64(rData), + dto.getDataSecret().getBytes(), dto.getDataSecretIV().getBytes()); + String plainData = ""; + try { + plainData = new String(plainText, "UTF-8"); + } catch (Exception e) { + e.printStackTrace(); + } + + System.out.println("解密数据:" + plainData); } @@ -194,7 +246,7 @@ public class LianLianServiceImpl implements LianLianService { stationInfo.setCountryCode(pileStationInfo.getCountryCode()); stationInfo.setAreaCode(pileStationInfo.getAreaCode()); stationInfo.setAddress(pileStationInfo.getAddress()); - stationInfo.setServiceTel(pileStationInfo.getServiceTel()); + stationInfo.setServiceTel(pileStationInfo.getStationTel()); stationInfo.setStationType(Integer.valueOf(pileStationInfo.getStationType())); stationInfo.setParkNums(Integer.valueOf(pileStationInfo.getParkNums())); stationInfo.setStationLng(new BigDecimal(pileStationInfo.getStationLng())); @@ -645,14 +697,14 @@ public class LianLianServiceImpl implements LianLianService { equipmentInfo.setEquipmentID(pileSn); equipmentInfo.setManufacturerID(merchantInfo.getOrganizationCode()); - equipmentInfo.setConstructionTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, pileBasicInfo.getCreateTime())); + equipmentInfo.setConstructionTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, pileBasicInfo.getCreateTime())); PileModelInfoVO modelInfo = pileModelInfoService.getPileModelInfoByPileSn(pileSn); equipmentInfo.setEquipmentType(Integer.valueOf(modelInfo.getSpeedType())); // Map pileStatus = pileConnectorInfoService.getPileStatus(Lists.newArrayList(pileBasicInfo.getSn())); equipmentInfo.setEquipmentStatus(50); - equipmentInfo.setEquipmentPower(new BigDecimal(modelInfo.getRatedPower())); + equipmentInfo.setEquipmentPower(new BigDecimal(modelInfo.getRatedPower()).setScale(1, BigDecimal.ROUND_HALF_UP)); equipmentInfo.setNewNationalStandard(1); equipmentInfo.setVinFlag(1); @@ -686,7 +738,7 @@ public class LianLianServiceImpl implements LianLianService { connectorInfo.setVoltageUpperLimits(Integer.valueOf(modelInfo.getRatedVoltage())); connectorInfo.setVoltageLowerLimits(Integer.valueOf(modelInfo.getRatedVoltage())); connectorInfo.setCurrent(Integer.valueOf(modelInfo.getRatedCurrent())); - connectorInfo.setPower(new BigDecimal(modelInfo.getRatedPower())); + connectorInfo.setPower(new BigDecimal(modelInfo.getRatedPower()).setScale(1, BigDecimal.ROUND_HALF_UP)); resultList.add(connectorInfo); }