dao/src/main/java/com/sandu/ximon/dao/bo/IpVolumeMissionBo.java
@@ -1,6 +1,7 @@ package com.sandu.ximon.dao.bo; import com.fasterxml.jackson.annotation.JsonIgnore; import com.sandu.ximon.dao.domain.IpVolumeMission; import lombok.Data; import java.time.LocalDateTime; @@ -12,17 +13,17 @@ * @Version 1.0 */ @Data public class IpVolumeMissionBo { public class IpVolumeMissionBo extends IpVolumeMission { private Integer taskId; private String missionName; private Integer numberInPlay; private LocalDateTime createTime; private String userName; // private Integer taskId; // // private String missionName; // // private Integer numberInPlay; // // private LocalDateTime createTime; // // private String userName; /*@JsonIgnore private String fileName;*/ dao/src/main/java/com/sandu/ximon/dao/domain/BroadcastV2TaskTerminal.java
@@ -14,6 +14,9 @@ @TableName(value ="broadcast_v2_task_terminal") @Data public class BroadcastV2TaskTerminal implements Serializable { /** * */ dao/src/main/java/com/sandu/ximon/dao/domain/LEDProgram.java
@@ -42,6 +42,16 @@ private String preview; /** * 节目宽 */ private Integer width; /** * 节目高 */ private Integer height; /** * pages实体 */ private String pages; dao/src/main/java/com/sandu/ximon/dao/mapper/BroadcastV2TaskTerminalMapper.java
@@ -18,6 +18,9 @@ boolean deleteByTaskId(Integer taskId); // boolean insertTaskTerminal(@Param("list") List<BroadcastV2TaskTerminal> list); boolean insertTask(Integer taskId,Integer terminalId); List<BroadcastTerminalV2Entity> listAll(@Param("terminalName") String name); @Insert("insert into broadcast_v2_terminal (id,terminal_name,streetlight_id,exist) values (#{id},#{terminalName},#{streetlightId},#{exist})") dao/src/main/java/com/sandu/ximon/dao/mapper/LEDProgramMapper.java
@@ -2,7 +2,6 @@ import com.sandu.ximon.dao.domain.LEDProgram; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.sandu.ximon.dao.domain.PushToLed; import org.apache.ibatis.annotations.Mapper; /** @@ -10,7 +9,6 @@ */ @Mapper public interface LEDProgramMapper extends BaseMapper<LEDProgram> { } dao/src/main/resources/mapper/BroadcastV2TaskTerminalMapper.xml
@@ -12,10 +12,40 @@ <sql id="Base_Column_List"> task_id,terminal_id </sql> <insert id="insertTask"> INSERT INTO broadcast_v2_task_terminal ( task_id, terminal_id ) VALUES ( #{taskId}, #{terminalId} ) </insert> <!-- <insert id="insertTaskTerminal" parameterType="java.util.List<com.sandu.ximon.dao.domain.BroadcastV2TaskTerminal>"> INSERT INTO broadcast_v2_task_terminal ( task_id, terminal_id ) VALUES <foreach collection="list" item="item" index="index" separator=","> ( #{item.taskId}, #{item.terminalId} ) </foreach> </insert>--> <delete id="deleteByTaskId" parameterType="java.lang.Integer"> delete from broadcast_v2_task_terminal where task_id=#{taskId} delete from broadcast_v2_task_terminal <!-- <if test="_parameter !=null" > and task_id=#{taskId,jdbcType=INTEGER} </if >--> where task_id=#{taskId} </delete> <select id="listAll" resultType="com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity"> SELECT a.*, b.pole_name dao/src/main/resources/mapper/LEDProgramMapper.xml
@@ -10,6 +10,8 @@ <result property="userName" column="user_name" jdbcType="VARCHAR"/> <result property="name" column="name" jdbcType="VARCHAR"/> <result property="preview" column="preview" jdbcType="VARCHAR"/> <result property="width" column="width" jdbcType="INTEGER"/> <result property="height" column="height" jdbcType="INTEGER"/> <result property="pages" column="pages" jdbcType="VARCHAR"/> <result property="kind" column="kind" jdbcType="INTEGER"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> @@ -18,8 +20,8 @@ <sql id="Base_Column_List"> id,user_id,user_name, name,preview,pages, kind,create_time,update_time name,preview,width, height,pages,kind, create_time,update_time </sql> </mapper> ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleGroupController.java
@@ -1,6 +1,8 @@ package com.sandu.ximon.admin.controller; import com.github.pagehelper.PageHelper; import com.sandu.common.domain.ResponseVO; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.param.PoleGroupParam; import com.sandu.ximon.admin.param.PoleGroupRelationParam; @@ -23,7 +25,7 @@ private final PoleGroupService poleGroupService; @GetMapping("/add") @PostMapping("/add") public ResponseVO<Object> addGroup(@RequestBody @Validated PoleGroupParam param) { return ResponseUtil.success(poleGroupService.addGroup(param)); } @@ -33,14 +35,15 @@ return ResponseUtil.success(poleGroupService.updateGroup(groupId, param)); } @GetMapping("/delete/{groupId}") @PostMapping("/delete/{groupId}") public ResponseVO<Object> delGroup(@PathVariable Long groupId) { return ResponseUtil.success(poleGroupService.deleteGroup(groupId)); } @PostMapping("/list") public ResponseVO<Object> listGroup() { return ResponseUtil.success(poleGroupService.groupList()); @GetMapping("/list") public ResponseVO<Object> listGroup(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) { PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); return ResponseUtil.success(poleGroupService.groupList(baseConditionVO,keyword)); } @PostMapping("/bind/{groupId}") ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java
@@ -1,12 +1,17 @@ package com.sandu.ximon.admin.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import com.sandu.common.domain.ResponseVO; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.param.VnnoxParam; import com.sandu.ximon.admin.security.SecurityUtils; import com.sandu.ximon.admin.service.LedPlayerEntityService; import com.sandu.ximon.admin.service.VnnoxService; import com.sandu.ximon.admin.utils.response.VnnoxResult; import com.sandu.ximon.dao.domain.LedPlayerEntity; import com.sandu.ximon.dao.domain.LedV2RegisterResultEntity; import com.sandu.ximon.dao.enums.AdministratorEnums; import org.springframework.beans.factory.annotation.Autowired; @@ -31,30 +36,55 @@ @Autowired private LedPlayerEntityService ledPlayerEntityService; /** * 截屏 * @param vnnoxWebRequest * @return */ @GetMapping("/screenShot") public ResponseVO<Object> screenShot(@RequestBody VnnoxParam vnnoxWebRequest) { Map<String, String> map = vnnoxService.getScreenShotUrl(vnnoxWebRequest.getId()); return ResponseUtil.success(map.get("url")); } /** * 重启 * @param vnnoxWebRequest * @return */ @GetMapping("/reboot") public ResponseVO<Object> reboot(@RequestBody VnnoxParam vnnoxWebRequest) { VnnoxResult vnnoxResult = vnnoxService.reboot(vnnoxWebRequest.getPlayerList()); return ResponseUtil.success(vnnoxResult); } /** * * @param vnnoxWebRequest * @return */ @GetMapping("/screenStatusChange") public ResponseVO<Object> screenStatusChange(@RequestBody VnnoxParam vnnoxWebRequest) { VnnoxResult vnnoxResult = vnnoxService.screenStatusChange(vnnoxWebRequest.getPlayerList(),vnnoxWebRequest.getScreenStatus()); return ResponseUtil.success(vnnoxResult); } /** * 音量调节 * @param vnnoxWebRequest * @return */ @GetMapping("/volChange") public ResponseVO<Object> volChange(@RequestBody VnnoxParam vnnoxWebRequest) { VnnoxResult vnnoxResult = vnnoxService.volChange(vnnoxWebRequest.getPlayerList(),vnnoxWebRequest.getVol()); return ResponseUtil.success(vnnoxResult); } /** * 亮度调节 * @param vnnoxWebRequest * @return */ @GetMapping("/brightnessChange") public ResponseVO<Object> brightnessChange(@RequestBody VnnoxParam vnnoxWebRequest) { VnnoxResult vnnoxResult = vnnoxService.brightnessChange(vnnoxWebRequest.getPlayerList(),vnnoxWebRequest.getBrightness()); @@ -77,11 +107,16 @@ @GetMapping("/list") public ResponseVO<Object> list() { public ResponseVO<Object> list(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) { PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); LambdaQueryWrapper<LedPlayerEntity> wrapper = Wrappers.lambdaQuery(LedPlayerEntity.class); if(AdministratorEnums.CUSTOMER.getCode().equals(SecurityUtils.getAdministratorIdentity())) { return ResponseUtil.success(""); //wrapper.eq(LedPlayerEntity::get) return ResponseUtil.success(""); // todo }else { return ResponseUtil.success(ledPlayerEntityService.list()); wrapper.like(LedPlayerEntity::getPlayerName,keyword); return ResponseUtil.success(ledPlayerEntityService.list(wrapper)); } } ximon-admin/src/main/java/com/sandu/ximon/admin/param/LEDProgramParam.java
@@ -24,6 +24,16 @@ private String previewUrl; /** * 节目宽 */ private Integer width; /** * 节目高 */ private Integer height; /** * pages实体 */ private List<Map> pages; ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastTerminalV2Service.java
@@ -50,7 +50,7 @@ BroadcastTerminalV2Entity b = new BroadcastTerminalV2Entity(); b.setId(id); b.setTerminalName(item.getName()); b.setStreetlightId(0l); b.setStreetlightId(0L); b.setExist(1); broadcastV2TaskTerminalMapper.insert(b); } ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastV2TaskTerminalService.java
@@ -6,6 +6,8 @@ import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.util.List; /** * @Author liuhaonan * @Date 2021/12/30 11:59 @@ -20,5 +22,30 @@ return v2TaskTerminalMapper.deleteByTaskId(taskId); } public boolean insertTaskTerminal(List<BroadcastV2TaskTerminal> list){ // return v2TaskTerminalMapper.insertTaskTerminal(list); for(BroadcastV2TaskTerminal v2:list){ boolean save = save(v2); if(!save){ return save; } } return true; } protected boolean saveTaskTerminal(List<BroadcastV2TaskTerminal> list) { /* BroadcastV2TaskTerminal v2=new BroadcastV2TaskTerminal(); v2.setTaskId(1111); v2.setTerminalId(2222); return save(v2);*/ for(BroadcastV2TaskTerminal v2:list){ boolean save = v2TaskTerminalMapper.insertTask(v2.getTaskId(),v2.getTerminalId()); if(!save){ return save; } } return true; // return v2TaskTerminalMapper.insertTask(1111,2222); } } ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java
@@ -94,4 +94,19 @@ } } /** * 一级客户返回false 二级客户返回true * @return */ public boolean findClientId(){ Long userId = SecurityUtils.getUserId(); Client one = getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getId, userId)); if(one!=null&&one.getSuperiorId()!=null){ return true; }else { return false; } } } ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeMissionService.java
@@ -112,9 +112,8 @@ missionparam.setTerminals(taskTerminalVOList.toArray(new TaskTerminalVO[taskTerminalVOList.size()])); System.out.println("---------------------------"); // 向IP音柱服务器添加任务 //Integer taskId = TaskAPIUtils.addTask(missionparam); // System.out.println("---------------------------"); Integer taskId = 1111; Integer taskId = TaskAPIUtils.addTask(missionparam); // Integer taskId = 1111; if (null != taskId && taskId != 0) { IpVolumeMission byId = getById(taskId); @@ -166,8 +165,8 @@ // broadcastV2TaskTerminalService.removeById(taskId); broadcastV2TaskTerminalService.saveTaskTerminal(taskTerminalEntityList); broadcastV2TaskFileService.saveBatch(taskFileEntityList); // broadcastV2TaskTerminalService.insertTaskTerminal(taskTerminalEntityList); // broadcastV2TaskTerminalService.saveBatch(taskTerminalEntityList); // broadcastV2TaskTerminalService.insertTaskTerminal(taskTerminalEntityList); return true; } else { ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java
@@ -27,8 +27,9 @@ } led.setName(receiveParam.getName()); led.setPreview(receiveParam.getPreviewUrl()); led.setWidth(receiveParam.getWidth()); led.setHeight(receiveParam.getHeight()); led.setPages(JSON.toJSONString(receiveParam.getPages())); // led.setPages(JSONArray.fromObject(receiveParam.getPages()).toString()); return save(led); } @@ -45,7 +46,9 @@ //led.setUserId(SecurityUtils.getClientId()); led.setName(receiveParam.getName()); led.setPreview(receiveParam.getPreviewUrl()); led.setPages(receiveParam.getPages().toString()); led.setWidth(receiveParam.getWidth()); led.setHeight(receiveParam.getHeight()); led.setPages(JSON.toJSONString(receiveParam.getPages())); return updateById(led); } ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleGroupService.java
@@ -1,7 +1,9 @@ package com.sandu.ximon.admin.service; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import com.sandu.common.execption.BusinessException; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.ximon.admin.param.PoleGroupParam; import com.sandu.ximon.admin.security.SecurityUtils; @@ -25,7 +27,10 @@ public boolean addGroup(PoleGroupParam param) { PoleGroup group = new PoleGroup(); group.setClientId(SecurityUtils.getClientId()); if(SecurityUtils.getClientId()!=null){ group.setClientId(SecurityUtils.getUserId()); } group.setGroupName(param.getGroupName()); return save(group); } @@ -49,12 +54,13 @@ return removeById(groupId); } public List<PoleGroup> groupList() { public List<PoleGroup> groupList(BaseConditionVO baseConditionVO,String keyword) { Long clientId = SecurityUtils.getClientId(); PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); if (clientId == null) { return list(); return list(Wrappers.lambdaQuery(PoleGroup.class).like(PoleGroup::getGroupName,keyword)); } else { return list(Wrappers.lambdaQuery(PoleGroup.class).eq(PoleGroup::getClientId, clientId)); return list(Wrappers.lambdaQuery(PoleGroup.class).eq(PoleGroup::getClientId, clientId).like(PoleGroup::getGroupName,keyword)); } } ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
@@ -340,16 +340,24 @@ * 用户绑定灯杆 * * @param clientId 用户ID * @param poleId 灯杆ID * @param poleIds 灯杆ID * @return */ public boolean ClientBindingPole(long clientId, int poleId) { Pole pole = getById(poleId); if (pole == null) { throw new BusinessException("灯杆不存在"); } pole.setClientId(clientId); public boolean ClientBindingPole(long clientId, int[] poleIds) { boolean r=false; for (int poleId:poleIds) { Pole pole = getById(poleId); if (pole == null) { throw new BusinessException("灯杆不存在"); } pole.setClientId(clientId); r=updateById(pole); return updateById(pole); if(!r){ throw new BusinessException("灯杆ID为"+poleId+"设置失败,自动停止"); } } return r; } } ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxRequestUtil.java
@@ -92,6 +92,8 @@ public static String PostWithHeader (String URL, String json, CommonHeader header) { System.out.println(json); System.out.println("****************************************"); CloseableHttpClient client = HttpClients.createDefault(); HttpPost post = new HttpPost(URL); for(String key: header.keySet()) {