x1ongzhu %!s(int64=6) %!d(string=hai) anos
pai
achega
3f2dd1d4c5

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

@@ -54,5 +54,7 @@ public interface PlayerInfoMapper {
     List<PlayerInfo> queryHouseRank(@Param("houseId") int houseId);
 
     int queryTodayPlayTimes(@Param("userId") Integer userId, @Param("type") Integer type);
+
+    PlayerInfo queryErrorPlayerInfo(Integer userId);
 }
 

+ 14 - 0
src/main/java/com/izouma/awesomeadmin/dao/PlayerInfoMapper.xml

@@ -1411,6 +1411,20 @@
           AND TO_DAYS(now()) = TO_DAYS(player_info.join_time)
     </select>
 
+    <select id="queryErrorPlayerInfo" resultType="PlayerInfo">
+        SELECT player_info.*
+        FROM player_info
+                 JOIN house_info ON player_info.house_id = house_info.id
+        WHERE player_info.played = 1
+          AND player_info.del_flag = 'N'
+          AND player_info.status_flag = 2
+          AND player_info.user_id = #{userId}
+          AND house_info.del_flag = 'N'
+          AND house_info.status_flag = 2
+        ORDER BY player_info.id DESC
+        LIMIT 1
+    </select>
+
     <resultMap id="PagePlayerInfoResult" type="com.izouma.awesomeadmin.model.PlayerInfo" extends="BaseResultMap">
         <association property="userInfo"
                      javaType="com.izouma.awesomeadmin.model.UserInfo"

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

@@ -51,5 +51,7 @@ public interface PlayerInfoService {
     List<PlayerInfo> getHouseRank(int houseId);
 
     UserPlayTimes getUserPlayTimes(Integer userId);
+
+    PlayerInfo getErrorPlayerInfo(Integer userId);
 }
 

+ 19 - 8
src/main/java/com/izouma/awesomeadmin/service/impl/AppealInfoServiceImpl.java

@@ -1,6 +1,9 @@
 package com.izouma.awesomeadmin.service.impl;
 
 import java.util.*;
+
+import com.izouma.awesomeadmin.dao.PlayerInfoMapper;
+import com.izouma.awesomeadmin.model.PlayerInfo;
 import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -11,16 +14,18 @@ import com.izouma.awesomeadmin.service.AppealInfoService;
 import com.izouma.awesomeadmin.dao.AppealInfoMapper;
 
 /**
-*  service接口实现类
-*/
+ * service接口实现类
+ */
 @Service
-public class AppealInfoServiceImpl implements AppealInfoService{
+public class AppealInfoServiceImpl implements AppealInfoService {
     /*generatedStart*/
     private static Logger logger = Logger.getLogger(AppealInfoServiceImpl.class);
 
     @Autowired
     private AppealInfoMapper appealInfoMapper;
     /*generatedEnd*/
+    @Autowired
+    private PlayerInfoMapper playerInfoMapper;
 
     /*generatedStart*/
     @Override
@@ -76,8 +81,14 @@ public class AppealInfoServiceImpl implements AppealInfoService{
         logger.info("createAppealInfo");
         try {
             int updates = appealInfoMapper.insertSelective(record);
+            PlayerInfo playerInfo = playerInfoMapper.selectByPrimaryKey(record.getPlayerInfoId());
+            if (playerInfo.getStatusFlag() == AppConstant.PlayerStatus.START) {
+                playerInfo.setStatusFlag(AppConstant.PlayerStatus.OVERTIME);
+                playerInfo.setResultError(true);
+                playerInfoMapper.updateByPrimaryKeySelective(playerInfo);
+            }
             if (updates > 0) {
-                 return true;
+                return true;
             }
         } catch (Exception e) {
             logger.error("createAppealInfo", e);
@@ -91,10 +102,10 @@ public class AppealInfoServiceImpl implements AppealInfoService{
         try {
             int updates = appealInfoMapper.delete(record);
             if (updates > 0) {
-                 return true;
+                return true;
             }
         } catch (Exception e) {
-             logger.error("deleteAppealInfo", e);
+            logger.error("deleteAppealInfo", e);
         }
         return false;
     }
@@ -105,10 +116,10 @@ public class AppealInfoServiceImpl implements AppealInfoService{
         try {
             int updates = appealInfoMapper.updateByPrimaryKeySelective(record);
             if (updates > 0) {
-                 return true;
+                return true;
             }
         } catch (Exception e) {
-             logger.error("updateAppealInfo", e);
+            logger.error("updateAppealInfo", e);
         }
         return false;
     }

+ 1 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/HouseInfoServiceImpl.java

@@ -315,6 +315,7 @@ public class HouseInfoServiceImpl implements HouseInfoService {
             houseInfo.setId(null);
             houseInfo.setStatusFlag(AppConstant.HouseStatus.WAIT);
             houseInfo.setCreateTime(new Date());
+            houseInfo.setBeginTime(null);
             houseInfo.setEndTime(null);
             houseInfo.setPlayerNumber(0);
             houseInfo.setHouseCode(null);

+ 11 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/PlayerInfoServiceImpl.java

@@ -413,5 +413,16 @@ public class PlayerInfoServiceImpl implements PlayerInfoService {
         }
         return null;
     }
+
+    @Override
+    public PlayerInfo getErrorPlayerInfo(Integer userId) {
+        logger.info("getErrorPlayerInfo");
+        try {
+            return playerInfoMapper.queryErrorPlayerInfo(userId);
+        } catch (Exception e) {
+            logger.error("getErrorPlayerInfo", e);
+        }
+        return null;
+    }
 }
 

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

@@ -392,5 +392,16 @@ public class PlayerInfoController {
         }
         return new Result(false, "失败");
     }
+
+    @RequestMapping(value = "/getErrorPlayerInfo")
+    @ResponseBody
+    public Result getErrorPlayerInfo() {
+        UserInfo userInfo = (UserInfo) SecurityUtils.getSubject().getPrincipal();
+        PlayerInfo playerInfo = playerInfoService.getErrorPlayerInfo(userInfo.getId());
+        if (playerInfo != null) {
+            return new Result(true, playerInfo);
+        }
+        return new Result(false, "失败");
+    }
 }