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 | 234 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 217 insertions(+), 17 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 e090934..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
@@ -12,12 +12,18 @@
import com.sandu.ximon.admin.config.RealtimeServerBean;
import com.sandu.ximon.admin.param.LEDScheduleParam_xixun;
import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.admin.utils.JsonUtil;
import com.sandu.ximon.admin.utils.LightemitUtils;
+import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.admin.utils.request.Schedules;
-import com.sandu.ximon.admin.utils.request.Task;
import com.sandu.ximon.admin.utils.request.TaskSchedules;
+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;
@@ -83,6 +89,21 @@
String json = JSON.toJSONString(taskSchedules, SerializerFeature.WriteMapNullValue);
// String json = new Gson().toJson(taskSchedules);
ledScheduleEntity.setSchedule(json);
+ if (SecurityUtils.getClientId() != null) {
+ ledScheduleEntity.setUserId(SecurityUtils.getUserId());
+ if (clientService.findClientId()) {
+ ledScheduleEntity.setClientId(clientService.getClientId());
+ }
+ }
+
+ /**
+ * 鐔欐睕瀹氭椂鏇存敼 鏃ュ織璁板綍寮�濮�
+ */
+ String content = "{鐔欐睕瀹氭椂id锛�" + ledScheduleEntity.getId() + ",鐔欐睕瀹氭椂鍚嶇О锛�" + ledScheduleEntity.getName() + "鐔欐睕瀹氭椂鍐呭锛�" + JSON.toJSONString(ledScheduleEntity.getSchedule()) + " }";
+ StoreOperationRecordsUtils.storeOperationData(null, null, "鐔欐睕瀹氭椂浠诲姟鏇存敼", content);
+ /**
+ * 鐔欐睕瀹氭椂鏇存敼 鏃ュ織璁板綍缁撴潫
+ */
return this.save(ledScheduleEntity);
}
@@ -92,20 +113,112 @@
*
* @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);
-// SendCommand sendCommand = new SendCommand();
-// sendCommand.setTask(ledScheduleEntity.getSchedule());
-// String json = new Gson().toJson(sendCommand);
+// LedScheduleEntity ledScheduleEntity = baseMapper.selectById(scheduleId);
+ LedScheduleEntity ledScheduleEntity = getById(scheduleId);
+ if (ledScheduleEntity == null) {
+ throw new BusinessException("璇ュ畾鏃朵换鍔′笉瀛樺湪");
+ }
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<>();
+
+ for (PoleLightemitEntity entity : poleLightemitEntities) {
+
+ listCode.add(entity.getLightemitControlCode());
+ message += "[灞忓箷Code:" + entity.getLightemitControlCode() + "灞忓箷鍚嶇О:" + entity.getLightemitName() + "],";
+ }
+ String content = "{鐔欐睕瀹氭椂id锛�" + ledScheduleEntity.getId() + ",鐔欐睕瀹氭椂鍚嶇О锛�" + ledScheduleEntity.getName() + "鐔欐睕灞忓箷淇℃伅锛�" + message + " }";
+ 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) {
@@ -136,21 +249,108 @@
}
- public List listSchedule(BaseConditionVO baseConditionVO, String keyword) {
- LambdaQueryWrapper<LedScheduleEntity> eq = new LambdaQueryWrapper<>();
- PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
- if (SecurityUtils.getClientId() != null && clientService.findClientId()) {
- eq = Wrappers.lambdaQuery(LedScheduleEntity.class).eq(LedScheduleEntity::getUserId, SecurityUtils.getUserId());
- } else if (SecurityUtils.getClientId() != null && !clientService.findClientId()) {
- eq = Wrappers.lambdaQuery(LedScheduleEntity.class).eq(LedScheduleEntity::getClientId, SecurityUtils.getUserId());
- } else {
- eq = Wrappers.lambdaQuery(LedScheduleEntity.class);
+ /**
+ * 鎾斁璁″垝鍒楄〃锛堢啓璁級
+ *
+ * @param baseConditionVO
+ * @param keyword
+ * @return
+ */
+ public List listSchedule(BaseConditionVO baseConditionVO,Integer order,Integer seq, String keyword) {
+ LambdaQueryWrapper<LedScheduleEntity> eq = Wrappers.lambdaQuery(LedScheduleEntity.class);
+ //鐢ㄦ埛绫诲瀷鍒ゆ柇
+ if (SecurityUtils.getClientId() != null) {
+ eq = eq.eq(LedScheduleEntity::getUserId, SecurityUtils.getUserId()).or(w -> {
+ w.eq(LedScheduleEntity::getClientId, SecurityUtils.getUserId());
+ });
}
- if (!keyword.isEmpty()) {
+ //妯$硦鏌ヨ鍏抽敭瀛楀垽鏂�
+ if (keyword != null && !keyword.isEmpty()) {
eq = eq.like(LedScheduleEntity::getName, keyword);
}
+ //鎺掑簭瀛楁
+ 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);
}
+
+ /**
+ * 瀹氭椂鏌ヨ
+ */
+ public LedScheduleVO getledschedules(Long id) {
+
+ PoleLightemitEntity poleLightemitEntity = poleLightemitService.getById(id);
+
+ String result1 = lightemitUtils.getTimeSchedule(poleLightemitEntity.getLightemitControlCode());
+ if (result1.indexOf("not open") != -1) {
+ LedScheduleVO notOpen = new LedScheduleVO();
+ notOpen.setLedName(poleLightemitEntity.getLightemitName());
+ notOpen.setScheduleName("璁惧鏈紑鍚�");
+ return notOpen;
+ }
+ boolean flag = result1.contains("exist");
+ if (flag != true) {
+ String result = lightemitUtils.getTimeSchedule(poleLightemitEntity.getLightemitControlCode());
+// if(result !=null){
+ GetSchedules getSchedules = new GetSchedules();
+ try {
+ getSchedules = JsonUtil.convertJsonStringToObject(result, GetSchedules.class);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ LedScheduleVO ledScheduleVO = new LedScheduleVO();
+ ledScheduleVO.setLedName(poleLightemitEntity.getLightemitName());
+ if (getSchedules.getTask().getName() != null) {
+ ledScheduleVO.setScheduleName(getSchedules.getTask().getName());
+ List<Schedules> list = new ArrayList();
+ list = getSchedules.getTask().getSchedules();
+ for (Schedules schedules : list) {
+
+ ledScheduleVO.setStartTime(schedules.getStartTime());
+ ledScheduleVO.setEndTime(schedules.getEndTime());
+ ledScheduleVO.setStartDate(schedules.getStartDate());
+ ledScheduleVO.setEndDate(schedules.getEndDate());
+ ledScheduleVO.setWeek(schedules.getWeekFilter());
+ }
+ ;
+ } else {
+ ledScheduleVO.setScheduleName("鏃犲畾鏃�");
+ }
+ return ledScheduleVO;
+ } else {
+ LedScheduleVO ledScheduleVO = new LedScheduleVO();
+ ledScheduleVO.setLedName(poleLightemitEntity.getLightemitName());
+ ledScheduleVO.setScheduleName("璁惧鏈紑鍚�");
+ return ledScheduleVO;
+ }
+
+ }
+
}
--
Gitblit v1.9.3