From 0f957890aa4eed6767922fa26c888d4074ae25b0 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 28 二月 2024 17:24:26 +0800
Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/PlayPai into 2.0

---
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java                 |   10 +
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MyWorldCupInfo.java                               |   46 +++++
 cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupMapper.xml                                                    |    2 
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java |   18 ++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/EntrantRank.java                                  |   19 ++
 cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupPaymentParticipantMapper.xml                                  |   26 +++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupPaymentParticipantMapper.java            |   12 +
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/EntrantRankVo.java                                |   28 +++
 cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml                                          |   19 ++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java                      |   38 ++++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MyWorldCupList.java                               |   25 +++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/competition/ParticipantClient.java          |    5 
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentParticipantService.java         |   22 ++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java         |  104 +++++++++++++
 cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java                                           |   13 +
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java                    |   11 +
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/AppUserClient.java                  |    7 
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupListVo.java                               |    2 
 cloud-server-other/src/main/java/com/dsh/other/entity/HomeModule.java                                                          |   54 +++---
 19 files changed, 433 insertions(+), 28 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java
index d40d094..00ad35c 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java
@@ -609,4 +609,17 @@
                 .eq("cityCode", cityCode)
         );
     }
+
+
+
+    /**
+     * 根据城市code获取用户的id集合
+     * @param cityCode 城市code
+     * @return
+     */
+    @PostMapping("/appUser/getAppUserIds")
+    public List<Integer> getAppUserIds(@RequestBody String cityCode){
+        List<TAppUser> list = appUserService.list(new QueryWrapper<TAppUser>().eq("cityCode", cityCode).eq("state", 1));
+        return list.stream().map(TAppUser::getId).collect(Collectors.toList());
+    }
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
index 076f753..0bfffc6 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
@@ -17,6 +17,7 @@
 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.IWorldCupCompetitorService;
 import com.dsh.communityWorldCup.service.IWorldCupPaymentParticipantService;
 import com.dsh.communityWorldCup.service.IWorldCupService;
 import com.dsh.communityWorldCup.service.IWorldCupStoreService;
@@ -83,6 +84,9 @@
 
     @Autowired
     private IWorldCupStoreService worldCupStoreService;
+
+    @Autowired
+    private IWorldCupCompetitorService worldCupCompetitorService;
 
 
 
@@ -384,4 +388,38 @@
         List<Integer> collect = worldCupList.stream().map(WorldCup::getId).collect(Collectors.toList());
         return worldCupStoreService.list(new QueryWrapper<WorldCupStore>().eq("storeId", storeId).in("worldCupId", collect));
     }
+
+
+
+
+    @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){
+        EntrantRankVo entrantRank1 = worldCupCompetitorService.getEntrantRank(entrantRank);
+        return ResultUtil.success(entrantRank1);
+    }
+
+
+
+
+    @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);
+    }
+
+
+
+//    public ResultUtil<MyWorldCupInfo> getMyWorldCupInfo(@RequestBody String id){
+//
+//    }
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/AppUserClient.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/AppUserClient.java
index a8a3e4e..a50d20d 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/AppUserClient.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/AppUserClient.java
@@ -39,5 +39,12 @@
     AppUser getAppUser(Integer appUserId);
 
 
+    /**
+     * 根据城市code获取用户的id集合
+     * @param cityCode 城市code
+     * @return
+     */
+    @PostMapping("/base/appUser/getAppUserIds")
+    List<Integer> getAppUserIds(String cityCode);
 
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/competition/ParticipantClient.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/competition/ParticipantClient.java
index 93ade4d..64d6d09 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/competition/ParticipantClient.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/competition/ParticipantClient.java
@@ -12,6 +12,11 @@
 public interface ParticipantClient {
 
 
+    /**
+     * 获取参赛人员信息
+     * @param id    参赛人员id
+     * @return
+     */
     @PostMapping("/participant/getParticipant")
     Participant getParticipant(Integer id);
 
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java
index fc4aeeb..3b04e73 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java
@@ -2,10 +2,21 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dsh.communityWorldCup.entity.WorldCupCompetitor;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * @author zhibing.pu
  * @Date 2024/2/19 15:45
  */
 public interface WorldCupCompetitorMapper extends BaseMapper<WorldCupCompetitor> {
+
+    /**
+     * 获取参赛次数排名
+     * @param appUserIds
+     * @return
+     */
+    List<Map<String, Object>> getNumberOfGamesRanked(@Param("appUserIds") List<Integer> appUserIds);
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupPaymentParticipantMapper.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupPaymentParticipantMapper.java
index 43db527..ec5aed5 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupPaymentParticipantMapper.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupPaymentParticipantMapper.java
@@ -2,7 +2,11 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dsh.communityWorldCup.entity.WorldCupPaymentParticipant;
+import com.dsh.communityWorldCup.model.MyWorldCupList;
+import com.dsh.communityWorldCup.model.WorldCupListVo;
 import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @author zhibing.pu
@@ -20,4 +24,12 @@
      */
     WorldCupPaymentParticipant getWorldCupPaymentParticipant(@Param("worldCupId") Integer worldCupId, @Param("participantType") Integer participantType,
                                                              @Param("participantId") Integer participantId);
+
+
+    /**
+     * 获取社区世界杯我的报名列表
+     * @param myWorldCupList
+     * @return
+     */
+    List<WorldCupListVo> getMyWorldCupList(@Param("item") MyWorldCupList myWorldCupList);
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/EntrantRank.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/EntrantRank.java
new file mode 100644
index 0000000..a934e07
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/EntrantRank.java
@@ -0,0 +1,19 @@
+package com.dsh.communityWorldCup.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/28 14:57
+ */
+@Data
+@ApiModel
+public class EntrantRank {
+    @ApiModelProperty(value = "参赛人id", required = true, dataType = "int")
+    private Integer id;
+    @ApiModelProperty(value = "是否是学员", required = true, dataType = "int")
+    private Integer isStudent;
+    private Integer appUserId;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/EntrantRankVo.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/EntrantRankVo.java
new file mode 100644
index 0000000..602e636
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/EntrantRankVo.java
@@ -0,0 +1,28 @@
+package com.dsh.communityWorldCup.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/28 14:52
+ */
+@Data
+@ApiModel
+public class EntrantRankVo {
+    @ApiModelProperty("姓名")
+    private String name;
+    @ApiModelProperty("全国排名")
+    private Integer nationalRank;
+    @ApiModelProperty("城市名称")
+    private String cityName;
+    @ApiModelProperty("城市排名")
+    private Integer cityRank;
+    @ApiModelProperty("胜利场次")
+    private Integer win;
+    @ApiModelProperty("失败场次")
+    private Integer lose;
+    @ApiModelProperty("胜率")
+    private Double winRate;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MyWorldCupInfo.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MyWorldCupInfo.java
new file mode 100644
index 0000000..85cd333
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MyWorldCupInfo.java
@@ -0,0 +1,46 @@
+package com.dsh.communityWorldCup.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/28 16:49
+ */
+@Data
+@ApiModel
+public class MyWorldCupInfo {
+    @ApiModelProperty("世界杯id")
+    private Integer id;
+    @ApiModelProperty("图片")
+    private String infoImg;
+    @ApiModelProperty("名称")
+    private String name;
+    @ApiModelProperty("热度")
+    private Integer heat;
+    @ApiModelProperty("开始时间")
+    private String startTime;
+    @ApiModelProperty("结束时间")
+    private String endTime;
+    @ApiModelProperty("报名截止时间")
+    private String registrationClosingTime;
+    @ApiModelProperty("报名年龄")
+    private String age;
+    @ApiModelProperty("报名性别(0=全部,1=男,2=女)")
+    private Integer gender;
+    @ApiModelProperty("参赛地址")
+    private String address;
+    @ApiModelProperty("参与赛点")
+    private String stores;
+    @ApiModelProperty("比赛费用(现金)")
+    private Double cash;
+    @ApiModelProperty("比赛费用(玩湃币)")
+    private Double paiCoin;
+    @ApiModelProperty("比赛费用(课时)")
+    private Double classHour;
+    @ApiModelProperty("简介")
+    private String intro;
+    @ApiModelProperty("富文本")
+    private String content;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MyWorldCupList.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MyWorldCupList.java
new file mode 100644
index 0000000..c12c467
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MyWorldCupList.java
@@ -0,0 +1,25 @@
+package com.dsh.communityWorldCup.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/28 16:25
+ */
+@Data
+@ApiModel
+public class MyWorldCupList {
+    @ApiModelProperty(value = "参赛人id", required = true, dataType = "int")
+    private Integer id;
+    @ApiModelProperty(value = "是否是学员", required = true, dataType = "int")
+    private Integer isStudent;
+    @ApiModelProperty(value = "页码,首页1", required = true, dataType = "int")
+    private Integer pageNo;
+    @ApiModelProperty(value = "每页条数", required = true, dataType = "int")
+    private Integer pageSize;
+    @ApiModelProperty(value = "状态(1=未开始,2=进行中)")
+    private Integer state;
+    private Integer appUserId;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupListVo.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupListVo.java
index 36a5b79..013d93e 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupListVo.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupListVo.java
@@ -12,7 +12,7 @@
 @ApiModel
 public class WorldCupListVo {
     @ApiModelProperty("世界杯id")
-    private Integer id;
+    private String id;
     @ApiModelProperty("名称")
     private String name;
     @ApiModelProperty("报名截止时间")
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java
index 0932996..b88ad1e 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java
@@ -2,10 +2,20 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.dsh.communityWorldCup.entity.WorldCupCompetitor;
+import com.dsh.communityWorldCup.model.EntrantRank;
+import com.dsh.communityWorldCup.model.EntrantRankVo;
 
 /**
  * @author zhibing.pu
  * @Date 2024/2/19 15:47
  */
 public interface IWorldCupCompetitorService extends IService<WorldCupCompetitor> {
+
+
+    /**
+     * 获取参赛人员名次
+     * @param entrantRank
+     * @return
+     */
+    EntrantRankVo getEntrantRank(EntrantRank entrantRank);
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentParticipantService.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentParticipantService.java
index d0e07ce..b40293a 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentParticipantService.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentParticipantService.java
@@ -2,6 +2,12 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.dsh.communityWorldCup.entity.WorldCupPaymentParticipant;
+import com.dsh.communityWorldCup.model.MyWorldCupInfo;
+import com.dsh.communityWorldCup.model.MyWorldCupList;
+import com.dsh.communityWorldCup.model.WorldCupListVo;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
 
 /**
  * @author zhibing.pu
@@ -18,4 +24,20 @@
      * @return
      */
     WorldCupPaymentParticipant getWorldCupPaymentParticipant(Integer worldCupId, Integer participantType, Integer participantId);
+
+
+    /**
+     * 获取社区世界杯我的报名列表
+     * @param myWorldCupList
+     * @return
+     */
+    List<WorldCupListVo> getMyWorldCupList(MyWorldCupList myWorldCupList);
+
+
+    /**
+     * 获取已报名的世界杯详情
+     * @param id
+     * @return
+     */
+    MyWorldCupInfo getMyWorldCupInfo(String id);
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java
index 3806327..d4ac4e6 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java
@@ -1,10 +1,27 @@
 package com.dsh.communityWorldCup.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dsh.communityWorldCup.entity.WorldCupCompetitor;
+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.StoreClient;
 import com.dsh.communityWorldCup.mapper.WorldCupCompetitorMapper;
+import com.dsh.communityWorldCup.model.EntrantRank;
+import com.dsh.communityWorldCup.model.EntrantRankVo;
 import com.dsh.communityWorldCup.service.IWorldCupCompetitorService;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.MathContext;
+import java.math.RoundingMode;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @author zhibing.pu
@@ -12,4 +29,91 @@
  */
 @Service
 public class WorldCupCompetitorServiceImpl extends ServiceImpl<WorldCupCompetitorMapper, WorldCupCompetitor> implements IWorldCupCompetitorService {
+
+    @Resource
+    private StudentClient studentClient;
+
+    @Resource
+    private ParticipantClient participantClient;
+
+    @Resource
+    private AppUserClient appUserClient;
+
+
+
+
+
+    /**
+     * 获取参赛人员名次信息
+     * @param entrantRank
+     * @return
+     */
+    @Override
+    public EntrantRankVo getEntrantRank(EntrantRank entrantRank) {
+        EntrantRankVo entrantRankVo = new EntrantRankVo();
+        if(entrantRank.getIsStudent() == 0){
+            //参赛人员
+            Participant participant = participantClient.getParticipant(entrantRank.getId());
+            entrantRankVo.setName(participant.getName());
+        }else{
+            //学员
+            TStudent tStudent = studentClient.queryById(entrantRank.getId());
+            entrantRankVo.setName(tStudent.getName());
+        }
+        //全国排名---直接数据库分组查询后排序
+        entrantRankVo.setNationalRank(0);
+        List<Map<String, Object>> mapList = this.baseMapper.getNumberOfGamesRanked(null);
+        for (int i = 0; i < mapList.size(); i++) {
+            Map<String, Object> map = mapList.get(i);
+            Integer participantType = Integer.valueOf(map.get("participantType").toString());
+            Integer participantId = Integer.valueOf(map.get("participantId").toString());
+            Integer num = Integer.valueOf(map.get("num").toString());
+            if(null != participantId && participantId.equals(entrantRank.getId()) && participantType.equals(entrantRank.getIsStudent())){
+                entrantRankVo.setNationalRank(i + 1);
+            }
+        }
+        /**
+         * 城市排名
+         * 1、先查询出当前用户对应的城市
+         * 2、再根据城市查询对应的所有人员
+         * 3、再根据查询出来的参赛人分组查询出参赛次数后排序
+         */
+        entrantRankVo.setCityRank(0);
+        AppUser appUser = appUserClient.getAppUser(entrantRank.getAppUserId());
+        entrantRankVo.setCityName(appUser.getCity());
+        List<Integer> appUserIds = appUserClient.getAppUserIds(appUser.getCityCode());
+        List<Map<String, Object>> mapList1 = this.baseMapper.getNumberOfGamesRanked(appUserIds);
+        for (int i = 0; i < mapList1.size(); i++) {
+            Map<String, Object> map = mapList1.get(i);
+            Integer participantType = Integer.valueOf(map.get("participantType").toString());
+            Integer participantId = Integer.valueOf(map.get("participantId").toString());
+            Integer num = Integer.valueOf(map.get("num").toString());
+            if(null != participantId && participantId.equals(entrantRank.getId()) && participantType.equals(entrantRank.getIsStudent())){
+                entrantRankVo.setCityRank(i + 1);
+            }
+        }
+        QueryWrapper<WorldCupCompetitor> wrapper = new QueryWrapper<>();
+        if(entrantRank.getIsStudent() == 0){
+            wrapper.eq("participantType", 2);
+        }else{
+            wrapper.eq("participantType", 1);
+        }
+        int win = this.count(wrapper.eq("participantId", entrantRank.getId()).eq("matchResult", 1));
+        entrantRankVo.setWin(win);
+
+        wrapper = new QueryWrapper<>();
+        if(entrantRank.getIsStudent() == 0){
+            wrapper.eq("participantType", 2);
+        }else{
+            wrapper.eq("participantType", 1);
+        }
+        int lose = this.count(wrapper.eq("participantId", entrantRank.getId()).eq("matchResult", -1));
+        entrantRankVo.setLose(lose);
+        if((win + lose) == 0){
+            entrantRankVo.setWinRate(0D);
+        }else{
+            entrantRankVo.setWinRate(new BigDecimal(win).divide(new BigDecimal(win + lose), new MathContext(4, RoundingMode.HALF_EVEN)).multiply(new BigDecimal(100)).doubleValue());
+        }
+        return entrantRankVo;
+    }
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java
index 003a4ec..c9d0723 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java
@@ -3,8 +3,12 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dsh.communityWorldCup.entity.WorldCupPaymentParticipant;
 import com.dsh.communityWorldCup.mapper.WorldCupPaymentParticipantMapper;
+import com.dsh.communityWorldCup.model.MyWorldCupList;
+import com.dsh.communityWorldCup.model.WorldCupListVo;
 import com.dsh.communityWorldCup.service.IWorldCupPaymentParticipantService;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 /**
  * @author zhibing.pu
@@ -25,4 +29,18 @@
     public WorldCupPaymentParticipant getWorldCupPaymentParticipant(Integer worldCupId, Integer participantType, Integer participantId) {
         return this.baseMapper.getWorldCupPaymentParticipant(worldCupId, participantType, participantId);
     }
+
+
+    /**
+     * 获取社区世界杯我的报名列表
+     * @param myWorldCupList
+     * @return
+     */
+    @Override
+    public List<WorldCupListVo> getMyWorldCupList(MyWorldCupList myWorldCupList) {
+        int pageNo = (myWorldCupList.getPageNo() - 1) * myWorldCupList.getPageSize();
+        myWorldCupList.setPageNo(pageNo);
+        myWorldCupList.setIsStudent(myWorldCupList.getIsStudent() == 0 ? 2 : 1);
+        return this.baseMapper.getMyWorldCupList(myWorldCupList);
+    }
 }
diff --git a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml
index c6d5d47..0f696eb 100644
--- a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml
+++ b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml
@@ -1,6 +1,23 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.dsh.communityWorldCup.mapper.WorldCupCompetitor">
+<mapper namespace="com.dsh.communityWorldCup.mapper.WorldCupCompetitorMapper">
 
+    <select id="getNumberOfGamesRanked" resultType="map">
+        select * from (
+            select
+            CASE WHEN participantType = 2 THEN 0 ELSE 1 END as participantType,
+            participantId,
+            count(*) as num
+            from t_world_cup_competitor
+            where 1 = 1
+            <if test="null != appUserIds and appUserIds.size() > 0">
+                and appUserId in
+                <foreach collection="appUserIds" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            group by participantType, participantId
+        ) as aa order by aa.num desc
+    </select>
 
 </mapper>
\ No newline at end of file
diff --git a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupMapper.xml b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupMapper.xml
index 6400680..c8f165c 100644
--- a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupMapper.xml
+++ b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupMapper.xml
@@ -39,7 +39,7 @@
             a.lat,
             ifnull(b.num, 0) + a.basePeople as heat
             from t_world_cup a
-            left join (select worldCupId, count(*) as num from t_world_cup_payment_participant where worldCupPaymentId in (select id from t_world_cup_payment where payStatus = 2 and state = 1) group by worldCupId) b on (a.id = b.worldCupId)
+            left join (select worldCupId, count(*) as num from t_world_cup_payment_participant where worldCupPaymentId in (select id from t_world_cup_payment where payStatus = 2 and refundTime is null and state = 1) group by worldCupId) b on (a.id = b.worldCupId)
             where a.status in (1, 2) order by a.createTime desc
             <if test="null != item.content and '' != item.content">
                 and a.name like CONCAT('%', #{item.content}, '%')
diff --git a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupPaymentParticipantMapper.xml b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupPaymentParticipantMapper.xml
index 85cfe5f..f57d0c1 100644
--- a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupPaymentParticipantMapper.xml
+++ b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupPaymentParticipantMapper.xml
@@ -4,11 +4,35 @@
 
 
 
-    <select id="getWorldCupPaymentParticipant" resultType="com.dsh.communityWorldCup.mapper.WorldCupPaymentParticipantMapper">
+    <select id="getWorldCupPaymentParticipant" resultType="com.dsh.communityWorldCup.entity.WorldCupPaymentParticipant">
         select *
         from t_world_cup_payment_participant
         where worldCupId = #{worldCupId} and participantType = #{participantType} and participantId = #{participantId} and worldCupPaymentId in (
             select id from t_world_cup_payment where worldCupId = #{worldCupId} and payStatus = 2 and state = 1
             )
     </select>
+
+
+
+    <select id="getMyWorldCupList" resultType="com.dsh.communityWorldCup.model.WorldCupListVo">
+        select
+        a.id,
+        c.name,
+        DATE_FORMATc.registrationClosingTime, '%Y-%m-%d %H:%i') as registrationClosingTime,
+        CONCAT(c.startAge, '-', c.endAge) as age,
+        c.coverImg,
+        c.intro as content,
+        c.lon,
+        c.lat,
+        ifnull(d.num, 0) + c.basePeople as heat
+        from t_world_cup_payment_participant a
+        left join t_world_cup_payment b on (a.worldCupPaymentId = b.id)
+        left join t_world_cup c on (b.worldCupId = c.id)
+        left join (select worldCupId, count(*) as num from t_world_cup_payment_participant where worldCupPaymentId in (select id from t_world_cup_payment where payStatus = 2 and refundTime is null and state = 1) group by worldCupId) d on (c.id = d.worldCupId)
+        where a.participantType = #{item.isStudent} and a.participantId = #{item.id} and b.payStatus = 2 and b.refundTime is null and b.state = 1
+        <if test="null != item.state">
+            and c.status = #{item.state}
+        </if>
+        order by b.createTime desc limit #{item.pageNo}, #{item.pageSize}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/HomeModule.java b/cloud-server-other/src/main/java/com/dsh/other/entity/HomeModule.java
index a6de6ab..6b3ff6f 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/entity/HomeModule.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/entity/HomeModule.java
@@ -51,33 +51,39 @@
     @ApiModelProperty("按钮图片")
     private String buttonImage;
     /**
-     * 跳转模块(0=不跳转,1=加入玩湃,2=开始课程,3=使用福利,4=探索玩湃)
-     */
-    @TableField("jumpModule")
-    @ApiModelProperty("跳转模块(0=不跳转,1=加入玩湃,2=开始课程,3=使用福利,4=探索玩湃)")
-    private Integer jumpModule;
-    /**
-     * 跳转页面(1=主页,2=课程列表,3=赛事活动列表,4=线上课得积分,5=看视频得奖励,6=预约场地,7=智慧球场,8=成为会员,9=充值中心,10=积分商城,11=本周福利,12=门店列表,13=常见问题,14=公告发布)
-     */
-    @TableField("jumpPage")
-    @ApiModelProperty("跳转页面(1=主页,2=课程列表,3=赛事活动列表,4=线上课得积分,5=看视频得奖励,6=预约场地,7=智慧球场,8=成为会员,9=充值中心,10=积分商城,11=本周福利,12=门店列表,13=常见问题,14=公告发布)")
-    private Integer jumpPage;
-    /**
-     * 跳转类型(1=主页,2=列表,3=详情,4=限时折扣,5=赠送课时,6=指定折扣)
-     */
-    @TableField("jumpType")
-    @ApiModelProperty("跳转类型(1=主页,2=列表,3=详情,4=限时折扣,5=赠送课时,6=指定折扣)")
-    private Integer jumpType;
-    /**
-     * 跳转详情id
-     */
-    @TableField("detailID")
-    @ApiModelProperty("跳转详情id")
-    private String detailID;
-    /**
      * 富文本内容
      */
     @TableField("content")
     @ApiModelProperty("富文本内容")
     private String content;
+    /**
+     * 跳转页面id
+     */
+    @TableField("jumpPage")
+    private Integer jumpPage;
+    /**
+     * 跳转模块
+     */
+    @TableField("model")
+    private String model;
+    /**
+     * 跳转类型
+     */
+    @TableField("type")
+    private String type;
+    /**
+     * 跳转类型
+     */
+    @TableField("turnId")
+    private String turnId;
+    /**
+     * 跳转页面
+     */
+    @TableField("page")
+    private String page;
+    /**
+     * 跳转类型id
+     */
+    @TableField("typeId")
+    private Integer typeId;
 }

--
Gitblit v1.7.1