From dda268997ca8f8a364f7c19b45d7a43a50a98efe Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期二, 25 十月 2022 18:00:11 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LedScheduleService.java |  127 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 113 insertions(+), 14 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LedScheduleService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LedScheduleService.java
index f53f39f..f9c8fe7 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LedScheduleService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LedScheduleService.java
@@ -20,8 +20,10 @@
 import com.sandu.ximon.admin.utils.request.requestbody.GetSchedules;
 import com.sandu.ximon.admin.utils.request.requestbody.Task;
 import com.sandu.ximon.admin.vo.LedScheduleVO;
+import com.sandu.ximon.admin.vo.XiXunResultVO;
 import com.sandu.ximon.dao.domain.LedScheduleEntity;
 import com.sandu.ximon.dao.domain.PoleLightemitEntity;
+import com.sandu.ximon.dao.enums.OrderByEnums;
 import com.sandu.ximon.dao.mapper.LedScheduleEntityMapper;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
@@ -95,12 +97,12 @@
         }
 
         /**
-         * 鐔欐睕瀹氭椂鏇存敼
+         * 鐔欐睕瀹氭椂鏇存敼 鏃ュ織璁板綍寮�濮�
          */
         String content = "{鐔欐睕瀹氭椂id锛�" + ledScheduleEntity.getId() + ",鐔欐睕瀹氭椂鍚嶇О锛�" + ledScheduleEntity.getName() + "鐔欐睕瀹氭椂鍐呭锛�" + JSON.toJSONString(ledScheduleEntity.getSchedule()) + " }";
-        StoreOperationRecordsUtils.storeOperationData(null, null, "鐔欐睕瀹氭椂鏇存敼", content);
+        StoreOperationRecordsUtils.storeOperationData(null, null, "鐔欐睕瀹氭椂浠诲姟鏇存敼", content);
         /**
-         * 鐔欐睕瀹氭椂鏇存敼
+         * 鐔欐睕瀹氭椂鏇存敼 鏃ュ織璁板綍缁撴潫
          */
         return this.save(ledScheduleEntity);
     }
@@ -111,28 +113,40 @@
      *
      * @param scheduleId
      * @param lightemitIds
+     * @return
      */
-    public void ledschedulepush(Integer scheduleId, Long[] lightemitIds) {
+    public Map<String, List<XiXunResultVO>> ledschedulepush(Integer scheduleId, Long[] lightemitIds) {
 
 //        LedScheduleEntity ledScheduleEntity = baseMapper.selectById(scheduleId);
         LedScheduleEntity ledScheduleEntity = getById(scheduleId);
         if (ledScheduleEntity == null) {
             throw new BusinessException("璇ュ畾鏃朵换鍔′笉瀛樺湪");
         }
-//        SendCommand sendCommand = new SendCommand();
-//        SendCommand sendCommand = new SendCommand();
-//        sendCommand.setTask(ledScheduleEntity.getSchedule());
-//        String json = new Gson().toJson(sendCommand);
         Collection<PoleLightemitEntity> poleLightemitEntities = poleLightemitService.listByIds(Arrays.asList(lightemitIds));
+        Map<String, List<XiXunResultVO>> result=new HashMap<>();
+        List<XiXunResultVO> success =new ArrayList<>();
+        List<XiXunResultVO> fail =new ArrayList<>();
+
 
         if (poleLightemitEntities != null) {
             for (PoleLightemitEntity entity : poleLightemitEntities) {
-                lightemitUtils.post(realtimeServerBean.getCommand() + entity.getLightemitControlCode(), ledScheduleEntity.getSchedule());
+                String post = lightemitUtils.post(realtimeServerBean.getCommand() + entity.getLightemitControlCode(), ledScheduleEntity.getSchedule());
+                XiXunResultVO vo=new XiXunResultVO();
+                vo.setLightemitId(entity.getLightemitId());
+                vo.setLightemitName(entity.getLightemitName());
+                if(post.contains("{\"_type\":\"success\",\"_id\":")){
+                    success.add(vo);
+                }else {
+                    fail.add(vo);
+                }
             }
         }
 
+
+
+
         /**
-         * 鐔欐睕瀹氭椂鏂板
+         * 鐔欐睕瀹氭椂鎺ㄩ�� 鏃ュ織璁板綍寮�濮�
          */
         String message = "";
         List<String> listCode = new ArrayList<>();
@@ -143,10 +157,68 @@
             message += "[灞忓箷Code:" + entity.getLightemitControlCode() + "灞忓箷鍚嶇О:" + entity.getLightemitName() + "],";
         }
         String content = "{鐔欐睕瀹氭椂id锛�" + ledScheduleEntity.getId() + ",鐔欐睕瀹氭椂鍚嶇О锛�" + ledScheduleEntity.getName() + "鐔欐睕灞忓箷淇℃伅锛�" + message + " }";
-        StoreOperationRecordsUtils.storeOperationData(listCode, null, "鐔欐睕瀹氭椂鏇存敼", content);
+        StoreOperationRecordsUtils.storeOperationData(listCode, null, "鎺ㄩ�佺啓姹涘畾鏃朵换鍔�", content);
         /**
-         * 鐔欐睕瀹氭椂鏂板
+         * 鐔欐睕瀹氭椂浠诲姟鎺ㄩ�� 鏃ュ織璁板綍缁撴潫
          */
+
+        result.put("success",success);
+        result.put("fail",fail);
+        return result;
+    }
+
+    /**
+     * 娓呯┖瀹氭椂
+     *
+     * @param
+     * @param lightemitIds
+     */
+    public Map<String, List<XiXunResultVO>> deleteSchedulePush( Long[] lightemitIds) {
+
+        Collection<PoleLightemitEntity> poleLightemitEntities = poleLightemitService.listByIds(Arrays.asList(lightemitIds));
+
+        Map<String, List<XiXunResultVO>> result=new HashMap<>();
+        List<XiXunResultVO> success =new ArrayList<>();
+        List<XiXunResultVO> fail =new ArrayList<>();
+
+        if (poleLightemitEntities != null) {
+            for (PoleLightemitEntity entity : poleLightemitEntities) {
+//                lightemitUtils.post(realtimeServerBean.getCommand() + entity.getLightemitControlCode(), ledScheduleEntity.getSchedule());
+                String post = lightemitUtils.post(realtimeServerBean.getCommand() + entity.getLightemitControlCode(), "{\"type\": \"timedScreening\",\"task\":{}}");
+
+                XiXunResultVO vo=new XiXunResultVO();
+                vo.setLightemitId(entity.getLightemitId());
+                vo.setLightemitName(entity.getLightemitName());
+                if(post.contains("{\"_type\":\"success\",\"_id\":")){
+                   success.add(vo);
+                }else {
+                    fail.add(vo);
+                }
+
+                System.out.println(post+"---------");
+            }
+        }
+
+
+        /**
+         * 娓呯┖鐔欐睕瀹氭椂浠诲姟 鏃ュ織璁板綍寮�濮�
+         */
+        String message = "";
+        List<String> listCode = new ArrayList<>();
+
+        for (PoleLightemitEntity entity : poleLightemitEntities) {
+
+            listCode.add(entity.getLightemitControlCode());
+            message += "[灞忓箷Code:" + entity.getLightemitControlCode() + "灞忓箷鍚嶇О:" + entity.getLightemitName() + "],";
+        }
+        String content = "{鐔欐睕灞忓箷淇℃伅锛�" + message + " }";
+        StoreOperationRecordsUtils.storeOperationData(listCode, null, "娓呯┖鐔欐睕瀹氭椂浠诲姟", content);
+        /**
+         * 娓呯┖鐔欐睕瀹氭椂浠诲姟 鏃ュ織璁板綍缁撴潫
+         */
+        result.put("success",success);
+        result.put("fail",fail);
+        return result;
     }
 
     public boolean updateSchedule(LEDScheduleParam_xixun paramXixun) {
@@ -184,7 +256,7 @@
      * @param keyword
      * @return
      */
-    public List listSchedule(BaseConditionVO baseConditionVO, String keyword) {
+    public List listSchedule(BaseConditionVO baseConditionVO,Integer order,Integer seq, String keyword) {
         LambdaQueryWrapper<LedScheduleEntity> eq = Wrappers.lambdaQuery(LedScheduleEntity.class);
         //鐢ㄦ埛绫诲瀷鍒ゆ柇
         if (SecurityUtils.getClientId() != null) {
@@ -197,7 +269,34 @@
             eq = eq.like(LedScheduleEntity::getName, keyword);
         }
 
-        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+        //鎺掑簭瀛楁
+        String orderByResult = "id";
+        //姝e簭銆佸�掑彊
+        String orderBySeq = OrderByEnums.ASC.getCode();
+        if (order != null) {
+            switch (order) {
+                case 1:
+                    orderByResult = OrderByEnums.LED_S_PLAY_PLAN_CREATE_TIME.getCode();
+                    break;
+                default:
+            }
+        }
+        if (seq != null) {
+            switch (seq) {
+                case 1:
+                    orderBySeq = " ASC";
+                    break;
+                case 2:
+                    orderBySeq = " DESC";
+                    break;
+                default:
+                    break;
+            }
+        }
+        //鎺掑簭鏂瑰紡
+        String orderBy = orderByResult + " " + orderBySeq;
+
+        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(),orderBy);
         return list(eq);
     }
 

--
Gitblit v1.9.3