java110-bean/src/main/java/com/java110/dto/machine/MachineTranslateDto.java
@@ -44,6 +44,9 @@ public static final String CMD_DELETE_OWNER_CAR = "703"; public static final String CMD_ADD_CAR_BLACK_WHITE = "801"; public static final String CMD_DELETE_CAR_BLACK_WHITE = "803"; public static final String CMD_ADD_TEAM_CAR_FEE_CONFIG = "901"; public static final String CMD_UPDATE_TEAM_CAR_FEE_CONFIG = "902"; public static final String CMD_DELETE_TEAM_CAR_FEE_CONFIG = "903"; public static final String CMD_OPEN_DOOR = "5"; //小区信息 @@ -52,6 +55,7 @@ public static final String TYPE_OWNER = "8899"; public static final String TYPE_PARKING_AREA = "2233"; public static final String TYPE_OWNER_CAR = "4455"; public static final String TYPE_TEAM_CAR_FEE_CONFIG = "1122"; //同步状态 public static final String STATE_SUCCESS = "20000"; service-job/src/main/java/com/java110/job/adapt/hcIot/IotConstant.java
@@ -77,6 +77,13 @@ //重启接口 public static final String RESTART_MACHINE = "/extApi/machine/restartMachine"; //添加车辆 public static final String ADD_TEAM_CAR_FEE_CONFIG = "/extApi/fee/addTempCarFee"; //修改车辆 public static final String UPDATE_TEAM_CAR_FEE_CONFIG = "/extApi/fee/updateTempCarFee"; //删除车辆 public static final String DELETE_TEAM_CAR_FEE_CONFIG = "/extApi/fee/deleteTempCarFee"; public static final String HC_TOKEN = "HC_ACCESS_TOKEN"; //单位为秒 service-job/src/main/java/com/java110/job/adapt/hcIot/asyn/IIotSendAsyn.java
@@ -114,4 +114,20 @@ void addCarBlackWhite(JSONObject postParameters); void deleteCarBlackWhite(JSONObject postParameters); /** * 同步临时车费用 * * @param postParameters */ void addTempCarFeeConfig(JSONObject postParameters); /** * 同步临时车费用 * * @param postParameters */ void updateTempCarFeeConfig(JSONObject postParameters); void deleteTempCarFeeConfig(JSONObject postParameters); } service-job/src/main/java/com/java110/job/adapt/hcIot/asyn/impl/IotSendAsynImpl.java
@@ -34,11 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.http.*; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -892,6 +888,148 @@ } } @Override public void addTempCarFeeConfig(JSONObject postParameters) { MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters, MachineTranslateDto.CMD_ADD_TEAM_CAR_FEE_CONFIG, DEFAULT_MACHINE_CODE, DEFAULT_MACHINE_ID, "extConfigId", "feeName", MachineTranslateDto.TYPE_TEAM_CAR_FEE_CONFIG); ResponseEntity<String> responseEntity = null; String url = IotConstant.getUrl(IotConstant.ADD_TEAM_CAR_FEE_CONFIG); try { postParameters.put("taskId", machineTranslateDto.getMachineTranslateId()); HttpEntity httpEntity = new HttpEntity(postParameters.toJSONString(), getHeaders()); responseEntity = outRestTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class); logger.debug("调用HC IOT信息:" + responseEntity); if (responseEntity.getStatusCode() != HttpStatus.OK) { machineTranslateDto.setState(MachineTranslateDto.STATE_ERROR); machineTranslateDto.setRemark(responseEntity.getBody()); saveTranslateError(machineTranslateDto, postParameters.toJSONString(), responseEntity != null ? responseEntity.getBody() : "", url); return; } JSONObject tokenObj = JSONObject.parseObject(responseEntity.getBody()); if (!tokenObj.containsKey("code") || ResultVo.CODE_OK != tokenObj.getInteger("code")) { machineTranslateDto.setState(MachineTranslateDto.STATE_ERROR); machineTranslateDto.setRemark(tokenObj.getString("msg")); //保存 失败报文 saveTranslateError(machineTranslateDto, postParameters.toJSONString(), responseEntity != null ? responseEntity.getBody() : "", url); return; } } catch (Exception e) { machineTranslateDto.setState(MachineTranslateDto.STATE_ERROR); machineTranslateDto.setRemark(e.getLocalizedMessage()); //保存 失败报文 saveTranslateError(machineTranslateDto, postParameters.toJSONString(), responseEntity != null ? responseEntity.getBody() : "", url); return; } finally { saveTranslateLog(machineTranslateDto); refreshAccessToken(responseEntity); } } @Override public void updateTempCarFeeConfig(JSONObject postParameters) { MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters, MachineTranslateDto.CMD_UPDATE_TEAM_CAR_FEE_CONFIG, DEFAULT_MACHINE_CODE, DEFAULT_MACHINE_ID, "extConfigId", "feeName", MachineTranslateDto.TYPE_TEAM_CAR_FEE_CONFIG); ResponseEntity<String> responseEntity = null; String url = IotConstant.getUrl(IotConstant.UPDATE_TEAM_CAR_FEE_CONFIG); try { postParameters.put("taskId", machineTranslateDto.getMachineTranslateId()); HttpEntity httpEntity = new HttpEntity(postParameters.toJSONString(), getHeaders()); responseEntity = outRestTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class); logger.debug("调用HC IOT信息:" + responseEntity); if (responseEntity.getStatusCode() != HttpStatus.OK) { machineTranslateDto.setState(MachineTranslateDto.STATE_ERROR); machineTranslateDto.setRemark(responseEntity.getBody()); saveTranslateError(machineTranslateDto, postParameters.toJSONString(), responseEntity != null ? responseEntity.getBody() : "", url); return; } JSONObject tokenObj = JSONObject.parseObject(responseEntity.getBody()); if (!tokenObj.containsKey("code") || ResultVo.CODE_OK != tokenObj.getInteger("code")) { machineTranslateDto.setState(MachineTranslateDto.STATE_ERROR); machineTranslateDto.setRemark(tokenObj.getString("msg")); //保存 失败报文 saveTranslateError(machineTranslateDto, postParameters.toJSONString(), responseEntity != null ? responseEntity.getBody() : "", url); return; } } catch (Exception e) { machineTranslateDto.setState(MachineTranslateDto.STATE_ERROR); machineTranslateDto.setRemark(e.getLocalizedMessage()); //保存 失败报文 saveTranslateError(machineTranslateDto, postParameters.toJSONString(), responseEntity != null ? responseEntity.getBody() : "", url); return; } finally { saveTranslateLog(machineTranslateDto); refreshAccessToken(responseEntity); } } @Override public void deleteTempCarFeeConfig(JSONObject postParameters) { MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters, MachineTranslateDto.CMD_DELETE_TEAM_CAR_FEE_CONFIG, DEFAULT_MACHINE_CODE, DEFAULT_MACHINE_ID, "extBwId", "carNum", MachineTranslateDto.TYPE_TEAM_CAR_FEE_CONFIG); ResponseEntity<String> responseEntity = null; String url = IotConstant.getUrl(IotConstant.DELETE_TEAM_CAR_FEE_CONFIG); try { postParameters.put("taskId", machineTranslateDto.getMachineTranslateId()); HttpEntity httpEntity = new HttpEntity(postParameters.toJSONString(), getHeaders()); responseEntity = outRestTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class); logger.debug("调用HC IOT信息:" + responseEntity); if (responseEntity.getStatusCode() != HttpStatus.OK) { machineTranslateDto.setState(MachineTranslateDto.STATE_ERROR); machineTranslateDto.setRemark(responseEntity.getBody()); saveTranslateError(machineTranslateDto, postParameters.toJSONString(), responseEntity != null ? responseEntity.getBody() : "", url); return; } JSONObject tokenObj = JSONObject.parseObject(responseEntity.getBody()); if (!tokenObj.containsKey("code") || ResultVo.CODE_OK != tokenObj.getInteger("code")) { machineTranslateDto.setState(MachineTranslateDto.STATE_ERROR); machineTranslateDto.setRemark(tokenObj.getString("msg")); //保存 失败报文 saveTranslateError(machineTranslateDto, postParameters.toJSONString(), responseEntity != null ? responseEntity.getBody() : "", url); return; } } catch (Exception e) { machineTranslateDto.setState(MachineTranslateDto.STATE_ERROR); machineTranslateDto.setRemark(e.getLocalizedMessage()); //保存 失败报文 saveTranslateError(machineTranslateDto, postParameters.toJSONString(), responseEntity != null ? responseEntity.getBody() : "", url); return; } finally { saveTranslateLog(machineTranslateDto); refreshAccessToken(responseEntity); } } private MachineTranslateDto getMachineTranslateDto(JSONObject postParameters, String cmd, String machineCode, String machineId, service-job/src/main/java/com/java110/job/adapt/hcIot/machine/AddMachineToIotAdapt.java
@@ -151,6 +151,7 @@ postParameters.put("extCommunityId", machinePo.getCommunityId()); postParameters.put("machineIp", machinePo.getMachineIp()); postParameters.put("machineMac", machinePo.getMachineMac()); postParameters.put("direction", machinePo.getDirection()); postParameters.put("hmId", hmId); hcMachineAsynImpl.addMachine(postParameters, ownerDtos); } service-job/src/main/java/com/java110/job/adapt/hcIot/machine/ModifyMachineToIotAdapt.java
@@ -120,6 +120,7 @@ postParameters.put("extCommunityId", machinePo.getCommunityId()); postParameters.put("machineIp", machinePo.getMachineIp()); postParameters.put("machineMac", machinePo.getMachineMac()); postParameters.put("direction", machinePo.getDirection()); postParameters.put("hmId", hmId); hcMachineAsynImpl.updateMachine(postParameters); } service-job/src/main/java/com/java110/job/adapt/hcIot/tempCarFee/AddTempCarFeeConfigToIotAdapt.java
New file @@ -0,0 +1,131 @@ /* * Copyright 2017-2020 吴学文 and java110 team. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.java110.job.adapt.hcIot.tempCarFee; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.java110.dto.tempCarFeeConfig.TempCarFeeConfigAttrDto; import com.java110.dto.tempCarFeeConfig.TempCarFeeConfigDto; import com.java110.entity.order.Business; import com.java110.intf.community.IParkingSpaceInnerServiceSMO; import com.java110.intf.fee.ITempCarFeeConfigAttrInnerServiceSMO; import com.java110.intf.fee.ITempCarFeeConfigInnerServiceSMO; import com.java110.job.adapt.DatabusAdaptImpl; import com.java110.job.adapt.hcIot.asyn.IIotSendAsyn; import com.java110.po.tempCarFeeConfig.TempCarFeeConfigPo; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.List; /** * HC iot 临时车标准同步适配器 * <p> * 接口协议地址: https://gitee.com/java110/MicroCommunityThings/blob/master/back/docs/api.md * * @desc add by 吴学文 18:58 */ @Component(value = "addTempCarFeeConfigToIotAdapt") public class AddTempCarFeeConfigToIotAdapt extends DatabusAdaptImpl { @Autowired private IIotSendAsyn hcTempCarFeeConfigAsynImpl; @Autowired private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl; @Autowired private ITempCarFeeConfigInnerServiceSMO tempCarFeeConfigInnerServiceSMOImpl; @Autowired private ITempCarFeeConfigAttrInnerServiceSMO tempCarFeeConfigAttrInnerServiceSMOImpl; /** * accessToken={access_token} * &extCommunityUuid=01000 * &extCommunityId=1 * &devSn=111111111 * &name=设备名称 * &positionType=0 * &positionUuid=1 * * @param business 当前处理业务 * @param businesses 所有业务信息 */ @Override public void execute(Business business, List<Business> businesses) { JSONObject data = business.getData(); if (data.containsKey(TempCarFeeConfigPo.class.getSimpleName())) { Object bObj = data.get(TempCarFeeConfigPo.class.getSimpleName()); JSONArray businessTempCarFeeConfigs = null; if (bObj instanceof JSONObject) { businessTempCarFeeConfigs = new JSONArray(); businessTempCarFeeConfigs.add(bObj); } else if (bObj instanceof List) { businessTempCarFeeConfigs = JSONArray.parseArray(JSONObject.toJSONString(bObj)); } else { businessTempCarFeeConfigs = (JSONArray) bObj; } //JSONObject businessTempCarFeeConfig = data.getJSONObject("businessTempCarFeeConfig"); for (int bTempCarFeeConfigIndex = 0; bTempCarFeeConfigIndex < businessTempCarFeeConfigs.size(); bTempCarFeeConfigIndex++) { JSONObject businessTempCarFeeConfig = businessTempCarFeeConfigs.getJSONObject(bTempCarFeeConfigIndex); doSendTempCarFeeConfig(business, businessTempCarFeeConfig); } } } private void doSendTempCarFeeConfig(Business business, JSONObject businessTempCarFeeConfig) { TempCarFeeConfigPo tempCarFeeConfigPo = BeanConvertUtil.covertBean(businessTempCarFeeConfig, TempCarFeeConfigPo.class); TempCarFeeConfigDto tempCarFeeConfigDto = new TempCarFeeConfigDto(); tempCarFeeConfigDto.setConfigId(tempCarFeeConfigPo.getConfigId()); tempCarFeeConfigDto.setCommunityId(tempCarFeeConfigPo.getCommunityId()); List<TempCarFeeConfigDto> tempCarFeeConfigDtos = tempCarFeeConfigInnerServiceSMOImpl.queryTempCarFeeConfigs(tempCarFeeConfigDto); Assert.listOnlyOne(tempCarFeeConfigDtos, "未找到临时车收费标准"); List<TempCarFeeConfigAttrDto> tempCarFeeConfigAttrDtos = tempCarFeeConfigDtos.get(0).getTempCarFeeConfigAttrs(); JSONObject postParameters = new JSONObject(); postParameters.put("feeName", tempCarFeeConfigDtos.get(0).getFeeName()); postParameters.put("carType", tempCarFeeConfigDtos.get(0).getCarType()); postParameters.put("ruleId", tempCarFeeConfigDtos.get(0).getRuleId()); postParameters.put("startTime", tempCarFeeConfigDtos.get(0).getStartTime()); postParameters.put("endTime", tempCarFeeConfigDtos.get(0).getEndTime()); postParameters.put("extPaId", tempCarFeeConfigDtos.get(0).getPaId()); postParameters.put("extConfigId", tempCarFeeConfigDtos.get(0).getConfigId()); postParameters.put("extCommunityId", tempCarFeeConfigDtos.get(0).getCommunityId()); JSONArray attrs = new JSONArray(); if (tempCarFeeConfigAttrDtos != null) { for (TempCarFeeConfigAttrDto tempCarFeeConfigAttrDto : tempCarFeeConfigAttrDtos) { JSONObject attr = new JSONObject(); attr.put("specCd", tempCarFeeConfigAttrDto.getSpecCd()); attr.put("value", tempCarFeeConfigAttrDto.getValue()); attrs.add(attr); } } postParameters.put("attrs", attrs); hcTempCarFeeConfigAsynImpl.addTempCarFeeConfig(postParameters); } } service-job/src/main/java/com/java110/job/adapt/hcIot/tempCarFee/DeleteTempCarFeeConfigToIotAdapt.java
New file @@ -0,0 +1,100 @@ /* * Copyright 2017-2020 吴学文 and java110 team. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.java110.job.adapt.hcIot.tempCarFee; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.java110.dto.tempCarFeeConfig.TempCarFeeConfigDto; import com.java110.entity.order.Business; import com.java110.intf.community.IParkingSpaceInnerServiceSMO; import com.java110.intf.fee.ITempCarFeeConfigInnerServiceSMO; import com.java110.job.adapt.DatabusAdaptImpl; import com.java110.job.adapt.hcIot.asyn.IIotSendAsyn; import com.java110.po.tempCarFeeConfig.TempCarFeeConfigPo; import com.java110.utils.constant.StatusConstant; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.List; /** * HC iot 删除名单同步iot * * <p> * 接口协议地址: https://gitee.com/java110/MicroCommunityThings/blob/master/back/docs/api.md * * @desc add by 吴学文 18:58 */ @Component(value = "deleteTempCarFeeConfigToIotAdapt") public class DeleteTempCarFeeConfigToIotAdapt extends DatabusAdaptImpl { @Autowired private IIotSendAsyn hcTempCarFeeConfigAsynImpl; @Autowired private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl; @Autowired private ITempCarFeeConfigInnerServiceSMO tempCarFeeConfigInnerServiceSMOImpl; /** * { * "extTempCarFeeConfigId": "702020042194860037" * } * * @param business 当前处理业务 * @param businesses 所有业务信息 */ @Override public void execute(Business business, List<Business> businesses) { JSONObject data = business.getData(); if (data.containsKey(TempCarFeeConfigPo.class.getSimpleName())) { Object bObj = data.get(TempCarFeeConfigPo.class.getSimpleName()); JSONArray businessTempCarFeeConfigs = null; if (bObj instanceof JSONObject) { businessTempCarFeeConfigs = new JSONArray(); businessTempCarFeeConfigs.add(bObj); } else if (bObj instanceof List) { businessTempCarFeeConfigs = JSONArray.parseArray(JSONObject.toJSONString(bObj)); } else { businessTempCarFeeConfigs = (JSONArray) bObj; } //JSONObject businessTempCarFeeConfig = data.getJSONObject("businessTempCarFeeConfig"); for (int bTempCarFeeConfigIndex = 0; bTempCarFeeConfigIndex < businessTempCarFeeConfigs.size(); bTempCarFeeConfigIndex++) { JSONObject businessTempCarFeeConfig = businessTempCarFeeConfigs.getJSONObject(bTempCarFeeConfigIndex); doSendTempCarFeeConfig(business, businessTempCarFeeConfig); } } } private void doSendTempCarFeeConfig(Business business, JSONObject businessTempCarFeeConfig) { TempCarFeeConfigPo tempCarFeeConfigPo = BeanConvertUtil.covertBean(businessTempCarFeeConfig, TempCarFeeConfigPo.class); TempCarFeeConfigDto tempCarFeeConfigDto = new TempCarFeeConfigDto(); tempCarFeeConfigDto.setConfigId(tempCarFeeConfigPo.getConfigId()); tempCarFeeConfigDto.setStatusCd(StatusConstant.STATUS_CD_INVALID); List<TempCarFeeConfigDto> tempCarFeeConfigDtos = tempCarFeeConfigInnerServiceSMOImpl.queryTempCarFeeConfigs(tempCarFeeConfigDto); Assert.listOnlyOne(tempCarFeeConfigDtos, "未找到临时车收费标准"); JSONObject postParameters = new JSONObject(); postParameters.put("extConfigId", tempCarFeeConfigDtos.get(0).getConfigId()); postParameters.put("extPaId", tempCarFeeConfigDtos.get(0).getPaId()); postParameters.put("extCommunityId", tempCarFeeConfigDtos.get(0).getCommunityId()); hcTempCarFeeConfigAsynImpl.deleteTempCarFeeConfig(postParameters); } } service-job/src/main/java/com/java110/job/adapt/hcIot/tempCarFee/ModifyTempCarFeeConfigToIotAdapt.java
New file @@ -0,0 +1,136 @@ /* * Copyright 2017-2020 吴学文 and java110 team. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.java110.job.adapt.hcIot.tempCarFee; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.java110.dto.owner.OwnerCarDto; import com.java110.dto.parking.ParkingSpaceDto; import com.java110.dto.tempCarFeeConfig.TempCarFeeConfigAttrDto; import com.java110.dto.tempCarFeeConfig.TempCarFeeConfigDto; import com.java110.entity.order.Business; import com.java110.intf.community.IParkingSpaceInnerServiceSMO; import com.java110.intf.fee.ITempCarFeeConfigAttrInnerServiceSMO; import com.java110.intf.fee.ITempCarFeeConfigInnerServiceSMO; import com.java110.intf.user.IOwnerCarInnerServiceSMO; import com.java110.job.adapt.DatabusAdaptImpl; import com.java110.job.adapt.hcIot.asyn.IIotSendAsyn; import com.java110.po.car.OwnerCarPo; import com.java110.po.tempCarFeeConfig.TempCarFeeConfigPo; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import com.java110.utils.util.DateUtil; import com.java110.utils.util.StringUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.List; /** * HC iot 车辆同步适配器 * 接口协议地址: https://gitee.com/java110/MicroCommunityThings/blob/master/back/docs/api.md * * @desc add by 吴学文 18:58 */ @Component(value = "modifyTempCarFeeConfigToIotAdapt") public class ModifyTempCarFeeConfigToIotAdapt extends DatabusAdaptImpl { @Autowired private IIotSendAsyn hcTempCarFeeConfigAsynImpl; @Autowired private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl; @Autowired private ITempCarFeeConfigInnerServiceSMO tempCarFeeConfigInnerServiceSMOImpl; @Autowired private ITempCarFeeConfigAttrInnerServiceSMO tempCarFeeConfigAttrInnerServiceSMOImpl; /** * accessToken={access_token} * &extCommunityUuid=01000 * &extCommunityId=1 * &devSn=111111111 * &name=设备名称 * &positionType=0 * &positionUuid=1 * * @param business 当前处理业务 * @param businesses 所有业务信息 */ @Override public void execute(Business business, List<Business> businesses) { JSONObject data = business.getData(); if (data.containsKey(TempCarFeeConfigPo.class.getSimpleName())) { Object bObj = data.get(TempCarFeeConfigPo.class.getSimpleName()); JSONArray businessTempCarFeeConfigs = null; if (bObj instanceof JSONObject) { businessTempCarFeeConfigs = new JSONArray(); businessTempCarFeeConfigs.add(bObj); } else if (bObj instanceof List) { businessTempCarFeeConfigs = JSONArray.parseArray(JSONObject.toJSONString(bObj)); } else { businessTempCarFeeConfigs = (JSONArray) bObj; } //JSONObject businessTempCarFeeConfig = data.getJSONObject("businessTempCarFeeConfig"); for (int bTempCarFeeConfigIndex = 0; bTempCarFeeConfigIndex < businessTempCarFeeConfigs.size(); bTempCarFeeConfigIndex++) { JSONObject businessTempCarFeeConfig = businessTempCarFeeConfigs.getJSONObject(bTempCarFeeConfigIndex); doSendTempCarFeeConfig(business, businessTempCarFeeConfig); } } } private void doSendTempCarFeeConfig(Business business, JSONObject businessTempCarFeeConfig) { TempCarFeeConfigPo tempCarFeeConfigPo = BeanConvertUtil.covertBean(businessTempCarFeeConfig, TempCarFeeConfigPo.class); TempCarFeeConfigDto tempCarFeeConfigDto = new TempCarFeeConfigDto(); tempCarFeeConfigDto.setConfigId(tempCarFeeConfigPo.getConfigId()); tempCarFeeConfigDto.setCommunityId(tempCarFeeConfigPo.getCommunityId()); List<TempCarFeeConfigDto> tempCarFeeConfigDtos = tempCarFeeConfigInnerServiceSMOImpl.queryTempCarFeeConfigs(tempCarFeeConfigDto); Assert.listOnlyOne(tempCarFeeConfigDtos, "未找到临时车收费标准"); List<TempCarFeeConfigAttrDto> tempCarFeeConfigAttrDtos = tempCarFeeConfigDtos.get(0).getTempCarFeeConfigAttrs(); JSONObject postParameters = new JSONObject(); postParameters.put("feeName", tempCarFeeConfigDtos.get(0).getFeeName()); postParameters.put("carType", tempCarFeeConfigDtos.get(0).getCarType()); postParameters.put("ruleId", tempCarFeeConfigDtos.get(0).getRuleId()); postParameters.put("startTime", tempCarFeeConfigDtos.get(0).getStartTime()); postParameters.put("endTime", tempCarFeeConfigDtos.get(0).getEndTime()); postParameters.put("extPaId", tempCarFeeConfigDtos.get(0).getPaId()); postParameters.put("extConfigId", tempCarFeeConfigDtos.get(0).getConfigId()); postParameters.put("extCommunityId", tempCarFeeConfigDtos.get(0).getCommunityId()); JSONArray attrs = new JSONArray(); if (tempCarFeeConfigAttrDtos != null) { for (TempCarFeeConfigAttrDto tempCarFeeConfigAttrDto : tempCarFeeConfigAttrDtos) { JSONObject attr = new JSONObject(); attr.put("specCd", tempCarFeeConfigAttrDto.getSpecCd()); attr.put("value", tempCarFeeConfigAttrDto.getValue()); attrs.add(attr); } } postParameters.put("attrs", attrs); hcTempCarFeeConfigAsynImpl.updateTempCarFeeConfig(postParameters); } }