|
|
@@ -15,6 +15,7 @@
|
|
|
*/
|
|
|
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;
|
|
|
@@ -22,8 +23,14 @@ import com.java110.core.context.ICmdDataFlowContext;
|
|
|
import com.java110.core.event.cmd.Cmd;
|
|
|
import com.java110.core.event.cmd.CmdEvent;
|
|
|
import com.java110.core.factory.GenerateCodeFactory;
|
|
|
+import com.java110.dto.chargeMachinePort.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.po.meterMachineSpec.MeterMachineSpecPo;
|
|
|
import com.java110.utils.exception.CmdException;
|
|
|
import com.java110.utils.util.Assert;
|
|
|
import com.java110.utils.util.BeanConvertUtil;
|
|
|
@@ -53,6 +60,12 @@ public class SaveChargeMachineCmd extends Cmd {
|
|
|
@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");
|
|
|
@@ -61,6 +74,22 @@ public class SaveChargeMachineCmd extends Cmd {
|
|
|
Assert.hasKeyAndValue(reqJson, "durationPrice", "请求报文中未包含durationPrice");
|
|
|
Assert.hasKeyAndValue(reqJson, "energyPrice", "请求报文中未包含energyPrice");
|
|
|
Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
|
|
|
+ Assert.hasKeyAndValue(reqJson, "portCount", "请求报文中未包含portCount");
|
|
|
+
|
|
|
+
|
|
|
+ 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"));
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -77,6 +106,50 @@ public class SaveChargeMachineCmd extends Cmd {
|
|
|
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());
|
|
|
}
|
|
|
}
|