wenkai 4 долоо хоног өмнө
parent
commit
54b867c132

+ 1 - 1
ruoyi-admin/src/main/resources/application.yml

@@ -271,7 +271,7 @@ websocket:
 --- # warm-flow工作流配置
 warm-flow:
   # 是否开启工作流,默认true
-  enabled: true
+  enabled: false
   # 是否开启设计器ui
   ui: true
   # 默认Authorization,如果有多个token,用逗号分隔

+ 2 - 11
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/controller/app/AppIndexController.java

@@ -1,25 +1,16 @@
 package org.dromara.system.controller.app;
 
-import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.dev33.satoken.annotation.SaIgnore;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.dromara.common.core.domain.R;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.system.domain.bo.EventMenuBo;
-import org.dromara.system.domain.vo.GameNavigatorVo;
-import org.dromara.system.domain.vo.VsNavBottomMainVo;
+import org.dromara.system.domain.app.AppIndexVo;
 import org.dromara.system.service.IGameNavigatorService;
-import org.dromara.system.service.IVsNavBottomMainService;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.List;
-
 /**
  * app-首页菜单
  */
@@ -38,7 +29,7 @@ public class AppIndexController {
      * 获取赛事导航关联菜单列表
      */
     @GetMapping("/{eventId}")
-    public List<GameNavigatorVo> listRelateMenu(@PathVariable Long eventId) {
+    public AppIndexVo listRelateMenu(@PathVariable Long eventId) {
         return gameNavigatorService.listAppNavByEventId(eventId);
     }
 }

+ 6 - 6
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/domain/GameEvent.java

@@ -1,15 +1,15 @@
 package org.dromara.system.domain;
 
-import org.dromara.common.tenant.core.TenantEntity;
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.dromara.common.translation.annotation.Translation;
-import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.dromara.common.translation.constant.TransConstant;
+import org.dromara.common.tenant.core.TenantEntity;
 
 import java.io.Serial;
+import java.util.Date;
 
 /**
  * 赛事基本信息对象 game_event

+ 12 - 0
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/domain/app/AppIndexVo.java

@@ -0,0 +1,12 @@
+package org.dromara.system.domain.app;
+
+import lombok.Data;
+import org.dromara.system.domain.vo.GameNavigatorVo;
+
+import java.util.List;
+
+@Data
+public class AppIndexVo {
+    private List<GameNavigatorVo> navigatorVos;
+    private String bgUrl;
+}

+ 7 - 8
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/domain/bo/GameEventBo.java

@@ -1,17 +1,16 @@
 package org.dromara.system.domain.bo;
 
-import org.dromara.system.domain.GameEvent;
-import org.dromara.common.mybatis.core.domain.BaseEntity;
-import org.dromara.common.core.validate.AddGroup;
-import org.dromara.common.core.validate.EditGroup;
 import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import jakarta.validation.constraints.*;
-import org.dromara.common.translation.annotation.Translation;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.system.domain.GameEvent;
+
 import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.dromara.common.translation.constant.TransConstant;
 
 /**
  * 赛事基本信息业务对象 game_event

+ 5 - 7
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/domain/vo/GameEventVo.java

@@ -1,16 +1,14 @@
 package org.dromara.system.domain.vo;
 
-import org.dromara.common.translation.annotation.Translation;
-import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.dromara.common.translation.constant.TransConstant;
-import org.dromara.system.domain.GameEvent;
 import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
 import cn.idev.excel.annotation.ExcelProperty;
-import org.dromara.common.excel.annotation.ExcelDictFormat;
-import org.dromara.common.excel.convert.ExcelDictConvert;
 import io.github.linpeilie.annotations.AutoMapper;
 import lombok.Data;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import org.dromara.common.translation.annotation.Translation;
+import org.dromara.common.translation.constant.TransConstant;
+import org.dromara.system.domain.GameEvent;
 
 import java.io.Serial;
 import java.io.Serializable;

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

@@ -65,4 +65,6 @@ public interface IGameEventConfigService {
      * @return 是否删除成功
      */
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    Long queryBgUrlByEventId(Long eventId);
 }

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

@@ -2,8 +2,8 @@ package org.dromara.system.service;
 
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.system.domain.app.AppIndexVo;
 import org.dromara.system.domain.bo.GameNavigatorBo;
-import org.dromara.system.domain.vo.EventMenuVo;
 import org.dromara.system.domain.vo.GameNavigatorVo;
 
 import java.util.Collection;
@@ -88,5 +88,5 @@ public interface IGameNavigatorService {
      * @param eventId
      * @return
      */
-    List<GameNavigatorVo> listAppNavByEventId(Long eventId);
+    AppIndexVo listAppNavByEventId(Long eventId);
 }

+ 13 - 3
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/GameEventConfigServiceImpl.java

@@ -42,7 +42,7 @@ public class GameEventConfigServiceImpl implements IGameEventConfigService {
      * @return 赛事配置
      */
     @Override
-    public GameEventConfigVo queryById(Long configId){
+    public GameEventConfigVo queryById(Long configId) {
         return baseMapper.selectVoById(configId);
     }
 
@@ -149,7 +149,7 @@ public class GameEventConfigServiceImpl implements IGameEventConfigService {
     /**
      * 保存前的数据校验
      */
-    private void validEntityBeforeSave(GameEventConfig entity){
+    private void validEntityBeforeSave(GameEventConfig entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
@@ -162,9 +162,19 @@ public class GameEventConfigServiceImpl implements IGameEventConfigService {
      */
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return baseMapper.deleteByIds(ids) > 0;
     }
+
+    @Override
+    public Long queryBgUrlByEventId(Long eventId) {
+        String ossId = baseMapper.selectOne(
+            Wrappers.lambdaQuery(GameEventConfig.class)
+                .eq(GameEventConfig::getEventId, eventId)
+                .eq(GameEventConfig::getConfigKey, "background_img")
+        ).getConfigValue();
+        return Long.valueOf(ossId);
+    }
 }

+ 20 - 4
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/IGameNavigatorServiceImpl.java

@@ -12,13 +12,16 @@ import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.system.domain.GameNavigator;
-import org.dromara.system.domain.bo.EventMenuBo;
+import org.dromara.system.domain.app.AppIndexVo;
 import org.dromara.system.domain.bo.GameNavigatorBo;
 import org.dromara.system.domain.vo.EventMenuVo;
 import org.dromara.system.domain.vo.GameNavigatorVo;
+import org.dromara.system.domain.vo.SysOssVo;
 import org.dromara.system.mapper.GameNavigatorMapper;
 import org.dromara.system.service.IEventMenuService;
+import org.dromara.system.service.IGameEventConfigService;
 import org.dromara.system.service.IGameNavigatorService;
+import org.dromara.system.service.ISysOssService;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
@@ -36,6 +39,8 @@ public class IGameNavigatorServiceImpl implements IGameNavigatorService {
 
     private final GameNavigatorMapper baseMapper;
     private final IEventMenuService eventMenuService;
+    private final IGameEventConfigService gameEventConfigService;
+    private final ISysOssService ossService;
 
     /**
      * 查询主导航表
@@ -186,19 +191,30 @@ public class IGameNavigatorServiceImpl implements IGameNavigatorService {
      * @return
      */
     @Override
-    public List<GameNavigatorVo> listAppNavByEventId(Long eventId) {
+    public AppIndexVo listAppNavByEventId(Long eventId) {
         EventMenuVo vo = eventMenuService.queryByEventId(eventId);
+        AppIndexVo appIndexVo = new AppIndexVo();
         List<Long> navIdList = Optional.ofNullable(vo)
             .map(v -> JSONUtil.toList(v.getMenuList(), Long.class))
             .orElse(Collections.emptyList());
         // 如果 navIdList 为空,直接返回空分页
         if (navIdList.isEmpty()) {
-            return List.of();
+            appIndexVo.setNavigatorVos(List.of());
         }
         List<GameNavigatorVo> result = baseMapper.selectVoList(
             Wrappers.lambdaQuery(GameNavigator.class)
                 .in(GameNavigator::getNavId, navIdList)
         );
-        return result;
+        appIndexVo.setNavigatorVos(result);
+
+        // 根据赛事id查询赛事配置表获取ossId
+        Long ossId = gameEventConfigService.queryBgUrlByEventId(eventId);
+        if (ossId != null) {
+            SysOssVo oss = ossService.getById(ossId);
+            if (oss != null) {
+                appIndexVo.setBgUrl(oss.getUrl());
+            }
+        }
+        return appIndexVo;
     }
 }