From b73f9521aedbbb94a4ab04ab7d1a12bec91ee3db Mon Sep 17 00:00:00 2001 From: yuanwei Date: Tue, 19 Mar 2024 14:39:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=89=88=E6=9C=AC=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/SysJarVersionController.java | 142 ++++++++++++++++++ .../api/dao/system/SysJarVersionMapper.java | 10 ++ .../glxp/api/entity/system/SysJarVersion.java | 85 +++++++++++ .../api/req/system/SysJarVersionRequest.java | 9 ++ .../service/system/SysJarVersionService.java | 13 ++ .../com/glxp/api/upload/uploadController.java | 40 ++++- .../mapper/system/SysJarVersionMapper.xml | 5 + 7 files changed, 297 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/glxp/api/controller/system/SysJarVersionController.java create mode 100644 src/main/java/com/glxp/api/dao/system/SysJarVersionMapper.java create mode 100644 src/main/java/com/glxp/api/entity/system/SysJarVersion.java create mode 100644 src/main/java/com/glxp/api/req/system/SysJarVersionRequest.java create mode 100644 src/main/java/com/glxp/api/service/system/SysJarVersionService.java create mode 100644 src/main/resources/mybatis/mapper/system/SysJarVersionMapper.xml diff --git a/src/main/java/com/glxp/api/controller/system/SysJarVersionController.java b/src/main/java/com/glxp/api/controller/system/SysJarVersionController.java new file mode 100644 index 0000000..d42fd95 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/system/SysJarVersionController.java @@ -0,0 +1,142 @@ +package com.glxp.api.controller.system; + + +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; +import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.annotation.Log; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.BusinessType; +import com.glxp.api.controller.BaseController; +import com.glxp.api.entity.anno.AnncmntDevEntity; +import com.glxp.api.entity.system.SysJarVersion; +import com.glxp.api.req.anno.AnncmntDevEntityRequest; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.req.system.SysJarVersionRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.service.anno.AnncmntDevService; +import com.glxp.api.service.system.SysJarVersionService; +import com.glxp.api.util.BeanCopyUtils; +import com.glxp.api.util.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.BindingResult; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; + +import javax.validation.Valid; +import java.util.List; + +/** + * 用户信息 + * + */ +@ApiIgnore +@Validated +@RequiredArgsConstructor +@RestController +public class SysJarVersionController extends BaseController { + + private final SysJarVersionService sysJarVersionService; + + + @GetMapping("/sys/jar/list") + public BaseResponse list(SysJarVersionRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + int offset = (request.getPage() - 1) * request.getLimit(); + Page pages = PageHelper.offsetPage(offset, request.getLimit()); + List list = sysJarVersionService.list(getQueryWrapper(request)); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pages.getTotal()); + pageSimpleResponse.setList(list); + + return ResultVOUtils.success(pageSimpleResponse); + } + + @AuthRuleAnnotation("") + @PostMapping("/sys/jar/save") + @Log(title = "jar包管理", businessType = BusinessType.INSERT) + public BaseResponse save(@RequestBody SysJarVersion entity, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + boolean b = sysJarVersionService.save(entity); + if (!b) { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + return ResultVOUtils.success("添加成功!"); + } + + @AuthRuleAnnotation("") + @PostMapping("/sys/jar/edit") + @Log(title = "jar包管理", businessType = BusinessType.UPDATE) + public BaseResponse edit(@RequestBody @Valid SysJarVersion entity, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (entity.getId() == null) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + SysJarVersion originEntity = sysJarVersionService.getById(entity.getId()); + if (originEntity == null) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + boolean b = sysJarVersionService.updateById(entity); + if (!b) { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + + return ResultVOUtils.success("修改成功!"); + + + } + + @AuthRuleAnnotation("") + @PostMapping("/sys/jar/delete") + @Log(title = "jar包管理", businessType = BusinessType.DELETE) + public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) { + + if (StringUtils.isEmpty(deleteRequest.getId())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + boolean b = sysJarVersionService.removeById(deleteRequest.getId()); + + if (!b) { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + return ResultVOUtils.success(); + } + + public static QueryWrapper getQueryWrapper(SysJarVersionRequest request) { + SysJarVersion entity = new SysJarVersion(); + BeanCopyUtils.copy(request, entity); + QueryWrapper queryWrapper = new QueryWrapper(entity); + return queryWrapper; + } + + + @GetMapping("/jar/getLatestVersion") + @Log(title = "jar包管理") + public BaseResponse getLatestVersion() { + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("status","1"); + queryWrapper.orderByDesc("version"); + List list = sysJarVersionService.list(queryWrapper); + if(CollectionUtil.isEmpty(list)){ + return ResultVOUtils.paramVerifyFail("暂无版本"); + } + return ResultVOUtils.success(list.get(0)); + } +} diff --git a/src/main/java/com/glxp/api/dao/system/SysJarVersionMapper.java b/src/main/java/com/glxp/api/dao/system/SysJarVersionMapper.java new file mode 100644 index 0000000..4494b4e --- /dev/null +++ b/src/main/java/com/glxp/api/dao/system/SysJarVersionMapper.java @@ -0,0 +1,10 @@ +package com.glxp.api.dao.system; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.anno.AnncmntDevEntity; +import com.glxp.api.entity.system.SysJarVersion; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface SysJarVersionMapper extends BaseMapper { +} diff --git a/src/main/java/com/glxp/api/entity/system/SysJarVersion.java b/src/main/java/com/glxp/api/entity/system/SysJarVersion.java new file mode 100644 index 0000000..da802aa --- /dev/null +++ b/src/main/java/com/glxp/api/entity/system/SysJarVersion.java @@ -0,0 +1,85 @@ +package com.glxp.api.entity.system; + +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 lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.Date; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "sys_jar_version") +public class SysJarVersion implements Serializable { + @TableId(value = "id", type = IdType.INPUT) + private Integer id; + + /** + * 版本号 + */ + @TableField(value = "version") + private String version; + + /** + * 版本名称 + */ + @TableField(value = "name") + private String name; + + /** + * 是否强制 0否 1是 + */ + @TableField(value = "isForce") + private String isForce; + + /** + * 文件路径 + */ + @TableField(value = "filePath") + private String filePath; + + /** + * 状态 1正常 2下线 + */ + @TableField(value = "status") + private String status; + + /** + * 创建人 + */ + @TableField(value = "`createUser`") + private String createUser; + + /** + * 创建时间 + */ + @TableField(value = "createTime") + private Date createTime; + + /** + * 更新人 + */ + @TableField(value = "updateUser") + private String updateUser; + + /** + * 更新时间 + */ + @TableField(value = "updateTime") + private Date updateTime; + + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + + private static final long serialVersionUID = 1L; +} diff --git a/src/main/java/com/glxp/api/req/system/SysJarVersionRequest.java b/src/main/java/com/glxp/api/req/system/SysJarVersionRequest.java new file mode 100644 index 0000000..445ee52 --- /dev/null +++ b/src/main/java/com/glxp/api/req/system/SysJarVersionRequest.java @@ -0,0 +1,9 @@ +package com.glxp.api.req.system; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +@Data +public class SysJarVersionRequest extends ListPageRequest { + +} diff --git a/src/main/java/com/glxp/api/service/system/SysJarVersionService.java b/src/main/java/com/glxp/api/service/system/SysJarVersionService.java new file mode 100644 index 0000000..9a79e7e --- /dev/null +++ b/src/main/java/com/glxp/api/service/system/SysJarVersionService.java @@ -0,0 +1,13 @@ +package com.glxp.api.service.system; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.glxp.api.dao.anno.AnncmntDevMapper; +import com.glxp.api.dao.system.SysJarVersionMapper; +import com.glxp.api.entity.anno.AnncmntDevEntity; +import com.glxp.api.entity.system.SysJarVersion; +import org.springframework.stereotype.Service; + +@Service +public class SysJarVersionService extends ServiceImpl { + +} diff --git a/src/main/java/com/glxp/api/upload/uploadController.java b/src/main/java/com/glxp/api/upload/uploadController.java index 59d3bdb..426768c 100644 --- a/src/main/java/com/glxp/api/upload/uploadController.java +++ b/src/main/java/com/glxp/api/upload/uploadController.java @@ -113,13 +113,6 @@ public class uploadController { if (file.isEmpty()) { return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传文件不能为空"); } - try { - BufferedImage image = ImageIO.read(file.getInputStream()); - System.out.println(image.getWidth()); - System.out.println(image.getHeight()); - } catch (IOException e) { - e.printStackTrace(); - } if (StringUtils.isBlank(type)) { return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传文件类型不能为空"); } @@ -145,4 +138,37 @@ public class uploadController { } return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传失败"); } + + + @PostMapping("/udiwms/upload/jar/file") + public BaseResponse uploadJarFile(@RequestParam("file") MultipartFile file, + @RequestParam("type") String type) throws UnsupportedEncodingException { + if (file.isEmpty()) { + return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传文件不能为空"); + } + if (StringUtils.isBlank(type)) { + return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传文件类型不能为空"); + } + + String fileName = file.getOriginalFilename(); + String fileType = fileName.substring(fileName.lastIndexOf(".")); + // 文件类型判断 + if (StringUtils.isBlank(fileType) || !fileType.equals(".jar")) { + return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传文件只能是 .jar 格式"); + } + String newName = UUID.randomUUID() + fileType;//生成新文件名 + String savePath = minioPath + "/jar/file/" + type; + String fileFullName = savePath + "/" + newName; + try { + MinioUtil.uploadFile(fileFullName, file); + Map rMap = new HashMap<>(); + rMap.put("msg", "上传成功"); + rMap.put("name", minioUrl + fileFullName); + rMap.put("type", type); + return ResultVOUtils.success(rMap); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传失败"); + } } diff --git a/src/main/resources/mybatis/mapper/system/SysJarVersionMapper.xml b/src/main/resources/mybatis/mapper/system/SysJarVersionMapper.xml new file mode 100644 index 0000000..c825f71 --- /dev/null +++ b/src/main/resources/mybatis/mapper/system/SysJarVersionMapper.xml @@ -0,0 +1,5 @@ + + + + +