| | |
| | | package com.sandu.ximon.admin.service; |
| | | |
| | | import cn.hutool.core.collection.ListUtil; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.sandu.common.domain.CommonPage; |
| | |
| | | import com.sandu.ximon.admin.param.C3ChargingAddParam; |
| | | import com.sandu.ximon.admin.param.C3ChargingParam; |
| | | import com.sandu.ximon.admin.security.SecurityUtils; |
| | | import com.sandu.ximon.admin.utils.ListPagingUtils; |
| | | import com.sandu.ximon.admin.utils.LogUtils; |
| | | import com.sandu.ximon.admin.utils.RedisUtils; |
| | | import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils; |
| | | import com.sandu.ximon.admin.utils.*; |
| | | import com.sandu.ximon.admin.vo.EquipmentInfomation; |
| | | import com.sandu.ximon.dao.bo.C3ChargingBo; |
| | | import com.sandu.ximon.dao.domain.*; |
| | |
| | | one.setC3Mac(c3Mac); |
| | | flag = updateById(one); |
| | | } |
| | | //设置费ç |
| | | C3mCharging c3mCharging1 = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, mcuUdid)); |
| | | List<C3mChargingCharge> list = c3mChargingChargeService.list(Wrappers.lambdaQuery(C3mChargingCharge.class).eq(C3mChargingCharge::getC3Id, c3mCharging1.getC3Id())); |
| | | if (list.size() == 0) {//è´¹çè¡¨ä¸æ²¡ææ¤å
çµæ¡©æ°æ®æ¶ æ·»å é»è®¤è´¹ç |
| | | c3mChargingChargeService.initCharge((c3mCharging1.getC3Id()).intValue()); |
| | | } |
| | | // /** |
| | | // * æ·»å ç»å®å
³ç³»å¼å§ |
| | | // */ |
| | | // Pole pole = poleService.getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getDeviceCode, deviceName)); |
| | | // if (pole == null) { |
| | | // Pole pole1 = new Pole(); |
| | | // pole1.setDeviceCode(deviceName); |
| | | // pole1.setPoleName(deviceName); |
| | | // pole1.setPoleCode(poleService.generatePoleCode()); |
| | | // poleService.save(pole1); |
| | | // } |
| | | // |
| | | // Long poleId = poleService.getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getDeviceCode, deviceName)).getId(); |
| | | // PoleBindingParam poleBindingParam = new PoleBindingParam(); |
| | | // poleBindingParam.setDeviceType(2); |
| | | // poleBindingParam.setDeviceCode(mcuUdid); |
| | | // bindingService.bindPole(poleId, poleBindingParam); |
| | | |
| | | /** |
| | | * æ·»å ç»å®å
³ç³»ç»æ |
| | | */ |
| | | |
| | | //忥æ¶é´æ³ |
| | | System.out.println("忥æ¶é´æ³å¼å§"); |
| | | String date = new SimpleDateFormat("yyMMddHHmmss").format(new Date()); |
| | | String s = SetCalendar(c3Mac, Integer.parseInt(date.substring(0, 2)), Integer.parseInt(date.substring(2, 4)), |
| | | Integer.parseInt(date.substring(4, 6)), Integer.parseInt(date.substring(6, 8)), |
| | |
| | | LogUtils.error("åé设置C3æ¶é´åæ¥å¤±è´¥!"); |
| | | return false; |
| | | } |
| | | System.out.println("忥æ¶é´æ³ç»æ"); |
| | | |
| | | //设置费ç |
| | | System.out.println("设置费çå¼å§"); |
| | | C3mCharging c3mCharging1 = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, mcuUdid)); |
| | | List<C3mChargingCharge> list = c3mChargingChargeService.list(Wrappers.lambdaQuery(C3mChargingCharge.class).eq(C3mChargingCharge::getC3Id, c3mCharging1.getC3Id())); |
| | | if (list.size() == 0) {//è´¹çè¡¨ä¸æ²¡ææ¤å
çµæ¡©æ°æ®æ¶ æ·»å é»è®¤è´¹ç |
| | | c3mChargingChargeService.initCharge((c3mCharging1.getC3Id()).intValue()); |
| | | } |
| | | String rateState = setRate(c3Mac, list); |
| | | System.out.println("设置费çç»æï¼" + rateState); |
| | | System.out.println("设置费çç»æ"); |
| | | |
| | | /** è·³å
æ¶é´åæ¥ |
| | | * 设置æ¶é´è§åï¼å
çµæ¶ä¸º1åï¼éå
çµç¶æä¸º1.5åæ¶é´ |
| | | */ |
| | | System.out.println("设置å¿è·³å
é´éæ¶é´å¼å§"); |
| | | Set<String> keys = RedisUtils.getBean().keys(C3mRedisConstant.C3_STATUS.getCode() + "*"); |
| | | |
| | | C3mRedisConfig.reFlushTime(keys.size()); |
| | |
| | | LogUtils.error("C3空é²å¿è·³å
æ¶é´åæ¥ååºç»æï¼" + time1); |
| | | String time2 = SetHeartbeatPacketTimeCharging(c3Mac, C3mRedisConfig.parseInt(C3mRedisConfig.HEART_BEAT_TIME), true); |
| | | LogUtils.error("C3å
çµæ¶å¿è·³å
æ¶é´åæ¥ååºç»æï¼" + time2); |
| | | System.out.println("设置å¿è·³å
é´éæ¶é´ç»æ"); |
| | | |
| | | |
| | | /** |
| | | * è·åå¿è·³å
ï¼å¤æå¨çº¿ |
| | | */ |
| | | System.out.println("è·åå¿è·³å
å¼å§"); |
| | | A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage aPackage = ReadTheHeartbeatPackage(c3Mac); |
| | | if (aPackage == null) { |
| | | LogUtils.error("读åå¿è·³å
为空"); |
| | |
| | | JSON.toJSONString(aPackage), |
| | | C3mRedisConfig.OUTLINE_TIME |
| | | ); |
| | | System.out.println("è·åå¿è·³å
ç»æ"); |
| | | |
| | | /** |
| | | * finallyãåæ¥ç»æ |
| | | */ |
| | | System.out.println("åæ¥ç»æ å¼å§"); |
| | | String end = EndOfTheSynchronization(c3Mac); |
| | | if (!"æä½æå".equals(end)) { |
| | | LogUtils.error("C3åæ¥ç»æååºç»æ" + end); |
| | | return false; |
| | | } |
| | | System.out.println("åæ¥ç»æ ç»æ"); |
| | | |
| | | return flag; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 设置费ç |
| | | * |
| | | * @param c3Mac |
| | | * @param list |
| | | * @return |
| | | */ |
| | | public String setRate(String c3Mac, List<C3mChargingCharge> list) { |
| | | if (StringUtil.strIsNullOrEmpty(c3Mac)) { |
| | | throw new BusinessException("C3Macå°åä¸è½ä¸ºç©ºï¼"); |
| | | } |
| | | if (list.isEmpty()) { |
| | | throw new BusinessException("è´¹çæ°æ®ä¸è½ä¸ºç©ºï¼"); |
| | | } |
| | | C3SetRateReqInnerFrame c3SetRateReqInnerFrame = new C3SetRateReqInnerFrame(c3Mac, list); |
| | | |
| | | A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), c3SetRateReqInnerFrame); |
| | | System.out.println(a5Frame + " -----a5Frame"); |
| | | C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac)); |
| | | if (c3mCharging == null) { |
| | | throw new BusinessException("C3å
çµæ¡©ç¡¬ä»¶mcu_udidä¸åå¨"); |
| | | } |
| | | CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame); |
| | | StoreOperationRecordsUtils.storeInnerFrameData(c3Mac, "C3帧-设置费ç", a5Frame, commonFrame); |
| | | System.out.println(commonFrame + " -----commonFrame"); |
| | | |
| | | A5C3OperationReportInnerFrame operationReportInnerFrame = new A5C3OperationReportInnerFrame().transformFrame(commonFrame.getPayload()); |
| | | if (operationReportInnerFrame.isValidate()) { |
| | | return operationReportInnerFrame.getState(); |
| | | } else { |
| | | throw new BusinessException("æ°æ®æ ¡éªé误ï¼è¯·éæ°è¯·æ±"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ
éç 䏿¥æ¸
é¤ |
| | | * |
| | | * @param c3Mac |