Java多线程实现跑步比赛【SpringBoot——调用逻辑】

Java多线程实现跑步比赛【SpringBoot——调用逻辑】,第1张

Java多线程实现跑步比赛【SpringBoot——调用逻辑】

文章目录
  • 文章链接
  • PlayerInfoController
  • PlayerInfoService
  • PlayerInfoServiceImpl
  • PlayerInfoMapper.java
  • PlayerInfoMapper.xml

文章链接

Java多线程实现跑步比赛【比赛详解】
Java多线程实现跑步比赛【基本设计】
Java多线程实现跑步比赛【RunMap——地图映射类】
Java多线程实现跑步比赛【RunMan——运动员映射类】
Java多线程实现跑步比赛【RunManFunc,RunStart,Utils——工具类】
Java多线程实现跑步比赛【SpringBoot——调用逻辑】

PlayerInfoController
package com.sport.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.sport.services.PlayerInfoService;


@CrossOrigin(origins = "*", maxAge = 10)
@RestController
@RequestMapping("/sports")
public class PlayerInfoController {

    
    @Autowired
    protected PlayerInfoService playerInfoService;
    
    @RequestMapping(path = "/running", method = { RequestMethod.GET })
    public void Running(@RequestParam String mapName) {
        playerInfoService.playerRunning(mapName);
    }
}
PlayerInfoService
package com.sport.services;


public interface PlayerInfoService {
    
    void playerRunning(String mapName);
}
PlayerInfoServiceImpl
package com.sport.services.impl;

import java.util.List;
import java.util.UUID;
import java.util.concurrent.ThreadPoolExecutor;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.sport.controller.WebSocketServer;
import com.sport.entity.PlayerInfoEntity;
import com.sport.entity.RunMan;
import com.sport.map.RunMap;
import com.sport.mapper.PlayerInfoMapper;
import com.sport.services.PlayerInfoService;
import com.sport.services.RunStart;
import com.sport.utils.CsvUtils;
import com.sport.utils.MapUtils;
import com.sport.utils.ThreadPoolUtils;


@Service
public class PlayerInfoServiceImpl implements PlayerInfoService {

	
	@Autowired
	protected PlayerInfoMapper playerInfoMapper;
	
	@Override
	public void playerRunning(String mapName) {
		String uuid = UUID.randomUUID().toString();
		List runMans = playerInfoMapper.playerQueryAll();
		ThreadPoolExecutor threadPoolExecutor = ThreadPoolUtils.buildRunGameThreadPoolExecutor();
		RunMap runMap = MapUtils.initRunMap(mapName);
		for (int i = 0; i < runMans.size(); i++) {
			threadPoolExecutor.execute(new RunStart(runMap, runMans.get(i), playerInfoMapper, uuid));
		}
	}
}
PlayerInfoMapper.java
package com.sport.mapper;

import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import com.sport.entity.GameResult;
import com.sport.entity.RunMan;


@Mapper
@Repository
public interface PlayerInfoMapper {
    
    public List playerQueryAll();

    
    public void addGameResult(GameResult gameResult);
}
PlayerInfoMapper.xml



    
    	
	    
	    
	    
	    
	    
	

	
        	SELECT
        		ID,
        		NAME,
        		AGE,
        		GENDER,
        		AVERAGESPEED,
        		ADDEDWEIGHT
        	FROM
        		PLAYER_INFO
    

    
    	INSERT INTO
		GAME_RESULT(PLAYERID, GAMEID, DATEOFGAME,GAMEMAPNAME,LEAGUE,AVERAGESPEED,GAMEDURATION,GAMECOMMENTARY)
		VALUES(#{playerId},#{gameId},#{dateOfGame},#{gameMapName},#{league},#{averageSpeed},#{gameDuration},#{gameCommentary})
    

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5684464.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存