zengh
2021-01-12 4f595fb79090a31764e9114ae5862fbcc1b00bd5
客户列表接口修改
2 files modified
157 ■■■■■ changed files
src/main/java/org/springblade/modules/Netty/controller/nettyController.java 142 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipment/controller/EquipmentController.java 15 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/Netty/controller/nettyController.java
@@ -33,6 +33,9 @@
import org.springblade.modules.Netty.entitly.Netty;
import org.springblade.modules.Netty.vo.nettyVO;
import org.springblade.modules.catalog.service.catalogService;
import org.springblade.modules.deploy.service.IDeployService;
import org.springblade.modules.equipment.service.IEquipmentService;
import org.springblade.modules.equipment.vo.EquipmentVO;
import org.springblade.modules.nettyServer.ChannelMap;
import org.springblade.modules.nettyServer.ServerHandler;
import org.springframework.web.bind.annotation.*;
@@ -41,14 +44,16 @@
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.regex.Pattern;
/**
 *  控制器
 * 控制器
 *
 * @author BladeX
 * @since 2020-07-06
@@ -59,8 +64,10 @@
@Api(value = "", tags = "接口")
public class nettyController extends BladeController {
    private final nettyService nettyService ;
    private final nettyService nettyService;
    private final org.springblade.modules.catalog.service.catalogService catalogService;
    private final org.springblade.modules.equipment.service.IEquipmentService equipmentService;
    /**
     * 详情
@@ -71,7 +78,7 @@
    public R<nettyVO> detail(Netty netty, HttpServletResponse response) {
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
        response.setHeader("Access-Control-Allow-Credentials","true");
        response.setHeader("Access-Control-Allow-Credentials", "true");
        Netty detail = nettyService.getOne(Condition.getQueryWrapper(netty));
        return R.data(nettyWrapper.build().entityVO(detail));
    }
@@ -134,26 +141,42 @@
     */
    @PostMapping("/selectNettyChannelb")
    @ApiOperationSupport(order = 8)
    public R selectNettyChannel(String pid,HttpServletResponse response) {
    public R selectNettyChannel(String pid, HttpServletResponse response) {
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
        response.setHeader("Access-Control-Allow-Credentials","true");
        response.setHeader("Access-Control-Allow-Credentials", "true");
        ConcurrentHashMap<String, Channel> channelHashMap = ChannelMap.getChannelHashMap();
        System.out.println(channelHashMap);
        String s = "";
        if (s==null){
            return R.success("暂无设备布防");
        }
        else {
            String[] split = s.split(",");
            for (int i = 0; i < split.length; i++) {
                List<String> outData = new ArrayList<>();
                outData.add("LC8109085B#@");
                Channel channel = channelHashMap.get(split[i]);
                channel.writeAndFlush(Unpooled.copiedBuffer(outData.get(0), CharsetUtil.UTF_8));
        //清空全局参数
        childMenu = new ArrayList();
        //根据查询条件得到所有设备
        List<EquipmentVO> pages = equipmentService.selectEquipmentPage(null, null, null, null);
        List<Map<String, Object>> treedatas = catalogService.selectCatalogEqNUmber(pid);
        //根据传入的id递归出该节点下所有的设备
        List<Map<String, Object>> childList = treeMenuList(treedatas, Integer.parseInt(pid));
        int zT = 0;
        //将得到的设备与查询所得设备进行匹配
        for (int i = 0; i < childList.size(); i++) {
            for (int j = 0; j < pages.size(); j++) {
                if (childList.get(i).get("eqid") != null) {
                    if (childList.get(i).get("eqid").equals(pages.get(j).getDeviceNumber())) {
                        List<String> outData = new ArrayList<>();
                        outData.add("LC8109085B#@");
                        int code = Integer.parseInt(pages.get(j).getDeviceNumber());
                        Channel channel = channelHashMap.get(code);
                        channel.writeAndFlush(Unpooled.copiedBuffer(outData.get(0), CharsetUtil.UTF_8));
                    }
                }
            }
            return R.success("设备布防");
        }
        if (zT == 0) {
            return R.success("暂无设备撤");
        }
        return R.success("设备布防");
    }
    /**
@@ -161,28 +184,63 @@
     */
    @PostMapping("/selectNettyChannelc")
    @ApiOperationSupport(order = 9)
    public R selectNettyChannelc(String pid,HttpServletResponse response) {
    public R selectNettyChannelc(String pid, HttpServletResponse response) {
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
        response.setHeader("Access-Control-Allow-Credentials","true");
        response.setHeader("Access-Control-Allow-Credentials", "true");
        ConcurrentHashMap<String, Channel> channelHashMap = ChannelMap.getChannelHashMap();
        System.out.println(channelHashMap);
        String s = "";
        if (s==null){
            return R.success("暂无设备撤防");
        }
        else {
            String[] split = s.split(",");
            for (int i = 0; i < split.length; i++) {
                List<String> outData = new ArrayList<>();
                outData.add("LC8109085C#@");
                Channel channel = channelHashMap.get(split[i]);
                channel.writeAndFlush(Unpooled.copiedBuffer(outData.get(0), CharsetUtil.UTF_8));
        //清空全局参数
        childMenu = new ArrayList();
        //根据查询条件得到所有设备
        List<EquipmentVO> pages = equipmentService.selectEquipmentPage(null, null, null, null);
        List<Map<String, Object>> treedatas = catalogService.selectCatalogEqNUmber(pid);
        //根据传入的id递归出该节点下所有的设备
        List<Map<String, Object>> childList = treeMenuList(treedatas, Integer.parseInt(pid));
        int zT = 0;
        //将得到的设备与查询所得设备进行匹配
        for (int i = 0; i < childList.size(); i++) {
            for (int j = 0; j < pages.size(); j++) {
                if (childList.get(i).get("eqid") != null) {
                    if (childList.get(i).get("eqid").equals(pages.get(j).getDeviceNumber())) {
                        List<String> outData = new ArrayList<>();
                        outData.add("LC8109085C#@");
                        Channel channel = channelHashMap.get(pages.get(j).getDeviceNumber());
                        channel.writeAndFlush(Unpooled.copiedBuffer(outData.get(0), CharsetUtil.UTF_8));
                    }
                }
            }
            return R.success("设备撤防");
        }
        if (zT == 0) {
            return R.success("暂无设备布防");
        }
        return R.success("设备撤防");
    }
    //子节点
    private static List childMenu = new ArrayList();
    public static List treeMenuList(List<Map<String, Object>> menuList, int pid) {
        for (int i = 0; i < menuList.size(); i++) {
            //遍历出父id等于参数的id,add进子节点集合
            if (pid != 0) {
                if (menuList.get(i).get("pId").equals(pid)) {
                    //递归遍历下一级
                    treeMenuList(menuList, Integer.valueOf((Integer) menuList.get(i).get("id")));
                    childMenu.add(menuList.get(i));
                }
            }
        }
        return childMenu;
    }
    /**
@@ -190,16 +248,16 @@
     */
    @PostMapping("/selectNettyChannelOb")
    @ApiOperationSupport(order = 10)
    public R selectNettyChannelOb(String deviceNumber,HttpServletResponse response) {
    public R selectNettyChannelOb(String deviceNumber, HttpServletResponse response) {
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
        response.setHeader("Access-Control-Allow-Credentials","true");
        response.setHeader("Access-Control-Allow-Credentials", "true");
        ConcurrentHashMap<String, Channel> channelHashMap = ChannelMap.getChannelHashMap();
                List<String> outData = new ArrayList<>();
                outData.add("LC8109085B#@");
                Channel channel = channelHashMap.get(deviceNumber);
                channel.writeAndFlush(Unpooled.copiedBuffer(outData.get(0), CharsetUtil.UTF_8));
                return R.success("设备布防");
        List<String> outData = new ArrayList<>();
        outData.add("LC8109085B#@");
        Channel channel = channelHashMap.get(deviceNumber);
        channel.writeAndFlush(Unpooled.copiedBuffer(outData.get(0), CharsetUtil.UTF_8));
        return R.success("设备布防");
    }
@@ -208,10 +266,10 @@
     */
    @PostMapping("/selectNettyChannelOc")
    @ApiOperationSupport(order = 11)
    public R selectNettyChannelOc(String deviceNumber,HttpServletResponse response) {
    public R selectNettyChannelOc(String deviceNumber, HttpServletResponse response) {
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
        response.setHeader("Access-Control-Allow-Credentials","true");
        response.setHeader("Access-Control-Allow-Credentials", "true");
        ConcurrentHashMap<String, Channel> channelHashMap = ChannelMap.getChannelHashMap();
        List<String> outData = new ArrayList<>();
        outData.add("LC8109085C#@");
src/main/java/org/springblade/modules/equipment/controller/EquipmentController.java
@@ -120,18 +120,17 @@
                    String expireTime = pages.get(j).getExpireTime();
                    //1.获取当前时间
                    Date dd=new Date();
                    SimpleDateFormat sim=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    String end=sim.format(dd);
                    Date dd = new Date();
                    SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    String end = sim.format(dd);
                    //把string类型转换为long类型的
                    long st=sim.parse(expireTime).getTime();
                    long en=sim.parse(end).getTime();
                    long st = sim.parse(expireTime).getTime();
                    long en = sim.parse(end).getTime();
                    //计算天数
                    int day=(int) ((st-en)/86400000);
                    if (day<=30){
                    int day = (int) ((st - en) / 86400000);
                    if (day <= 30) {
                        pages.get(j).setType(1);
                    }
                    if (childList.get(i).get("eqid") != null) {
                        if (childList.get(i).get("eqid").equals(pages.get(j).getDeviceNumber())) {