src/main/java/com/whyc/controller/ApplicationController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/dto/ApplicationConfigDTO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/ApplicationConfigMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/ApplicationMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/pojo/ApplicationConfig.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/ApplicationService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/util/FileCopyUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/ApplicationConfigMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/ApplicationMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | 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>