whycxzp
2021-03-12 2bae92b9b3dfac9766477a12dd3b6a339de80249
更新应用和配置
3个文件已修改
6个文件已添加
262 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/ApplicationController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/ApplicationConfigDTO.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/ApplicationConfigMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/ApplicationMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/ApplicationConfig.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ApplicationService.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/util/FileCopyUtil.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ApplicationConfigMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ApplicationMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/ApplicationController.java
@@ -1,12 +1,16 @@
package com.whyc.controller;
import com.whyc.dto.ApplicationConfigDTO;
import com.whyc.dto.Response;
import com.whyc.pojo.Application;
import com.whyc.pojo.ApplicationConfig;
import com.whyc.service.ApplicationService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * 应用管理
@@ -37,4 +41,17 @@
        return service.update(app);
    }
    /*======应用配置======*/
    @PostMapping("config")
    @ApiOperation(value = "保存应用配置")
    public Response saveConfig(@RequestBody ApplicationConfigDTO configDTO,@RequestParam String fileData){
        //TODO:处理fileData存储文件
        return service.saveConfig(configDTO);
    }
    @GetMapping("allConfig")
    @ApiOperation(value = "查询当前应用的所有配置")
    public Response getAllConfig(@RequestParam int appId){
        return service.getAllConfig(appId);
    }
}
src/main/java/com/whyc/dto/ApplicationConfigDTO.java
New file
@@ -0,0 +1,31 @@
package com.whyc.dto;
import com.whyc.pojo.ApplicationConfig;
import java.beans.Transient;
import java.util.List;
/**
 * 应用内模块配置DTO
 */
public class ApplicationConfigDTO {
    private Integer appId;
    private List<ApplicationConfig> children;
    public Integer getAppId() {
        return appId;
    }
    public void setAppId(Integer appId) {
        this.appId = appId;
    }
    public List<ApplicationConfig> getChildren() {
        return children;
    }
    public void setChildren(List<ApplicationConfig> children) {
        this.children = children;
    }
}
src/main/java/com/whyc/mapper/ApplicationConfigMapper.java
New file
@@ -0,0 +1,9 @@
package com.whyc.mapper;
import com.whyc.dto.ApplicationConfigDTO;
import com.whyc.pojo.ApplicationConfig;
import org.apache.ibatis.annotations.Param;
public interface ApplicationConfigMapper extends CustomMapper<ApplicationConfig> {
    int saveConfig(@Param("configDTO") ApplicationConfigDTO configDTO);
}
src/main/java/com/whyc/mapper/ApplicationMapper.java
@@ -4,4 +4,5 @@
public interface ApplicationMapper extends CustomMapper<Application> {
    int insertApp(Application app);
}
src/main/java/com/whyc/pojo/ApplicationConfig.java
New file
@@ -0,0 +1,95 @@
package com.whyc.pojo;
import com.baomidou.mybatisplus.annotation.TableName;
import org.apache.ibatis.type.Alias;
import java.beans.Transient;
/**
 * 应用中的模块配置
 */
@Alias("ApplicationConfig")
@TableName( schema = "`db_app_sys`",value = "`tb_application_config`")
public class ApplicationConfig {
    private Integer id;
    /**应用id*/
    private Integer appId;
    private String name;
    /**宽度*/
    private Double w;
    /**高度*/
    private Double h;
    /**X轴坐标*/
    private Double x;
    /**Y轴坐标*/
    private Double y;
    /**模块图表展示类型*/
    private String type;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    @Transient
    public Integer getAppId() {
        return appId;
    }
    @Transient
    public void setAppId(Integer appId) {
        this.appId = appId;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Double getW() {
        return w;
    }
    public void setW(Double w) {
        this.w = w;
    }
    public Double getH() {
        return h;
    }
    public void setH(Double h) {
        this.h = h;
    }
    public Double getX() {
        return x;
    }
    public void setX(Double x) {
        this.x = x;
    }
    public Double getY() {
        return y;
    }
    public void setY(Double y) {
        this.y = y;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
}
src/main/java/com/whyc/service/ApplicationService.java
@@ -1,9 +1,15 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.whyc.dto.ApplicationConfigDTO;
import com.whyc.dto.Response;
import com.whyc.mapper.ApplicationConfigMapper;
import com.whyc.mapper.ApplicationMapper;
import com.whyc.pojo.Application;
import com.whyc.pojo.ApplicationConfig;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.Resource;
import java.util.List;
@@ -14,13 +20,13 @@
    @Resource
    private ApplicationMapper mapper;
    @Resource
    private ApplicationConfigMapper configMapper;
    public Response insert(Application app) {
        int res = mapper.insert(app);
        if(res==1){
            return new Response<>().setMsg(1,"创建成功");
        }else{
            return new Response<>().setMsg(0,"创建失败");
        }
        //TODO:id返回获取异常,需要修复
        int id = mapper.insertApp(app);
        return new Response<>().set(1,id,"创建成功");
    }
    public Response getAll() {
@@ -36,4 +42,22 @@
            return new Response<>().setMsg(0,"更新失败");
        }
    }
    /*======应用配置======*/
    public Response saveConfig(ApplicationConfigDTO configDTO) {
        try {
            configMapper.saveConfig(configDTO);
        }catch (Exception e){
            return new Response<>().setMsg(0,"保存失败");
        }
        return new Response<>().setCode(1);
    }
    public Response getAllConfig(int appId) {
        QueryWrapper<ApplicationConfig> query = Wrappers.query();
        query.eq("app_id",appId);
        List<ApplicationConfig> applicationConfigs = configMapper.selectList(query);
        return new Response<>().set(1,applicationConfigs);
    }
}
src/main/java/com/whyc/util/FileCopyUtil.java
New file
@@ -0,0 +1,52 @@
package com.whyc.util;
import org.apache.tomcat.util.codec.binary.Base64;
import java.io.*;
public class FileCopyUtil {
    /**
     * base64转File
     * @param base64
     * @param dest
     */
    public static boolean base64ToFile(String base64, File dest) {
        BufferedInputStream bis = null;
        BufferedOutputStream bos = null;
        try {
            //由于base64在传输过程中,+和/和=会被替换所以在解码前需要将base64还原成可用的base64
            base64 = base64.replaceAll(" ","+");
            base64 = base64.replaceAll("%2F","/");
            base64 = base64.replaceAll("%3D","=");
            //当使用springMVC时无需使用以上方法进行还原
            byte[] bytes = Base64.decodeBase64(base64.replace("\r\n", ""));
            bis = new BufferedInputStream(new ByteArrayInputStream(bytes));
            bos = new BufferedOutputStream(new FileOutputStream(dest));
            byte[] bts = new byte[1024];
            int len = -1;
            while((len = bis.read(bts)) != -1) {
                bos.write(bts,0,len);
            }
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        } finally {
            if (bos != null) {
                try {
                    bos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (bis != null) {
                try {
                    bis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
src/main/resources/mapper/ApplicationConfigMapper.xml
New file
@@ -0,0 +1,12 @@
<?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.whyc.mapper.ApplicationConfigMapper" >
    <insert id="saveConfig">
        insert into db_app_sys.tb_application_config(id,app_id,name,w,h,x,y,type) values
        <foreach collection="configDTO.children" item="module" separator=",">
            (#{module.id},#{configDTO.appId},#{module.name},#{module.w},#{module.h},#{module.x},#{module.y},#{module.type})
        </foreach>
    </insert>
</mapper>
src/main/resources/mapper/ApplicationMapper.xml
New file
@@ -0,0 +1,9 @@
<?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.whyc.mapper.ApplicationMapper" >
    <insert id="insertApp" useGeneratedKeys="true" keyProperty="id">
        insert into db_app_sys.tb_application(name) values (#{name});
    </insert>
</mapper>