From e8838a91d0bfe93cd9f765950b2e94698a6b414e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E5=B1=95=E8=88=AA?= <2426745133@qq.com> Date: Mon, 15 Sep 2025 20:14:30 +0800 Subject: [PATCH] =?UTF-8?q?09-15-netty=E4=BC=98=E5=8C=96=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E5=85=B6=E4=BD=99=E7=B1=BB=E5=9E=8B=EF=BC=8Capp=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.yml | 4 +- .../app/controller/SysPackageController.java | 65 +++++++++++++++++++ .../org/dromara/app/domain/SysPackage.java | 33 ++++++++++ .../dromara/app/domain/vo/SysPackageVo.java | 30 +++++++++ .../dromara/app/mapper/SysPackageMapper.java | 11 ++++ .../app/service/SysPackageServiceImpl.java | 10 +++ .../dromara/websocket/ChatServerHandler.java | 65 +++++++++++++++---- .../dromara/websocket/domain/ChatHistory.java | 19 ++++-- 8 files changed, 214 insertions(+), 23 deletions(-) create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/controller/SysPackageController.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/domain/SysPackage.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/domain/vo/SysPackageVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/mapper/SysPackageMapper.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/service/SysPackageServiceImpl.java 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