diff --git a/xinnengyuan/ruoyi-admin/src/main/resources/application.yml b/xinnengyuan/ruoyi-admin/src/main/resources/application.yml index 4fd2abd9..65010f1d 100644 --- a/xinnengyuan/ruoyi-admin/src/main/resources/application.yml +++ b/xinnengyuan/ruoyi-admin/src/main/resources/application.yml @@ -279,8 +279,8 @@ springdoc: # packages-to-scan: org.dromara.ctr - group: 24.招标模块 packages-to-scan: org.dromara.tender - - + - group: 25.app版本模块 + packages-to-scan: org.dromara.app # knife4j的增强配置,不需要增强可以不配 knife4j: enable: true diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/controller/SysPackageController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/controller/SysPackageController.java new file mode 100644 index 00000000..c59309eb --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/controller/SysPackageController.java @@ -0,0 +1,65 @@ +package org.dromara.app.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.dromara.app.domain.SysPackage; +import org.dromara.app.service.SysPackageServiceImpl; +import org.dromara.common.core.domain.R; +import org.dromara.system.domain.vo.SysOssVo; +import org.dromara.system.service.impl.SysOssServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +@RestController +@RequestMapping("/app/sysPackage") +public class SysPackageController { + + @Autowired + private SysOssServiceImpl sysOssService; + @Autowired + private SysPackageServiceImpl sysPackageService; + + /** + * 获取最新版本 + */ + @GetMapping("/getNewVersion") + public R> getNewVersion() { + LambdaQueryWrapper lambdaQueryWrapper =new LambdaQueryWrapper<>(); + lambdaQueryWrapper.orderByDesc(SysPackage::getCreateTime); + List one = sysPackageService.list(lambdaQueryWrapper); + return R.ok(one); + } + + /** + * 上传最新安装包及版本 + */ + @Transactional + @GetMapping("/uploadNewVersion") + public R uploadNewVersion(String version, String type, MultipartFile file) { + SysOssVo upload = sysOssService.upload(file); + if (upload == null){ + return R.fail("上传失败"); + } + SysPackage sysPackage = new SysPackage(); + sysPackage.setVersion( version); + sysPackage.setFileId(upload.getOssId()); + sysPackage.setFileUrl(upload.getUrl()); + sysPackage.setType(type); + + boolean save = sysPackageService.save(sysPackage); + if (!save){ + return R.fail("保存失败"); + } + + return R.ok(sysPackage); + } + + + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/domain/SysPackage.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/domain/SysPackage.java new file mode 100644 index 00000000..91970a57 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/domain/SysPackage.java @@ -0,0 +1,33 @@ +package org.dromara.app.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.io.Serial; + +@Data +@TableName("sys_package") +@EqualsAndHashCode(callSuper = true) +public class SysPackage extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + @TableId(value = "id") + private Long id; + + /** + * 0安卓1苹果2鸿蒙 + */ + private String type; + + private String version; + + private Long fileId; + + private String fileUrl; + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/domain/vo/SysPackageVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/domain/vo/SysPackageVo.java new file mode 100644 index 00000000..a37fc641 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/domain/vo/SysPackageVo.java @@ -0,0 +1,30 @@ +package org.dromara.app.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.app.domain.SysPackage; + +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = SysPackage.class) +public class SysPackageVo { + + @ExcelProperty("id") + private Long id; + + /** + * 0安卓1苹果2鸿蒙 + */ + @ExcelProperty("安装包类型(0安卓1苹果2鸿蒙)") + private String type; + + @ExcelProperty("版本") + private String version; + + private Long fileId; + + @ExcelProperty("安装包地址") + private String fileUrl; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/mapper/SysPackageMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/mapper/SysPackageMapper.java new file mode 100644 index 00000000..0d67f1ea --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/mapper/SysPackageMapper.java @@ -0,0 +1,11 @@ +package org.dromara.app.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.dromara.app.domain.SysPackage; +import org.dromara.app.domain.vo.SysPackageVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +@Mapper +public interface SysPackageMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/service/SysPackageServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/service/SysPackageServiceImpl.java new file mode 100644 index 00000000..ea319ac6 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/service/SysPackageServiceImpl.java @@ -0,0 +1,10 @@ +package org.dromara.app.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.dromara.app.domain.SysPackage; +import org.dromara.app.mapper.SysPackageMapper; +import org.springframework.stereotype.Service; + +@Service +public class SysPackageServiceImpl extends ServiceImpl { +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/ChatServerHandler.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/ChatServerHandler.java index 47075a1b..f9fc6388 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/ChatServerHandler.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/ChatServerHandler.java @@ -27,6 +27,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import java.io.File; +import java.io.FileOutputStream; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.ConcurrentHashMap; @@ -171,6 +173,7 @@ public class ChatServerHandler extends SimpleChannelInboundHandler channelHandlerContexts = userChannelMap.get(id.toString()); //如果满足则说明用户在线 @@ -346,19 +393,7 @@ public class ChatServerHandler extends SimpleChannelInboundHandler