x1ongzhu преди 7 години
родител
ревизия
d2d9b0814b

+ 40 - 0
src/main/java/com/izouma/awesomeadmin/beans/UserPlayTimes.java

@@ -0,0 +1,40 @@
+package com.izouma.awesomeadmin.beans;
+
+public class UserPlayTimes {
+    private int totalNormal;
+    private int totalAdvanced;
+    private int usedNormal;
+    private int usedAdvanced;
+
+    public int getTotalNormal() {
+        return totalNormal;
+    }
+
+    public void setTotalNormal(int totalNormal) {
+        this.totalNormal = totalNormal;
+    }
+
+    public int getTotalAdvanced() {
+        return totalAdvanced;
+    }
+
+    public void setTotalAdvanced(int totalAdvanced) {
+        this.totalAdvanced = totalAdvanced;
+    }
+
+    public int getUsedNormal() {
+        return usedNormal;
+    }
+
+    public void setUsedNormal(int usedNormal) {
+        this.usedNormal = usedNormal;
+    }
+
+    public int getUsedAdvanced() {
+        return usedAdvanced;
+    }
+
+    public void setUsedAdvanced(int usedAdvanced) {
+        this.usedAdvanced = usedAdvanced;
+    }
+}

+ 3 - 2
src/main/java/com/izouma/awesomeadmin/dao/PlayerInfoMapper.java

@@ -49,9 +49,10 @@ public interface PlayerInfoMapper {
 
     List<PlayerInfo> querySettlementPlayer(PlayerInfo record);
 
-    List<PlayerInfo> queryCompetitionPlayers(@Param("competitionId")int competitionId);
+    List<PlayerInfo> queryCompetitionPlayers(@Param("competitionId") int competitionId);
 
-    List<PlayerInfo> queryHouseRank(@Param("houseId")int houseId);
+    List<PlayerInfo> queryHouseRank(@Param("houseId") int houseId);
 
+    int queryTodayPlayTimes(@Param("userId") Integer userId, @Param("type") Integer type);
 }
 

+ 13 - 1
src/main/java/com/izouma/awesomeadmin/dao/PlayerInfoMapper.xml

@@ -539,7 +539,8 @@
                         ${itemDetail}
                     </foreach>
                 </foreach>
-            </trim> ,
+            </trim>
+            ,
         </if>
         id desc
     </select>
@@ -1448,6 +1449,17 @@
         ORDER BY player_info.score DESC, live_time DESC
     </select>
 
+    <select id="queryTodayPlayTimes" resultType="java.lang.Integer">
+        SELECT COUNT(*)
+        FROM player_info
+                 INNER JOIN competition ON player_info.competition_id = competition.id
+        WHERE player_info.del_flag = 'N'
+          AND competition.del_flag = 'N'
+          AND player_info.user_id = #{userId}
+          AND competition.type = #{type}
+          AND TO_DAYS(now()) = TO_DAYS(player_info.join_time)
+    </select>
+
     <resultMap id="PagePlayerInfoResult" type="com.izouma.awesomeadmin.model.PlayerInfo" extends="BaseResultMap">
         <association property="userInfo"
                      javaType="com.izouma.awesomeadmin.model.UserInfo"

+ 3 - 0
src/main/java/com/izouma/awesomeadmin/service/PlayerInfoService.java

@@ -2,6 +2,7 @@ package com.izouma.awesomeadmin.service;
 
 import java.util.*;
 
+import com.izouma.awesomeadmin.beans.UserPlayTimes;
 import com.izouma.awesomeadmin.dto.Page;
 import com.izouma.awesomeadmin.dto.Result;
 import com.izouma.awesomeadmin.model.HouseInfo;
@@ -48,5 +49,7 @@ public interface PlayerInfoService {
     List<PlayerInfo> getCompetitionPlayers(int competitionId);
 
     List<PlayerInfo> getHouseRank(int houseId);
+
+    UserPlayTimes getUserPlayTimes(Integer userId);
 }
 

+ 25 - 7
src/main/java/com/izouma/awesomeadmin/service/impl/PlayerInfoServiceImpl.java

@@ -3,11 +3,13 @@ package com.izouma.awesomeadmin.service.impl;
 import java.math.BigDecimal;
 import java.util.*;
 
+import com.izouma.awesomeadmin.beans.UserPlayTimes;
 import com.izouma.awesomeadmin.dao.MemberCoinMapper;
 import com.izouma.awesomeadmin.dao.SystemNoticeMapper;
 import com.izouma.awesomeadmin.dao.UserInfoMapper;
 import com.izouma.awesomeadmin.dto.Result;
 import com.izouma.awesomeadmin.model.*;
+import com.izouma.awesomeadmin.service.SystemVariableService;
 import com.izouma.awesomeadmin.util.PushUtil;
 import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -26,16 +28,15 @@ public class PlayerInfoServiceImpl implements PlayerInfoService {
     private static Logger logger = Logger.getLogger(PlayerInfoServiceImpl.class);
 
     @Autowired
-    private PlayerInfoMapper playerInfoMapper;
-
+    private PlayerInfoMapper      playerInfoMapper;
     @Autowired
-    private UserInfoMapper userInfoMapper;
-
+    private UserInfoMapper        userInfoMapper;
     @Autowired
-    private MemberCoinMapper memberCoinMapper;
-
+    private MemberCoinMapper      memberCoinMapper;
+    @Autowired
+    private SystemNoticeMapper    systemNoticeMapper;
     @Autowired
-    private SystemNoticeMapper systemNoticeMapper;
+    private SystemVariableService systemVariableService;
 
     @Override
     public List<PlayerInfo> getPlayerInfoList(PlayerInfo record) {
@@ -212,6 +213,7 @@ public class PlayerInfoServiceImpl implements PlayerInfoService {
         return null;
     }
 
+
     @Override
     public PlayerInfo seasonUserRank(PlayerInfo record) {
 
@@ -395,5 +397,21 @@ public class PlayerInfoServiceImpl implements PlayerInfoService {
 
         return new Result(false, "领取失败");
     }
+
+    @Override
+    public UserPlayTimes getUserPlayTimes(Integer userId) {
+        logger.info("getUserPlayTimes");
+        try {
+            UserPlayTimes userPlayTimes = new UserPlayTimes();
+            userPlayTimes.setTotalNormal(Integer.parseInt(systemVariableService.get(AppConstant.SysConfig.JOIN_ROOMS_NORMAL)));
+            userPlayTimes.setTotalAdvanced(Integer.parseInt(systemVariableService.get(AppConstant.SysConfig.JOIN_ROOMS_ADVANCED)));
+            userPlayTimes.setUsedNormal(playerInfoMapper.queryTodayPlayTimes(userId, AppConstant.CompetitionType.NORMAL));
+            userPlayTimes.setUsedAdvanced(playerInfoMapper.queryTodayPlayTimes(userId, AppConstant.CompetitionType.ADVANCE));
+            return userPlayTimes;
+        } catch (Exception e) {
+            logger.error(e);
+        }
+        return null;
+    }
 }
 

+ 0 - 1
src/main/java/com/izouma/awesomeadmin/web/HouseInfoController.java

@@ -31,7 +31,6 @@ public class HouseInfoController {
     /**
      * <p>获取全部记录。</p>
      */
-    @RequiresAuthentication
     @RequestMapping(value = "/all", method = RequestMethod.GET)
     @ResponseBody
     public Result all(HouseInfo record) {

+ 14 - 0
src/main/java/com/izouma/awesomeadmin/web/PlayerInfoController.java

@@ -1,12 +1,15 @@
 package com.izouma.awesomeadmin.web;
 
+import com.izouma.awesomeadmin.beans.UserPlayTimes;
 import com.izouma.awesomeadmin.constant.AppConstant;
 import com.izouma.awesomeadmin.dto.Page;
 import com.izouma.awesomeadmin.dto.Result;
 import com.izouma.awesomeadmin.model.HouseInfo;
 import com.izouma.awesomeadmin.model.PlayerInfo;
+import com.izouma.awesomeadmin.model.UserInfo;
 import com.izouma.awesomeadmin.service.*;
 import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authz.annotation.RequiresAuthentication;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -377,5 +380,16 @@ public class PlayerInfoController {
         }
         return new Result(false, "");
     }
+
+    @RequestMapping(value = "/getTodayPlayTimes")
+    @ResponseBody
+    public Result getTodayPlayTimes() {
+        UserInfo userInfo = (UserInfo) SecurityUtils.getSubject().getPrincipal();
+        UserPlayTimes userPlayTimes = playerInfoService.getUserPlayTimes(userInfo.getId());
+        if (userPlayTimes != null) {
+            return new Result(true, userPlayTimes);
+        }
+        return new Result(false, "失败");
+    }
 }