package com.dsh.communityWorldCup.controller;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.dsh.communityWorldCup.entity.*;
|
import com.dsh.communityWorldCup.feignclient.account.AppUserClient;
|
import com.dsh.communityWorldCup.feignclient.account.StudentClient;
|
import com.dsh.communityWorldCup.feignclient.account.model.AppUser;
|
import com.dsh.communityWorldCup.feignclient.account.model.TStudent;
|
import com.dsh.communityWorldCup.feignclient.competition.ParticipantClient;
|
import com.dsh.communityWorldCup.feignclient.competition.model.Participant;
|
import com.dsh.communityWorldCup.feignclient.other.SiteClient;
|
import com.dsh.communityWorldCup.feignclient.other.StoreClient;
|
import com.dsh.communityWorldCup.feignclient.other.model.Site;
|
import com.dsh.communityWorldCup.feignclient.other.model.Store;
|
import com.dsh.communityWorldCup.model.*;
|
import com.dsh.communityWorldCup.service.*;
|
import com.dsh.communityWorldCup.util.GDMapGeocodingUtil;
|
import com.dsh.communityWorldCup.util.PayMoneyUtil;
|
import com.dsh.communityWorldCup.util.ResultUtil;
|
import com.dsh.communityWorldCup.util.TokenUtil;
|
import groovy.util.logging.Log4j;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.io.PrintWriter;
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
/**
|
* 社区世界杯
|
* @author zhibing.pu
|
* @Date 2024/2/18 17:13
|
*/
|
@RestController
|
@RequestMapping("")
|
public class WorldCupController {
|
|
Logger log = LoggerFactory.getLogger(WorldCupController.class);
|
|
@Autowired
|
private TokenUtil tokenUtil;
|
|
@Autowired
|
private IWorldCupService worldCupService;
|
|
@Autowired
|
private IWorldCupStoreService worldCupListCoach;
|
|
@Autowired
|
private IWorldCupPaymentParticipantService worldCupPaymentParticipantService;
|
|
@Resource
|
private StudentClient studentClient;
|
|
@Resource
|
private ParticipantClient participantClient;
|
|
@Resource
|
private AppUserClient appUserClient;
|
|
@Resource
|
private SiteClient siteClient;
|
|
@Resource
|
private StoreClient storeClient;
|
|
@Autowired
|
private PayMoneyUtil payMoneyUtil;
|
|
@Autowired
|
private IWorldCupStoreService worldCupStoreService;
|
|
@Autowired
|
private IWorldCupCompetitorService worldCupCompetitorService;
|
|
@Autowired
|
private GDMapGeocodingUtil gdMapGeocodingUtil;
|
|
@Autowired
|
private IWorldCupPaymentService worldCupPaymentService;
|
|
|
|
|
@ResponseBody
|
@PostMapping("/api/worldCup/getWorldCupStore")
|
@ApiOperation(value = "裁判获取社区世界杯赛点列表【2.0】", tags = {"APP-个人中心"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<Map<String, Object>>> getWorldCupStore(){
|
try {
|
Integer uid = tokenUtil.getUserIdFormRedis();
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
List<Map<String, Object>> worldCupStore = worldCupListCoach.getWorldCupStore();
|
return ResultUtil.success(worldCupStore);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
|
|
|
|
@ResponseBody
|
@PostMapping("/api/worldCup/getWorldCupListCoach")
|
@ApiOperation(value = "裁判获取社区世界杯列表【2.0】", tags = {"APP-个人中心"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<WorldCupListCoachVo>> getWorldCupListCoach(WorldCupListCoach worldCupListCoach){
|
try {
|
Integer uid = tokenUtil.getUserIdFormRedis();
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
List<WorldCupListCoachVo> worldCupListCoach1 = worldCupService.getWorldCupListCoach(worldCupListCoach);
|
return ResultUtil.success(worldCupListCoach1);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/api/worldCup/getWorldCupPeople")
|
@ApiOperation(value = "裁判扫码获取参赛人信息【2.0】", tags = {"APP-个人中心"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<WorldCupPeopleVo> getWorldCupPeople(WorldCupPeople worldCupPeople){
|
JSONObject jsonObject = JSON.parseObject(worldCupPeople.getCode());
|
Long id = jsonObject.getLong("id");
|
Integer isStudent = jsonObject.getInteger("isStudent");
|
if(0 == isStudent){
|
isStudent = 2;
|
}
|
WorldCupPaymentParticipant worldCupPaymentParticipant = worldCupPaymentParticipantService.getOne(new QueryWrapper<WorldCupPaymentParticipant>()
|
.eq("worldCupId", worldCupPeople.getWorldCupId()).eq("participantId", id).eq("participantType", isStudent)
|
.orderByDesc("createTime").last(" limit 0, 1"));
|
if(null == worldCupPaymentParticipant){
|
return ResultUtil.error("无效二维码");
|
}
|
WorldCupPeopleVo worldCupPeopleVo = new WorldCupPeopleVo();
|
worldCupPeopleVo.setId(worldCupPaymentParticipant.getId());
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
|
if(worldCupPaymentParticipant.getParticipantType() == 1){
|
//学员
|
TStudent tStudent = studentClient.queryById(worldCupPaymentParticipant.getParticipantId());
|
worldCupPeopleVo.setName(tStudent.getName());
|
worldCupPeopleVo.setAge(null == tStudent.getBirthday() ? 0 : Integer.valueOf(sdf.format(new Date())) -Integer.valueOf(sdf.format(tStudent.getBirthday())));
|
worldCupPeopleVo.setAvatar(tStudent.getHeadImg());
|
worldCupPeopleVo.setParticipantType(1);
|
}else{
|
AppUser appUser = appUserClient.getAppUser(worldCupPaymentParticipant.getAppUserId());
|
//参赛人员
|
Participant participant = participantClient.getParticipant(worldCupPaymentParticipant.getParticipantId());
|
worldCupPeopleVo.setName(participant.getName());
|
worldCupPeopleVo.setAge(null == participant.getBirthday() ? 0 : Integer.valueOf(sdf.format(new Date())) -Integer.valueOf(sdf.format(participant.getBirthday())));
|
worldCupPeopleVo.setAvatar(appUser.getHeadImg());
|
worldCupPeopleVo.setParticipantType(2);
|
}
|
return ResultUtil.success(worldCupPeopleVo);
|
}
|
|
|
@ResponseBody
|
@PostMapping("/api/worldCup/getDeviceInformation")
|
@ApiOperation(value = "裁判扫码获取设备信息【2.0】", tags = {"APP-个人中心"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "code", value = "扫码结果", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<Map<String, String>> getDeviceInformation(String code){
|
/**
|
* {
|
* "scan_type": 0, // 扫码类型:1000:游戏,1001:课程,1002:场地
|
* "space_id": 0, //场地ID
|
* "sutu_id": 0, // 设备ID
|
* "id": 0 //课程/场地/游戏ID
|
* }
|
*/
|
JSONObject jsonObject = JSON.parseObject(code);
|
Integer scan_type = jsonObject.getInteger("scan_type");
|
if(scan_type != 1000){
|
return ResultUtil.error("二维码不正确");
|
}
|
Integer space_id = jsonObject.getInteger("space_id");
|
Store store = storeClient.queryStoreById(space_id);
|
if(null == store){
|
return ResultUtil.error("无法获取场地信息");
|
}
|
Map<String, String> map = new HashMap<>();
|
map.put("name", store.getName());
|
map.put("address", store.getAddress());
|
return ResultUtil.success(map);
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/api/worldCup/startWorldCup")
|
@ApiOperation(value = "裁判开启游戏开始比赛【2.0】", tags = {"APP-个人中心"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil startWorldCup(StartWorldCup startWorldCup){
|
return worldCupService.startWorldCup(startWorldCup);
|
}
|
|
|
@ResponseBody
|
@PostMapping("/api/worldCup/getCompletedWorldCupTips")
|
@ApiOperation(value = "首页获取完成比赛的提示【2.0】", tags = {"APP-首页"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<Integer> getCompletedWorldCupTips(){
|
try {
|
Integer uid = tokenUtil.getUserIdFormRedis();
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
Integer tips = worldCupService.getCompletedWorldCupTips(uid);
|
return ResultUtil.success(tips);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
|
@ResponseBody
|
@PostMapping("/api/worldCup/getWorldCupList")
|
@ApiOperation(value = "获取世界杯列表【2.0】", tags = {"APP-社区世界杯"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<WorldCupListVo>> getWorldCupList(WorldCupList worldCupList){
|
List<WorldCupListVo> worldCupList1 = worldCupService.getWorldCupList(worldCupList);
|
return ResultUtil.success(worldCupList1);
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/api/worldCup/getWorldCupInfo")
|
@ApiOperation(value = "获取世界杯详情【2.0】", tags = {"APP-社区世界杯"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "世界杯id", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "lon", value = "经度", required = true, dataType = "string"),
|
@ApiImplicitParam(name = "lat", value = "纬度", required = true, dataType = "string"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<WorldCupInfo> getWorldCupInfo(Integer id,String lon, String lat){
|
WorldCupInfo worldCupInfo = worldCupService.getWorldCupInfo(id, lon, lat);
|
return ResultUtil.success(worldCupInfo);
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/api/worldCup/checkPaymentMethod")
|
@ApiOperation(value = "世界杯报名前校验支付方式【2.0】", tags = {"APP-社区世界杯"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<CheckPaymentMethodVo> checkPaymentMethod(CheckPaymentMethod checkPaymentMethod){
|
try {
|
Integer uid = tokenUtil.getUserIdFormRedis();
|
if(null == uid){
|
return ResultUtil.success();
|
}
|
checkPaymentMethod.setUid(uid);
|
CheckPaymentMethodVo checkPaymentMethodVo = worldCupService.checkPaymentMethod(checkPaymentMethod);
|
return ResultUtil.success(checkPaymentMethodVo);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
|
@ResponseBody
|
@PostMapping("/api/worldCup/paymentWorldCup")
|
@ApiOperation(value = "世界杯报名【2.0】", tags = {"APP-社区世界杯"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil paymentWorldCup(PaymentWorldCup paymentWorldCup){
|
try {
|
Integer uid = tokenUtil.getUserIdFormRedis();
|
if(null == uid){
|
return ResultUtil.success();
|
}
|
paymentWorldCup.setUid(uid);
|
return worldCupService.paymentWorldCup(paymentWorldCup);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 微信支付回调
|
*/
|
@ResponseBody
|
@PostMapping("/base/worldCup/wxPayWorldCupCallback")
|
public void wxPayWorldCupCallback(HttpServletRequest request, HttpServletResponse response){
|
try {
|
Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
|
if(null != map){
|
String code = map.get("out_trade_no");
|
String transaction_id = map.get("transaction_id");
|
String result = map.get("result");
|
ResultUtil resultUtil = worldCupService.paymentWorldCupCallback(code, transaction_id);
|
if(resultUtil.getCode() == 200){
|
PrintWriter out = response.getWriter();
|
out.println(result);
|
out.flush();
|
out.close();
|
}else{
|
log.error("社区世界杯报名微信支付回业务处理异常:" + resultUtil.getMsg());
|
}
|
}else{
|
log.error("社区世界杯报名微信支付回调解析异常");
|
}
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
|
|
/**
|
* 支付宝支付回调
|
*/
|
@ResponseBody
|
@PostMapping("/base/worldCup/aliPayWorldCupCallback")
|
public void aliPayWorldCupCallback(HttpServletRequest request, HttpServletResponse response){
|
try {
|
Map<String, String> map = payMoneyUtil.alipayCallback(request);
|
if(null != map){
|
String code = map.get("out_trade_no");
|
String transaction_id = map.get("trade_no");
|
String result = map.get("result");
|
ResultUtil resultUtil = worldCupService.paymentWorldCupCallback(code, transaction_id);
|
if(resultUtil.getCode() == 200){
|
PrintWriter out = response.getWriter();
|
out.println(result);
|
out.flush();
|
out.close();
|
}else{
|
log.error("社区世界杯报名支付宝支付回业务处理异常:" + resultUtil.getMsg());
|
}
|
}else{
|
log.error("社区世界杯报名付宝支支付回调解析异常");
|
}
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
|
|
/**
|
* 根据店铺id获取有效的世界杯
|
* @param storeId
|
* @return
|
*/
|
@PostMapping("/worldCup/getWorldCupStoreList")
|
public List<WorldCupStore> getWorldCupStoreList(@RequestBody Integer storeId){
|
List<WorldCup> worldCupList = worldCupService.list(new QueryWrapper<WorldCup>().in("status", Arrays.asList(1, 2)));
|
List<Integer> collect = worldCupList.stream().map(WorldCup::getId).collect(Collectors.toList());
|
return worldCupStoreService.list(new QueryWrapper<WorldCupStore>().eq("storeId", storeId).in("worldCupId", collect).eq("isOpen", 1));
|
}
|
|
|
|
|
@ResponseBody
|
@PostMapping("/api/worldCup/getEntrantRank")
|
@ApiOperation(value = "获取世界杯排名【2.0】", tags = {"APP-个人中心"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<EntrantRankVo> getEntrantRank(EntrantRank entrantRank){
|
try {
|
Integer uid = tokenUtil.getUserIdFormRedis();
|
if(null == uid){
|
return ResultUtil.success();
|
}
|
entrantRank.setAppUserId(uid);
|
EntrantRankVo entrantRank1 = worldCupCompetitorService.getEntrantRank(entrantRank);
|
return ResultUtil.success(entrantRank1);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
|
@ResponseBody
|
@PostMapping("/api/worldCup/getMyWorldCupList")
|
@ApiOperation(value = "获取报名的世界杯列表【2.0】", tags = {"APP-个人中心"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<WorldCupListVo>> getMyWorldCupList(MyWorldCupList myWorldCupList){
|
List<WorldCupListVo> myWorldCupList1 = worldCupPaymentParticipantService.getMyWorldCupList(myWorldCupList);
|
return ResultUtil.success(myWorldCupList1);
|
}
|
|
|
@ResponseBody
|
@PostMapping("/api/worldCup/getParticipant")
|
@ApiOperation(value = "获取已报名的参赛人员【2.0】", tags = {"APP-个人中心"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<ParticipantVo>> getParticipant(){
|
try {
|
Integer uid = tokenUtil.getUserIdFormRedis();
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
List<ParticipantVo> participant = worldCupPaymentParticipantService.getParticipant(uid);
|
return ResultUtil.success(participant);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
|
@ResponseBody
|
@PostMapping("/api/worldCup/getMyWorldCupInfo")
|
@ApiOperation(value = "获取已报名世界杯详情【2.0】", tags = {"APP-个人中心"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "列表中的id", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "lon", value = "经度", required = true, dataType = "string"),
|
@ApiImplicitParam(name = "lat", value = "纬度", required = true, dataType = "string"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<MyWorldCupInfo> getMyWorldCupInfo(String id, String lon, String lat){
|
MyWorldCupInfo myWorldCupInfo = worldCupPaymentParticipantService.getMyWorldCupInfo(id, lon, lat);
|
return ResultUtil.success(myWorldCupInfo);
|
}
|
|
@ResponseBody
|
@PostMapping("/api/worldCup/cancelMyWorldCup")
|
@ApiOperation(value = "取消已报名的世界杯【2.0】", tags = {"APP-个人中心"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "列表中的id", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil cancelMyWorldCup(String id){
|
return worldCupPaymentService.cancelMyWorldCup(id);
|
}
|
|
|
|
|
@ResponseBody
|
@PostMapping("/api/worldCup/getWorldCupMatchRecord")
|
@ApiOperation(value = "获取比赛记录【2.0】", tags = {"APP-个人中心"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<MatchRecordVo> getWorldCupMatchRecord(MatchRecord matchRecord){
|
MatchRecordVo matchRecord1 = worldCupCompetitorService.getMatchRecord(matchRecord);
|
return ResultUtil.success(matchRecord1);
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/api/worldCup/getWorldCupRank")
|
@ApiOperation(value = "获取比赛排名【2.0】", tags = {"APP-个人中心"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<WorldCupRankVo>> getWorldCupRank(WorldCupRank worldCupRank){
|
try {
|
Integer uid = tokenUtil.getUserIdFormRedis();
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
worldCupRank.setAppUserId(uid);
|
List<WorldCupRankVo> worldCupRank1 = worldCupCompetitorService.getWorldCupRank(worldCupRank);
|
return ResultUtil.success(worldCupRank1);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 获取学员参与数量
|
* @param studentId
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/worldCup/count")
|
public Integer count(@RequestBody Integer studentId){
|
return worldCupCompetitorService.count(new QueryWrapper<WorldCupCompetitor>()
|
.eq("participantId", studentId).eq("participantType", 1));
|
}
|
|
|
/**
|
* 获取学员世界杯胜利次数
|
* @param studentId
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/worldCup/winCount")
|
public Integer winCount(@RequestBody Integer studentId){
|
return worldCupCompetitorService.count(new QueryWrapper<WorldCupCompetitor>()
|
.eq("participantId", studentId).eq("participantType", 1).eq("matchResult", 1));
|
}
|
|
/**
|
* 获取比赛管理列表数据
|
* @param worldCupListAll
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/worldCup/getWorldCupListAll")
|
public Map<String, Object> getWorldCupListAll(@RequestBody WorldCupListAll worldCupListAll){
|
return worldCupService.getWorldCupListAll(worldCupListAll);
|
}
|
|
|
|
/**
|
* 添加社区世界杯
|
* @param worldCup
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/worldCup/addWorldCup")
|
public Integer addWorldCup(@RequestBody WorldCup worldCup){
|
String lon = worldCup.getLon();
|
String lat = worldCup.getLat();
|
Map<String, String> geocode = null;
|
try {
|
geocode = gdMapGeocodingUtil.geocode(lon, lat);
|
} catch (Exception e) {
|
throw new RuntimeException(e);
|
}
|
String province = geocode.get("province");
|
String provinceCode = geocode.get("provinceCode");
|
String city = geocode.get("city");
|
String cityCode = geocode.get("cityCode");
|
worldCup.setProvince(province.replace("省", ""));
|
worldCup.setProvinceCode(provinceCode);
|
worldCup.setCity(city.replace("市", ""));
|
worldCup.setCityCode(cityCode);
|
worldCupService.save(worldCup);
|
return worldCup.getId();
|
}
|
|
|
/**
|
* 添加社区世界杯和门店关系数据
|
* @param worldCupStore
|
*/
|
@ResponseBody
|
@PostMapping("/worldCup/addWorldCupStore")
|
public void addWorldCupStore(@RequestBody WorldCupStore worldCupStore){
|
worldCupStoreService.save(worldCupStore);
|
}
|
|
|
|
/**
|
* 编辑社区世界杯
|
* @param worldCup
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/worldCup/editWorldCup")
|
public Integer editWorldCup(@RequestBody WorldCup worldCup){
|
String lon = worldCup.getLon();
|
String lat = worldCup.getLat();
|
Map<String, String> geocode = null;
|
try {
|
geocode = gdMapGeocodingUtil.geocode(lon, lat);
|
} catch (Exception e) {
|
throw new RuntimeException(e);
|
}
|
String province = geocode.get("province");
|
String provinceCode = geocode.get("provinceCode");
|
String city = geocode.get("city");
|
String cityCode = geocode.get("cityCode");
|
worldCup.setProvince(province.replace("省", ""));
|
worldCup.setProvinceCode(provinceCode);
|
worldCup.setCity(city.replace("市", ""));
|
worldCup.setCityCode(cityCode);
|
worldCupService.updateById(worldCup);
|
return worldCup.getId();
|
}
|
|
|
/**
|
* 删除世界杯门店关系数据
|
* @param worldCupId
|
*/
|
@ResponseBody
|
@PostMapping("/worldCup/delWorldCupStore")
|
public void delWorldCupStore(@RequestBody Integer worldCupId){
|
worldCupStoreService.remove(new QueryWrapper<WorldCupStore>().eq("worldCupId", worldCupId));
|
}
|
|
|
/**
|
* 根据id获取世界杯赛事数据
|
* @param id
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/worldCup/getWorldCupById")
|
public WorldCup getWorldCupById(@RequestBody Integer id){
|
return worldCupService.getById(id);
|
}
|
|
|
/**
|
* 根据世界杯id获取门店关系数据
|
* @param worldCupId
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/worldCup/getWorldCupStoreAllList")
|
public List<WorldCupStore> getWorldCupStoreAllList(@RequestBody Integer worldCupId){
|
return worldCupStoreService.list(new QueryWrapper<WorldCupStore>().eq("worldCupId", worldCupId));
|
}
|
|
|
/**
|
* 取消赛事退款操作
|
* @param id
|
*/
|
@ResponseBody
|
@PostMapping("/worldCup/cancelWorldCupRefund")
|
public void cancelWorldCupRefund(@RequestBody Integer id){
|
worldCupService.cancelWorldCupRefund(id);
|
}
|
|
|
/**
|
* 游戏结束后的通知回调
|
*/
|
@ResponseBody
|
@PostMapping("/base/worldCup/endWorldCupCallback")
|
public void endWorldCupCallback(String custom, Integer red_score, Integer blue){
|
worldCupCompetitorService.endWorldCupCallback(custom, red_score, blue);
|
}
|
|
|
/**
|
* 取消赛事后微信退款回调
|
* @param request
|
* @param response
|
*/
|
@ResponseBody
|
@PostMapping("/base/worldCup/wxRefundWorldCupCallback")
|
public void wxRefundWorldCupCallback(HttpServletRequest request, HttpServletResponse response){
|
Map<String, String> map = payMoneyUtil.wxRefundCallback(request);
|
if(null != map){
|
String refund_id = map.get("refund_id");
|
String out_refund_no = map.get("out_refund_no");
|
String result = map.get("result");
|
WorldCupPayment worldCupPayment = worldCupPaymentService.getOne(new QueryWrapper<WorldCupPayment>().eq("code", out_refund_no));
|
worldCupPayment.setRefundOrderNo(refund_id);
|
worldCupPayment.setRefundTime(new Date());
|
worldCupPayment.setPayStatus(3);
|
worldCupPaymentService.updateById(worldCupPayment);
|
PrintWriter out = null;
|
try {
|
out = response.getWriter();
|
} catch (IOException e) {
|
throw new RuntimeException(e);
|
}
|
out.println(result);
|
out.flush();
|
out.close();
|
}
|
}
|
|
|
/**
|
* 获取已报名人员列表
|
* @param registeredPersonnel
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/worldCup/getRegisteredPersonnel")
|
public Map<String, Object> getRegisteredPersonnel(@RequestBody RegisteredPersonnel registeredPersonnel){
|
return worldCupPaymentParticipantService.getRegisteredPersonnel(registeredPersonnel);
|
}
|
|
|
/**
|
* 获取比赛排行榜列表数据
|
* @param worldCupRecords
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/worldCup/worldCupRecordsList")
|
public Map<String, Object> worldCupRecordsList(@RequestBody WorldCupRecords worldCupRecords){
|
return worldCupCompetitorService.worldCupRecordsList(worldCupRecords);
|
}
|
|
|
/**
|
* 获取比赛统计
|
* @param worldCupGameStatistics
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/worldCup/worldCupGameStatistics")
|
public Map<String, Object> worldCupGameStatistics(@RequestBody WorldCupGameStatistics worldCupGameStatistics){
|
return worldCupService.worldCupGameStatistics(worldCupGameStatistics);
|
}
|
|
|
/**
|
* 获取比赛统计详情列表
|
* @param worldCupGameStatisticsInfoList
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/worldCup/worldCupGameStatisticsInfoList")
|
public Map<String, Object> worldCupGameStatisticsInfoList(@RequestBody WorldCupGameStatisticsInfoList worldCupGameStatisticsInfoList){
|
return worldCupCompetitorService.worldCupGameStatisticsInfoList(worldCupGameStatisticsInfoList);
|
}
|
|
|
/**
|
* 获取单场参赛详情列表
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/worldCup/worldCupGameStatisticsListInfo")
|
public Map<String, Object> worldCupGameStatisticsListInfo(@RequestBody WorldCupGameStatisticsListInfo worldCupGameStatisticsListInfo){
|
return worldCupCompetitorService.worldCupGameStatisticsListInfo(worldCupGameStatisticsListInfo);
|
}
|
|
|
/**
|
* 修改比分
|
* @param changeScore
|
*/
|
@ResponseBody
|
@PostMapping("/worldCup/changeScore")
|
public void changeScore(@RequestBody ChangeScore changeScore){
|
worldCupCompetitorService.changeScore(changeScore);
|
}
|
|
|
/**
|
* 获取用户比赛记录明细
|
* @param userGameRecordList
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/worldCup/userGameRecordList")
|
public Map<String, Object> userGameRecordList(@RequestBody UserGameRecordList userGameRecordList){
|
return worldCupCompetitorService.userGameRecordList(userGameRecordList);
|
}
|
}
|