自动化立体仓库 - WCS系统
999
zhangc
9 天以前 3c3ec87a6ac907d375f2fb78f0882ab9f30a1533
src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -1,6 +1,7 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.R;
@@ -68,6 +69,20 @@
    }
    /**
     * 获取地图楼层数据
     */
    @GetMapping("/map/lev/list")
    @ManagerAuth
    public R getMapLevList() {
        List<BasMap> basMaps = basMapService.selectList(new EntityWrapper<BasMap>().orderBy("lev", true));
        ArrayList<Integer> levList = new ArrayList<>();
        for (BasMap basMap : basMaps) {
            levList.add(basMap.getLev());
        }
        return R.ok().add(levList);
    }
    /**
     * 获取地图数据
     */
    @GetMapping("/map/{lev}/auth")
@@ -92,31 +107,7 @@
    @ManagerAuth
    public R resetMapToRedis() {
        for (int i = 1; i <= 10; i++) {//总共10层楼
            BasMap basMap = basMapService.selectLatestMap(i);
            //载入地图
            List<List<MapNode>> lists = navigateMapData.getJsonData(i, -1, null, null);//获取完整地图(包括入库出库)
            if (basMap == null) {
                //数据库中也不存在地图数据,从地图文件中获取
                //存入数据库
                basMap = new BasMap();
                basMap.setData(JSON.toJSONString(lists));
                basMap.setCreateTime(new Date());
                basMap.setUpdateTime(new Date());
                basMap.setLev(i);
                if (!basMapService.insert(basMap)) {
                    log.info("地图数据存储失败");
                }
            }else {
                basMap.setData(JSON.toJSONString(lists));
                basMap.setUpdateTime(new Date());
                if (!basMapService.updateById(basMap)) {
                    log.info("地图数据存储失败");
                }
            }
            //将数据库地图数据存入redis
            redisUtil.set(RedisKeyType.MAP.key + i, JSON.toJSONString(basMap));
            redisUtil.del(RedisKeyType.MAP.key + i);
        }
        return R.ok();
    }
@@ -127,44 +118,7 @@
    @GetMapping("/map/resetMap/{lev}")
    @ManagerAuth(memo = "重置Redis地图")
    public R resetMapToRedisByLev(@PathVariable Integer lev, HttpServletRequest request) {
        // super账号
        String token = request.getHeader("token");
        if (token == null) {
            return R.error();
        }
        String deToken = Cools.deTokn(token, superPwd);
        if (deToken == null) {
            return R.error("权限不足");
        }
        if (!"super".equals(deToken.substring(13))) {
            return R.error("权限不足");
        }
        BasMap basMap = basMapService.selectLatestMap(lev);
        //载入地图
        List<List<MapNode>> lists = navigateMapData.getJsonData(lev, -1, null, null);//获取完整地图(包括入库出库)
        if (basMap == null) {
            //数据库中也不存在地图数据,从地图文件中获取
            //存入数据库
            basMap = new BasMap();
            basMap.setData(JSON.toJSONString(lists));
            basMap.setCreateTime(new Date());
            basMap.setUpdateTime(new Date());
            basMap.setLev(lev);
            if (!basMapService.insert(basMap)) {
                log.info("地图数据存储失败");
            }
        } else {
            basMap.setData(JSON.toJSONString(lists));
            basMap.setUpdateTime(new Date());
            if (!basMapService.updateById(basMap)) {
                log.info("地图数据存储失败");
            }
        }
        //将数据库地图数据存入redis
        redisUtil.set(RedisKeyType.MAP.key + lev, JSON.toJSONString(basMap));
        redisUtil.del(RedisKeyType.MAP.key + lev);
        return R.ok();
    }