dao/src/main/java/com/sandu/ximon/dao/domain/LedScheduleEntity.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,79 @@ 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.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; /** * ledç讯任å¡è¡¨ * @TableName led_schedule_xixun */ @TableName(value ="led_schedule_xixun") @Data public class LedScheduleEntity implements Serializable { /** * */ @TableId(type = IdType.AUTO) private Integer id; /** * */ private Long userId; /** * */ private Long clientId; /** * å¼å§æ¶é´ */ private String startTime; /** * ç»ææ¶é´ */ private String endTime; /** * å¼å§æ¶æ */ private String startDate; /** * ç»ææ¥æ */ private String endDate; /** * ä»»å¡åç§° */ private String name; /** * å建æ¶é´ */ private LocalDateTime createDate; /** * 任塿°æ® */ @JsonIgnore private String schedule; /** * */ private String week; @TableField(exist = false) private static final long serialVersionUID = 1L; } dao/src/main/java/com/sandu/ximon/dao/domain/PoleXixunPlayerEntity.java
@@ -63,6 +63,7 @@ * */ private Long createUserId; private Long clientId; @TableField(exist = false) private static final long serialVersionUID = 1L; dao/src/main/java/com/sandu/ximon/dao/mapper/LedScheduleEntityMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ package com.sandu.ximon.dao.mapper; import com.sandu.ximon.dao.domain.LedScheduleEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; /** * @Entity com.sandu.ximon.dao.domain.LedScheduleEntity */ @Mapper public interface LedScheduleEntityMapper extends BaseMapper<LedScheduleEntity> { } dao/src/main/resources/mapper/LedScheduleEntityMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@ <?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.LedScheduleEntityMapper"> <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.LedScheduleEntity"> <id property="id" column="id" jdbcType="INTEGER"/> <result property="userId" column="user_id" jdbcType="BIGINT"/> <result property="clientId" column="client_id" jdbcType="BIGINT"/> <result property="startTime" column="start_time" jdbcType="VARCHAR"/> <result property="endTime" column="end_time" jdbcType="VARCHAR"/> <result property="startDate" column="start_date" jdbcType="VARCHAR"/> <result property="endDate" column="end_date" jdbcType="VARCHAR"/> <result property="name" column="name" jdbcType="VARCHAR"/> <result property="createDate" column="create_date" jdbcType="TIMESTAMP"/> <result property="schedule" column="schedule" jdbcType="VARCHAR"/> <result property="week" column="week" jdbcType="VARCHAR"/> </resultMap> <sql id="Base_Column_List"> id,user_id,client_id, start_time,end_time,start_date, end_date,name,create_date, schedule,week </sql> </mapper> dao/src/main/resources/mapper/PoleXixunPlayerEntityMapper.xml
@@ -14,6 +14,7 @@ <result property="requestBody" column="request_body" jdbcType="VARCHAR"/> <result property="creatTime" column="creat_time" jdbcType="TIMESTAMP"/> <result property="createUserId" column="create_user_id" jdbcType="BIGINT"/> <result property="clientId" column="client_id" jdbcType="BIGINT"/> </resultMap> <sql id="Base_Column_List"> ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java
@@ -4,27 +4,29 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.api.R; import com.github.pagehelper.PageHelper; import com.sandu.common.domain.ResponseVO; import com.sandu.common.execption.BusinessException; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.entity.ProgramPro; import com.sandu.ximon.admin.param.LEDScheduleParam_xixun; import com.sandu.ximon.admin.param.SetVolumeParam; import com.sandu.ximon.admin.security.SecurityUtils; import com.sandu.ximon.admin.service.ClientService; import com.sandu.ximon.admin.service.LedScheduleService; import com.sandu.ximon.admin.service.PoleLightemitService; import com.sandu.ximon.admin.service.XiXunPlayerService; import com.sandu.ximon.admin.utils.LightemitUtils; import com.sandu.ximon.dao.domain.LedPlayerEntity; import com.sandu.ximon.dao.domain.PlayPlanNv; import com.sandu.ximon.dao.domain.PoleLightemitEntity; import com.sandu.ximon.dao.domain.PoleXixunPlayerEntity; import com.sandu.ximon.dao.enums.AdministratorEnums; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.Arrays; import java.util.Collection; import java.util.Iterator; import java.util.List; /** @@ -41,21 +43,63 @@ private final ClientService clientService; private final PoleLightemitService poleLightemitService; private final LightemitUtils lightemitUtils; private final LedScheduleService scheduleService; /** * æ°å¢èç® * @param programPro * @return */ @PostMapping("/addProgram") public ResponseVO<Object> addProgram(@RequestBody ProgramPro programPro){ return ResponseUtil.success(xiXunPlayerService.insert(programPro)); } /** * ä¿®æ¹ */ @PostMapping("/updateProgram") // @RequiresPermissions("pole:polexixunplayer:update") public ResponseVO<Object> update(@RequestBody ProgramPro programPro){ PoleXixunPlayerEntity byId = xiXunPlayerService.getById(programPro.getProgramId()); if(byId==null){ throw new BusinessException("åæ°é误"); } // QueryWrapper<PoleXixunPlayerEntity> queryWrapper = new QueryWrapper<>(); // queryWrapper.eq("program_code", programPro.get_id()); boolean insert=false; if(xiXunPlayerService.removeById(programPro.getProgramId())){ insert = xiXunPlayerService.insert(programPro); }; return ResponseUtil.success(insert); } /** * å é¤èç® * @param pid * @return */ @PostMapping("/deleteProgram/{pid}") public ResponseVO<Object> deleteProgram(@PathVariable Long pid){ return ResponseUtil.success(xiXunPlayerService.deleteProgram(pid)); } /** * è·åèç®è¯¦æ * @param pid * @return */ @GetMapping("/getByPid/{pid}") public ResponseVO<Object> getByPid(@PathVariable Long pid){ return ResponseUtil.success(xiXunPlayerService.getByPid(pid)); } /** * èç®å表 * @param baseConditionVO * @param keyword * @return */ @GetMapping("/list") public ResponseVO<Object> list(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) { PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); @@ -86,12 +130,23 @@ } /** * èç®æ¨é * @param pid * @param lightemitIds * @return */ @GetMapping("/pushToXixun/{pid}") public ResponseVO<Object> getByPid(@PathVariable Long pid, @RequestBody List<Long> lightemitIds ){ xiXunPlayerService.videoXixunPlayer(pid,lightemitIds); return ResponseUtil.success("æ¨éæå"); } /** * LEDå±å¹æ°å¢ * @param poleLightemit * @return */ @PostMapping("/saveLed") public ResponseVO<Object> save(@RequestBody PoleLightemitEntity poleLightemit){ int count = poleLightemitService.count(new QueryWrapper<PoleLightemitEntity>().eq("lightemit_control_code", poleLightemit.getLightemitControlCode())); @@ -107,12 +162,23 @@ return ResponseUtil.success("æ°å¢æå"); } /** * LEDå±å¹ä¿®æ¹ * @param ledId * @param poleLightemit * @return */ @PostMapping("/updateLed/{ledId}") public ResponseVO<Object> updatePoleLightemit(@PathVariable Long ledId,@RequestBody PoleLightemitEntity poleLightemit){ poleLightemitService.updatePoleLightemit(ledId,poleLightemit); return ResponseUtil.success("ä¿®æ¹æå"); } /** * LEDå±å¹å é¤ * @param ledIds * @return */ @PostMapping("/deleteLed") public ResponseVO<Object> deleteLed(@RequestBody List<Long> ledIds){ boolean b = poleLightemitService.deletePoleLightemit(ledIds); @@ -123,7 +189,12 @@ } } /** * LEDå±å¹å表 * @param baseConditionVO * @param keyword * @return */ @GetMapping("/listLed") public ResponseVO<Object> listLed(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) { PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); @@ -162,4 +233,68 @@ throw new BusinessException("æªéæ©LEDå±"); } } /* è·åé³é */ @GetMapping("/getVolume/{id}") public ResponseVO<Object> getVolume(@PathVariable Long id){ if(id == null){ throw new BusinessException("æªéæ©LEDå±"); } PoleLightemitEntity poleLightemitEntity = poleLightemitService.getById(id); if(poleLightemitEntity != null){ String result = lightemitUtils.getVoiume(poleLightemitEntity.getLightemitControlCode()); return ResponseUtil.success(result); }else { throw new BusinessException("æªéæ©LEDå±"); } } /* 设置é³é */ @GetMapping("/setVolume") public ResponseVO<Object> setVolume(@RequestBody SetVolumeParam setVolumeEntity){ if(setVolumeEntity == null || setVolumeEntity.getIds() == null || setVolumeEntity.getVolume() > 15){ throw new BusinessException("åæ°é误"); } Collection poleLightemitControllers = poleLightemitService.listByIds(Arrays.asList(setVolumeEntity.getIds())); if (!poleLightemitControllers.isEmpty()) { Iterator iterator = poleLightemitControllers.iterator(); while (iterator.hasNext()) { PoleLightemitEntity poleLightemitEntity = (PoleLightemitEntity) iterator.next(); poleLightemitService.setVolume(poleLightemitEntity.getLightemitControlCode(), setVolumeEntity.getVolume()); } return ResponseUtil.success("设置é³éæå"); }else { throw new BusinessException("æªéæ©LEDå±"); } } @PostMapping("/addSchedule") public ResponseVO<Object> addSchedule(@RequestBody LEDScheduleParam_xixun ledEntity){ return ResponseUtil.success(scheduleService.insert(ledEntity)); } @PostMapping("/updateSchedule") public ResponseVO<Object> updateSchedule(@RequestBody LEDScheduleParam_xixun ledEntity){ return ResponseUtil.success(scheduleService.updateSchedule(ledEntity)); } @GetMapping("/getSchedule/{id}") public ResponseVO<Object> getSchedule(@PathVariable Integer id){ return ResponseUtil.success(scheduleService.getSchedule(id)); } @GetMapping("/pushSchedule/{id}") public ResponseVO<Object> pushSchedule(@PathVariable Integer id,@RequestBody Long[] lightemitIds){ scheduleService.ledschedulepush(id,lightemitIds); return ResponseUtil.success("设置æå"); } } ximon-admin/src/main/java/com/sandu/ximon/admin/param/LEDScheduleParam_xixun.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,45 @@ package com.sandu.ximon.admin.param; import lombok.Data; @Data public class LEDScheduleParam_xixun { private Integer id; /** * */ private Long userId; /** * */ private String startTime; /** * */ private String endTime; /** * */ private String startDate; /** * */ private String endDate; /** * */ private String name; /** * */ private String createDate; /** * */ private String schedule; /** * */ private Integer week[]; } ximon-admin/src/main/java/com/sandu/ximon/admin/param/SetVolumeParam.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ package com.sandu.ximon.admin.param; import lombok.Data; /** * @program: machine-fast * @description: 设置é³éæ¥æ¶ç±» * @author: YSS * @create: 2019-09-18 10:46 **/ @Data public class SetVolumeParam { private Long[] ids; private Integer volume; } ximon-admin/src/main/java/com/sandu/ximon/admin/service/LedScheduleService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,133 @@ package com.sandu.ximon.admin.service; import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; import com.sandu.common.execption.BusinessException; import com.sandu.common.service.impl.BaseServiceImpl; 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.LightemitUtils; 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.dao.domain.LedScheduleEntity; import com.sandu.ximon.dao.domain.PoleLightemitEntity; import com.sandu.ximon.dao.mapper.LedScheduleEntityMapper; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.util.*; /** * @Author liuhaonan * @Date 2022/2/28 13:45 * @Version 1.0 */ @Service @AllArgsConstructor public class LedScheduleService extends BaseServiceImpl<LedScheduleEntityMapper, LedScheduleEntity> { private final LedScheduleEntityMapper ledScheduleEntityMapper; private final ClientService clientService; private final PoleLightemitService poleLightemitService; private final LightemitUtils lightemitUtils; private final RealtimeServerBean realtimeServerBean; public boolean insert(LEDScheduleParam_xixun ledEntity) { LedScheduleEntity ledScheduleEntity = new LedScheduleEntity(); BeanUtil.copyProperties(ledEntity,ledScheduleEntity); ledScheduleEntity.setUserId(SecurityUtils.getClientId()); Schedules schedules = new Schedules(); Task task = new Task(); TaskSchedules taskSchedules = new TaskSchedules(); if(ledEntity.getStartTime() =="" || ledEntity.getEndTime() == "" || ledEntity.getStartTime() == null || ledEntity.getEndTime() ==null ){ schedules.setTimeType("All"); }else { schedules.setTimeType("Range"); schedules.setStartTime(ledEntity.getStartTime()); schedules.setEndTime(ledEntity.getEndTime()); } if(ledEntity.getStartDate() =="" || ledEntity.getEndDate() == "" || ledEntity.getStartDate() == null || ledEntity.getEndDate() ==null ){ schedules.setDateType("All"); }else { schedules.setDateType("Range"); schedules.setStartDate(ledEntity.getStartDate()); schedules.setEndDate(ledEntity.getEndDate()); } if(ledEntity.getWeek().length != 0){ schedules.setFilterType("Week"); schedules.setWeekFilter(ledEntity.getWeek()); }else { schedules.setFilterType("None"); } List list =new ArrayList(); list.add(schedules); task.setSchedules(list); task.setCreateDate(ledEntity.getCreateDate()); task.setDateCreated(ledEntity.getCreateDate()); String id = UUID.randomUUID().toString(); task.set_id(id); task.setId(id); task.set_departmentd(UUID.randomUUID().toString()); task.set_role(UUID.randomUUID().toString()); task.setName(ledEntity.getName()); taskSchedules.setTask(task); String json = JSON.toJSONString(taskSchedules, SerializerFeature.WriteMapNullValue); // String json = new Gson().toJson(taskSchedules); ledScheduleEntity.setSchedule(json); return this.save(ledScheduleEntity); } /** * 宿¶æ¨é * @param scheduleId * @param lightemitIds */ public void ledschedulepush(Integer scheduleId, Long[] lightemitIds) { LedScheduleEntity ledScheduleEntity = baseMapper.selectById(scheduleId); // SendCommand sendCommand = new SendCommand(); // sendCommand.setTask(ledScheduleEntity.getSchedule()); // String json = new Gson().toJson(sendCommand); Collection<PoleLightemitEntity> poleLightemitEntities = poleLightemitService.listByIds(Arrays.asList(lightemitIds)); if(poleLightemitEntities != null){ for (PoleLightemitEntity entity: poleLightemitEntities) { lightemitUtils.post(realtimeServerBean.getCommand() + entity.getLightemitControlCode(), ledScheduleEntity.getSchedule()); } } } public boolean updateSchedule(LEDScheduleParam_xixun paramXixun){ if(paramXixun.getId()==null){ throw new BusinessException("åæ°é误"); } LedScheduleEntity byId = getById(paramXixun.getId()); if(byId==null){ throw new BusinessException("æªæ¾å°è¯¥å®æ¶æ°æ®"); } boolean result=false; if( removeById(paramXixun.getId())){ result = insert(paramXixun); } return result; } public LedScheduleEntity getSchedule(Integer id){ if(id==null){ throw new BusinessException("åæ°é误"); } LedScheduleEntity byId = getById(id); if(byId==null){ throw new BusinessException("æªæ¾å°è¯¥å®æ¶æ°æ®"); } //List<Map> schedule = JSON.parseArray(byId.getSchedule(), List.class); return byId; } } ximon-admin/src/main/java/com/sandu/ximon/admin/service/XiXunPlayerService.java
@@ -48,6 +48,8 @@ poleXixunPlayer.setHeight(programPro.getHeight()); poleXixunPlayer.setWidth(programPro.getWidth()); poleXixunPlayer.setTotalSize((float) programPro.getTotalSize() / 1000000 + "MB"); // programPro.setProgramId(poleXixunPlayer.getProgramId()); // System.out.println(poleXixunPlayer.getProgramId()); poleXixunPlayer.setRequestBody(json); // poleXixunPlayer.setCreatTime(sdf.format(date)); poleXixunPlayer.setCreateUserId(SecurityUtils.getClientId()); @@ -72,6 +74,7 @@ ProgramPro programPro = new ProgramPro(); try { programPro = JsonUtil.convertJsonStringToObject(json, ProgramPro.class); programPro.setProgramId(pid); } catch (Exception e) { e.printStackTrace(); } @@ -92,7 +95,7 @@ poleXixunPlayerEntity = this.getOne(queryWrapper); String json = poleXixunPlayerEntity.getRequestBody(); System.out.println( JSON.parseArray(json, ProgramPro.class)); // System.out.println( JSON.parseArray(json, ProgramPro.class)); try { pro = JsonUtil.convertJsonStringToObject(json, ProgramPro.class); ximon-admin/src/main/java/com/sandu/ximon/admin/utils/LightemitUtils.java
@@ -334,12 +334,11 @@ //è¯·æ± String result = post(realtimeServerBean.getCommand() + ledCode, postBody); LogUtils.error("è®¾ç½®ç»æ:-------------------"+result); } /* è·åledé³é */ /*public String getVoiume(String ledCode){ // è·åledé³é public String getVoiume(String ledCode){ GetVolume getVolume = new GetVolume(); String postBody = new Gson().toJson(getVolume); @@ -356,7 +355,6 @@ return "0"; } } */ /** * æ¥è¯¢å®æ¶ ximon-admin/src/main/java/com/sandu/ximon/admin/utils/request/GetVolume.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ package com.sandu.ximon.admin.utils.request; public class GetVolume { public final String type = "callCardService"; public final String fn = "getVolume"; } ximon-admin/src/main/java/com/sandu/ximon/admin/utils/request/Schedules.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,33 @@ package com.sandu.ximon.admin.utils.request; import lombok.Data; /** * @program: server1 * @description: 宿¶å¼å ³ledå±å¹ * @author: YSS * @create: 2020-07-29 15:19 **/ @Data public class Schedules { private String lng = "zh-CN"; private Integer monthFilter[] = {}; private Integer weekFilter[] = {}; private String filterType; private String endTime; private String startTime; private String timeType = "Range"; private String endDate ; private String startDate; private String dateType; } ximon-admin/src/main/java/com/sandu/ximon/admin/utils/request/Task.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,44 @@ package com.sandu.ximon.admin.utils.request; import lombok.Data; import java.util.List; /** * @program: server1 * @description: 宿¶ä»»å¡ * @author: YSS * @create: 2020-07-29 14:31 **/ @Data public class Task { private String createBy = "check"; private String createDate; private String dateCreated; private String id; private String lng = "zh-CN"; private String name; private List<Schedules> schedules; // private Schedules schedules; private String _id; private String _company = "alahover"; private String _departmentd; private String _role; private String _user = "check"; private Integer _v = 0; } ximon-admin/src/main/java/com/sandu/ximon/admin/utils/request/TaskSchedules.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.sandu.ximon.admin.utils.request; import lombok.Data; /** * @program: server1 * @description: 宿¶æ¨éç±» * @author: YSS * @create: 2020-07-29 14:20 **/ @Data public class TaskSchedules { private String type = "timedScreening"; private Task task; }