2021与蓝度共同重构项目,服务端
liuhaonan
2022-03-04 d72e7d16776d31c2fd29b60929e896bccded3029
Merge remote-tracking branch 'origin/master'
已修改11个文件
190 ■■■■■ 文件已修改
dao/src/main/java/com/sandu/ximon/dao/mapper/BroadcastTerminalV2EntityMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/mapper/BroadcastV2TaskTerminalMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/BroadcastTerminalV2EntityMapper.xml 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/BroadcastV2TaskTerminalMapper.xml 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastTerminalV2Service.java 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/mapper/BroadcastTerminalV2EntityMapper.java
@@ -1,13 +1,27 @@
package com.sandu.ximon.dao.mapper;
import com.sandu.common.domain.BaseMapper;
import com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo;
import com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * @Entity com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity
 */
@Mapper
public interface BroadcastTerminalV2EntityMapper extends BaseMapper<BroadcastTerminalV2Entity> {
    List<BroadcastTerminalV2Entity> listAll(@Param("terminalName") String name);
//
    @Insert("insert into broadcast_v2_terminal (id,terminal_name,streetlight_id,exist) values (#{id},#{terminalName},#{streetlightId},#{exist})")
    int insert(BroadcastTerminalV2Entity b);
    List<BroadcastTerminalV2EntityBo> getBroadcastTerminalList(String keyword, Long clientId, int bindingState);
}
dao/src/main/java/com/sandu/ximon/dao/mapper/BroadcastV2TaskTerminalMapper.java
@@ -1,14 +1,8 @@
package com.sandu.ximon.dao.mapper;
import com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo;
import com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity;
import com.sandu.ximon.dao.domain.BroadcastV2TaskTerminal;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * @Entity com.sandu.ximon.dao.domain.BroadcastV2TaskTerminal
@@ -21,13 +15,6 @@
    // 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})")
    void insert(BroadcastTerminalV2Entity b);
    List<BroadcastTerminalV2EntityBo> getBroadcastTerminalList(String keyword, Long clientId, int bindingState);
}
dao/src/main/resources/mapper/BroadcastTerminalV2EntityMapper.xml
@@ -5,15 +5,52 @@
<mapper namespace="com.sandu.ximon.dao.mapper.BroadcastTerminalV2EntityMapper">
    <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity">
            <id property="id" column="id" jdbcType="INTEGER"/>
            <result property="terminalName" column="terminal_name" jdbcType="VARCHAR"/>
            <result property="streetlightId" column="streetlight_id" jdbcType="BIGINT"/>
            <result property="bindStates" column="bind_states" jdbcType="INTEGER"/>
            <result property="exist" column="exist" jdbcType="INTEGER"/>
        <id property="id" column="id" jdbcType="INTEGER"/>
        <result property="terminalName" column="terminal_name" jdbcType="VARCHAR"/>
        <result property="streetlightId" column="streetlight_id" jdbcType="BIGINT"/>
        <result property="bindStates" column="bind_states" jdbcType="INTEGER"/>
        <result property="exist" column="exist" jdbcType="INTEGER"/>
    </resultMap>
    <sql id="Base_Column_List">
        id,terminal_name,streetlight_id,
        bind_states,exist
    </sql>
    <select id="listAll" resultType="com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity">
        SELECT
        a.*, b.pole_name
        FROM
        broadcast_v2_terminal a
        LEFT JOIN pole b ON a.streetlight_id = b.id
        WHERE
        1 = 1
        <if test="terminalName != null and terminalName != ''">
            AND a.terminal_name like '%${terminalName}%'
        </if>
    </select>
    <select id="getBroadcastTerminalList" resultType="com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo">
        SELECT
        t1.*, t2.pole_id,
        t3.pole_name
        FROM
        broadcast_v2_terminal t1
        LEFT JOIN pole_binding t2 ON t1.id = t2.device_code
        AND t2.device_type = 5
        LEFT JOIN pole t3 ON t3.id = t2.pole_id
        <where>
            <if test="keyword != null and keyword != ''">
                AND t3.pole_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
                OR t1.terminal_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
            </if>
            <if test="clientId != null">
                AND t3.client_id = #{clientId}
            </if>
            <if test="bindingState != 2">
                AND t1.bind_states = #{bindingState}
            </if>
        </where>
    </select>
</mapper>
dao/src/main/resources/mapper/BroadcastV2TaskTerminalMapper.xml
@@ -47,42 +47,4 @@
    </delete>
    <select id="listAll" resultType="com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity">
        SELECT
        a.*, b.pole_name
        FROM
        broadcast_v2_terminal a
        LEFT JOIN pole b ON a.streetlight_id = b.id
        WHERE
        1 = 1
        <if test="terminalName != null and terminalName != ''">
            AND a.terminal_name like '%${terminalName}%'
        </if>
    </select>
    <select id="getBroadcastTerminalList" resultType="com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo">
        SELECT
        t1.*, t2.pole_id,
        t3.pole_name
        FROM
        broadcast_v2_terminal t1
        LEFT JOIN pole_binding t2 ON t1.id = t2.device_code
        AND t2.device_type = 5
        LEFT JOIN pole t3 ON t3.id = t2.pole_id
        <where>
            <if test="keyword != null and keyword != ''">
                AND t3.pole_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
                OR t1.terminal_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
            </if>
            <if test="clientId != null">
                AND t3.client_id = #{clientId}
            </if>
            <if test="bindingState != 2">
                AND t1.bind_states = #{bindingState}
            </if>
        </where>
    </select>
</mapper>
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
@@ -15,6 +15,7 @@
import com.sandu.ximon.admin.param.PoleParam;
import com.sandu.ximon.admin.param.PoleStatesParam;
import com.sandu.ximon.admin.service.AirEquipmentService;
import com.sandu.ximon.admin.service.BroadcastTerminalV2Service;
import com.sandu.ximon.admin.service.MonitorService;
import com.sandu.ximon.admin.service.PoleService;
import com.sandu.ximon.dao.domain.Pole;
@@ -39,6 +40,7 @@
    private final PoleService poleService;
    private MonitorService monitorService;
    private BroadcastTerminalV2Service broadcastTerminalV2Service;
    private AirEquipmentService airEquipmentService;
    @PostMapping("/add")
@@ -91,6 +93,7 @@
    }
//TODO  设备的绑定解绑都要单独重新处理
    /**
     * 灯杆绑定设备
     */
@@ -111,6 +114,7 @@
                case 4:
                    break;
                case 5:
                    broadcastTerminalV2Service.updateBingdingState(true, Integer.valueOf(param.getDeviceCode()).intValue());
                    break;
                case 6:
                    break;
@@ -135,8 +139,8 @@
     * 灯杆绑定设备
     */
    @PostMapping("/unBind/{poleId}")
    public ResponseVO<Object> unBindPole(@PathVariable Long poleId, @RequestBody  @Validated PoleBindingParam param) {
        boolean result = poleService.unBindPole(param.getDeviceCode());
    public ResponseVO<Object> unBindPole(@PathVariable Long poleId, @RequestBody @Validated PoleBindingParam param) {
        boolean result = poleService.unBindPole(poleId, param.getDeviceCode());
        if (result) {
            //设备类型,0路灯,1led屏幕,2充电桩,3大气监测,4水质监测,5ip音柱,6lcd广告机,7摄像头,8杆体倾测,9一键救助
            switch (param.getDeviceType()) {
@@ -151,6 +155,7 @@
                case 4:
                    break;
                case 5:
                    broadcastTerminalV2Service.updateBingdingState(false, Integer.valueOf(param.getDeviceCode()).intValue());
                    break;
                case 6:
                    break;
ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastTerminalV2Service.java
@@ -1,6 +1,7 @@
package com.sandu.ximon.admin.service;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
@@ -11,6 +12,8 @@
import com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo;
import com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity;
import com.sandu.ximon.dao.domain.BroadcastV2TaskTerminal;
import com.sandu.ximon.dao.domain.Monitor;
import com.sandu.ximon.dao.mapper.BroadcastTerminalV2EntityMapper;
import com.sandu.ximon.dao.mapper.BroadcastV2TaskTerminalMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -19,21 +22,24 @@
import java.util.List;
@Service
public class BroadcastTerminalV2Service extends BaseServiceImpl<BroadcastV2TaskTerminalMapper, BroadcastV2TaskTerminal> {
public class BroadcastTerminalV2Service extends BaseServiceImpl<BroadcastTerminalV2EntityMapper, BroadcastTerminalV2Entity> {
    //    private final BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalDao;
//    @Autowired
//    private SysUserRoleService sysUserRoleService;
//    @Autowired
//    private SysUserCompanyService sysUserCompanyService;
//    @Autowired
//    private BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalMapper;
    @Autowired
    private BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalMapper;
    private BroadcastTerminalV2EntityMapper broadcastTerminalV2EntityMapper;
    /**
     * 同步终端
     */
    public void synchTerminal() {
        List<BroadcastTerminalV2Entity> server = broadcastV2TaskTerminalMapper.listAll("");
        List<BroadcastTerminalV2Entity> server = broadcastTerminalV2EntityMapper.listAll("");
        List<TerminalVO> list = TerminalAPIUtils.getTerminalList();
        System.out.println(list);
        list.stream().forEach(item -> {
            //  音柱服务器终端ID
            Integer id = item.getId();
@@ -52,7 +58,8 @@
                b.setTerminalName(item.getName());
                b.setStreetlightId(0L);
                b.setExist(1);
                broadcastV2TaskTerminalMapper.insert(b);
//                save(b);
                broadcastTerminalV2EntityMapper.insert(b);
            }
        });
    }
@@ -74,9 +81,9 @@
        if (broadcastTerminalV2Param.getBindingState() == null || 2 == broadcastTerminalV2Param.getBindingState()) {
            //全部
            int bindingState = 2;
            broadcastTerminalV2EntityBos = broadcastV2TaskTerminalMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), clientId, bindingState);
            broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), clientId, bindingState);
        } else {
            broadcastTerminalV2EntityBos = broadcastV2TaskTerminalMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), clientId, broadcastTerminalV2Param.getBindingState());
            broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), clientId, broadcastTerminalV2Param.getBindingState());
        }
        List<TerminalVO> list = TerminalAPIUtils.getTerminalList();
@@ -110,6 +117,29 @@
    }
    /**
     * 修改设备绑定状态
     *
     * @param flag true为绑定  false 为解绑
     */
    public void updateBingdingState(boolean flag, int deviceCode) {
        if (flag) {//绑定
            BroadcastTerminalV2Entity broadcastTerminalV2Entity = getOne(Wrappers.lambdaQuery(BroadcastTerminalV2Entity.class).eq(BroadcastTerminalV2Entity::getId, deviceCode));
            if (broadcastTerminalV2Entity == null) {
                return;
            }
            broadcastTerminalV2Entity.setBindStates(1);
            updateById(broadcastTerminalV2Entity);
        } else {//解绑
            BroadcastTerminalV2Entity broadcastTerminalV2Entity = getOne(Wrappers.lambdaQuery(BroadcastTerminalV2Entity.class).eq(BroadcastTerminalV2Entity::getId, deviceCode));
            if (broadcastTerminalV2Entity == null) {
                return;
            }
            broadcastTerminalV2Entity.setBindStates(0);
            updateById(broadcastTerminalV2Entity);
        }
    }
    /**
     * 修改终端
     * @param params
     * @return 0:成功 1:名称不能为空
ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
@@ -85,7 +85,7 @@
        }
        //删除摄像头设备前需要先解绑
        poleBindingService.unBindPole(monitor.getDeviceSerial());
        poleBindingService.unBindPole(null, monitor.getDeviceSerial());
        return removeById(Id);
    }
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java
@@ -50,16 +50,21 @@
     *
     * @param deviceCode
     */
    public boolean unBindPole(String deviceCode) {
    public boolean unBindPole(Long poleId, String deviceCode) {
        if (deviceCode == null) {
            throw new BusinessException("设备编号不能为空");
        }
        PoleBinding one = getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode));
        PoleBinding one;
        //直接删除设备不需要灯杆ID
        if (poleId == null) {
            one = getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode));
        } else {
            one = getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode).eq(PoleBinding::getPoleId, poleId));
        }
        if (one != null) {
            return removeById(one.getId());
        } else {
            throw new BusinessException("设备不存在绑定情况");
            throw new BusinessException("设备不存在绑定情况或灯杆ID不正确");
        }
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java
@@ -231,7 +231,7 @@
        if (b && poleLightemit.getStreetlightId() != null) {
            //先删除绑定关系
            poleBindingService.unBindPole(poleLightemit.getLightemitControlCode());
            poleBindingService.unBindPole(null, poleLightemit.getLightemitControlCode());
            //再绑定
            PoleBindingParam poleBindingParam = new PoleBindingParam();
            poleBindingParam.setDeviceCode(poleLightemit.getLightemitControlCode());
@@ -251,7 +251,7 @@
            for (PoleLightemitEntity poleLightemitEntitie : poleLightemitEntities) {
                if (poleLightemitEntitie.getLightemitControlCode() != null) {
                    //删除绑定关系//先删除绑定关系
                    poleBindingService.unBindPole(poleLightemitEntitie.getLightemitControlCode());
                    poleBindingService.unBindPole(null, poleLightemitEntitie.getLightemitControlCode());
                }
            }
        }
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
@@ -327,8 +327,8 @@
     *
     * @return 是否成功
     */
    public boolean unBindPole(String deviceCode) {
        return poleBindingService.unBindPole(deviceCode);
    public boolean unBindPole(Long poleId, String deviceCode) {
        return poleBindingService.unBindPole(poleId, deviceCode);
    }
ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java
@@ -57,7 +57,7 @@
            throw new BusinessException("找不到水质设备");
        }
        //删除摄水质设备前需要先解绑
        poleBindingService.unBindPole(waterQualityEquipment.getWaterQualityEquipmentCode());
        poleBindingService.unBindPole(null, waterQualityEquipment.getWaterQualityEquipmentCode());
        return removeById(Id);
    }