| | |
| | | */ |
| | | package com.java110.common.cmd.chargeMachine; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.core.annotation.Java110Cmd; |
| | | import com.java110.core.annotation.Java110Transactional; |
| | |
| | | import com.java110.core.event.cmd.Cmd; |
| | | import com.java110.core.event.cmd.CmdEvent; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.dto.chargeMachine.ChargeMachineDto; |
| | | import com.java110.dto.chargeMachine.ChargeMachinePortDto; |
| | | import com.java110.intf.common.IChargeMachinePortV1InnerServiceSMO; |
| | | import com.java110.intf.common.IChargeMachineSpecV1InnerServiceSMO; |
| | | import com.java110.intf.common.IChargeMachineV1InnerServiceSMO; |
| | | import com.java110.po.chargeMachine.ChargeMachinePo; |
| | | import com.java110.po.chargeMachinePort.ChargeMachinePortPo; |
| | | import com.java110.po.chargeMachineSpec.ChargeMachineSpecPo; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | |
| | | @Autowired |
| | | private IChargeMachineV1InnerServiceSMO chargeMachineV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IChargeMachinePortV1InnerServiceSMO chargeMachinePortV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IChargeMachineSpecV1InnerServiceSMO chargeMachineSpecV1InnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) { |
| | | Assert.hasKeyAndValue(reqJson, "machineName", "请求报文中未包含machineName"); |
| | | Assert.hasKeyAndValue(reqJson, "machineCode", "请求报文中未包含machineCode"); |
| | | Assert.hasKeyAndValue(reqJson, "implBean", "请求报文中未包含implBean"); |
| | | Assert.hasKeyAndValue(reqJson, "durationPrice", "请求报文中未包含durationPrice"); |
| | | Assert.hasKeyAndValue(reqJson, "energyPrice", "请求报文中未包含energyPrice"); |
| | | Assert.hasKeyAndValue(reqJson, "ruleId", "请求报文中未包含ruleId"); |
| | | Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId"); |
| | | Assert.hasKeyAndValue(reqJson, "portCount", "请求报文中未包含portCount"); |
| | | |
| | | ChargeMachineDto chargeMachineDto = new ChargeMachineDto(); |
| | | chargeMachineDto.setMachineCode(reqJson.getString("machineCode")); |
| | | int count = chargeMachineV1InnerServiceSMOImpl.queryChargeMachinesCount(chargeMachineDto); |
| | | |
| | | if (count > 0) { |
| | | throw new CmdException("充电桩编号已存在"); |
| | | } |
| | | |
| | | |
| | | JSONArray specs = reqJson.getJSONArray("specs"); |
| | | if (specs == null || specs.size() < 1) { |
| | | cmdDataFlowContext.setResponseEntity(ResultVo.success()); |
| | | |
| | | return; |
| | | } |
| | | |
| | | JSONObject specObj = null; |
| | | for (int specIndex = 0; specIndex < specs.size(); specIndex++) { |
| | | specObj = specs.getJSONObject(specIndex); |
| | | |
| | | Assert.hasKeyAndValue(specObj, "specValue", "未包含" + specObj.getString("specName")); |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | throw new CmdException("保存数据失败"); |
| | | } |
| | | |
| | | int portCount = reqJson.getIntValue("portCount"); |
| | | ChargeMachinePortPo chargeMachinePortPo = null; |
| | | for (int portIndex = 0; portIndex < portCount; portIndex++) { |
| | | chargeMachinePortPo = new ChargeMachinePortPo(); |
| | | chargeMachinePortPo.setMachineId(chargeMachinePo.getMachineId()); |
| | | chargeMachinePortPo.setPortId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID)); |
| | | chargeMachinePortPo.setPortCode((portIndex + 1) + ""); |
| | | chargeMachinePortPo.setPortName((portIndex + 1) + "号插座"); |
| | | chargeMachinePortPo.setCommunityId(chargeMachinePo.getCommunityId()); |
| | | chargeMachinePortPo.setState(ChargeMachinePortDto.STATE_FREE); |
| | | chargeMachinePortV1InnerServiceSMOImpl.saveChargeMachinePort(chargeMachinePortPo); |
| | | } |
| | | |
| | | if (!reqJson.containsKey("specs")) { |
| | | cmdDataFlowContext.setResponseEntity(ResultVo.success()); |
| | | |
| | | return; |
| | | } |
| | | |
| | | JSONArray specs = reqJson.getJSONArray("specs"); |
| | | if (specs == null || specs.size() < 1) { |
| | | cmdDataFlowContext.setResponseEntity(ResultVo.success()); |
| | | |
| | | return; |
| | | } |
| | | |
| | | JSONObject specObj = null; |
| | | ChargeMachineSpecPo chargeMachineSpecPo = null; |
| | | for (int specIndex = 0; specIndex < specs.size(); specIndex++) { |
| | | specObj = specs.getJSONObject(specIndex); |
| | | chargeMachineSpecPo = new ChargeMachineSpecPo(); |
| | | chargeMachineSpecPo.setMachineId(chargeMachinePo.getMachineId()); |
| | | chargeMachineSpecPo.setSpecId(specObj.getString("specId")); |
| | | chargeMachineSpecPo.setSpecName(specObj.getString("specName")); |
| | | chargeMachineSpecPo.setSpecValue(specObj.getString("specValue")); |
| | | chargeMachineSpecPo.setCmsId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID)); |
| | | chargeMachineSpecPo.setCommunityId(chargeMachinePo.getCommunityId()); |
| | | flag = chargeMachineSpecV1InnerServiceSMOImpl.saveChargeMachineSpec(chargeMachineSpecPo); |
| | | |
| | | if (flag < 1) { |
| | | throw new CmdException("保存数据失败"); |
| | | } |
| | | } |
| | | |
| | | cmdDataFlowContext.setResponseEntity(ResultVo.success()); |
| | | } |
| | | } |