From b351d83856603abbca985508000828b71712894d Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期五, 10 十二月 2021 15:58:44 +0800
Subject: [PATCH] 功能完善
---
dao/src/main/java/com/sandu/ximon/dao/domain/LampPost.java | 4
dao/src/main/resources/mapper/LampPostMapper.xml | 1
dao/src/main/java/com/sandu/ximon/dao/mapper/PlayPlanMapper.java | 17 ++
dao/src/main/java/com/sandu/ximon/dao/domain/PlayPlan.java | 86 ++++++++++++++
ximon-admin/src/main/java/com/sandu/ximon/admin/param/PlayPlanParam.java | 61 ++++++++++
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/InitAmqpListener.java | 4
dao/src/main/resources/mapper/PlayPlanMapper.xml | 28 ++++
dao/src/main/java/com/sandu/ximon/dao/domain/LED.java | 2
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LampPostService.java | 31 ++++
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LampPostController.java | 11 +
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/AmqpMessageListener.java | 4
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/LampPostOnLineState.java | 29 ++++
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanService.java | 69 +++++++++++
13 files changed, 335 insertions(+), 12 deletions(-)
diff --git a/dao/src/main/java/com/sandu/ximon/dao/domain/LED.java b/dao/src/main/java/com/sandu/ximon/dao/domain/LED.java
index 3749730..1b4153d 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/domain/LED.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/domain/LED.java
@@ -37,6 +37,8 @@
/*鎵�灞炵伅鏉�*/
private String blongsLamp;
+ private Long playPlanId;
+
/*IP鍦板潃*/
private String ip;
diff --git a/dao/src/main/java/com/sandu/ximon/dao/domain/LampPost.java b/dao/src/main/java/com/sandu/ximon/dao/domain/LampPost.java
index 1d79e2d..c2c500b 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/domain/LampPost.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/domain/LampPost.java
@@ -37,6 +37,9 @@
/*璺伅浠诲姟*/
// private List<LampMission> missions;
+ /*鍦ㄧ嚎鐘舵��*/
+ private String onLineState;
+
/*鏈哄櫒鐮�*/
private String macCode;
@@ -49,6 +52,7 @@
/*缁戝畾璁惧鏁伴噺*/
private Integer belongs;
+
private LocalDateTime createTime;
diff --git a/dao/src/main/java/com/sandu/ximon/dao/domain/PlayPlan.java b/dao/src/main/java/com/sandu/ximon/dao/domain/PlayPlan.java
new file mode 100644
index 0000000..5011236
--- /dev/null
+++ b/dao/src/main/java/com/sandu/ximon/dao/domain/PlayPlan.java
@@ -0,0 +1,86 @@
+package com.sandu.ximon.dao.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+import com.sandu.common.mybatis.JsonIntegerArrayTypeHandler;
+import lombok.Data;
+
+/**
+ * 鎾斁璁″垝琛�
+ * @TableName play_plan
+ */
+@TableName(value ="play_plan")
+@Data
+public class PlayPlan implements Serializable {
+ /**
+ *
+ */
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ /**
+ *
+ */
+ private Long userId;
+
+ /**
+ * 鎾斁璁″垝鍚嶇О
+ */
+ private String name;
+
+ /**
+ * 鑺傜洰id
+ */
+ private Long ledProgramId;
+
+ /**
+ * 鑺傜洰鍚嶇О
+ */
+ private String ledProgramName;
+
+ /**
+ * 闊抽噺
+ */
+ private Double volume;
+
+ /**
+ * 閫傜敤绯诲垪
+ */
+ private Integer applySeries;
+
+ /**
+ * 鏃ユ湡鑼冨洿/寮�
+ */
+ private LocalDateTime onDateRange;
+
+ /**
+ * 鏃ユ湡鑼冨洿/鍏�
+ */
+ private LocalDateTime offDateRange;
+
+ /**
+ * 鏄熸湡鑼冨洿
+ */
+ @TableField(typeHandler = JsonIntegerArrayTypeHandler.class)
+ private Integer[] weekRange;
+
+ /**
+ * 寮�鎾椂闂�
+ */
+ private LocalDateTime onTime;
+
+ /**
+ * 涓嬫挱鏃堕棿
+ */
+ private LocalDateTime offTime;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+
+
+}
\ No newline at end of file
diff --git a/dao/src/main/java/com/sandu/ximon/dao/mapper/PlayPlanMapper.java b/dao/src/main/java/com/sandu/ximon/dao/mapper/PlayPlanMapper.java
new file mode 100644
index 0000000..26fa469
--- /dev/null
+++ b/dao/src/main/java/com/sandu/ximon/dao/mapper/PlayPlanMapper.java
@@ -0,0 +1,17 @@
+package com.sandu.ximon.dao.mapper;
+
+import com.sandu.ximon.dao.domain.PlayPlan;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Entity com.sandu.ximon.dao.domain.PlayPlan
+ */
+@Mapper
+public interface PlayPlanMapper extends BaseMapper<PlayPlan> {
+
+}
+
+
+
+
diff --git a/dao/src/main/resources/mapper/LampPostMapper.xml b/dao/src/main/resources/mapper/LampPostMapper.xml
index c133b6a..57dca06 100644
--- a/dao/src/main/resources/mapper/LampPostMapper.xml
+++ b/dao/src/main/resources/mapper/LampPostMapper.xml
@@ -12,6 +12,7 @@
<result property="belongsClient" column="belongs_client" jdbcType="VARCHAR"/>
<result property="clientId" column="client_id" jdbcType="BIGINT"/>
<result property="macCode" column="mac_code" jdbcType="VARCHAR"/>
+ <result property="onLineState" column="on_line_state" jdbcType="VARCHAR"/>
<result property="address" column="address" jdbcType="VARCHAR"/>
<result property="lampGroup" column="lamp_group" jdbcType="VARCHAR"/>
<result property="state" column="state" jdbcType="INTEGER"/>
diff --git a/dao/src/main/resources/mapper/PlayPlanMapper.xml b/dao/src/main/resources/mapper/PlayPlanMapper.xml
new file mode 100644
index 0000000..ea16b2f
--- /dev/null
+++ b/dao/src/main/resources/mapper/PlayPlanMapper.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sandu.ximon.dao.mapper.PlayPlanMapper">
+
+ <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.PlayPlan">
+ <id property="id" column="id" jdbcType="BIGINT"/>
+ <result property="userId" column="user_id" jdbcType="BIGINT"/>
+ <result property="name" column="name" jdbcType="VARCHAR"/>
+ <result property="ledProgramId" column="led_program_id" jdbcType="BIGINT"/>
+ <result property="ledProgramName" column="led_program_name" jdbcType="VARCHAR"/>
+ <result property="volume" column="volume" jdbcType="DOUBLE"/>
+ <result property="applySeries" column="apply_series" jdbcType="INTEGER"/>
+ <result property="onDateRange" column="on_date_range" jdbcType="TIMESTAMP"/>
+ <result property="offDateRange" column="off-date_range" jdbcType="TIMESTAMP"/>
+ <result property="weekRange" column="week_range" typeHandler="com.sandu.common.mybatis.JsonStringArrayTypeHandler"/>
+ <result property="onTime" column="on_time" jdbcType="TIMESTAMP"/>
+ <result property="offTime" column="off_time" jdbcType="TIMESTAMP"/>
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ id,user_id,name,
+ led_program_id,led_program_name,volume,
+ apply_series,date_range,week_range,
+ on_time,off_time
+ </sql>
+</mapper>
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LampPostController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LampPostController.java
index 01d60e1..bea88ae 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LampPostController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LampPostController.java
@@ -37,12 +37,17 @@
return ResponseUtil.success("鍒嗙粍璁剧疆鎴愬姛");
}
- @AnonymousAccess
- @PostMapping("/list")
- public ResponseVO<Object> listLamp(){
+ // @AnonymousAccess
+ //@PostMapping("/list")
+ /* public ResponseVO<Object> listLamp(){
//List<LampPost> list = lampPostService.list();
return ResponseUtil.success(lampPostService.list());
//return ResponseUtil.success(lampPostService.listLamp());
+ }*/
+
+ @PostMapping("/list")
+ public ResponseVO<Object> listLamp(){
+ return ResponseUtil.success(lampPostService.queryStates());
}
}
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 e0a7a3e..4d77102 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
@@ -124,8 +124,8 @@
private void atmosphereAnalysis(String productKey, String deviceName, CommonFrame frame) {
A5AtmosphereHeartbeatReportInnerFrame transformFrame = new A5AtmosphereHeartbeatReportInnerFrame().transformFrame(frame.getPayload());
-// log.info("澶ф皵蹇冭烦涓婃姤");
-// log.info(transformFrame.toString());
+ log.info("澶ф皵蹇冭烦涓婃姤");
+ log.info(transformFrame.toString());
}
private void lightDataReportAnalysis(String productKey, String deviceName, CommonFrame frame) {
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/InitAmqpListener.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/InitAmqpListener.java
index 7e52386..9899d8f 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/InitAmqpListener.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/InitAmqpListener.java
@@ -13,12 +13,12 @@
@AllArgsConstructor
public class InitAmqpListener {
- private final MqttMainBoardConfig mqttMainBoardConfig;
+ /* private final MqttMainBoardConfig mqttMainBoardConfig;
@PostConstruct
public void initListener() throws Exception {
new AmqpClient(
mqttMainBoardConfig
).execute();
- }
+ }*/
}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/LampPostOnLineState.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/LampPostOnLineState.java
new file mode 100644
index 0000000..fa998ee
--- /dev/null
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/LampPostOnLineState.java
@@ -0,0 +1,29 @@
+package com.sandu.ximon.admin.manager.iot.rrpc.enums;
+
+public enum LampPostOnLineState {
+
+ /*
+ ON_LINE 璁惧鍦ㄧ嚎銆�
+ OFFLINE 璁惧绂荤嚎
+ UNACTIVE 璁惧鏈縺娲�
+ DISABLE 璁惧宸茬鐢�
+ */
+
+ ONLINE(1),
+ OFFLINE(2),
+ UNACTIVE(3),
+ DISABLE(0)
+ ;
+
+
+
+ LampPostOnLineState(Integer code) {
+ this.code = code;
+ }
+
+ private final Integer code;
+
+ public Integer getCode() {
+ return code;
+ }
+}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/param/PlayPlanParam.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/param/PlayPlanParam.java
new file mode 100644
index 0000000..233a79c
--- /dev/null
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/param/PlayPlanParam.java
@@ -0,0 +1,61 @@
+package com.sandu.ximon.admin.param;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.sandu.common.mybatis.JsonIntegerArrayTypeHandler;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.time.LocalDateTime;
+
+@Data
+public class PlayPlanParam {
+
+
+ @NotEmpty
+ private String name;
+ @NotEmpty
+ private String ledProgramName;
+ @NotEmpty
+ private Long ledProgramId;
+ @NotEmpty
+ private Double volume;
+
+ /**
+ * 閫傜敤绯诲垪
+ */
+ private Integer applySeries;
+
+ /**
+ * 鏃ユ湡鑼冨洿/寮�
+ */
+ @NotEmpty
+ private LocalDateTime onDateRange;
+
+ /**
+ * 鏃ユ湡鑼冨洿/鍏�
+ */
+ @NotEmpty
+ private LocalDateTime offDateRange;
+
+ /**
+ * 鏄熸湡鑼冨洿
+ */
+ @NotNull
+ @TableField(typeHandler = JsonIntegerArrayTypeHandler.class)
+ private Integer[] weekRange;
+
+ /**
+ * 寮�鎾椂闂�
+ */
+ @NotEmpty
+ private LocalDateTime onTime;
+
+ /**
+ * 涓嬫挱鏃堕棿
+ */
+ @NotEmpty
+ private LocalDateTime offTime;
+}
+
+
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LampPostService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LampPostService.java
index 360b58c..1925744 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LampPostService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LampPostService.java
@@ -1,14 +1,13 @@
package com.sandu.ximon.admin.service;
-import cn.hutool.core.lang.Snowflake;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.aliyuncs.iot.model.v20180120.BatchGetDeviceStateResponse;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.service.impl.BaseServiceImpl;
+import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService;
import com.sandu.ximon.admin.param.LampPostParam;
import com.sandu.ximon.admin.security.CountSet;
import com.sandu.ximon.admin.security.SecurityUtils;
-import com.sandu.ximon.dao.domain.Client;
import com.sandu.ximon.dao.domain.LampCount;
import com.sandu.ximon.dao.domain.LampPost;
import com.sandu.ximon.dao.mapper.ClientMapper;
@@ -82,7 +81,7 @@
/**
* @param group
- * @param Id 缂栬緫鍒嗙粍--閫夋嫨鐏潌
+ * @param Id 缂栬緫鍒嗙粍--閫夋嫨鐏潌
*/
public void setGroup(String group, List<Long> Id) {
@@ -97,10 +96,32 @@
public List<LampPost> listLamp() {
List<LampPost> list = lampPostMapper.listLamp();
- // List<LampPost> list = list(Wrappers.lambdaQuery(LampPost.class));
+ // List<LampPost> list = list(Wrappers.lambdaQuery(LampPost.class));
return list;
}
+ public List<LampPost> queryStates() {
+ // List<LampPost> list = list(Wrappers.lambdaQuery(LampPost.class).eq(LampPost::getClientId, SecurityUtils.getUserId()));
+ List<LampPost> list = list(Wrappers.lambdaQuery(LampPost.class));
+ List<String> MacCodes = new ArrayList<>();
+
+ for (LampPost post : list) {
+ MacCodes.add(post.getMacCode());
+ }
+ List<BatchGetDeviceStateResponse.DeviceStatus> deviceStatuses = MainBoardInvokeSyncService.getInstance().batchGetDeviceState(MacCodes);
+ for (LampPost post : list) {
+ for (BatchGetDeviceStateResponse.DeviceStatus deviceStatus : deviceStatuses) {
+ if(post.getMacCode().equals(deviceStatus.getDeviceName())){
+ post.setOnLineState(deviceStatus.getStatus());
+ }
+ }
+ MacCodes.add(post.getMacCode());
+ }
+
+
+ return list;
+ }
+
}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanService.java
new file mode 100644
index 0000000..6eab549
--- /dev/null
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanService.java
@@ -0,0 +1,69 @@
+package com.sandu.ximon.admin.service;
+
+import com.sandu.common.execption.BusinessException;
+import com.sandu.common.service.impl.BaseServiceImpl;
+import com.sandu.ximon.admin.param.PlayPlanParam;
+import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.dao.domain.PlayPlan;
+import com.sandu.ximon.dao.enums.AdministratorEnums;
+import com.sandu.ximon.dao.mapper.PlayPlanMapper;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+@Service
+@AllArgsConstructor
+public class PlayPlanService extends BaseServiceImpl<PlayPlanMapper, PlayPlan> {
+
+ private final PlayPlanMapper playPlanMapper;
+
+ public boolean addPlan(PlayPlanParam playPlanParam){
+
+ PlayPlan playPlan=new PlayPlan();
+ if( AdministratorEnums.CUSTOMER.getCode().equals(SecurityUtils.getAdministratorIdentity())){
+ playPlan.setUserId(SecurityUtils.getUserId());
+ }
+ playPlan.setName(playPlanParam.getName());
+ playPlan.setLedProgramName(playPlanParam.getLedProgramName());
+ playPlan.setLedProgramId(playPlanParam.getLedProgramId());
+ playPlan.setVolume(playPlanParam.getVolume());
+ playPlan.setApplySeries(playPlanParam.getApplySeries());
+ playPlan.setOnDateRange(playPlanParam.getOnDateRange());
+ playPlan.setOffDateRange(playPlanParam.getOffDateRange());
+ playPlan.setWeekRange(playPlanParam.getWeekRange());
+ playPlan.setOnTime(playPlanParam.getOnTime());
+ playPlan.setOffTime(playPlanParam.getOffTime());
+
+ return save(playPlan);
+
+ }
+ public boolean updatePlan(Long id,PlayPlanParam playPlanParam){
+ PlayPlan byId = getById(id);
+ if(byId==null){
+ throw new BusinessException("鎿嶄綔瀵硅薄涓嶅瓨鍦�");
+ }
+ PlayPlan playPlan=new PlayPlan();
+ playPlan.setId(id);
+ playPlan.setName(playPlanParam.getName());
+ playPlan.setLedProgramName(playPlanParam.getLedProgramName());
+ playPlan.setLedProgramId(playPlanParam.getLedProgramId());
+ playPlan.setVolume(playPlanParam.getVolume());
+ playPlan.setApplySeries(playPlanParam.getApplySeries());
+ playPlan.setOnDateRange(playPlanParam.getOnDateRange());
+ playPlan.setOffDateRange(playPlanParam.getOffDateRange());
+ playPlan.setWeekRange(playPlanParam.getWeekRange());
+ playPlan.setOnTime(playPlanParam.getOnTime());
+ playPlan.setOffTime(playPlanParam.getOffTime());
+
+ return updateById(playPlan);
+
+ }
+ public boolean deletePlan(Long id){
+ PlayPlan byId = getById(id);
+ if(byId==null){
+ throw new BusinessException("鎿嶄綔瀵硅薄涓嶅瓨鍦�");
+ }
+
+ return removeById(id);
+
+ }
+}
--
Gitblit v1.9.3