浏览代码

feat:工程下载代码合并

侯茂昌 1 年之前
父节点
当前提交
d41f262648

+ 21 - 0
zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysEngineeringController.java

@@ -0,0 +1,21 @@
+package com.zkqy.web.controller.system;
+
+import com.zkqy.common.core.controller.BaseController;
+import com.zkqy.system.service.ISysEngineeringService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 工程部署Controller
+ *
+ * @author zkqy
+ * @date 2024-01-03
+ */
+@RestController
+@RequestMapping("/system/engineering")
+public class SysEngineeringController  extends BaseController {
+
+    @Autowired
+    private ISysEngineeringService sysEngineeringService;
+}

+ 10 - 0
zkqy-common/pom.xml

@@ -137,28 +137,38 @@
             <artifactId>hutool-all</artifactId>
             <version>5.8.16</version>
         </dependency>
+        <!--阿里巴巴数据源-->
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>druid</artifactId>
             <version>1.2.16</version>
             <scope>compile</scope>
         </dependency>
+        <!--springmvc依赖-->
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-webmvc</artifactId>
         </dependency>
+        <!--阿里的excel导出依赖-->
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>easyexcel</artifactId>
             <version>3.3.2</version>
             <scope>compile</scope>
         </dependency>
+        <!--Json转换依赖-->
         <dependency>
             <groupId>com.google.code.gson</groupId>
             <artifactId>gson</artifactId>
             <version>2.10.1</version>
             <scope>compile</scope>
         </dependency>
+        <!--Zip压缩-->
+        <dependency>
+            <groupId>org.apache.ant</groupId>
+            <artifactId>ant</artifactId>
+            <version>1.9.1</version>
+        </dependency>
     </dependencies>
 
 </project>

+ 55 - 0
zkqy-common/src/main/java/com/zkqy/common/utils/ZipUtils.java

@@ -0,0 +1,55 @@
+package com.zkqy.common.utils;
+
+
+import org.apache.tools.zip.ZipEntry;
+import org.apache.tools.zip.ZipOutputStream;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.BufferedInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.List;
+import java.util.Map;
+
+public class ZipUtils {
+
+    /**
+     * 创建多文件压缩包
+     *
+     * @param response
+     * @param fileList 文件信息集合
+     */
+    public static void createZip(HttpServletResponse response, List<Map<String, String>> fileList) {
+
+        try {
+            //设置下载的文件名称, 注意中文名需要做编码类型转换
+            response.setContentType("application/x-octet-stream");
+            response.setHeader("Content-Disposition", "attachment;");
+            response.setCharacterEncoding("utf-8");
+            //创建zip输出流
+            ZipOutputStream zos = new ZipOutputStream(response.getOutputStream());
+            byte[] buffer = new byte[1024];
+            BufferedInputStream bufferStream = null;
+            int index = 1;
+            for (int i = 0; i < fileList.size(); i++) {
+                //设置zip里面每个文件的名称
+                zos.putNextEntry(new ZipEntry(fileList.get(i).get("fileName").toString()));
+                //根据文件地址获取输入流
+                InputStream is = new URL("file:///" + fileList.get(i).get("filePath").toString()).openConnection().getInputStream();
+                int length;
+                while ((length = is.read(buffer)) > 0) {
+                    zos.write(buffer, 0, length);
+                }
+                is.close();
+                index++;
+            }
+            zos.closeEntry();
+            zos.close();
+            zos.flush();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
+    }
+}

+ 157 - 0
zkqy-system/src/main/java/com/zkqy/system/domain/SysEngineering.java

@@ -0,0 +1,157 @@
+package com.zkqy.system.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zkqy.common.annotation.Excel;
+import com.zkqy.common.core.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.util.Date;
+
+/**
+ * 工程部署对象 sys_engineering
+ * 
+ * @author zkqy
+ * @date 2024-01-03
+ */
+public class SysEngineering extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 编号 */
+    private Long id;
+
+    /** 工程key */
+    @Excel(name = "工程key")
+    private String engineeringKey;
+
+    /** 工程名称 */
+    @Excel(name = "工程名称")
+    private String engineeringName;
+
+    /** 下载次数 */
+    @Excel(name = "下载次数")
+    private Long downloadNumber;
+
+    /** 下载时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "下载时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date downloadTime;
+
+    /** 租户编号 */
+    @Excel(name = "租户编号")
+    private Long tenantId;
+
+    /** 是否删除(0:否;2:是) */
+    private String delFlag;
+
+    /** 创建者ID */
+    @Excel(name = "创建者ID")
+    private Long createById;
+
+    /** 更新者ID */
+    @Excel(name = "更新者ID")
+    private Long updateById;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setEngineeringKey(String engineeringKey) 
+    {
+        this.engineeringKey = engineeringKey;
+    }
+
+    public String getEngineeringKey() 
+    {
+        return engineeringKey;
+    }
+    public void setEngineeringName(String engineeringName) 
+    {
+        this.engineeringName = engineeringName;
+    }
+
+    public String getEngineeringName() 
+    {
+        return engineeringName;
+    }
+    public void setDownloadNumber(Long downloadNumber) 
+    {
+        this.downloadNumber = downloadNumber;
+    }
+
+    public Long getDownloadNumber() 
+    {
+        return downloadNumber;
+    }
+    public void setDownloadTime(Date downloadTime) 
+    {
+        this.downloadTime = downloadTime;
+    }
+
+    public Date getDownloadTime() 
+    {
+        return downloadTime;
+    }
+    public void setTenantId(Long tenantId) 
+    {
+        this.tenantId = tenantId;
+    }
+
+    public Long getTenantId() 
+    {
+        return tenantId;
+    }
+    public void setDelFlag(String delFlag) 
+    {
+        this.delFlag = delFlag;
+    }
+
+    public String getDelFlag() 
+    {
+        return delFlag;
+    }
+    public void setCreateById(Long createById) 
+    {
+        this.createById = createById;
+    }
+
+    public Long getCreateById() 
+    {
+        return createById;
+    }
+    public void setUpdateById(Long updateById) 
+    {
+        this.updateById = updateById;
+    }
+
+    public Long getUpdateById() 
+    {
+        return updateById;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("engineeringKey", getEngineeringKey())
+            .append("engineeringName", getEngineeringName())
+            .append("downloadNumber", getDownloadNumber())
+            .append("downloadTime", getDownloadTime())
+            .append("tenantId", getTenantId())
+            .append("remark", getRemark())
+            .append("delFlag", getDelFlag())
+            .append("createBy", getCreateBy())
+            .append("createById", getCreateById())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateById", getUpdateById())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 62 - 0
zkqy-system/src/main/java/com/zkqy/system/mapper/SysEngineeringMapper.java

@@ -0,0 +1,62 @@
+package com.zkqy.system.mapper;
+
+import com.zkqy.system.domain.SysEngineering;
+
+import java.util.List;
+
+/**
+ * 工程部署Mapper接口
+ * 
+ * @author zkqy
+ * @date 2024-01-03
+ */
+public interface SysEngineeringMapper 
+{
+    /**
+     * 查询工程部署
+     * 
+     * @param id 工程部署主键
+     * @return 工程部署
+     */
+    public SysEngineering selectSysEngineeringById(Long id);
+
+    /**
+     * 查询工程部署列表
+     * 
+     * @param sysEngineering 工程部署
+     * @return 工程部署集合
+     */
+    public List<SysEngineering> selectSysEngineeringList(SysEngineering sysEngineering);
+
+    /**
+     * 新增工程部署
+     * 
+     * @param sysEngineering 工程部署
+     * @return 结果
+     */
+    public int insertSysEngineering(SysEngineering sysEngineering);
+
+    /**
+     * 修改工程部署
+     * 
+     * @param sysEngineering 工程部署
+     * @return 结果
+     */
+    public int updateSysEngineering(SysEngineering sysEngineering);
+
+    /**
+     * 删除工程部署
+     * 
+     * @param id 工程部署主键
+     * @return 结果
+     */
+    public int deleteSysEngineeringById(Long id);
+
+    /**
+     * 批量删除工程部署
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteSysEngineeringByIds(Long[] ids);
+}

+ 62 - 0
zkqy-system/src/main/java/com/zkqy/system/service/ISysEngineeringService.java

@@ -0,0 +1,62 @@
+package com.zkqy.system.service;
+
+import com.zkqy.system.domain.SysEngineering;
+
+import java.util.List;
+
+/**
+ * 工程部署Service接口
+ * 
+ * @author zkqy
+ * @date 2024-01-03
+ */
+public interface ISysEngineeringService 
+{
+    /**
+     * 查询工程部署
+     * 
+     * @param id 工程部署主键
+     * @return 工程部署
+     */
+    public SysEngineering selectSysEngineeringById(Long id);
+
+    /**
+     * 查询工程部署列表
+     * 
+     * @param sysEngineering 工程部署
+     * @return 工程部署集合
+     */
+    public List<SysEngineering> selectSysEngineeringList(SysEngineering sysEngineering);
+
+    /**
+     * 新增工程部署
+     * 
+     * @param sysEngineering 工程部署
+     * @return 结果
+     */
+    public int insertSysEngineering(SysEngineering sysEngineering);
+
+    /**
+     * 修改工程部署
+     * 
+     * @param sysEngineering 工程部署
+     * @return 结果
+     */
+    public int updateSysEngineering(SysEngineering sysEngineering);
+
+    /**
+     * 批量删除工程部署
+     * 
+     * @param ids 需要删除的工程部署主键集合
+     * @return 结果
+     */
+    public int deleteSysEngineeringByIds(Long[] ids);
+
+    /**
+     * 删除工程部署信息
+     * 
+     * @param id 工程部署主键
+     * @return 结果
+     */
+    public int deleteSysEngineeringById(Long id);
+}

+ 97 - 0
zkqy-system/src/main/java/com/zkqy/system/service/impl/SysEngineeringServiceImpl.java

@@ -0,0 +1,97 @@
+package com.zkqy.system.service.impl;
+
+import com.zkqy.common.utils.DateUtils;
+import com.zkqy.system.domain.SysEngineering;
+import com.zkqy.system.mapper.SysEngineeringMapper;
+import com.zkqy.system.service.ISysEngineeringService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 工程部署Service业务层处理
+ * 
+ * @author zkqy
+ * @date 2024-01-03
+ */
+@Service
+public class SysEngineeringServiceImpl implements ISysEngineeringService 
+{
+    @Autowired
+    private SysEngineeringMapper sysEngineeringMapper;
+
+    /**
+     * 查询工程部署
+     * 
+     * @param id 工程部署主键
+     * @return 工程部署
+     */
+    @Override
+    public SysEngineering selectSysEngineeringById(Long id)
+    {
+        return sysEngineeringMapper.selectSysEngineeringById(id);
+    }
+
+    /**
+     * 查询工程部署列表
+     * 
+     * @param sysEngineering 工程部署
+     * @return 工程部署
+     */
+    @Override
+    public List<SysEngineering> selectSysEngineeringList(SysEngineering sysEngineering)
+    {
+        return sysEngineeringMapper.selectSysEngineeringList(sysEngineering);
+    }
+
+    /**
+     * 新增工程部署
+     * 
+     * @param sysEngineering 工程部署
+     * @return 结果
+     */
+    @Override
+    public int insertSysEngineering(SysEngineering sysEngineering)
+    {
+        sysEngineering.setCreateTime(DateUtils.getNowDate());
+        return sysEngineeringMapper.insertSysEngineering(sysEngineering);
+    }
+
+    /**
+     * 修改工程部署
+     * 
+     * @param sysEngineering 工程部署
+     * @return 结果
+     */
+    @Override
+    public int updateSysEngineering(SysEngineering sysEngineering)
+    {
+        sysEngineering.setUpdateTime(DateUtils.getNowDate());
+        return sysEngineeringMapper.updateSysEngineering(sysEngineering);
+    }
+
+    /**
+     * 批量删除工程部署
+     * 
+     * @param ids 需要删除的工程部署主键
+     * @return 结果
+     */
+    @Override
+    public int deleteSysEngineeringByIds(Long[] ids)
+    {
+        return sysEngineeringMapper.deleteSysEngineeringByIds(ids);
+    }
+
+    /**
+     * 删除工程部署信息
+     * 
+     * @param id 工程部署主键
+     * @return 结果
+     */
+    @Override
+    public int deleteSysEngineeringById(Long id)
+    {
+        return sysEngineeringMapper.deleteSysEngineeringById(id);
+    }
+}

+ 111 - 0
zkqy-system/src/main/resources/mapper/system/SysEngineeringMapper.xml

@@ -0,0 +1,111 @@
+<?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="com.zkqy.system.mapper.SysEngineeringMapper">
+    
+    <resultMap type="SysEngineering" id="SysEngineeringResult">
+        <result property="id"    column="id"    />
+        <result property="engineeringKey"    column="engineering_key"    />
+        <result property="engineeringName"    column="engineering_name"    />
+        <result property="downloadNumber"    column="download_number"    />
+        <result property="downloadTime"    column="download_time"    />
+        <result property="tenantId"    column="tenant_id" />
+        <result property="remark"    column="remark"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createById"    column="create_by_id"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateById"    column="update_by_id"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectSysEngineeringVo">
+        select id, engineering_key, engineering_name, download_number, download_time, tenant_id, remark, del_flag, create_by, create_by_id, create_time, update_by, update_by_id, update_time from sys_engineering
+    </sql>
+
+    <select id="selectSysEngineeringList" parameterType="SysEngineering" resultMap="SysEngineeringResult">
+        <include refid="selectSysEngineeringVo"/>
+        <where>  
+            <if test="engineeringKey != null  and engineeringKey != ''"> and engineering_key = #{engineeringKey}</if>
+            <if test="engineeringName != null  and engineeringName != ''"> and engineering_name like concat('%', #{engineeringName}, '%')</if>
+            <if test="downloadNumber != null "> and download_number = #{downloadNumber}</if>
+            <if test="downloadTime != null "> and download_time = #{downloadTime}</if>
+            <if test="tenantId != null "> and tenant_id = #{tenantId}</if>
+            <if test="createById != null "> and create_by_id = #{createById}</if>
+            <if test="updateById != null "> and update_by_id = #{updateById}</if>
+        </where>
+        order by download_time desc
+    </select>
+    
+    <select id="selectSysEngineeringById" parameterType="Long" resultMap="SysEngineeringResult">
+        <include refid="selectSysEngineeringVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSysEngineering" parameterType="SysEngineering">
+        insert into sys_engineering
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="engineeringKey != null">engineering_key,</if>
+            <if test="engineeringName != null">engineering_name,</if>
+            <if test="downloadNumber != null">download_number,</if>
+            <if test="downloadTime != null">download_time,</if>
+            <if test="tenantId != null">tenant_id,</if>
+            <if test="remark != null">remark,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createById != null">create_by_id,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateById != null">update_by_id,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="engineeringKey != null">#{engineeringKey},</if>
+            <if test="engineeringName != null">#{engineeringName},</if>
+            <if test="downloadNumber != null">#{downloadNumber},</if>
+            <if test="downloadTime != null">#{downloadTime},</if>
+            <if test="tenantId != null">#{tenantId},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createById != null">#{createById},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateById != null">#{updateById},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSysEngineering" parameterType="SysEngineering">
+        update sys_engineering
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="engineeringKey != null">engineering_key = #{engineeringKey},</if>
+            <if test="engineeringName != null">engineering_name = #{engineeringName},</if>
+            <if test="downloadNumber != null">download_number = #{downloadNumber},</if>
+            <if test="downloadTime != null">download_time = #{downloadTime},</if>
+            <if test="tenantId != null">tenant_id = #{tenantId},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createById != null">create_by_id = #{createById},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateById != null">update_by_id = #{updateById},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSysEngineeringById" parameterType="Long">
+        delete from sys_engineering where id = #{id}
+    </delete>
+
+    <delete id="deleteSysEngineeringByIds" parameterType="String">
+        delete from sys_engineering where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>