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; 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; 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; } 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> { } 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"/> 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> 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()); } } 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) { 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(); } }*/ } 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; } } 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; } 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; } } 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); } }