From a688902be88d187bf6b8773be23780fca81d737d Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期三, 30 三月 2022 17:41:20 +0800
Subject: [PATCH] C3

---
 /dev/null                                                                                           |   23 -------
 dao/src/main/java/com/sandu/ximon/dao/mapper/C3mChargingMapper.java                                 |    7 ++
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3ChargingController.java                |    4 
 ximon-admin/src/main/java/com/sandu/ximon/admin/param/C3ChargingParam.java                          |    3 +
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java                      |   43 ++++++++++---
 dao/src/main/resources/mapper/C3mChargingMapper.xml                                                 |   28 +++++++++
 ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/C3ChargingEnum.java          |   30 +++++++++
 ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java |    6 -
 ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/AmqpMessageListener.java           |   15 ++--
 9 files changed, 109 insertions(+), 50 deletions(-)

diff --git a/dao/src/main/java/com/sandu/ximon/dao/mapper/C3mChargingMapper.java b/dao/src/main/java/com/sandu/ximon/dao/mapper/C3mChargingMapper.java
index e55e22b..8563b5f 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/mapper/C3mChargingMapper.java
+++ b/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);
+
+
 }
 
 
diff --git a/dao/src/main/resources/mapper/C3mChargingMapper.xml b/dao/src/main/resources/mapper/C3mChargingMapper.xml
index 87cf5a9..8a6686b 100644
--- a/dao/src/main/resources/mapper/C3mChargingMapper.xml
+++ b/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>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3ChargingController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3ChargingController.java
index e2e5750..875f9a4 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3ChargingController.java
+++ b/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));
     }
 
     /**
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/AmqpMessageListener.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/AmqpMessageListener.java
index dd55d88..bf1c318 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/AmqpMessageListener.java
+++ b/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());
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java
index 67eea88..469963c 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java
+++ b/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("蹇冭烦鐩稿簲鈥斺�擟3鍏呯數妗╂暟鎹�" + 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());
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/A5C3ReportEnum.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/A5C3ReportEnum.java
deleted file mode 100644
index cb237e3..0000000
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/A5C3ReportEnum.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.sandu.ximon.admin.manager.iot.rrpc.enums;
-
-/**
- * @author chenjiantian
- * A5-83 C3鍏呯數妗╀笂鎶ワ細锛坅mqp锛�
- */
-public enum A5C3ReportEnum {
-    /**
-     *缃戠粶璇锋眰
-     */
-    NETWORK_REQUEST("40"),
-    /**
-     * 浜岀淮鐮佽姹�
-     */
-    QR_CODE_REQUEST("41"),
-    /**
-     * 涓婃姤蹇冭烦鍖�
-     */
-    HEART_BEAT("42"),
-    /**
-     * 涓婃姤鍏呯數缁撴潫
-     */
-    CHARGE_COMPLETE("43"),
-    /**
-     * 涓婃姤鍏呯數涓柇
-     */
-    CHARGE_STOP("44"),
-    /**
-     * 涓婃姤鏁呴殰鐮�
-     */
-    ERROR_CODE("45")
-    ;
-
-
-    A5C3ReportEnum(String code) {
-        this.code = code;
-    }
-
-    private final String code;
-
-    public String getCode() {
-        return code;
-    }
-}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/C3ChargingEnum.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/C3ChargingEnum.java
index 35c132d..ffbef55 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/C3ChargingEnum.java
+++ b/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;
     }
-}
+    }
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/C3ChargingReportEnum.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/C3ChargingReportEnum.java
deleted file mode 100644
index 2e11998..0000000
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/C3ChargingReportEnum.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.sandu.ximon.admin.manager.iot.rrpc.enums;
-
-/**
- * @author ZZQ
- * A5-82 C3鍏呯數妗╀笂鎶�
- * @date 2022/3/11 16:34
- */
-public enum C3ChargingReportEnum {
-    //  涓婃姤蹇冭烦鍖�
-    HeartBeat_Data("42"),
-    ;
-
-
-    C3ChargingReportEnum(String code) {
-        this.code = code;
-    }
-
-    private final String code;
-
-    public String getCode() {
-        return code;
-    }
-}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/param/C3ChargingParam.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/param/C3ChargingParam.java
index 916fcce..590df42 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/param/C3ChargingParam.java
+++ b/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;
 }
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java
index 2a70fe6..4919cea 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java
+++ b/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鍏呯數妗╃‖浠秏cu_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("鏁版嵁鏍¢獙閿欒锛岃閲嶆柊璇锋眰");

--
Gitblit v1.9.3