2 files modified
9 files added
| New file |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill 庄骞 (smallchill@163.com) |
| | | */ |
| | | package org.springblade.jfpt.depl.controller; |
| | | |
| | | import io.minio.MinioClient; |
| | | import io.minio.errors.*; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
| | | import lombok.AllArgsConstructor; |
| | | import javax.validation.Valid; |
| | | |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.jfpt.avideo.entity.Avideo; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.springblade.jfpt.depl.entity.Depl; |
| | | import org.springblade.jfpt.depl.vo.DeplVO; |
| | | import org.springblade.jfpt.depl.service.IDeplService; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | import org.xmlpull.v1.XmlPullParserException; |
| | | |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.security.InvalidKeyException; |
| | | import java.security.NoSuchAlgorithmException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.UUID; |
| | | |
| | | /** |
| | | * 控制器 |
| | | * |
| | | * @author BladeX |
| | | * @since 2021-04-21 |
| | | */ |
| | | @RestController |
| | | @AllArgsConstructor |
| | | @RequestMapping("/depl") |
| | | @Api(value = "", tags = "接口") |
| | | public class DeplController extends BladeController { |
| | | |
| | | private final IDeplService deplService; |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @GetMapping("/detail") |
| | | @ApiOperationSupport(order = 1) |
| | | @ApiOperation(value = "详情", notes = "传入depl") |
| | | public R<Depl> detail(Depl depl) { |
| | | Depl detail = deplService.getOne(Condition.getQueryWrapper(depl)); |
| | | return R.data(detail); |
| | | } |
| | | |
| | | /** |
| | | * 分页 |
| | | */ |
| | | @GetMapping("/list") |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperation(value = "分页", notes = "传入depl") |
| | | public R<IPage<Depl>> list(Depl depl, Query query) { |
| | | IPage<Depl> pages = deplService.page(Condition.getPage(query), Condition.getQueryWrapper(depl)); |
| | | return R.data(pages); |
| | | } |
| | | |
| | | /** |
| | | * 自定义分页 |
| | | */ |
| | | @GetMapping("/page") |
| | | @ApiOperationSupport(order = 3) |
| | | @ApiOperation(value = "分页", notes = "传入depl") |
| | | public R<IPage<DeplVO>> page(DeplVO depl, Query query) { |
| | | IPage<DeplVO> pages = deplService.selectDeplPage(Condition.getPage(query), depl); |
| | | return R.data(pages); |
| | | } |
| | | |
| | | /** |
| | | * 新增 |
| | | */ |
| | | @PostMapping("/save") |
| | | @ApiOperationSupport(order = 4) |
| | | @ApiOperation(value = "新增", notes = "传入depl") |
| | | public R save(Depl depl) { |
| | | return R.status(deplService.save(depl)); |
| | | } |
| | | |
| | | /** |
| | | * 修改 |
| | | */ |
| | | @PostMapping("/update") |
| | | @ApiOperationSupport(order = 5) |
| | | @ApiOperation(value = "修改", notes = "传入depl") |
| | | public R update(@Valid @RequestBody Depl depl) { |
| | | return R.status(deplService.updateById(depl)); |
| | | } |
| | | |
| | | /** |
| | | * 新增或修改 |
| | | */ |
| | | @PostMapping("/submit") |
| | | @ApiOperationSupport(order = 6) |
| | | @ApiOperation(value = "新增或修改", notes = "传入depl") |
| | | public R submit(@Valid @RequestBody Depl depl) { |
| | | return R.status(deplService.saveOrUpdate(depl)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | @PostMapping("/remove") |
| | | @ApiOperationSupport(order = 8) |
| | | @ApiOperation(value = "删除", notes = "传入ids") |
| | | public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { |
| | | return R.status(deplService.removeByIds(Func.toLongList(ids))); |
| | | } |
| | | |
| | | /** |
| | | *部署安装图片保存 |
| | | * @param file |
| | | */ |
| | | @PostMapping("put-depl") |
| | | public R put(@RequestParam MultipartFile file) throws InvalidPortException, InvalidEndpointException, IOException, XmlPullParserException, NoSuchAlgorithmException, InvalidKeyException, InvalidArgumentException, InternalException, NoResponseException, InvalidBucketNameException, InsufficientDataException, ErrorResponseException, RegionConflictException { |
| | | MinioClient minioClient = new MinioClient("http://web.byisf.com:9000","adminminio","adminminio"); |
| | | if (!minioClient.bucketExists("jfpt")) { |
| | | minioClient.makeBucket("jfpt"); |
| | | } |
| | | String fileName = file.getOriginalFilename(); |
| | | String newName ="upload/depl/"+UUID.randomUUID().toString().replaceAll("-", "") |
| | | + fileName.substring(fileName.lastIndexOf(".")); |
| | | InputStream inputStream = file.getInputStream(); //获取file的inputStream |
| | | minioClient.putObject("jfpt", newName, inputStream, "application/octet-stream");//上传 |
| | | inputStream.close(); |
| | | String url = minioClient.getObjectUrl("jfpt", newName); //文件访问路径 |
| | | String substring = url.substring(25, url.length()); |
| | | String urls="https://web.byisf.com/minio"+substring; |
| | | return R.data(urls); |
| | | } |
| | | |
| | | /** |
| | | * 部署详情 |
| | | */ |
| | | @PostMapping("/selectInfo") |
| | | @ApiOperationSupport(order = 8) |
| | | @ApiOperation(value = "删除", notes = "传入ids") |
| | | public R selectInfo(String deviceNumber) { |
| | | List<DeplVO> deplVOS = deplService.selectInfo(deviceNumber); |
| | | return R.data(deplVOS); |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill 庄骞 (smallchill@163.com) |
| | | */ |
| | | package org.springblade.jfpt.depl.dto; |
| | | |
| | | import org.springblade.jfpt.depl.entity.Depl; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | /** |
| | | * 数据传输对象实体类 |
| | | * |
| | | * @author BladeX |
| | | * @since 2021-04-21 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = true) |
| | | public class DeplDTO extends Depl { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill 庄骞 (smallchill@163.com) |
| | | */ |
| | | package org.springblade.jfpt.depl.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import java.time.LocalDateTime; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import java.io.Serializable; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | |
| | | /** |
| | | * 实体类 |
| | | * |
| | | * @author BladeX |
| | | * @since 2021-04-21 |
| | | */ |
| | | @Data |
| | | @TableName("sys_depl") |
| | | @ApiModel(value = "Depl对象", description = "Depl对象") |
| | | public class Depl implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 设备编码 |
| | | */ |
| | | @ApiModelProperty(value = "设备编码") |
| | | @TableField("deviceNumber") |
| | | private String devicenumber; |
| | | /** |
| | | * 安装人员 |
| | | */ |
| | | @ApiModelProperty(value = "安装人员") |
| | | private String contacts; |
| | | /** |
| | | * 电话 |
| | | */ |
| | | @ApiModelProperty(value = "电话") |
| | | private String call; |
| | | /** |
| | | * 图片地址 |
| | | */ |
| | | @ApiModelProperty(value = "图片地址") |
| | | private String paddress; |
| | | /** |
| | | * 部署时间 |
| | | */ |
| | | @ApiModelProperty(value = "部署时间") |
| | | @TableField("deploymentTime") |
| | | private String deploymenttime; |
| | | /** |
| | | * 设备名称 |
| | | */ |
| | | @ApiModelProperty(value = "设备名称") |
| | | @TableField("deviceName") |
| | | private String devicename; |
| | | |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill 庄骞 (smallchill@163.com) |
| | | */ |
| | | package org.springblade.jfpt.depl.mapper; |
| | | |
| | | import org.springblade.jfpt.depl.entity.Depl; |
| | | import org.springblade.jfpt.depl.vo.DeplVO; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * Mapper 接口 |
| | | * |
| | | * @author BladeX |
| | | * @since 2021-04-21 |
| | | */ |
| | | public interface DeplMapper extends BaseMapper<Depl> { |
| | | |
| | | /** |
| | | * 自定义分页 |
| | | * |
| | | * @param page |
| | | * @param depl |
| | | * @return |
| | | */ |
| | | List<DeplVO> selectDeplPage(IPage page, DeplVO depl); |
| | | List<DeplVO> selectInfo(String deviceNumber); |
| | | |
| | | } |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="org.springblade.jfpt.depl.mapper.DeplMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="deplResultMap" type="org.springblade.jfpt.depl.entity.Depl"> |
| | | <id column="id" property="id"/> |
| | | <result column="deviceNumber" property="devicenumber"/> |
| | | <result column="contacts" property="contacts"/> |
| | | <result column="call" property="call"/> |
| | | <result column="paddress" property="paddress"/> |
| | | <result column="deploymentTime" property="deploymenttime"/> |
| | | <result column="deviceName" property="devicename"/> |
| | | </resultMap> |
| | | |
| | | |
| | | <select id="selectDeplPage" resultMap="deplResultMap"> |
| | | select * from sys_depl where is_deleted = 0 |
| | | </select> |
| | | |
| | | |
| | | <select id="selectInfo" resultMap="deplResultMap"> |
| | | select * from sys_depl where deviceNumber =#{deviceNumber} |
| | | </select> |
| | | |
| | | </mapper> |
| New file |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill 庄骞 (smallchill@163.com) |
| | | */ |
| | | package org.springblade.jfpt.depl.service; |
| | | |
| | | import org.springblade.jfpt.depl.entity.Depl; |
| | | import org.springblade.jfpt.depl.vo.DeplVO; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 服务类 |
| | | * |
| | | * @author BladeX |
| | | * @since 2021-04-21 |
| | | */ |
| | | public interface IDeplService extends IService<Depl> { |
| | | |
| | | /** |
| | | * 自定义分页 |
| | | * |
| | | * @param page |
| | | * @param depl |
| | | * @return |
| | | */ |
| | | IPage<DeplVO> selectDeplPage(IPage<DeplVO> page, DeplVO depl); |
| | | List<DeplVO> selectInfo(String deviceNumber); |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill 庄骞 (smallchill@163.com) |
| | | */ |
| | | package org.springblade.jfpt.depl.service.impl; |
| | | |
| | | import org.springblade.jfpt.depl.entity.Depl; |
| | | import org.springblade.jfpt.depl.vo.DeplVO; |
| | | import org.springblade.jfpt.depl.mapper.DeplMapper; |
| | | import org.springblade.jfpt.depl.service.IDeplService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 服务实现类 |
| | | * |
| | | * @author BladeX |
| | | * @since 2021-04-21 |
| | | */ |
| | | @Service |
| | | public class DeplServiceImpl extends ServiceImpl<DeplMapper, Depl> implements IDeplService { |
| | | |
| | | @Override |
| | | public IPage<DeplVO> selectDeplPage(IPage<DeplVO> page, DeplVO depl) { |
| | | return page.setRecords(baseMapper.selectDeplPage(page, depl)); |
| | | } |
| | | |
| | | @Override |
| | | public List<DeplVO> selectInfo(String deviceNumber) { |
| | | return baseMapper.selectInfo(deviceNumber); |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill 庄骞 (smallchill@163.com) |
| | | */ |
| | | package org.springblade.jfpt.depl.vo; |
| | | |
| | | import org.springblade.jfpt.depl.entity.Depl; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import io.swagger.annotations.ApiModel; |
| | | |
| | | /** |
| | | * 视图实体类 |
| | | * |
| | | * @author BladeX |
| | | * @since 2021-04-21 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = true) |
| | | @ApiModel(value = "DeplVO对象", description = "DeplVO对象") |
| | | public class DeplVO extends Depl { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | } |
| | |
| | | response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); |
| | | response.setHeader("Access-Control-Allow-Credentials","true"); |
| | | Map<String, Object> maps = new HashMap<String, Object>(); |
| | | //保存视频的数组 |
| | | ArrayList <String> arlistm = new ArrayList <String>(); |
| | | //保存图片的数组 |
| | | ArrayList <String> arlistj = new ArrayList <String>(); |
| | | List<Map<String, Object>> lists = new ArrayList<>(); |
| | | List<FeedbackVO> feedbackVOS = feedbackService.selectFeedEdit(jid); |
| | | List<Map<String, Object>> map = feedbackService.selectWjEdit(jid); |
| | | for (int i=0;i<map.size();i++){ |
| | | Object address = map.get(i).get("address"); |
| | | String addr = address.toString(); |
| | | String substring = addr.substring(addr.length() - 4, addr.length()); |
| | | if (substring.equals(".mp4")){ |
| | | arlistm.add(addr); |
| | | } |
| | | else if (substring.equals(".jpg")){ |
| | | arlistj.add(addr); |
| | | } |
| | | } |
| | | maps.put("List",feedbackVOS); |
| | | maps.put("wj",map); |
| | | maps.put("tp",arlistj); |
| | | maps.put("sp",arlistm); |
| | | lists.add(maps); |
| | | lists.clear(); |
| | | return R.data(lists); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * |
| | | *警单反馈图片,视频 |
| | | * @param file |
| | | */ |
| | | @PostMapping("put-objects") |
| | | public R put(@RequestParam MultipartFile file) throws InvalidPortException, InvalidEndpointException, IOException, XmlPullParserException, NoSuchAlgorithmException, InvalidKeyException, InvalidArgumentException, InternalException, NoResponseException, InvalidBucketNameException, InsufficientDataException, ErrorResponseException, RegionConflictException { |
| | | MinioClient minioClient = new MinioClient("http://36.134.81.48:9000","adminminio","adminminio"); |
| | | MinioClient minioClient = new MinioClient("http://web.byisf.com:9000","adminminio","adminminio"); |
| | | if (!minioClient.bucketExists("jfpt")) { //是否存在名为“test”的bucket |
| | | minioClient.makeBucket("jfpt"); |
| | | } |
| | | String fileName = file.getOriginalFilename(); |
| | | String newName ="upload/"+UUID.randomUUID().toString().replaceAll("-", "") |
| | | String newName ="upload/fk/"+UUID.randomUUID().toString().replaceAll("-", "") |
| | | + fileName.substring(fileName.lastIndexOf(".")); |
| | | InputStream inputStream = file.getInputStream(); //获取file的inputStream |
| | | minioClient.putObject("jfpt", newName, inputStream, "application/octet-stream");//上传 |
| New file |
| | |
| | | INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) |
| | | VALUES ('1384712731563872262', 1123598815738675201, 'depl', '安装部署', 'menu', '/depl/depl', NULL, 1, 1, 0, 1, NULL, 0); |
| | | INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) |
| | | VALUES ('1384712731563872263', '1384712731563872262', 'depl_add', '新增', 'add', '/depl/depl/add', 'plus', 1, 2, 1, 1, NULL, 0); |
| | | INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) |
| | | VALUES ('1384712731563872264', '1384712731563872262', 'depl_edit', '修改', 'edit', '/depl/depl/edit', 'form', 2, 2, 2, 1, NULL, 0); |
| | | INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) |
| | | VALUES ('1384712731563872265', '1384712731563872262', 'depl_delete', '删除', 'delete', '/api/blade-depl/depl/remove', 'delete', 3, 2, 3, 1, NULL, 0); |
| | | INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) |
| | | VALUES ('1384712731563872266', '1384712731563872262', 'depl_view', '查看', 'view', '/depl/depl/view', 'file-text', 4, 2, 2, 1, NULL, 0); |