wenkai 3 days ago
parent
commit
bc94d2e21f

+ 4 - 4
pom.xml

@@ -90,10 +90,6 @@
                 <monitor.username>ruoyi</monitor.username>
                 <monitor.password>123456</monitor.password>
             </properties>
-            <activation>
-                <!-- 默认环境 -->
-                <activeByDefault>true</activeByDefault>
-            </activation>
         </profile>
         <profile>
             <id>prod</id>
@@ -103,6 +99,10 @@
                 <monitor.username>ruoyi</monitor.username>
                 <monitor.password>123456</monitor.password>
             </properties>
+            <activation>
+                <!-- 默认环境 -->
+                <activeByDefault>true</activeByDefault>
+            </activation>
         </profile>
     </profiles>
 

+ 5 - 5
ruoyi-admin/src/main/resources/application-prod.yml

@@ -4,7 +4,7 @@ spring.servlet.multipart.location: /ruoyi/server/temp
 --- # 监控中心配置
 spring.boot.admin.client:
   # 增加客户端开关
-  enabled: true
+  enabled: false
   url: http://182.92.79.54:9090/admin
   instance:
     service-host-type: IP
@@ -16,7 +16,7 @@ spring.boot.admin.client:
 
 --- # snail-job 配置
 snail-job:
-  enabled: true
+  enabled: false
   # 需要在 SnailJob 后台组管理创建对应名称的组,然后创建任务的时候选择对应的组,才能正确分派任务
   group: "ruoyi_group"
   # SnailJob 接入验证令牌 详见 script/sql/ry_job.sql `sj_group_config`表
@@ -52,7 +52,7 @@ spring:
           driverClassName: com.mysql.cj.jdbc.Driver
           # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
           # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
-          url: jdbc:mysql://localhost:3306/game_event?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
+          url: jdbc:mysql://182.92.79.54:3306/game_event?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
           username: game_event
           password: TxtYJXEtnC6ecmBw
 #        # 从库数据源
@@ -101,13 +101,13 @@ spring:
 spring.data:
   redis:
     # 地址
-    host: 127.0.0.1
+    host: 182.92.79.54
     # 端口,默认为6379
     port: 6379
     # 数据库索引
     database: 0
     # redis 密码必须配置
-#    password: game_event
+    password: game_event
     # 连接超时时间
     timeout: 10s
     # 是否开启ssl

+ 2 - 0
ruoyi-admin/src/main/resources/application.yml

@@ -73,6 +73,8 @@ spring:
   mvc:
     # 设置静态资源路径 防止所有请求都去查静态资源
     static-path-pattern: /static/**
+    async:
+      request-timeout: 300000  # 5分钟
     format:
       date-time: yyyy-MM-dd HH:mm:ss
   jackson:

BIN
ruoyi-admin/src/main/resources/fonts/simhei.ttf


BIN
ruoyi-admin/src/main/resources/fonts/simsun.ttf


BIN
ruoyi-admin/src/main/resources/fonts/yahei.ttf


+ 1 - 1
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/controller/NumberController.java

@@ -59,7 +59,7 @@ public class NumberController {
     public void generateNumberBib(HttpServletResponse response,
                                   @RequestPart("bgImage") MultipartFile bgImage,
                                   @RequestPart("logo") MultipartFile logo,
-                                  GenerateBibBo bibParam) {
+                                  GenerateBibBo bibParam)  {
         gameEventService.generateNumberBib(response, bgImage, logo, bibParam);
     }
 

+ 2 - 1
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/IGameEventService.java

@@ -119,5 +119,6 @@ public interface IGameEventService {
      */
     void exportNumberTable(HttpServletRequest request, HttpServletResponse response, Long eventId);
 
-    void generateNumberBib(HttpServletResponse response, MultipartFile bgImage, MultipartFile logo, GenerateBibBo bibParam);
+    void generateNumberBib(HttpServletResponse response, MultipartFile bgImage, MultipartFile logo, GenerateBibBo bibParam) ;
+
 }

+ 10 - 34
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/GameEventServiceImpl.java

@@ -1,6 +1,7 @@
 package org.dromara.system.service.impl;
 
 import cn.hutool.core.img.FontUtil;
+import cn.hutool.core.io.resource.ClassPathResource;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -351,12 +352,6 @@ public class GameEventServiceImpl implements IGameEventService {
     }
 
 
-    /**
-     * 使用poi生成号码对照表
-     *
-     * @param response
-     * @param eventId
-     */
     /**
      * 使用poi生成号码对照表
      *
@@ -579,13 +574,10 @@ public class GameEventServiceImpl implements IGameEventService {
         gameAthleteBo.setEventId(defaultEventId);
         List<GameAthleteVo> athleteVoList = gameAthleteService.queryList(gameAthleteBo);
         //2.提前查询队员队伍名称缓存
-        Set<Long> teamIds = athleteVoList.stream()
-            .map(GameAthleteVo::getTeamId)
-            .collect(Collectors.toSet());
+        Set<Long> teamIds = athleteVoList.stream().map(GameAthleteVo::getTeamId).collect(Collectors.toSet());
         Map<Long, String> teamNameMap = gameTeamService.queryTeamIdAndName(teamIds);
         //3.查询赛事所有项目缓存
-        Map<Long, String> projectMap = gameEventProjectService.queryListByEventId(defaultEventId)
-            .stream().collect(Collectors.toMap(GameEventProjectVo::getProjectId, GameEventProjectVo::getProjectName));
+        Map<Long, String> projectMap = gameEventProjectService.queryListByEventId(defaultEventId).stream().collect(Collectors.toMap(GameEventProjectVo::getProjectId, GameEventProjectVo::getProjectName));
         //4.根据参数生成号码布
         GameEventVo eventVo = baseMapper.selectVoById(defaultEventId);
         generateBib(response, bgImage, logo, eventVo.getEventName(), athleteVoList, teamNameMap, projectMap, bibParam);
@@ -604,14 +596,7 @@ public class GameEventServiceImpl implements IGameEventService {
      * @param bibParam        布局参数(位置、字体等)
      * @throws Exception
      */
-    public void generateBib(HttpServletResponse response,
-                            MultipartFile backgroundImage,
-                            MultipartFile logo,
-                            String eventName,
-                            List<GameAthleteVo> athleteList,
-                            Map<Long, String> teamNameMap,
-                            Map<Long, String> projectMap,
-                            GenerateBibBo bibParam) {
+    public void generateBib(HttpServletResponse response, MultipartFile backgroundImage, MultipartFile logo, String eventName, List<GameAthleteVo> athleteList, Map<Long, String> teamNameMap, Map<Long, String> projectMap, GenerateBibBo bibParam) {
         try {
             // 提取布局参数
             Double logoX = bibParam.getLogoX();
@@ -639,9 +624,9 @@ public class GameEventServiceImpl implements IGameEventService {
             }
 
             // 设置响应头(返回 ZIP 压缩包)
-            response.reset();
-            response.setContentType("application/zip");
-            response.setHeader("Content-Disposition", "attachment; filename=\"athlete_bibs.zip\"");
+            // response.reset();
+            // response.setContentType("application/zip");
+            // response.setHeader("Content-Disposition", "attachment; filename=\"athlete_bibs.zip\"");
 
             try (java.util.zip.ZipOutputStream zos = new java.util.zip.ZipOutputStream(response.getOutputStream())) {
 
@@ -719,8 +704,7 @@ public class GameEventServiceImpl implements IGameEventService {
                     });
 
                     // 生成二维码 - 更精确的位置调整
-                    String qrData = String.format(
-                        """
+                    String qrData = String.format("""
                             赛事名称:%s,
                             运动员序号:%d,
                             运动员编号:%s,
@@ -730,11 +714,7 @@ public class GameEventServiceImpl implements IGameEventService {
                             运动员姓名:%s,
                             性别:%s,
                             年龄:%d
-                        """,
-                        eventName, athlete.getAthleteId(), athlete.getAthleteCode(),
-                        joinProject.toString(),
-                        athlete.getTeamId(), teamNameMap.get(athlete.getTeamId()), athlete.getName(), athlete.getGender(), athlete.getAge()
-                    );
+                        """, eventName, athlete.getAthleteId(), athlete.getAthleteCode(), joinProject.toString(), athlete.getTeamId(), teamNameMap.get(athlete.getTeamId()), athlete.getName(), athlete.getGender(), athlete.getAge());
 
                     byte[] qrBytes = generateQRCode(qrData, 150, 150);
                     Image qrImage = Image.getInstance(qrBytes);
@@ -807,11 +787,7 @@ public class GameEventServiceImpl implements IGameEventService {
     // 工具方法:解析颜色 (0xRRGGBB)
     private static BaseColor parseColor(Integer colorInt) {
         if (colorInt == null) return BaseColor.BLACK;
-        return new BaseColor(
-            (colorInt >> 16) & 0xFF,
-            (colorInt >> 8) & 0xFF,
-            colorInt & 0xFF
-        );
+        return new BaseColor((colorInt >> 16) & 0xFF, (colorInt >> 8) & 0xFF, colorInt & 0xFF);
     }
 
     // 工具方法:获取中文字体(推荐将字体文件打包进 resources)