智慧保安后台管理-外网项目备份
Administrator
2022-03-22 ae5a68f2382e77a14a697cedb6e57f21735ceb85
新增docker compose 部署
1 files modified
10 files added
475 ■■■■■ changed files
docker-compose.yml 11 ●●●●● patch | view | raw | blame | history
pom.xml 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/ureport/config/MySQLProvider.java 140 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/ureport/config/UreportConfig.java 56 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/ureport/controller/ReportFileController.java 42 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/ureport/entity/UReportFile.java 66 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/ureport/mapper/ReportFileMappers.java 54 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/ureport/mapper/ReportFileMappers.xml 36 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/ureport/service/ReportFileService.java 21 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/ureport/service/impl/ReportFilesServiceImpl.java 35 ●●●●● patch | view | raw | blame | history
src/main/resources/ureport.properties 8 ●●●●● patch | view | raw | blame | history
docker-compose.yml
New file
@@ -0,0 +1,11 @@
version: '3.1'
services:
  zhbaw:
    build: .
    image: zhbaw:latest
    depends_on:
      - redis
    ports:
      - "81:81"
  redis:
    image: "redis:alpine"
pom.xml
@@ -279,6 +279,12 @@
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-quartz</artifactId>
        </dependency>
        <!--ureport-->
<!--        <dependency>-->
<!--            <groupId>com.syyai.spring.boot</groupId>-->
<!--            <artifactId>ureport-spring-boot-starter</artifactId>-->
<!--            <version>2.2.9</version>-->
<!--        </dependency>-->
    </dependencies>
    <profiles>
src/main/java/org/springblade/modules/ureport/config/MySQLProvider.java
New file
@@ -0,0 +1,140 @@
//package org.springblade.modules.ureport.config;
//
//import java.io.ByteArrayInputStream;
//import java.io.InputStream;
//import java.util.ArrayList;
//import java.util.Date;
//import java.util.List;
//import com.bstek.ureport.provider.report.ReportFile;
//import org.springblade.modules.ureport.entity.UReportFile;
//import org.springblade.modules.ureport.mapper.ReportFileMappers;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.context.properties.ConfigurationProperties;
//import org.springframework.stereotype.Component;
//import com.bstek.ureport.provider.report.ReportProvider;
//import lombok.Setter;
//
///**
// * Mysql 报表存储
// * @author zhongrj
// * @since 2022-03-21
// * @ConfigurationProperties 该注解可以利用其 prefix属性值 + 类的属性名 在yml中配置属性值
// * 特定前缀,ureport底层会调用 getPrefix 方法来获取报表操作的Provier类
// */
//
//@Setter
//@Component
//@ConfigurationProperties(prefix = "ureport.mysql.provider")
//public class MySQLProvider implements ReportProvider{
//
//    private static final String NAME = "mysql-provider";
//
//    private String prefix = "mysql:";
//
//    /**
//     * 是否禁用
//     */
//    private boolean disabled;
//
//    @Autowired
//    private ReportFileMappers reportFileMappers;
//
//    /**
//     * 加载文件内容
//     * @param file
//     * @return
//     */
//    @Override
//    public InputStream loadReport(String file) {
//        UReportFile reportFile = reportFileMappers.queryReportFileEntityByName(getCorrectName(file));
//        byte[] content = reportFile.getContent();
//        ByteArrayInputStream inputStream = new ByteArrayInputStream(content);
//        return inputStream;
//    }
//
//    /**
//     * 删除
//     * @param file
//     */
//    @Override
//    public void deleteReport(String file) {
//        reportFileMappers.deleteReportFileByName(getCorrectName(file));
//    }
//
//    /**
//     * 查询
//     * @return
//     */
//    @Override
//    public List<ReportFile> getReportFiles() {
//        List<UReportFile> list = reportFileMappers.queryReportFileList();
//        List<ReportFile> reportList = new ArrayList<>();
//        for (UReportFile ureportFileEntity : list) {
//            reportList.add(new ReportFile(ureportFileEntity.getName(), ureportFileEntity.getUpdateTime()));
//        }
//        return reportList;
//    }
//
//    /**
//     * 保存
//     * @param file
//     * @param content
//     */
//    @Override
//    public void saveReport(String file, String content) {
//        file = getCorrectName(file);
//        UReportFile reportFile = reportFileMappers.queryReportFileEntityByName(file);
//        Date currentDate = new Date();
//        if(reportFile == null){
//            reportFile = new UReportFile();
//            reportFile.setName(file);
//            reportFile.setContent(content.getBytes());
//            reportFile.setCreateTime(currentDate);
//            reportFile.setUpdateTime(currentDate);
//            reportFileMappers.insertReportFile(reportFile);
//        }else{
//            reportFile.setContent(content.getBytes());
//            reportFile.setUpdateTime(currentDate);
//            reportFileMappers.updateReportFile(reportFile);
//        }
//    }
//
//    /**
//     * 获取name
//     * @return
//     */
//    @Override
//    public String getName() {
//        return NAME;
//    }
//
//    /**
//     * 是否禁用
//     * @return
//     */
//    @Override
//    public boolean disabled() {
//        return disabled;
//    }
//
//    /**
//     * 获取前缀
//     * @return
//     */
//    @Override
//    public String getPrefix() {
//        return prefix;
//    }
//
//    /**
//     * 获取没有前缀的文件名
//     * @param name
//     * @return
//     */
//    private String getCorrectName(String name){
//        if(name.startsWith(prefix)){
//            name = name.substring(prefix.length());
//        }
//        return name;
//    }
//}
src/main/java/org/springblade/modules/ureport/config/UreportConfig.java
New file
@@ -0,0 +1,56 @@
//package org.springblade.modules.ureport.config;
//import com.bstek.ureport.console.UReportServlet;
//import com.bstek.ureport.definition.datasource.BuildinDatasource;
//import org.springblade.core.log.exception.ServiceException;
//import org.springframework.boot.web.servlet.ServletRegistrationBean;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.context.annotation.ImportResource;
//
//import javax.annotation.Resource;
//import javax.sql.DataSource;
//import java.sql.Connection;
//import java.sql.SQLException;
//
///**
// * ureport 配置类
// * @author zhongrj
// * @since 2022-03-21
// */
//@ImportResource("classpath:ureport-console-context.xml")//不加项目能够启动但是会导致加载数据源报错或加载不了
//@Configuration
//public class UreportConfig implements BuildinDatasource {
//
//    @Resource
//    DataSource dataSource;
//
//    /**
//     * 定义ureport的启动servlet
//     * @return
//     */
//    @Bean
//    @SuppressWarnings("unchecked")
//    public ServletRegistrationBean ureportServlet(){
//        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new UReportServlet());
//        servletRegistrationBean.addUrlMappings("/ureport/*");
//        return servletRegistrationBean;
//    }
//
//
//    @Override
//    public String name() {
//        return "智慧保安数据源";
//    }
//
//    @Override
//    public Connection getConnection() {
//        try {
//            return dataSource.getConnection();
//        } catch (SQLException e) {
//            new ServiceException("Ureport 数据源 获取连接失败!");
//            e.printStackTrace();
//        }
//        return null;
//    }
//
//}
src/main/java/org/springblade/modules/ureport/controller/ReportFileController.java
New file
@@ -0,0 +1,42 @@
//package org.springblade.modules.ureport.controller;
//
//import com.baomidou.mybatisplus.core.metadata.IPage;
//import org.springblade.core.mp.support.Condition;
//import org.springblade.core.mp.support.Query;
//import org.springblade.core.tool.api.R;
//import org.springblade.modules.ureport.entity.UReportFile;
//import org.springblade.modules.ureport.service.ReportFileService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//import javax.servlet.http.HttpServletResponse;
//
///**
// * 报表导出控制层
// * @author zhongrj
// */
//@RestController
//@RequestMapping("/report")
////@AllArgsConstructor
//public class ReportFileController {
//
//    @Autowired
//    private ReportFileService reportFileService;
//
//
//    /**
//     * 导出数据模板列表
//     * @param reportFile 对象
//     * @param query  查询页码
//     * @param response
//     * @return
//     */
//    @GetMapping("/page")
//    public R<IPage<UReportFile>> page(UReportFile reportFile, Query query, 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");
//        return R.data(reportFileService.selectReportFilePage(Condition.getPage(query), reportFile));
//    }
//}
src/main/java/org/springblade/modules/ureport/entity/UReportFile.java
New file
@@ -0,0 +1,66 @@
//package org.springblade.modules.ureport.entity;
//
//import com.baomidou.mybatisplus.annotation.IdType;
//import com.baomidou.mybatisplus.annotation.TableField;
//import com.baomidou.mybatisplus.annotation.TableId;
//import com.baomidou.mybatisplus.annotation.TableName;
//import com.fasterxml.jackson.annotation.JsonFormat;
//import lombok.Data;
//import lombok.NoArgsConstructor;
//import org.springframework.format.annotation.DateTimeFormat;
//
//import java.util.Date;
//
///**
// * 报表实体类
// * @author zhongrj
// * @since 2022-03-21
// */
//@Data
//@TableName("sys_report_file")
//public class UReportFile {
//
//    public UReportFile() {
//    }
//
//    public UReportFile(String name, Date updateTime) {
//        this.name = name;
//        this.updateTime = updateTime;
//    }
//
//    /**
//     * 主键id
//     */
//    @TableId(value = "id",type = IdType.AUTO)
//    private Integer id;
//
//    /**
//     * 文件名
//     */
//    private String name;
//
//    /**
//     * 文件内容
//     */
//    private byte[] content;
//
//
//    /**
//     * 创建时间
//     */
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private Date createTime;
//
//    /**
//     * 更新时间
//     */
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private Date updateTime;
//
//    /**
//     * 是否删除  0未删除  1 已删除
//     */
//    private Integer isDeleted;
//}
src/main/java/org/springblade/modules/ureport/mapper/ReportFileMappers.java
New file
@@ -0,0 +1,54 @@
//package org.springblade.modules.ureport.mapper;
//
//import com.baomidou.mybatisplus.core.mapper.BaseMapper;
//import org.springblade.modules.ureport.entity.UReportFile;
//
//import java.util.List;
//
///**
// * 报表导出mapper映射层
// * @author zhongrj
// */
//public interface ReportFileMappers extends BaseMapper<UReportFile> {
//
//    /**
//     *  根据报表名称检查报表是否存在
//     * @param name 报表名称
//     * @return
//     */
//    int checkExistByName(String name);
//
//    /**
//     *  根据报表名称查询报表
//     * @param name 报表名称
//     * @return
//     */
//    UReportFile queryReportFileEntityByName(String name);
//
//    /**
//     * 查询全部报表
//     * @return
//     */
//    List<UReportFile> queryReportFileList();
//
//    /**
//     * 根据报表名称删除报表
//     * @param name
//     * @return
//     */
//    int deleteReportFileByName(String name);
//
//
//    /**
//     *  保存报表
//     */
//    int insertReportFile(UReportFile entity);
//
//    /**
//     *  更新报表
//     * @param entity
//     * @return
//     */
//    int updateReportFile(UReportFile entity);
//
//}
src/main/java/org/springblade/modules/ureport/mapper/ReportFileMappers.xml
New file
@@ -0,0 +1,36 @@
<!--<?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.modules.ureport.mapper.ReportFileMappers">-->
<!--    <select id="checkExistByName" parameterType="java.lang.String" resultType="java.lang.Integer">-->
<!--        select count(*) from sys_report_file where name = #{name}-->
<!--    </select>-->
<!--    <select id="queryReportFileList" resultType="org.springblade.modules.ureport.entity.UReportFile">-->
<!--        select * from sys_report_file-->
<!--    </select>-->
<!--    <select id="queryReportFileEntityByName" resultType="org.springblade.modules.ureport.entity.UReportFile">-->
<!--        select * from sys_report_file where name = #{name}-->
<!--    </select>-->
<!--    <delete id="deleteReportFileByName" parameterType="java.lang.String">-->
<!--        delete from sys_report_file where name = #{name}-->
<!--    </delete>-->
<!--    <insert id="insertReportFile" parameterType="org.springblade.modules.ureport.entity.UReportFile">-->
<!--        insert into sys_report_file (name, content, create_time, update_time) values-->
<!--         (#{name}, #{content}, #{createTime}, #{updateTime})-->
<!--    </insert>-->
<!--    <update id="updateReportFile" parameterType="org.springblade.modules.ureport.entity.UReportFile">-->
<!--        update sys_report_file set-->
<!--            name = #{name} ,-->
<!--            content = #{content},-->
<!--            create_time = #{createTime},-->
<!--            update_time = #{updateTime}-->
<!--            where id = #{id}-->
<!--    </update>-->
<!--</mapper>-->
src/main/java/org/springblade/modules/ureport/service/ReportFileService.java
New file
@@ -0,0 +1,21 @@
//package org.springblade.modules.ureport.service;
//
//import com.baomidou.mybatisplus.core.metadata.IPage;
//import com.baomidou.mybatisplus.extension.service.IService;
//import org.springblade.modules.ureport.entity.UReportFile;
//
///**
// * 报表导出服务层
// * @author zhongrj
// * @since 2022-03-21
// */
//public interface ReportFileService extends IService<UReportFile> {
//
//    /**
//     * 导出数据模板列表
//     * @param page
//     * @param reportFile 对象
//     * @return
//     */
//    IPage<UReportFile> selectReportFilePage(IPage<UReportFile> page, UReportFile reportFile);
//}
src/main/java/org/springblade/modules/ureport/service/impl/ReportFilesServiceImpl.java
New file
@@ -0,0 +1,35 @@
//package org.springblade.modules.ureport.service.impl;
//
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.baomidou.mybatisplus.core.metadata.IPage;
//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
//import org.springblade.modules.ureport.entity.UReportFile;
//import org.springblade.modules.ureport.mapper.ReportFileMappers;
//import org.springblade.modules.ureport.service.ReportFileService;
//import org.springframework.stereotype.Service;
//
//
///**
// * 报表导出服务实现层
// * @author zhongrj
// */
//@Service
//public class ReportFilesServiceImpl extends ServiceImpl<ReportFileMappers, UReportFile> implements ReportFileService {
//
//    /**
//     * 导出数据模板列表
//     * @param page
//     * @param reportFile 对象
//     * @return
//     */
//    @Override
//    public IPage<UReportFile> selectReportFilePage(IPage<UReportFile> page, UReportFile reportFile) {
//        QueryWrapper<UReportFile> queryWrapper = new QueryWrapper<>();
//        queryWrapper.eq("is_deleted",0);
//        if (null!=reportFile.getName()) {
//            queryWrapper.like("name", reportFile.getName());
//        }
//        return page.setRecords(baseMapper.selectList(queryWrapper));
//    }
//
//}
src/main/resources/ureport.properties
New file
@@ -0,0 +1,8 @@
## ½«ureport.disableFileProvider¸Ä³Étrue,¼´¿É½ûÓÃĬÈÏÌṩµÄÎļþ´æ´¢»úÖÆ
#ureport.disableHttpSessionReportCache= false
#ureport.disableFileProvider= false
#ureport.fileStoreDir= /WEB-INF/ureportfiles
#ureport.debug= true
## ÉèÖ÷ÃÎÊǰ׺
#ureport.mysql.provider.prefix= zhba-
#ureport.mysql.provider.disabled= false