heheng
4 天以前 3341599719e0ae63889b6bfb4eea3cf4521b0ab8
新功能模块
已修改5个文件
已添加1个文件
152 ■■■■■ 文件已修改
multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/WordExportController.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/TemplateController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-admin/src/main/resources/application-prod.yml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-common/pom.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandardizedTemplateServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/WordExportController.java
对比新文件
@@ -0,0 +1,62 @@
package com.gkhy.exam.admin.controller.system;
import org.apache.poi.poifs.filesystem.DirectoryEntry;
import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.springframework.core.io.ClassPathResource;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.Map;
@RestController
public class WordExportController {
    @ResponseBody
    @RequestMapping(value = "download")
    public int download(HttpServletResponse response, HttpServletRequest request)throws Exception {
        String content = "<h1>标题头</h1><h2>第二个标题</h2><a href=\"www.baidu.com\">百度搜索</a>";
        StringBuffer sbf = new StringBuffer();
        sbf.append("<html><body>");
        sbf.append(content);
        sbf.append("</body></html");
        exportWord(request,response,String.valueOf(sbf),"word1");
        return 1;
    }
    /**
     *
     * @param request
     * @param response
     * @param content  富文本内容
     * @param fileName 生成word名字
     * @throws Exception
     */
    public static void exportWord(HttpServletRequest request, HttpServletResponse response, String content, String fileName) throws Exception {
        byte b[] = content.getBytes("GBK"); //这里是必须要设置编码的,不然导出中文就会乱码。
        ByteArrayInputStream bais = new ByteArrayInputStream(b);//将字节数组包装到流中
        POIFSFileSystem poifs = new POIFSFileSystem();
        DirectoryEntry directory = poifs.getRoot();
        DocumentEntry documentEntry = directory.createDocument("WordDocument", bais); //该步骤不可省略,否则会出现乱码。
        //输出文件
        request.setCharacterEncoding("utf-8");
        response.setContentType("application/msword");//导出word格式
        response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("GB2312"),"iso8859-1") + ".doc");
        ServletOutputStream ostream = response.getOutputStream();
        poifs.writeFilesystem(ostream);
        bais.close();
        ostream.close();
        poifs.close();
    }
}
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/TemplateController.java
@@ -29,13 +29,13 @@
     */
    @ApiOperation(value = "标准化模版(分页)")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = true, value = "公司iD"),
            @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司iD"),
            @ApiImplicitParam(paramType = "query", name = "templateType", dataType = "int", required = true, value = "类型1体系标准2技术标准3应用标准4程序文件5作业指导书6记录及表单7技术类8生产类9其他知识产权"),
            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = true, value = "页码"),
            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = true, value = "每页数量")
    })
    @GetMapping("/standardizedTemplate/list")
    public CommonResult selectStandardizedTemplateList(@RequestParam("companyId") Integer companyId, @RequestParam("templateType") Integer templateType){
    public CommonResult selectStandardizedTemplateList(Integer companyId, @RequestParam("templateType") Integer templateType){
        return CommonResult.success(standardizedTemplateService.selectStandardizedTemplateList(companyId, templateType));
    }
@@ -82,7 +82,7 @@
            @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = true, value = "公司iD"),
    })
    @GetMapping("/standardizedQuality/info")
    public CommonResult selectStandardizedQuality(@RequestParam("companyId") Integer companyId){
    public CommonResult selectStandardizedQuality(Integer companyId){
        return CommonResult.success(standardizedTemplateService.selectStandardizedQuality(companyId));
    }
multi-admin/src/main/resources/application-prod.yml
@@ -5,7 +5,7 @@
    druid:
      # 主库数据源
      master:
        url: jdbc:mysql://127.0.0.1:23306/train_exam?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Beijing&useSSL=false&allowPublicKeyRetrieval=true&allowMultiQueries=true
        url: jdbc:mysql://127.0.0.1:7006/multi_system?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Beijing&useSSL=false&allowPublicKeyRetrieval=true&allowMultiQueries=true
        username: root
        password: 2farwL3yPXfbH2AP
      # 从库数据源
@@ -41,7 +41,7 @@
        login-password: druid
  #redis 配置
  redis:
    database: 0
    database: 5
    host: 127.0.0.1
    port: 6379
    password:
@@ -81,6 +81,6 @@
minio:
  endpoint: http://127.0.0.1:9000/ #Minio服务所在地址
  bucketName: trainexam #存储桶名称
  bucketName: multiSystem #存储桶名称
  accessKey: nblxqRZXDvQ59HBH49rF #访问的key
  secretKey: TR0IFphXPo0IObQCYgcJ0JOik21s40ey2MIMU8Rh #访问的秘钥
multi-common/pom.xml
@@ -152,6 +152,30 @@
            <artifactId>easyexcel</artifactId>
        </dependency>
        <dependency>
            <groupId>com.deepoove</groupId>
            <artifactId>poi-tl</artifactId>
        </dependency>
        <!-- 如果需要解析HTML -->
        <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15on</artifactId>
        </dependency>
        <!-- 支持中文 -->
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-asian</artifactId>
        </dependency>
    </dependencies>
</project>
multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandardizedTemplateServiceImpl.java
@@ -41,7 +41,7 @@
        boolean admin = SecurityUtils.adminUser();
        if (!admin){
            if (companyId==null){
                throw new ApiException("非管理员操作,查询条件不可为空");
                companyId = SecurityUtils.getCompanyId().intValue();
            }
        }
        PageUtils.startPage();
@@ -53,7 +53,7 @@
    public CommonResult insertStandardizedTemplate(StandardizedTemplate standardizedTemplate) {
        LoginUserDetails loginUser = SecurityUtils.getLoginUser();
        SysCompany sysCompany = sysCompanyService.selectCompanyById(SecurityUtils.getCompanyId());
        SysCompany sysCompany = sysCompanyService.selectCompanyById(standardizedTemplate.getCompanyId().longValue());
        standardizedTemplate.setCompanyName(sysCompany.getName());
        standardizedTemplate.setCreateBy(loginUser.getUsername());
        standardizedTemplate.setCreateTime(LocalDateTime.now());
@@ -67,7 +67,7 @@
    @Override
    public CommonResult updateStandardizedTemplate(StandardizedTemplate standardizedTemplate) {
        LoginUserDetails loginUser = SecurityUtils.getLoginUser();
        SysCompany sysCompany = sysCompanyService.selectCompanyById(SecurityUtils.getCompanyId());
        SysCompany sysCompany = sysCompanyService.selectCompanyById(standardizedTemplate.getCompanyId().longValue());
        standardizedTemplate.setCompanyName(sysCompany.getName());
        standardizedTemplate.setUpdateBy(loginUser.getUsername());
        standardizedTemplate.setUpdateTime(LocalDateTime.now());
@@ -95,10 +95,15 @@
    @Override
    public CommonResult selectStandardizedQuality(Integer companyId) {
        LambdaQueryWrapper<StandardizedQuality> lambdaQueryWrapper = Wrappers.<StandardizedQuality>lambdaQuery()
                .eq(StandardizedQuality::getCompanyId, companyId)
                .eq(StandardizedQuality::getDelFlag, 0);
        return CommonResult.success(standardizedQualityMapper.selectOne(lambdaQueryWrapper));
        boolean admin = SecurityUtils.adminUser();
        LambdaQueryWrapper<StandardizedQuality> lambdaQueryWrapper = Wrappers.<StandardizedQuality>lambdaQuery();
        if (!admin){
            if (companyId==null){
                lambdaQueryWrapper.eq(StandardizedQuality::getCompanyId, SecurityUtils.getCompanyId().intValue());
            }
        }
        lambdaQueryWrapper.eq(StandardizedQuality::getDelFlag, 0);
        return CommonResult.success(standardizedQualityMapper.selectList(lambdaQueryWrapper));
    }
    @Override
@@ -107,7 +112,7 @@
        standardizedQualityMapper.delete(eq);
        LoginUserDetails loginUser = SecurityUtils.getLoginUser();
        SysCompany sysCompany = sysCompanyService.selectCompanyById(SecurityUtils.getCompanyId());
        SysCompany sysCompany = sysCompanyService.selectCompanyById(standardizedQuality.getCompanyId().longValue());
        standardizedQuality.setCompanyName(sysCompany.getName());
        standardizedQuality.setCreateBy(loginUser.getUsername());
        standardizedQuality.setCreateTime(LocalDateTime.now());
@@ -121,7 +126,7 @@
    @Override
    public CommonResult updateStandardizedQuality(StandardizedQuality standardizedQuality) {
        LoginUserDetails loginUser = SecurityUtils.getLoginUser();
        SysCompany sysCompany = sysCompanyService.selectCompanyById(SecurityUtils.getCompanyId());
        SysCompany sysCompany = sysCompanyService.selectCompanyById(standardizedQuality.getCompanyId().longValue());
        standardizedQuality.setCompanyName(sysCompany.getName());
        standardizedQuality.setUpdateBy(loginUser.getUsername());
        standardizedQuality.setUpdateTime(LocalDateTime.now());
pom.xml
@@ -204,6 +204,37 @@
                <artifactId>easyexcel</artifactId>
                <version>${easyexcel.version}</version>
            </dependency>
            <dependency>
                <groupId>com.deepoove</groupId>
                <artifactId>poi-tl</artifactId>
                <version>1.10.0</version>
            </dependency>
            <!-- 如果需要解析HTML -->
            <dependency>
                <groupId>org.jsoup</groupId>
                <artifactId>jsoup</artifactId>
                <version>1.15.3</version>
            </dependency>
            <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>itextpdf</artifactId>
                <version>5.5.13.3</version>
            </dependency>
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk15on</artifactId>
                <version>1.68</version>
            </dependency>
            <!-- 支持中文 -->
            <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>itext-asian</artifactId>
                <version>5.2.0</version>
            </dependency>
        </dependencies>
    </dependencyManagement>