mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 11:35:12 +08:00
Merge branch 'dev' of http://192.168.2.2:8099/jsowell/jsowell-charger-web into dev
This commit is contained in:
@@ -21,6 +21,7 @@ import com.jsowell.pile.domain.PileBasicInfo;
|
||||
import com.jsowell.pile.domain.ThirdPartyStationRelation;
|
||||
import com.jsowell.pile.domain.ThirdpartyParkingConfig;
|
||||
import com.jsowell.pile.dto.PushStationInfoDTO;
|
||||
import com.jsowell.pile.dto.ThirdPartyCommonStartChargeDTO;
|
||||
import com.jsowell.pile.dto.huawei.HWQueryStartChargeDTO;
|
||||
import com.jsowell.pile.dto.lutongyunting.BindCouponDTO;
|
||||
import com.jsowell.pile.dto.ruanjie.UseCouponDTO;
|
||||
@@ -501,36 +502,41 @@ public class CommonService {
|
||||
|
||||
/**
|
||||
* 统一请求启动充电,目前给华为平台用
|
||||
* @param thirdPartyType
|
||||
* @param stationIds
|
||||
* @param pileConnectorCode
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
public String commonQueryStartCharge(String thirdPartyType, List<String> stationIds, String pileConnectorCode, BigDecimal chargeAmount, String payMode) {
|
||||
public String commonQueryStartCharge(ThirdPartyCommonStartChargeDTO dto) {
|
||||
String thirdPartyType = dto.getThirdPartyType();
|
||||
List<String> stationIds = dto.getStationIds();
|
||||
String pileConnectorCode = dto.getPileConnectorCode();
|
||||
BigDecimal chargeAmount = dto.getChargeAmount();
|
||||
String payMode = dto.getPayMode();
|
||||
|
||||
// 判断平台类型
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.HUA_WEI.getCode(), thirdPartyType)) {
|
||||
// 华为平台
|
||||
String label = ThirdPlatformTypeEnum.getLabelByCode(thirdPartyType);
|
||||
// query_station_status 查询站点枪口详情
|
||||
Map<String, String> map = huaweiServiceV2.queryStationStatus(stationIds);
|
||||
String status = map.get(pileConnectorCode);
|
||||
// 判断枪口状态
|
||||
if (!StringUtils.equals(PileConnectorDataBaseStatusEnum.OCCUPIED_NOT_CHARGED.getValue(), status)) {
|
||||
log.error(thirdPartyType + "判断枪口状态 error, 枪口状态为:{}", status);
|
||||
log.error(label + "判断枪口状态 error, 枪口状态为:{}", status);
|
||||
}
|
||||
// query_equip_auth 请求设备认证
|
||||
QueryEquipAuthVO vo = huaweiServiceV2.queryEquipAuth(pileConnectorCode);
|
||||
Integer succStat = vo.getSuccStat();
|
||||
if (succStat != Constants.zero) {
|
||||
log.error(thirdPartyType + "请求设备认证 error, {}", vo.getFailReason());
|
||||
log.error(label + "请求设备认证 error, {}", vo.getFailReason());
|
||||
}
|
||||
// query_start_charge 请求启动充电
|
||||
HWQueryStartChargeDTO dto = new HWQueryStartChargeDTO();
|
||||
dto.setConnectorID(pileConnectorCode);
|
||||
dto.setMoneyLimit(chargeAmount);
|
||||
dto.setPayMode(payMode);
|
||||
QueryStartChargeVO startChargeVO = huaweiServiceV2.queryStartCharge(dto);
|
||||
HWQueryStartChargeDTO chargeDTO = new HWQueryStartChargeDTO();
|
||||
chargeDTO.setConnectorID(pileConnectorCode);
|
||||
chargeDTO.setMoneyLimit(chargeAmount);
|
||||
chargeDTO.setPayMode(payMode);
|
||||
QueryStartChargeVO startChargeVO = huaweiServiceV2.queryStartCharge(chargeDTO);
|
||||
if (startChargeVO.getSuccStat() != Constants.zero) {
|
||||
log.error(thirdPartyType + "请求启动充电 error, {}", startChargeVO.getFailReason());
|
||||
log.error(label + "请求启动充电 error, {}", startChargeVO.getFailReason());
|
||||
}
|
||||
String startChargeSeq = startChargeVO.getStartChargeSeq(); // 充电订单号
|
||||
|
||||
|
||||
@@ -761,7 +761,7 @@ public class HuaweiServiceV2 {
|
||||
// 将交易记录中的交易标识 05 传入实时数据对象,用于结算订单后解锁 vin 状态
|
||||
data.setTransactionIdentifier("05");
|
||||
}
|
||||
|
||||
|
||||
String mode = pileMerchantInfoService.getDelayModeByMerchantId(orderBasicInfo.getMerchantId());
|
||||
AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic(mode);
|
||||
orderLogic.settleOrderForThirdParty(data, orderBasicInfo);
|
||||
@@ -817,6 +817,9 @@ public class HuaweiServiceV2 {
|
||||
if (configInfo == null) {
|
||||
return null;
|
||||
}
|
||||
int succStat = Constants.one; // 操作结果
|
||||
int failReason = Constants.one; // 失败原因
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
|
||||
String vinCode = dto.getVin();
|
||||
String pileConnectorCode = dto.getConnectorID();
|
||||
@@ -827,32 +830,35 @@ public class HuaweiServiceV2 {
|
||||
MemberPlateNumberRelation basicInfo = memberPlateNumberRelationService.getMemberPlateInfoByVinCode(vinCode);
|
||||
if (basicInfo == null) {
|
||||
// 该用户未注册
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_GENERATE_ORDER_ERROR);
|
||||
jsonObject.put("SuccStat", succStat);
|
||||
jsonObject.put("FailReason", failReason);
|
||||
|
||||
Map<String, String> resultMap = getResultMap(jsonObject);
|
||||
return resultMap;
|
||||
}else {
|
||||
// 生成订单,并启动充电
|
||||
GenerateOrderDTO generateOrderDTO = new GenerateOrderDTO();
|
||||
generateOrderDTO.setMemberPlateNumberRelation(basicInfo);
|
||||
generateOrderDTO.setPileSn(pileSn);
|
||||
generateOrderDTO.setConnectorCode(connectorCode);
|
||||
generateOrderDTO.setStartMode(StartModeEnum.VIN_CODE.getValue());
|
||||
generateOrderDTO.setMemberId(basicInfo.getMemberId());
|
||||
generateOrderDTO.setStartSoc(String.valueOf(dto.getSoc()));
|
||||
|
||||
Map<String, Object> map = orderBasicInfoService.generateOrderByCard(generateOrderDTO);
|
||||
if (map != null) {
|
||||
// 鉴权成功
|
||||
succStat = Constants.zero;
|
||||
failReason = Constants.zero;
|
||||
}
|
||||
|
||||
jsonObject.put("SuccStat", succStat);
|
||||
jsonObject.put("FailReason", failReason);
|
||||
|
||||
Map<String, String> resultMap = getResultMap(jsonObject);
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
// 生成订单,并启动充电
|
||||
GenerateOrderDTO generateOrderDTO = new GenerateOrderDTO();
|
||||
generateOrderDTO.setMemberPlateNumberRelation(basicInfo);
|
||||
generateOrderDTO.setPileSn(pileSn);
|
||||
generateOrderDTO.setConnectorCode(connectorCode);
|
||||
generateOrderDTO.setStartMode(StartModeEnum.VIN_CODE.getValue());
|
||||
generateOrderDTO.setMemberId(basicInfo.getMemberId());
|
||||
generateOrderDTO.setStartSoc(String.valueOf(dto.getSoc()));
|
||||
|
||||
int succStat = Constants.one; // 操作结果
|
||||
int failReason = Constants.one; // 失败原因
|
||||
Map<String, Object> map = orderBasicInfoService.generateOrderByCard(generateOrderDTO);
|
||||
if (map != null) {
|
||||
// 鉴权成功
|
||||
succStat = Constants.zero;
|
||||
failReason = Constants.zero;
|
||||
}
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("SuccStat", succStat);
|
||||
jsonObject.put("FailReason", failReason);
|
||||
|
||||
Map<String, String> resultMap = getResultMap(jsonObject);
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -385,7 +385,7 @@ public class LianLianServiceImpl implements LianLianService {
|
||||
String dataSecret = "E6gnWuz0QzBW75CR"; // SPBNJ1Z5EQNmpK08 VTAEKDPVN9CUS7WO huawei: zd4NrLWJ38XCTaqP E6gnWuz0QzBW75CR
|
||||
String dataSecretIV = "SXejaSUx5yud8UHm"; // peRoTcb2C7zqKeII 83UZFFRRZDYNF5CR huawei: RJJecvNTJ48SGMG7 SXejaSUx5yud8UHm
|
||||
String signSecret = "sRjCDeokckFGpYpA"; // sRjCDeokckFGpYpA
|
||||
String dataString = "o1tqVesDkPUXBNdUmE10Z7FWjAf/KFO3Iq4NWNCcFeq0h8wBcdWcZwojkdv2TNFpS0Qftv1HWDTdm+8Pjj0AIw==";
|
||||
String dataString = "GZlmSIZOVzT+Yvpc2PmvNmwKXhaqSnsNdCUS61pq9BxES7v9FWNrUvqk3OsAUMPvjCwmYeskIglHXw0OFfYGZ1bXxAzHymzsqfehZ10WoNs=";
|
||||
|
||||
// 解密data
|
||||
byte[] plainText = Cryptos.aesDecrypt(Encodes.decodeBase64(dataString), dataSecret.getBytes(), dataSecretIV.getBytes());
|
||||
|
||||
Reference in New Issue
Block a user