dao/src/main/java/com/sandu/ximon/dao/mapper/C3mChargingMapper.java
@@ -1,8 +1,11 @@ package com.sandu.ximon.dao.mapper; import com.sandu.ximon.dao.bo.C3ChargingBo; import com.sandu.ximon.dao.domain.C3mCharging; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * @Entity com.sandu.ximon.dao.domain.C3mCharging @@ -12,6 +15,10 @@ C3mCharging getAllByC3Mac(String c3Mac); List<C3ChargingBo> listC3mChargingDto(String keyword); } dao/src/main/resources/mapper/C3mChargingMapper.xml
@@ -26,4 +26,32 @@ from c3m_charging where c3_mac = #{c3Mac} </select> <select id="listC3mChargingDto" resultType="com.sandu.ximon.dao.bo.C3ChargingBo"> SELECT t1.*, t3.pole_code, t3.pole_name FROM c3m_charging t1 LEFT JOIN pole_binding t2 ON t1.mcu_udid = t2.device_code AND t2.device_type = 8 LEFT JOIN pole t3 ON t3.id = t2.pole_id <where> <if test="keyword != null and keyword != ''"> AND (t1.c3_name LIKE CONCAT(CONCAT('%', #{keyword}), '%') OR (t3.pole_name LIKE CONCAT(CONCAT('%', #{keyword}), '%'))) </if> </where> </select> </mapper> ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3ChargingController.java
@@ -24,8 +24,8 @@ @GetMapping("/C3ChargingList") public ResponseVO<Object> C3ChargingList(BaseConditionVO baseConditionVO) { return ResponseUtil.successPage(c3ChargingService.getC3ChargingList(baseConditionVO)); public ResponseVO<Object> C3ChargingList(BaseConditionVO baseConditionVO, @RequestBody(required = false) C3ChargingParam c3ChargingParam) { return ResponseUtil.successPage(c3ChargingService.getC3ChargingListByKeyword(baseConditionVO, c3ChargingParam)); } /** ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/AmqpMessageListener.java
@@ -8,9 +8,8 @@ import com.sandu.ximon.admin.manager.iot.frame.inner.report.*; import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame; import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonReportMessage; import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5C3ReportEnum; import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5LightReportEnum; import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5OrderEnum; import com.sandu.ximon.admin.manager.iot.rrpc.enums.C3ChargingEnum; import com.sandu.ximon.admin.manager.iot.rrpc.util.FrameUtils; import lombok.extern.slf4j.Slf4j; @@ -114,29 +113,29 @@ private void c3ChargingReportAnalysis(String productKey, String deviceName, CommonFrame frame) { String functionCode = frame.getPayload().substring(2, 4); if (A5C3ReportEnum.NETWORK_REQUEST.getCode().equals(functionCode)) { if (C3ChargingEnum.NETWORK_REQUEST.getCode().equals(functionCode)) { // A5C3CommonReportInnerFrame netRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload()); // log.info("C3å çµæ¡©ä¸æ¥å¤ç_netRequestFrame"); // log.info(netRequestFrame.toString()); //ç½ç»è¯·æ± c3ChargingProcessor.c3ChargingProcessorgetInstance().process(productKey, deviceName, frame); } else if (A5C3ReportEnum.QR_CODE_REQUEST.getCode().equals(functionCode)) { } else if (C3ChargingEnum.QR_CODE_REQUEST.getCode().equals(functionCode)) { A5C3CommonReportInnerFrame codeRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload()); log.info("C3å çµæ¡©ä¸æ¥å¤ç_codeRequestFrame"); log.info(codeRequestFrame.toString()); } else if (A5C3ReportEnum.HEART_BEAT.getCode().equals(functionCode)) { } else if (C3ChargingEnum.HEART_BEAT.getCode().equals(functionCode)) { //å¿è·³å c3ChargingProcessor.c3ChargingProcessorgetInstance().process(productKey, deviceName, frame); } else if (A5C3ReportEnum.CHARGE_COMPLETE.getCode().equals(functionCode)) { } else if (C3ChargingEnum.CHARGE_COMPLETE.getCode().equals(functionCode)) { A5C3CommonReportInnerFrame completeRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload()); log.info("C3å çµæ¡©ä¸æ¥å¤ç_completeRequestFrame"); log.info(completeRequestFrame.toString()); } else if (A5C3ReportEnum.CHARGE_STOP.getCode().equals(functionCode)) { } else if (C3ChargingEnum.CHARGE_STOP.getCode().equals(functionCode)) { A5C3CommonReportInnerFrame stopRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload()); log.info("C3å çµæ¡©ä¸æ¥å¤ç_stopRequestFrame"); log.info(stopRequestFrame.toString()); } else if (A5C3ReportEnum.ERROR_CODE.getCode().equals(functionCode)) { } else if (C3ChargingEnum.ERROR_CODE.getCode().equals(functionCode)) { A5C3ErrorCodeReportInnerFrame errorCodeRequestFrame = new A5C3ErrorCodeReportInnerFrame().transformFrame(frame.getPayload()); log.info("C3å çµæ¡©ä¸æ¥å¤ç_errorCodeRequestFrame"); log.info(errorCodeRequestFrame.toString()); ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java
@@ -5,9 +5,7 @@ import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3HeartbeatReportInnerFrame; import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3OperationReportInnerFrame; import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame; import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5C3ReportEnum; import com.sandu.ximon.admin.manager.iot.rrpc.enums.C3ChargingEnum; import com.sandu.ximon.admin.manager.iot.rrpc.enums.C3ChargingReportEnum; import com.sandu.ximon.admin.service.C3ChargingService; import lombok.extern.slf4j.Slf4j; @@ -32,7 +30,7 @@ @Override public void process(String productKey, String deviceName, CommonFrame frame) { String functionCode = frame.getPayload().substring(2, 4); if (C3ChargingReportEnum.HeartBeat_Data.getCode().equals(functionCode)) { if (C3ChargingEnum.HEART_BEAT.getCode().equals(functionCode)) { log.info("å¿è·³ç¸åºââC3å çµæ¡©æ°æ®" + productKey + " ------- " + deviceName); A5C3HeartbeatReportInnerFrame heartbeatReportInnerFrame = new A5C3HeartbeatReportInnerFrame().transformFrame(frame.getPayload()); log.info("C3å çµæ¡©ä¸æ¥å¤ç_heartbeatReportInnerFrame"); @@ -53,7 +51,7 @@ // if (operationReportInnerFrame.isValidate()) { // SpringContextHolder.getBean(C3ChargingService.class).saveReportData(deviceName, operationReportInnerFrame.getHeartBeatDataPackage()); // } } else if (A5C3ReportEnum.NETWORK_REQUEST.getCode().equals(functionCode)) { } else if (C3ChargingEnum.NETWORK_REQUEST.getCode().equals(functionCode)) { A5C3CommonReportInnerFrame netRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload()); log.info("C3å çµæ¡©ä¸æ¥å¤ç_netRequestFrame"); log.info(netRequestFrame.toString()); ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/A5C3ReportEnum.java
ÎļþÒÑɾ³ý ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/C3ChargingEnum.java
@@ -43,7 +43,33 @@ //æ¢å¤åºåå¼ RestoreFactoryValue("29"), //软éå¯ RestartCharging("2B"); RestartCharging("2B"), //以ä¸ä¸ºä¸»å¨ä¸æ¥ /** * ç½ç»è¯·æ± */ NETWORK_REQUEST("40"), /** * äºç»´ç è¯·æ± */ QR_CODE_REQUEST("41"), /** * 䏿¥å¿è·³å */ HEART_BEAT("42"), /** * 䏿¥å çµç»æ */ CHARGE_COMPLETE("43"), /** * 䏿¥å çµä¸æ */ CHARGE_STOP("44"), /** * 䏿¥æ éç */ ERROR_CODE("45"); private String code; @@ -54,4 +80,4 @@ C3ChargingEnum(String code) { this.code = code; } } } ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/C3ChargingReportEnum.java
ÎļþÒÑɾ³ý ximon-admin/src/main/java/com/sandu/ximon/admin/param/C3ChargingParam.java
@@ -43,4 +43,7 @@ private int min; //ç§ private int sec; //C3å çµæ¡©è¡¨æ¥è¯¢å ³é®å private String keyword; } ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java
@@ -5,6 +5,7 @@ import com.sandu.common.execption.BusinessException; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.ximon.dao.bo.C3ChargingBo; import com.sandu.ximon.admin.manager.iot.frame.A5Frame; import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3HeartbeatReportInnerFrame; import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3OperationReportInnerFrame; @@ -15,10 +16,7 @@ import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService; import com.sandu.ximon.admin.param.C3ChargingAddParam; import com.sandu.ximon.admin.param.C3ChargingParam; import com.sandu.ximon.dao.domain.C3mCharging; import com.sandu.ximon.dao.domain.C3mChargingCharge; import com.sandu.ximon.dao.domain.Pole; import com.sandu.ximon.dao.domain.PoleBinding; import com.sandu.ximon.dao.domain.*; import com.sandu.ximon.dao.mapper.C3mChargingMapper; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -35,7 +33,7 @@ @Slf4j @AllArgsConstructor public class C3ChargingService extends BaseServiceImpl<C3mChargingMapper, C3mCharging> { private C3mChargingMapper c3mChargingMapper; private final C3mChargingChargeService c3mChargingChargeService; private final PoleBindingService bindingService; private final PoleService poleService; @@ -106,9 +104,20 @@ * * @return */ public List<C3mCharging> getC3ChargingList(BaseConditionVO baseConditionVO) { public List<C3ChargingBo> getC3ChargingListByKeyword(BaseConditionVO baseConditionVO, C3ChargingParam c3ChargingParam) { PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); return list(); if(c3ChargingParam == null){ c3ChargingParam = new C3ChargingParam(); } //å ³é®åå»é¤ç©ºæ ¼ if (c3ChargingParam.getKeyword() != null) { c3ChargingParam.setKeyword(c3ChargingParam.getKeyword().trim()); } List<C3ChargingBo> c3ChargingBoList = c3mChargingMapper.listC3mChargingDto(c3ChargingParam.getKeyword()); return c3ChargingBoList; } /** @@ -454,22 +463,34 @@ throw new BusinessException("å°åä¿¡æ¯é误ï¼"); } C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac)); if (c3mCharging == null) { throw new BusinessException("C3MACå°åä¸åå¨"); } if (getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, address)) != null) { throw new BusinessException("æ°çå°åä¿¡æ¯å·²åå¨ï¼"); } C3SetAddressReqInnerFrame setAddressReqInnerFrame = new C3SetAddressReqInnerFrame(c3Mac, address); A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), setAddressReqInnerFrame); 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); System.out.println(commonFrame + " -----commonFrame"); A5C3OperationReportInnerFrame operationReportInnerFrame = new A5C3OperationReportInnerFrame().transformFrame(commonFrame.getPayload()); if (operationReportInnerFrame.isValidate()) { if ("æä½æå".equals(operationReportInnerFrame.getState())) { //ä¿®æ¹æåéè¦æ´æ¹æ°æ®åºæ°æ® C3mCharging one = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac)); one.setC3Mac(address); updateById(one); } return operationReportInnerFrame.getState(); } else { throw new BusinessException("æ°æ®æ ¡éªé误ï¼è¯·éæ°è¯·æ±");