From 9486766c806fe1d9e082b2fd02ea1cc558f1b443 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 08 五月 2025 09:21:57 +0800
Subject: [PATCH] bug修改

---
 cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java |  137 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 111 insertions(+), 26 deletions(-)

diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java
index ff9fa6c..84b2775 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java
@@ -1,27 +1,29 @@
 package com.dsh.other.controller;
 
+import com.alibaba.nacos.api.config.filter.IFilterConfig;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.dsh.other.entity.*;
 import com.dsh.other.feignclient.model.AdvertisementChangeStateDTO;
 import com.dsh.other.feignclient.model.AdvertisementQuery;
 import com.dsh.other.model.BannerVo;
-import com.dsh.other.service.GameService;
-import com.dsh.other.service.IBannerService;
-import com.dsh.other.service.IRegionService;
-import com.dsh.other.service.TGameConfigService;
+import com.dsh.other.model.dto.siteDto.GameDataQuery;
+import com.dsh.other.service.*;
 import com.dsh.other.util.ResultUtil;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.models.auth.In;
+import org.omg.CORBA.PUBLIC_MEMBER;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.print.DocFlavor;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @author zhibing.pu
@@ -32,12 +34,66 @@
 public class BallController {
     @Autowired
     private GameService gameService;
+    @Autowired
+    private TGameRecordService gameRecordService;
+    @Autowired
+    private ISiteService siteService;
+
+    // 数据统计
+    @ResponseBody
+    @PostMapping("/student/getData")
+    public List<TGameRecord> getData(@RequestBody GameDataQuery query){
+        if (query.getStoreId()==null){
+            // 获取到游戏ids
+            List<Integer> gameIds = gameService.list(new QueryWrapper<Game>().eq("operationId", query.getObjectId()))
+                    .stream().map(Game::getId).collect(Collectors.toList());
+            // 根据游戏ids查询智慧球场支付记录
+            QueryWrapper<TGameRecord> wrapper = new QueryWrapper<TGameRecord>().eq("status", 1)
+                    .ne("payType", 3)
+                    .ne("payType", 4);
+            if(gameIds.size() > 0){
+                wrapper.in("gameId", gameIds);
+            }
+            List<TGameRecord> list = gameRecordService.list(wrapper);
+            return list;
+        }else{
+            List<Integer> gameIds = gameService.list(new QueryWrapper<Game>().eq("storeId", query.getStoreId()))
+                    .stream().map(Game::getId).collect(Collectors.toList());
+            QueryWrapper wrapper = new QueryWrapper<TGameRecord>().eq("status", 1).eq("payType", 1).eq("payType", 2);
+            if(gameIds.size() > 0){
+                wrapper.in("gameId", gameIds);
+            }
+            List<TGameRecord> list = gameRecordService.list(wrapper);
+            return list;
+        }
+    }
+
 
     @ResponseBody
     @PostMapping("/student/webStudentList")
-    public List<Game> list(@RequestBody BallQueryDto ballQueryDto){
-        List<Game> games =   gameService.queryAll(ballQueryDto);
+    public List<Game> list(@RequestBody BallQueryDto ballQueryDto) {
+        List<Game> games = gameService.queryAll(ballQueryDto);
         return games;
+    }
+
+    // 根据门店ids 获取游戏记录
+    @ResponseBody
+    @PostMapping("/game/getGameByStoreIds")
+    public List<Integer> getGameByStoreIds(@RequestBody List<Integer> storeIds) {
+        // 游戏id
+        List<Integer> gamesId = gameService.list(new QueryWrapper<Game>().in("storeId", storeIds))
+                .stream().map(Game::getId).collect(Collectors.toList());
+        if (gamesId.size() == 0) {
+            return new ArrayList<>();
+        } else {
+            // 根据游戏id获取游戏记录 获取用户Ids
+            List<Integer> userId = gameRecordService.list(new QueryWrapper<TGameRecord>().in("gameId", gamesId)
+                            .eq("status",1))
+                    .stream().map(TGameRecord::getUserId).collect(Collectors.toList());
+            return userId;
+        }
+
+
     }
 
     @Autowired
@@ -45,50 +101,79 @@
 
     @ResponseBody
     @PostMapping("/save")
-    public Integer save(@RequestBody Game game){
-
-        Region city = regionService.getOne(new QueryWrapper<Region>().eq("code", game.getCityCode()));
-        game.setCity(city.getName());
+    public Integer save(@RequestBody Game game) {
 
 
-        Region province = regionService.getOne(new QueryWrapper<Region>().eq("code", game.getProvinceCode()));
-        game.setProvince(province.getName());
+        if (game.getCityCode() != null) {
+            Region city = regionService.getOne(new QueryWrapper<Region>().eq("code", game.getCityCode()));
+            game.setCity(city.getName());
 
 
+            Region province = regionService.getOne(new QueryWrapper<Region>().eq("code", game.getProvinceCode()));
+            game.setProvince(province.getName());
+
+        }
 
 
-        gameService.save(game);
-         System.out.println("==========="+game);
-         return  game.getId();
+        gameService.saveOrUpdate(game);
+        System.out.println("===========" + game);
+        return game.getId();
     }
+
     @Autowired
     private TGameConfigService config;
 
 
     @ResponseBody
     @PostMapping("/saveConfig")
-    public void saveConfig(@RequestBody List<TGameConfig> gameConfigList){
-        System.out.println("=======gameConfigList===="+gameConfigList);
-        config.saveBatch(gameConfigList);
+    public void saveConfig(@RequestBody List<TGameConfig> gameConfigList) {
+        System.out.println("=======gameConfigList====" + gameConfigList);
+        config.saveOrUpdateBatch(gameConfigList);
 //        return  game.getId();
     }
 
     @ResponseBody
     @PostMapping("/queryGame")
-    public Game queryGame(@RequestParam Integer id){
-       return gameService.getById(id);
+    public Game queryGame(@RequestParam Integer id) {
+        return gameService.getById(id);
 //        return  game.getId();
     }
-
+    @ResponseBody
+    @PostMapping("/getSiteList")
+    // 查询未配置智慧球场的场地 智慧球场添加使用
+    public List<Site> getSiteList(@RequestParam("storeId") Integer storeId){
+        List<Integer> collect = gameService.list().stream().map(Game::getSiteId).collect(Collectors.toList());
+        if (collect.size() == 0 ){
+            collect.add(-1);
+        }
+        List<Site> list = siteService.list(new QueryWrapper<Site>().select("id","name")
+                .eq("storeId", storeId)
+                .eq("state", 1)
+                .notIn("id",collect)
+        );
+        return list;
+    }
+    // 查询未配置智慧球场的场地 包含当前配置的场地 智慧球场编辑使用
+    @ResponseBody
+    @PostMapping("/getSiteList1")
+    public List<Site> getSiteList1(@RequestParam Integer id) {
+        Game game = gameService.getById(id);
+        List<Integer> collect = gameService.list().stream().map(Game::getSiteId).collect(Collectors.toList());
+        Site byId = siteService.getById(game.getSiteId());
+        List<Site> list = siteService.list(new QueryWrapper<Site>().select("id","name")
+                .eq("state", 1)
+                .eq("storeId",game.getStoreId())
+                .notIn("id",collect)
+        );
+        list.add(byId);
+        return list;
+    }
     @ResponseBody
     @PostMapping("/listorder")
-    public List<Map<String, Object>>  listorder(@RequestBody BookingQuery bookingQuery){
-        System.out.println("===bookingQuery===="+bookingQuery);
+    public List<Map<String, Object>> listorder(@RequestBody BookingQuery bookingQuery) {
+        System.out.println("===bookingQuery====" + bookingQuery);
         return gameService.orderlist(bookingQuery);
-//        return  game.getId();
     }
-
-
 
 
 }

--
Gitblit v1.7.1