2021与蓝度共同重构项目,服务端
liuhaonan
2022-02-11 54cd0ca82059cdad4e9ee5b9b1c7164d443ab46f
功能完善
已修改18个文件
241 ■■■■ 文件已修改
dao/src/main/java/com/sandu/ximon/dao/bo/IpVolumeMissionBo.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/domain/BroadcastV2TaskTerminal.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/domain/LEDProgram.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/mapper/BroadcastV2TaskTerminalMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/mapper/LEDProgramMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/BroadcastV2TaskTerminalMapper.xml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/LEDProgramMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleGroupController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/param/LEDProgramParam.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastTerminalV2Service.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastV2TaskTerminalService.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeMissionService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleGroupService.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxRequestUtil.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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&lt;com.sandu.ximon.dao.domain.BroadcastV2TaskTerminal&gt;">
         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()) {