x1ongzhu пре 7 година
родитељ
комит
1662712ff7

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

@@ -31,6 +31,8 @@
         <result column="house_rank" property="houseRank" jdbcType="INTEGER"/>
         <result column="score" property="score" jdbcType="FLOAT"/>
         <result column="medal" property="medal" jdbcType="VARCHAR"/>
+        <result column="result_error" property="resultError" jdbcType="BIT"/>
+        <result column="data_error" property="dataError" jdbcType="BIT"/>
     </resultMap>
     <sql id="Base_Column_List">
         <trim suffixOverrides=",">
@@ -92,6 +94,10 @@
 
             medal,
 
+            result_error,
+
+            data_error
+
         </trim>
     </sql>
     <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
@@ -376,6 +382,12 @@
             <if test="medal != null">
                 medal= #{medal},
             </if>
+            <if test="resultError != null">
+                result_error = #{resultError,jdbcType=BIT},
+            </if>
+            <if test="dataError != null">
+                data_error = #{dataError,jdbcType=BIT},
+            </if>
         </set>
         where
         <if test="id != null and !&quot;&quot;.equals(id)">

+ 53 - 43
src/main/java/com/izouma/awesomeadmin/model/PlayerInfo.java

@@ -10,50 +10,44 @@ import com.fasterxml.jackson.annotation.JsonInclude;
 @JsonAutoDetect
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class PlayerInfo {
-    private Integer id;
-    private String delFlag;
-    private Date updateTime;
-    private String updateUser;
-    private Date createTime;
-    private String createUser;
-    private Integer gameId;
-    private Integer houseId;
-    private Date joinTime;
+    private Integer    id;
+    private String     delFlag;
+    private Date       updateTime;
+    private String     updateUser;
+    private Date       createTime;
+    private String     createUser;
+    private Integer    gameId;
+    private Integer    houseId;
+    private Date       joinTime;
     private BigDecimal principal;
     private BigDecimal bonus;
-    private Integer userId;
-    private String remark;
-    private String image;
-    private Integer killNumber;
-    private Integer ranking;
-    private Date beginTime;
-    private Date endTime;
-    private Integer statusFlag;
-    private String examineUser;
-    private Date examineTime;
-    private Integer examineType;
-    private String video;
-    private String liveTime;
-    private String gameType;
-    private Integer seasonId;
-
-    private Integer houseRank;
-
-    private Integer rank;
-
-    private Float score;
-
-    private Integer scoreType;
-
-    private UserInfo userInfo;
-
-    private HouseInfo houseInfo;
-
-    private GameInfo gameInfo;
-
-    private String idStr;
-
-    private String searchKey;
+    private Integer    userId;
+    private String     remark;
+    private String     image;
+    private Integer    killNumber;
+    private Integer    ranking;
+    private Date       beginTime;
+    private Date       endTime;
+    private Integer    statusFlag;
+    private String     examineUser;
+    private Date       examineTime;
+    private Integer    examineType;
+    private String     video;
+    private String     liveTime;
+    private String     gameType;
+    private Integer    seasonId;
+    private Integer    houseRank;
+    private Integer    rank;
+    private Float      score;
+    private Integer    scoreType;
+    private UserInfo   userInfo;
+    private HouseInfo  houseInfo;
+    private GameInfo   gameInfo;
+    private Boolean     resultError;
+    private Boolean     dataError;
+
+    private String     idStr;
+    private String     searchKey;
 
     /**
      * and,test_name,like,value;or,remark,=,123
@@ -68,7 +62,7 @@ public class PlayerInfo {
     /**
      * 奖章
      */
-    private String medal;
+    private String  medal;
     /**
      * 白金
      */
@@ -425,5 +419,21 @@ public class PlayerInfo {
     public void setBronze(Integer bronze) {
         this.bronze = bronze;
     }
+
+    public Boolean getResultError() {
+        return resultError;
+    }
+
+    public void setResultError(Boolean resultError) {
+        this.resultError = resultError;
+    }
+
+    public Boolean getDataError() {
+        return dataError;
+    }
+
+    public void setDataError(Boolean dataError) {
+        this.dataError = dataError;
+    }
 }
 

+ 14 - 22
src/main/java/com/izouma/awesomeadmin/service/impl/VideoRecognitionServiceImpl.java

@@ -58,33 +58,25 @@ public class VideoRecognitionServiceImpl implements VideoRecognitionService {
         // }
         executor.execute(() -> {
             try {
+                playerInfoService.updatePlayerInfo(playerInfo);
                 Map<String, String> map = videoProcessTool.processVideo(playerInfo.getVideo(), 0);
-                playerInfo.setImage(map.get("image"));
-                playerInfo.setLiveTime(map.get("参赛时间"));
-                int rank = Integer.valueOf(map.get("rank").replace("第", ""));
-                if (rank <= 0 || rank > 100) {
-                    throw new Exception();
-                }
-                try {
-                    playerInfo.setRanking(Integer.valueOf(map.get("rank").replace("第", "")));
-                } catch (Exception ignore) {
-                }
-                try {
+                if (map != null) {
+                    playerInfo.setImage(map.get("image"));
                     playerInfo.setScore(Float.parseFloat(map.get("评分")));
-                } catch (Exception ignore) {
-                }
-                try {
-                    playerInfo.setKillNumber(Integer.parseInt(map.get("淘汰")));
-                } catch (Exception ignore) {
-                }
-                try {
-                    playerInfo.setScore(Float.parseFloat(map.get("淘汰")));
-                } catch (Exception ignore) {
+                    playerInfo.setLiveTime(map.get("参赛时间").replace("分钟", ""));
+                    playerInfo.setRanking(Integer.valueOf(map.get("rank").replace("第", "")));
+                    try {
+                        playerInfo.setKillNumber(Integer.parseInt(map.get("淘汰")));
+                    } catch (Exception ignore) {
+                    }
+                    playerInfo.setStatusFlag(AppConstant.PlayerStatus.PROCESSED);
+                } else {
+                    playerInfo.setStatusFlag(AppConstant.PlayerStatus.PROCESSED_FAIL);
                 }
-                playerInfo.setStatusFlag(AppConstant.PlayerStatus.PROCESSED);
-            } catch (Exception e) {
+            } catch (FrameGrabber.Exception e) {
                 e.printStackTrace();
                 playerInfo.setStatusFlag(AppConstant.PlayerStatus.PROCESSED_FAIL);
+                playerInfo.setResultError(true);
             }
             playerInfoService.updatePlayerInfo(playerInfo);
         });

+ 2 - 1
src/main/java/com/izouma/awesomeadmin/web/PlayerInfoController.java

@@ -337,11 +337,12 @@ public class PlayerInfoController {
         if ("false".equals(systemVariableService.get("uploadShort"))) {
             PlayerInfo record = playerInfoService.getPlayerInfoById(String.valueOf(id));
             HouseInfo houseInfo = houseInfoService.getHouseInfoById(String.valueOf(record.getHouseId()));
-            Date date = new Date(System.currentTimeMillis() - 20 * 60 * 1000);
+            Date date = new Date(System.currentTimeMillis() - 15 * 60 * 1000);
             if (!houseInfo.getBeginTime().before(date)) {
                 PlayerInfo playerInfo = new PlayerInfo();
                 playerInfo.setId(id);
                 playerInfo.setStatusFlag(AppConstant.PlayerStatus.PROCESSED_FAIL);
+                playerInfo.setDataError(true);
                 playerInfoService.updatePlayerInfo(playerInfo);
                 return new Result(true, "");
             }