| | |
| | | package com.java110.common.cmd.chargeMachine; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.common.charge.IChargeCore; |
| | | import com.java110.core.annotation.Java110Cmd; |
| | | import com.java110.core.annotation.Java110Transactional; |
| | | 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.chargeMachine.ChargeRuleFeeDto; |
| | | import com.java110.dto.smallWeChat.SmallWeChatDto; |
| | | import com.java110.intf.common.IChargeMachineV1InnerServiceSMO; |
| | | import com.java110.po.chargeMachine.ChargeMachinePo; |
| | | import com.java110.intf.common.IChargeRuleFeeV1InnerServiceSMO; |
| | | import com.java110.intf.store.ISmallWeChatInnerServiceSMO; |
| | | import com.java110.utils.cache.UrlCache; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | |
| | | @Autowired |
| | | private IChargeMachineV1InnerServiceSMO chargeMachineV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private ISmallWeChatInnerServiceSMO smallWeChatInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IChargeRuleFeeV1InnerServiceSMO chargeRuleFeeV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IChargeCore chargeCoreImpl; |
| | | |
| | | @Override |
| | | public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) { |
| | | super.validatePageInfo(reqJson); |
| | |
| | | |
| | | if (count > 0) { |
| | | chargeMachineDtos = chargeMachineV1InnerServiceSMOImpl.queryChargeMachines(chargeMachineDto); |
| | | freshQrCodeUrl(chargeMachineDtos); |
| | | |
| | | // todo 查询设备是否在线 |
| | | queryMachineState(chargeMachineDtos); |
| | | |
| | | // todo 刷入算费规则 |
| | | queryChargeRuleFee(chargeMachineDtos); |
| | | } else { |
| | | chargeMachineDtos = new ArrayList<>(); |
| | | } |
| | |
| | | |
| | | cmdDataFlowContext.setResponseEntity(responseEntity); |
| | | } |
| | | |
| | | private void queryChargeRuleFee(List<ChargeMachineDto> chargeMachineDtos) { |
| | | if (chargeMachineDtos == null || chargeMachineDtos.size() != 1) { |
| | | return; |
| | | } |
| | | |
| | | ChargeRuleFeeDto chargeRuleFeeDto = new ChargeRuleFeeDto(); |
| | | chargeRuleFeeDto.setRuleId(chargeMachineDtos.get(0).getRuleId()); |
| | | chargeRuleFeeDto.setCommunityId(chargeMachineDtos.get(0).getCommunityId()); |
| | | List<ChargeRuleFeeDto> fees = chargeRuleFeeV1InnerServiceSMOImpl.queryChargeRuleFees(chargeRuleFeeDto); |
| | | |
| | | chargeMachineDtos.get(0).setFees(fees); |
| | | |
| | | } |
| | | |
| | | private void queryMachineState(List<ChargeMachineDto> chargeMachineDtos) { |
| | | |
| | | if (chargeMachineDtos == null || chargeMachineDtos.size() < 1 || chargeMachineDtos.size() > 10) { |
| | | return; |
| | | } |
| | | |
| | | chargeCoreImpl.queryChargeMachineState(chargeMachineDtos); |
| | | } |
| | | |
| | | /** |
| | | * 充电桩二维码 |
| | | * |
| | | * @param chargeMachineDtos |
| | | */ |
| | | private void freshQrCodeUrl(List<ChargeMachineDto> chargeMachineDtos) { |
| | | |
| | | if (chargeMachineDtos == null || chargeMachineDtos.size() < 1) { |
| | | return; |
| | | } |
| | | |
| | | SmallWeChatDto smallWeChatDto = new SmallWeChatDto(); |
| | | smallWeChatDto.setObjId(chargeMachineDtos.get(0).getCommunityId()); |
| | | smallWeChatDto.setWeChatType(SmallWeChatDto.WECHAT_TYPE_PUBLIC); |
| | | List<SmallWeChatDto> smallWeChatDtos = smallWeChatInnerServiceSMOImpl.querySmallWeChats(smallWeChatDto); |
| | | String appId = ""; |
| | | if (smallWeChatDtos != null && smallWeChatDtos.size() > 0) { |
| | | appId = smallWeChatDtos.get(0).getAppId(); |
| | | } |
| | | String ownerUrl = UrlCache.getOwnerUrl(); |
| | | |
| | | for (ChargeMachineDto chargeMachineDto : chargeMachineDtos) { |
| | | chargeMachineDto.setQrCode(ownerUrl + "/#/pages/machine/machineToCharge?machineId=" |
| | | + chargeMachineDto.getMachineId() |
| | | + "&communityId=" + chargeMachineDto.getCommunityId() |
| | | + "&wAppId=" + appId |
| | | ); |
| | | } |
| | | } |
| | | } |