Sfoglia il codice sorgente

基础信息建立

suochencheng 7 anni fa
parent
commit
6dcb5403de
98 ha cambiato i file con 22576 aggiunte e 1 eliminazioni
  1. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/BannerInfoMapper.java
  2. 505 0
      src/main/java/com/izouma/awesomeadmin/dao/BannerInfoMapper.xml
  3. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/BonusRecordMapper.java
  4. 523 0
      src/main/java/com/izouma/awesomeadmin/dao/BonusRecordMapper.xml
  5. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/CompetitionSeasonMapper.java
  6. 505 0
      src/main/java/com/izouma/awesomeadmin/dao/CompetitionSeasonMapper.xml
  7. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/GameInfoMapper.java
  8. 459 0
      src/main/java/com/izouma/awesomeadmin/dao/GameInfoMapper.xml
  9. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/HouseInfoMapper.java
  10. 799 0
      src/main/java/com/izouma/awesomeadmin/dao/HouseInfoMapper.xml
  11. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/HouseLevelMapper.java
  12. 592 0
      src/main/java/com/izouma/awesomeadmin/dao/HouseLevelMapper.xml
  13. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/MemberCoinMapper.java
  14. 523 0
      src/main/java/com/izouma/awesomeadmin/dao/MemberCoinMapper.xml
  15. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/MemberCoinTixianMapper.java
  16. 661 0
      src/main/java/com/izouma/awesomeadmin/dao/MemberCoinTixianMapper.xml
  17. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/PlatformIncomeRecordMapper.java
  18. 505 0
      src/main/java/com/izouma/awesomeadmin/dao/PlatformIncomeRecordMapper.xml
  19. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/PlayerInfoMapper.java
  20. 776 0
      src/main/java/com/izouma/awesomeadmin/dao/PlayerInfoMapper.xml
  21. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/RechargeRecordMapper.java
  22. 482 0
      src/main/java/com/izouma/awesomeadmin/dao/RechargeRecordMapper.xml
  23. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/SystemNoticeMapper.java
  24. 523 0
      src/main/java/com/izouma/awesomeadmin/dao/SystemNoticeMapper.xml
  25. 172 0
      src/main/java/com/izouma/awesomeadmin/model/BannerInfo.java
  26. 181 0
      src/main/java/com/izouma/awesomeadmin/model/BonusRecord.java
  27. 173 0
      src/main/java/com/izouma/awesomeadmin/model/CompetitionSeason.java
  28. 156 0
      src/main/java/com/izouma/awesomeadmin/model/GameInfo.java
  29. 277 0
      src/main/java/com/izouma/awesomeadmin/model/HouseInfo.java
  30. 205 0
      src/main/java/com/izouma/awesomeadmin/model/HouseLevel.java
  31. 181 0
      src/main/java/com/izouma/awesomeadmin/model/MemberCoin.java
  32. 229 0
      src/main/java/com/izouma/awesomeadmin/model/MemberCoinTixian.java
  33. 173 0
      src/main/java/com/izouma/awesomeadmin/model/PlatformIncomeRecord.java
  34. 269 0
      src/main/java/com/izouma/awesomeadmin/model/PlayerInfo.java
  35. 165 0
      src/main/java/com/izouma/awesomeadmin/model/RechargeRecord.java
  36. 180 0
      src/main/java/com/izouma/awesomeadmin/model/SystemNotice.java
  37. 27 0
      src/main/java/com/izouma/awesomeadmin/service/BannerInfoService.java
  38. 27 0
      src/main/java/com/izouma/awesomeadmin/service/BonusRecordService.java
  39. 27 0
      src/main/java/com/izouma/awesomeadmin/service/CompetitionSeasonService.java
  40. 27 0
      src/main/java/com/izouma/awesomeadmin/service/GameInfoService.java
  41. 27 0
      src/main/java/com/izouma/awesomeadmin/service/HouseInfoService.java
  42. 27 0
      src/main/java/com/izouma/awesomeadmin/service/HouseLevelService.java
  43. 27 0
      src/main/java/com/izouma/awesomeadmin/service/MemberCoinService.java
  44. 27 0
      src/main/java/com/izouma/awesomeadmin/service/MemberCoinTixianService.java
  45. 27 0
      src/main/java/com/izouma/awesomeadmin/service/PlatformIncomeRecordService.java
  46. 27 0
      src/main/java/com/izouma/awesomeadmin/service/PlayerInfoService.java
  47. 27 0
      src/main/java/com/izouma/awesomeadmin/service/RechargeRecordService.java
  48. 27 0
      src/main/java/com/izouma/awesomeadmin/service/SystemNoticeService.java
  49. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/BannerInfoServiceImpl.java
  50. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/BonusRecordServiceImpl.java
  51. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/CompetitionSeasonServiceImpl.java
  52. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/GameInfoServiceImpl.java
  53. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/HouseInfoServiceImpl.java
  54. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/HouseLevelServiceImpl.java
  55. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/MemberCoinServiceImpl.java
  56. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/MemberCoinTixianServiceImpl.java
  57. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/PlatformIncomeRecordServiceImpl.java
  58. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/PlayerInfoServiceImpl.java
  59. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/RechargeRecordServiceImpl.java
  60. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/SystemNoticeServiceImpl.java
  61. 165 0
      src/main/java/com/izouma/awesomeadmin/web/BannerInfoController.java
  62. 166 0
      src/main/java/com/izouma/awesomeadmin/web/BonusRecordController.java
  63. 165 0
      src/main/java/com/izouma/awesomeadmin/web/CompetitionSeasonController.java
  64. 163 0
      src/main/java/com/izouma/awesomeadmin/web/GameInfoController.java
  65. 178 0
      src/main/java/com/izouma/awesomeadmin/web/HouseInfoController.java
  66. 169 0
      src/main/java/com/izouma/awesomeadmin/web/HouseLevelController.java
  67. 166 0
      src/main/java/com/izouma/awesomeadmin/web/MemberCoinController.java
  68. 172 0
      src/main/java/com/izouma/awesomeadmin/web/MemberCoinTixianController.java
  69. 165 0
      src/main/java/com/izouma/awesomeadmin/web/PlatformIncomeRecordController.java
  70. 177 0
      src/main/java/com/izouma/awesomeadmin/web/PlayerInfoController.java
  71. 164 0
      src/main/java/com/izouma/awesomeadmin/web/RechargeRecordController.java
  72. 166 0
      src/main/java/com/izouma/awesomeadmin/web/SystemNoticeController.java
  73. 126 0
      src/main/vue/src/pages/BannerInfo.vue
  74. 539 0
      src/main/vue/src/pages/BannerInfos.vue
  75. 129 0
      src/main/vue/src/pages/BonusRecord.vue
  76. 535 0
      src/main/vue/src/pages/BonusRecords.vue
  77. 168 0
      src/main/vue/src/pages/CompetitionSeason.vue
  78. 537 0
      src/main/vue/src/pages/CompetitionSeasons.vue
  79. 141 0
      src/main/vue/src/pages/GameInfo.vue
  80. 507 0
      src/main/vue/src/pages/GameInfos.vue
  81. 1 1
      src/main/vue/src/pages/GenCode.vue
  82. 282 0
      src/main/vue/src/pages/HouseInfo.vue
  83. 749 0
      src/main/vue/src/pages/HouseInfos.vue
  84. 150 0
      src/main/vue/src/pages/HouseLevel.vue
  85. 603 0
      src/main/vue/src/pages/HouseLevels.vue
  86. 129 0
      src/main/vue/src/pages/MemberCoin.vue
  87. 147 0
      src/main/vue/src/pages/MemberCoinTixian.vue
  88. 647 0
      src/main/vue/src/pages/MemberCoinTixians.vue
  89. 535 0
      src/main/vue/src/pages/MemberCoins.vue
  90. 126 0
      src/main/vue/src/pages/PlatformIncomeRecord.vue
  91. 552 0
      src/main/vue/src/pages/PlatformIncomeRecords.vue
  92. 202 0
      src/main/vue/src/pages/PlayerInfo.vue
  93. 735 0
      src/main/vue/src/pages/PlayerInfos.vue
  94. 123 0
      src/main/vue/src/pages/RechargeRecord.vue
  95. 519 0
      src/main/vue/src/pages/RechargeRecords.vue
  96. 129 0
      src/main/vue/src/pages/SystemNotice.vue
  97. 551 0
      src/main/vue/src/pages/SystemNotices.vue
  98. 120 0
      src/main/vue/src/router/index.js

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/BannerInfoMapper.java

@@ -0,0 +1,33 @@
+package com.izouma.awesomeadmin.dao;
+
+import java.util.*;
+import com.izouma.awesomeadmin.datasource.DataSource;
+import org.springframework.stereotype.Repository;
+import com.izouma.awesomeadmin.model.BannerInfo;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.BannerInfoMapper")
+public interface BannerInfoMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(BannerInfo record);
+
+    BannerInfo selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(BannerInfo record);
+
+    List<BannerInfo> queryAllBannerInfo(BannerInfo record);
+
+    List<BannerInfo> queryBannerInfoByPage(Map<String, Object> parameter);
+
+    int delete(BannerInfo record);
+
+    BannerInfo queryBannerInfo(BannerInfo record);
+
+    List<BannerInfo> query(BannerInfo record);
+}
+

+ 505 - 0
src/main/java/com/izouma/awesomeadmin/dao/BannerInfoMapper.xml

@@ -0,0 +1,505 @@
+<?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.izouma.awesomeadmin.dao.BannerInfoMapper" >
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.BannerInfo" >
+                <id column="id" property="id" jdbcType="INTEGER" />
+                                        <result column="del_flag" property="delFlag" jdbcType="CHAR" />
+                                <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
+                                <result column="update_user" property="updateUser" jdbcType="VARCHAR" />
+                                <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
+                                <result column="create_user" property="createUser" jdbcType="VARCHAR" />
+                                <result column="location" property="location" jdbcType="VARCHAR" />
+                                <result column="title" property="title" jdbcType="VARCHAR" />
+                                <result column="subtitle" property="subtitle" jdbcType="VARCHAR" />
+                                <result column="url" property="url" jdbcType="VARCHAR" />
+                                <result column="image_url" property="imageUrl" jdbcType="VARCHAR" />
+                                <result column="remark" property="remark" jdbcType="VARCHAR" />
+                                <result column="rank" property="rank" jdbcType="INTEGER" />
+                                <result column="type_flag" property="typeFlag" jdbcType="INTEGER" />
+            </resultMap>
+    <sql id="Base_Column_List" >
+        <trim  suffixOverrides="," >
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            location,
+
+            title,
+
+            subtitle,
+
+            url,
+
+            image_url,
+
+            remark,
+
+            rank,
+
+            type_flag,
+
+            </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+        select
+        <include refid="Base_Column_List" />
+        from banner_info
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+        delete from banner_info
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.BannerInfo" useGeneratedKeys="true" keyProperty="id">
+        insert into banner_info
+        <trim prefix="(" suffix=")" suffixOverrides="," >
+                <if test="id!= null" >
+                id,
+            </if>
+                <if test="delFlag!= null" >
+                del_flag,
+            </if>
+                <if test="updateTime!= null" >
+                update_time,
+            </if>
+                <if test="updateUser!= null" >
+                update_user,
+            </if>
+                <if test="createTime!= null" >
+                create_time,
+            </if>
+                <if test="createUser!= null" >
+                create_user,
+            </if>
+                <if test="location!= null" >
+                location,
+            </if>
+                <if test="title!= null" >
+                title,
+            </if>
+                <if test="subtitle!= null" >
+                subtitle,
+            </if>
+                <if test="url!= null" >
+                url,
+            </if>
+                <if test="imageUrl!= null" >
+                image_url,
+            </if>
+                <if test="remark!= null" >
+                remark,
+            </if>
+                <if test="rank!= null" >
+                rank,
+            </if>
+                <if test="typeFlag!= null" >
+                type_flag,
+            </if>
+            </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides="," >
+                    <if test="id != null" >
+                #{id,jdbcType=INTEGER},
+            </if>
+                    <if test="delFlag != null" >
+                #{delFlag,jdbcType=CHAR},
+            </if>
+                    <if test="updateTime != null" >
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+                    <if test="updateUser != null" >
+                #{updateUser,jdbcType=VARCHAR},
+            </if>
+                    <if test="createTime != null" >
+                #{createTime,jdbcType=TIMESTAMP},
+            </if>
+                    <if test="createUser != null" >
+                #{createUser,jdbcType=VARCHAR},
+            </if>
+                    <if test="location != null" >
+                #{location,jdbcType=VARCHAR},
+            </if>
+                    <if test="title != null" >
+                #{title,jdbcType=VARCHAR},
+            </if>
+                    <if test="subtitle != null" >
+                #{subtitle,jdbcType=VARCHAR},
+            </if>
+                    <if test="url != null" >
+                #{url,jdbcType=VARCHAR},
+            </if>
+                    <if test="imageUrl != null" >
+                #{imageUrl,jdbcType=VARCHAR},
+            </if>
+                    <if test="remark != null" >
+                #{remark,jdbcType=VARCHAR},
+            </if>
+                    <if test="rank != null" >
+                #{rank,jdbcType=INTEGER},
+            </if>
+                    <if test="typeFlag != null" >
+                #{typeFlag,jdbcType=INTEGER},
+            </if>
+                </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.BannerInfo" >
+        update banner_info
+        <set >
+                    <if test="id != null" >
+               id= #{id,jdbcType=INTEGER},
+            </if>
+                     <if test="delFlag != null" >
+               del_flag= #{delFlag,jdbcType=CHAR},
+            </if>
+                     <if test="updateTime != null" >
+               update_time= #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+                     <if test="updateUser != null" >
+               update_user= #{updateUser,jdbcType=VARCHAR},
+            </if>
+                     <if test="createTime != null" >
+               create_time= #{createTime,jdbcType=TIMESTAMP},
+            </if>
+                     <if test="createUser != null" >
+               create_user= #{createUser,jdbcType=VARCHAR},
+            </if>
+                     <if test="location != null" >
+               location= #{location,jdbcType=VARCHAR},
+            </if>
+                     <if test="title != null" >
+               title= #{title,jdbcType=VARCHAR},
+            </if>
+                     <if test="subtitle != null" >
+               subtitle= #{subtitle,jdbcType=VARCHAR},
+            </if>
+                     <if test="url != null" >
+               url= #{url,jdbcType=VARCHAR},
+            </if>
+                     <if test="imageUrl != null" >
+               image_url= #{imageUrl,jdbcType=VARCHAR},
+            </if>
+                     <if test="remark != null" >
+               remark= #{remark,jdbcType=VARCHAR},
+            </if>
+                     <if test="rank != null" >
+               rank= #{rank,jdbcType=INTEGER},
+            </if>
+                     <if test="typeFlag != null" >
+               type_flag= #{typeFlag,jdbcType=INTEGER},
+            </if>
+                 </set>
+        where
+        <if test="id != null and !&quot;&quot;.equals(id)">
+            id = #{id,jdbcType=INTEGER}
+        </if>
+
+        <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+            id in (${idStr})
+        </if>
+
+    </update>
+    <select id="queryBannerInfoByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.BannerInfo">
+        select <include refid="Base_Column_List"/> from banner_info
+        <where>
+            and del_flag = 'N'
+            <if test="record.idStr != null and !&quot;&quot;.equals(record.idStr)">
+                and id in (${record.idStr})
+            </if>
+                    <if test="record.id != null and !&quot;&quot;.equals(record.id)">
+                and  id = #{record.id}
+            </if>
+                     <if test="record.delFlag != null and !&quot;&quot;.equals(record.delFlag)">
+                and  del_flag = #{record.delFlag}
+            </if>
+                     <if test="record.updateTime != null and !&quot;&quot;.equals(record.updateTime)">
+                and  update_time = #{record.updateTime}
+            </if>
+                     <if test="record.updateUser != null and !&quot;&quot;.equals(record.updateUser)">
+                and  update_user = #{record.updateUser}
+            </if>
+                     <if test="record.createTime != null and !&quot;&quot;.equals(record.createTime)">
+                and  create_time = #{record.createTime}
+            </if>
+                     <if test="record.createUser != null and !&quot;&quot;.equals(record.createUser)">
+                and  create_user = #{record.createUser}
+            </if>
+                     <if test="record.location != null and !&quot;&quot;.equals(record.location)">
+                and  location = #{record.location}
+            </if>
+                     <if test="record.title != null and !&quot;&quot;.equals(record.title)">
+                and  title = #{record.title}
+            </if>
+                     <if test="record.subtitle != null and !&quot;&quot;.equals(record.subtitle)">
+                and  subtitle = #{record.subtitle}
+            </if>
+                     <if test="record.url != null and !&quot;&quot;.equals(record.url)">
+                and  url = #{record.url}
+            </if>
+                     <if test="record.imageUrl != null and !&quot;&quot;.equals(record.imageUrl)">
+                and  image_url = #{record.imageUrl}
+            </if>
+                     <if test="record.remark != null and !&quot;&quot;.equals(record.remark)">
+                and  remark = #{record.remark}
+            </if>
+                     <if test="record.rank != null and !&quot;&quot;.equals(record.rank)">
+                and  rank = #{record.rank}
+            </if>
+                     <if test="record.typeFlag != null and !&quot;&quot;.equals(record.typeFlag)">
+                and  type_flag = #{record.typeFlag}
+            </if>
+                  <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+             <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                    OR  location LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  title LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  subtitle LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  url LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  image_url LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  remark LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  rank LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  type_flag LIKE concat('%',#{record.searchKey},'%')
+                                                             </trim>
+         </if>
+
+            <if test="record.advancedQuery != null and !&quot;&quot;.equals(record.advancedQuery)">
+                <foreach item="item" index="index" collection="record.advancedQuery.split('_;')">
+                    <choose>
+                        <when test="item.indexOf('like') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    concat('%',#{itemDetail},'%')
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </otherwise>
+                    </choose>
+
+
+                </foreach>
+
+
+            </if>
+
+        </where>
+        order by
+
+        <if test="record.orderByStr != null and !&quot;&quot;.equals(record.orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="record.orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+        id desc
+    </select>
+    <select id="queryAllBannerInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.BannerInfo">
+        select <include refid="Base_Column_List"/> from banner_info
+        <where>
+            and del_flag = 'N'
+            <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+                and id in (${idStr})
+            </if>
+                    <if test="id != null and !&quot;&quot;.equals(id)">
+                and  id = #{id}
+            </if>
+                    <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and  del_flag = #{delFlag}
+            </if>
+                    <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and  update_time = #{updateTime}
+            </if>
+                    <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and  update_user = #{updateUser}
+            </if>
+                    <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and  create_time = #{createTime}
+            </if>
+                    <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and  create_user = #{createUser}
+            </if>
+                    <if test="location != null and !&quot;&quot;.equals(location)">
+                and  location = #{location}
+            </if>
+                    <if test="title != null and !&quot;&quot;.equals(title)">
+                and  title = #{title}
+            </if>
+                    <if test="subtitle != null and !&quot;&quot;.equals(subtitle)">
+                and  subtitle = #{subtitle}
+            </if>
+                    <if test="url != null and !&quot;&quot;.equals(url)">
+                and  url = #{url}
+            </if>
+                    <if test="imageUrl != null and !&quot;&quot;.equals(imageUrl)">
+                and  image_url = #{imageUrl}
+            </if>
+                    <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and  remark = #{remark}
+            </if>
+                    <if test="rank != null and !&quot;&quot;.equals(rank)">
+                and  rank = #{rank}
+            </if>
+                    <if test="typeFlag != null and !&quot;&quot;.equals(typeFlag)">
+                and  type_flag = #{typeFlag}
+            </if>
+                    <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                OR  location LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  title LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  subtitle LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  url LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  image_url LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  remark LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  rank LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  type_flag LIKE concat('%',#{searchKey},'%')
+                                                                                        </trim>
+            </if>
+<if test="advancedQuery != null and !&quot;&quot;.equals(advancedQuery)">
+    <foreach item="item" index="index" collection="advancedQuery.split('_;')">
+        <choose>
+            <when test="item.indexOf('like') != -1">
+                <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                    <if test="detailIndex == 3">
+                        concat('%',#{itemDetail},'%')
+                    </if>
+
+                    <if test="detailIndex &lt; 3">
+                        ${itemDetail}
+                    </if>
+
+                </foreach>
+            </when>
+            <otherwise>
+                <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                    <if test="detailIndex == 3">
+                        #{itemDetail}
+                    </if>
+
+                    <if test="detailIndex &lt; 3">
+                        ${itemDetail}
+                    </if>
+
+                </foreach>
+            </otherwise>
+        </choose>
+
+
+    </foreach>
+
+
+</if>
+        </where>
+        order by
+
+        <if test="orderByStr != null and !&quot;&quot;.equals(orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+
+        id desc
+    </select>
+    <select id="queryBannerInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.BannerInfo">
+        select <include refid="Base_Column_List"/> from banner_info
+        <where>
+            and del_flag = 'N'
+                    <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+                     <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+                     <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+                     <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+                     <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+                     <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+                     <if test="location != null and !&quot;&quot;.equals(location)">
+                and location = #{location}
+            </if>
+                     <if test="title != null and !&quot;&quot;.equals(title)">
+                and title = #{title}
+            </if>
+                     <if test="subtitle != null and !&quot;&quot;.equals(subtitle)">
+                and subtitle = #{subtitle}
+            </if>
+                     <if test="url != null and !&quot;&quot;.equals(url)">
+                and url = #{url}
+            </if>
+                     <if test="imageUrl != null and !&quot;&quot;.equals(imageUrl)">
+                and image_url = #{imageUrl}
+            </if>
+                     <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and remark = #{remark}
+            </if>
+                     <if test="rank != null and !&quot;&quot;.equals(rank)">
+                and rank = #{rank}
+            </if>
+                     <if test="typeFlag != null and !&quot;&quot;.equals(typeFlag)">
+                and type_flag = #{typeFlag}
+            </if>
+         
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE banner_info SET del_flag = 'Y'
+        where
+        <if test="id != null and !&quot;&quot;.equals(id)">
+            id = #{id,jdbcType=INTEGER}
+        </if>
+
+        <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+            id in (${idStr})
+        </if>
+    </update>
+    <select id="query" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.BannerInfo">
+        select <include refid="Base_Column_List"/> from banner_info
+        <where>
+            and del_flag = 'N'
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </where>
+        order by id desc
+    </select>
+</mapper>
+

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/BonusRecordMapper.java

@@ -0,0 +1,33 @@
+package com.izouma.awesomeadmin.dao;
+
+import java.util.*;
+import com.izouma.awesomeadmin.datasource.DataSource;
+import org.springframework.stereotype.Repository;
+import com.izouma.awesomeadmin.model.BonusRecord;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.BonusRecordMapper")
+public interface BonusRecordMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(BonusRecord record);
+
+    BonusRecord selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(BonusRecord record);
+
+    List<BonusRecord> queryAllBonusRecord(BonusRecord record);
+
+    List<BonusRecord> queryBonusRecordByPage(Map<String, Object> parameter);
+
+    int delete(BonusRecord record);
+
+    BonusRecord queryBonusRecord(BonusRecord record);
+
+    List<BonusRecord> query(BonusRecord record);
+}
+

File diff suppressed because it is too large
+ 523 - 0
src/main/java/com/izouma/awesomeadmin/dao/BonusRecordMapper.xml


+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/CompetitionSeasonMapper.java

@@ -0,0 +1,33 @@
+package com.izouma.awesomeadmin.dao;
+
+import java.util.*;
+import com.izouma.awesomeadmin.datasource.DataSource;
+import org.springframework.stereotype.Repository;
+import com.izouma.awesomeadmin.model.CompetitionSeason;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.CompetitionSeasonMapper")
+public interface CompetitionSeasonMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(CompetitionSeason record);
+
+    CompetitionSeason selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(CompetitionSeason record);
+
+    List<CompetitionSeason> queryAllCompetitionSeason(CompetitionSeason record);
+
+    List<CompetitionSeason> queryCompetitionSeasonByPage(Map<String, Object> parameter);
+
+    int delete(CompetitionSeason record);
+
+    CompetitionSeason queryCompetitionSeason(CompetitionSeason record);
+
+    List<CompetitionSeason> query(CompetitionSeason record);
+}
+

+ 505 - 0
src/main/java/com/izouma/awesomeadmin/dao/CompetitionSeasonMapper.xml

@@ -0,0 +1,505 @@
+<?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.izouma.awesomeadmin.dao.CompetitionSeasonMapper" >
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.CompetitionSeason" >
+                <id column="id" property="id" jdbcType="INTEGER" />
+                                        <result column="del_flag" property="delFlag" jdbcType="CHAR" />
+                                <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
+                                <result column="update_user" property="updateUser" jdbcType="VARCHAR" />
+                                <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
+                                <result column="create_user" property="createUser" jdbcType="VARCHAR" />
+                                <result column="season" property="season" jdbcType="VARCHAR" />
+                                <result column="short_name" property="shortName" jdbcType="VARCHAR" />
+                                <result column="begin_time" property="beginTime" jdbcType="TIMESTAMP" />
+                                <result column="end_time" property="endTime" jdbcType="TIMESTAMP" />
+                                <result column="bonus" property="bonus" jdbcType="DECIMAL" />
+                                <result column="remark" property="remark" jdbcType="VARCHAR" />
+                                <result column="rank" property="rank" jdbcType="INTEGER" />
+                                <result column="status_flag" property="statusFlag" jdbcType="INTEGER" />
+            </resultMap>
+    <sql id="Base_Column_List" >
+        <trim  suffixOverrides="," >
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            season,
+
+            short_name,
+
+            begin_time,
+
+            end_time,
+
+            bonus,
+
+            remark,
+
+            rank,
+
+            status_flag,
+
+            </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+        select
+        <include refid="Base_Column_List" />
+        from competition_season
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+        delete from competition_season
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.CompetitionSeason" useGeneratedKeys="true" keyProperty="id">
+        insert into competition_season
+        <trim prefix="(" suffix=")" suffixOverrides="," >
+                <if test="id!= null" >
+                id,
+            </if>
+                <if test="delFlag!= null" >
+                del_flag,
+            </if>
+                <if test="updateTime!= null" >
+                update_time,
+            </if>
+                <if test="updateUser!= null" >
+                update_user,
+            </if>
+                <if test="createTime!= null" >
+                create_time,
+            </if>
+                <if test="createUser!= null" >
+                create_user,
+            </if>
+                <if test="season!= null" >
+                season,
+            </if>
+                <if test="shortName!= null" >
+                short_name,
+            </if>
+                <if test="beginTime!= null" >
+                begin_time,
+            </if>
+                <if test="endTime!= null" >
+                end_time,
+            </if>
+                <if test="bonus!= null" >
+                bonus,
+            </if>
+                <if test="remark!= null" >
+                remark,
+            </if>
+                <if test="rank!= null" >
+                rank,
+            </if>
+                <if test="statusFlag!= null" >
+                status_flag,
+            </if>
+            </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides="," >
+                    <if test="id != null" >
+                #{id,jdbcType=INTEGER},
+            </if>
+                    <if test="delFlag != null" >
+                #{delFlag,jdbcType=CHAR},
+            </if>
+                    <if test="updateTime != null" >
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+                    <if test="updateUser != null" >
+                #{updateUser,jdbcType=VARCHAR},
+            </if>
+                    <if test="createTime != null" >
+                #{createTime,jdbcType=TIMESTAMP},
+            </if>
+                    <if test="createUser != null" >
+                #{createUser,jdbcType=VARCHAR},
+            </if>
+                    <if test="season != null" >
+                #{season,jdbcType=VARCHAR},
+            </if>
+                    <if test="shortName != null" >
+                #{shortName,jdbcType=VARCHAR},
+            </if>
+                    <if test="beginTime != null" >
+                #{beginTime,jdbcType=TIMESTAMP},
+            </if>
+                    <if test="endTime != null" >
+                #{endTime,jdbcType=TIMESTAMP},
+            </if>
+                    <if test="bonus != null" >
+                #{bonus,jdbcType=DECIMAL},
+            </if>
+                    <if test="remark != null" >
+                #{remark,jdbcType=VARCHAR},
+            </if>
+                    <if test="rank != null" >
+                #{rank,jdbcType=INTEGER},
+            </if>
+                    <if test="statusFlag != null" >
+                #{statusFlag,jdbcType=INTEGER},
+            </if>
+                </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.CompetitionSeason" >
+        update competition_season
+        <set >
+                    <if test="id != null" >
+               id= #{id,jdbcType=INTEGER},
+            </if>
+                     <if test="delFlag != null" >
+               del_flag= #{delFlag,jdbcType=CHAR},
+            </if>
+                     <if test="updateTime != null" >
+               update_time= #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+                     <if test="updateUser != null" >
+               update_user= #{updateUser,jdbcType=VARCHAR},
+            </if>
+                     <if test="createTime != null" >
+               create_time= #{createTime,jdbcType=TIMESTAMP},
+            </if>
+                     <if test="createUser != null" >
+               create_user= #{createUser,jdbcType=VARCHAR},
+            </if>
+                     <if test="season != null" >
+               season= #{season,jdbcType=VARCHAR},
+            </if>
+                     <if test="shortName != null" >
+               short_name= #{shortName,jdbcType=VARCHAR},
+            </if>
+                     <if test="beginTime != null" >
+               begin_time= #{beginTime,jdbcType=TIMESTAMP},
+            </if>
+                     <if test="endTime != null" >
+               end_time= #{endTime,jdbcType=TIMESTAMP},
+            </if>
+                     <if test="bonus != null" >
+               bonus= #{bonus,jdbcType=DECIMAL},
+            </if>
+                     <if test="remark != null" >
+               remark= #{remark,jdbcType=VARCHAR},
+            </if>
+                     <if test="rank != null" >
+               rank= #{rank,jdbcType=INTEGER},
+            </if>
+                     <if test="statusFlag != null" >
+               status_flag= #{statusFlag,jdbcType=INTEGER},
+            </if>
+                 </set>
+        where
+        <if test="id != null and !&quot;&quot;.equals(id)">
+            id = #{id,jdbcType=INTEGER}
+        </if>
+
+        <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+            id in (${idStr})
+        </if>
+
+    </update>
+    <select id="queryCompetitionSeasonByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.CompetitionSeason">
+        select <include refid="Base_Column_List"/> from competition_season
+        <where>
+            and del_flag = 'N'
+            <if test="record.idStr != null and !&quot;&quot;.equals(record.idStr)">
+                and id in (${record.idStr})
+            </if>
+                    <if test="record.id != null and !&quot;&quot;.equals(record.id)">
+                and  id = #{record.id}
+            </if>
+                     <if test="record.delFlag != null and !&quot;&quot;.equals(record.delFlag)">
+                and  del_flag = #{record.delFlag}
+            </if>
+                     <if test="record.updateTime != null and !&quot;&quot;.equals(record.updateTime)">
+                and  update_time = #{record.updateTime}
+            </if>
+                     <if test="record.updateUser != null and !&quot;&quot;.equals(record.updateUser)">
+                and  update_user = #{record.updateUser}
+            </if>
+                     <if test="record.createTime != null and !&quot;&quot;.equals(record.createTime)">
+                and  create_time = #{record.createTime}
+            </if>
+                     <if test="record.createUser != null and !&quot;&quot;.equals(record.createUser)">
+                and  create_user = #{record.createUser}
+            </if>
+                     <if test="record.season != null and !&quot;&quot;.equals(record.season)">
+                and  season = #{record.season}
+            </if>
+                     <if test="record.shortName != null and !&quot;&quot;.equals(record.shortName)">
+                and  short_name = #{record.shortName}
+            </if>
+                     <if test="record.beginTime != null and !&quot;&quot;.equals(record.beginTime)">
+                and  begin_time = #{record.beginTime}
+            </if>
+                     <if test="record.endTime != null and !&quot;&quot;.equals(record.endTime)">
+                and  end_time = #{record.endTime}
+            </if>
+                     <if test="record.bonus != null and !&quot;&quot;.equals(record.bonus)">
+                and  bonus = #{record.bonus}
+            </if>
+                     <if test="record.remark != null and !&quot;&quot;.equals(record.remark)">
+                and  remark = #{record.remark}
+            </if>
+                     <if test="record.rank != null and !&quot;&quot;.equals(record.rank)">
+                and  rank = #{record.rank}
+            </if>
+                     <if test="record.statusFlag != null and !&quot;&quot;.equals(record.statusFlag)">
+                and  status_flag = #{record.statusFlag}
+            </if>
+                  <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+             <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                    OR  season LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  short_name LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  begin_time LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  end_time LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  bonus LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  remark LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  rank LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  status_flag LIKE concat('%',#{record.searchKey},'%')
+                                                             </trim>
+         </if>
+
+            <if test="record.advancedQuery != null and !&quot;&quot;.equals(record.advancedQuery)">
+                <foreach item="item" index="index" collection="record.advancedQuery.split('_;')">
+                    <choose>
+                        <when test="item.indexOf('like') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    concat('%',#{itemDetail},'%')
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </otherwise>
+                    </choose>
+
+
+                </foreach>
+
+
+            </if>
+
+        </where>
+        order by
+
+        <if test="record.orderByStr != null and !&quot;&quot;.equals(record.orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="record.orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+        id desc
+    </select>
+    <select id="queryAllCompetitionSeason" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.CompetitionSeason">
+        select <include refid="Base_Column_List"/> from competition_season
+        <where>
+            and del_flag = 'N'
+            <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+                and id in (${idStr})
+            </if>
+                    <if test="id != null and !&quot;&quot;.equals(id)">
+                and  id = #{id}
+            </if>
+                    <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and  del_flag = #{delFlag}
+            </if>
+                    <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and  update_time = #{updateTime}
+            </if>
+                    <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and  update_user = #{updateUser}
+            </if>
+                    <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and  create_time = #{createTime}
+            </if>
+                    <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and  create_user = #{createUser}
+            </if>
+                    <if test="season != null and !&quot;&quot;.equals(season)">
+                and  season = #{season}
+            </if>
+                    <if test="shortName != null and !&quot;&quot;.equals(shortName)">
+                and  short_name = #{shortName}
+            </if>
+                    <if test="beginTime != null and !&quot;&quot;.equals(beginTime)">
+                and  begin_time = #{beginTime}
+            </if>
+                    <if test="endTime != null and !&quot;&quot;.equals(endTime)">
+                and  end_time = #{endTime}
+            </if>
+                    <if test="bonus != null and !&quot;&quot;.equals(bonus)">
+                and  bonus = #{bonus}
+            </if>
+                    <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and  remark = #{remark}
+            </if>
+                    <if test="rank != null and !&quot;&quot;.equals(rank)">
+                and  rank = #{rank}
+            </if>
+                    <if test="statusFlag != null and !&quot;&quot;.equals(statusFlag)">
+                and  status_flag = #{statusFlag}
+            </if>
+                    <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                OR  season LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  short_name LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  begin_time LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  end_time LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  bonus LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  remark LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  rank LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  status_flag LIKE concat('%',#{searchKey},'%')
+                                                                                        </trim>
+            </if>
+<if test="advancedQuery != null and !&quot;&quot;.equals(advancedQuery)">
+    <foreach item="item" index="index" collection="advancedQuery.split('_;')">
+        <choose>
+            <when test="item.indexOf('like') != -1">
+                <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                    <if test="detailIndex == 3">
+                        concat('%',#{itemDetail},'%')
+                    </if>
+
+                    <if test="detailIndex &lt; 3">
+                        ${itemDetail}
+                    </if>
+
+                </foreach>
+            </when>
+            <otherwise>
+                <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                    <if test="detailIndex == 3">
+                        #{itemDetail}
+                    </if>
+
+                    <if test="detailIndex &lt; 3">
+                        ${itemDetail}
+                    </if>
+
+                </foreach>
+            </otherwise>
+        </choose>
+
+
+    </foreach>
+
+
+</if>
+        </where>
+        order by
+
+        <if test="orderByStr != null and !&quot;&quot;.equals(orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+
+        id desc
+    </select>
+    <select id="queryCompetitionSeason" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.CompetitionSeason">
+        select <include refid="Base_Column_List"/> from competition_season
+        <where>
+            and del_flag = 'N'
+                    <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+                     <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+                     <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+                     <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+                     <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+                     <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+                     <if test="season != null and !&quot;&quot;.equals(season)">
+                and season = #{season}
+            </if>
+                     <if test="shortName != null and !&quot;&quot;.equals(shortName)">
+                and short_name = #{shortName}
+            </if>
+                     <if test="beginTime != null and !&quot;&quot;.equals(beginTime)">
+                and begin_time = #{beginTime}
+            </if>
+                     <if test="endTime != null and !&quot;&quot;.equals(endTime)">
+                and end_time = #{endTime}
+            </if>
+                     <if test="bonus != null and !&quot;&quot;.equals(bonus)">
+                and bonus = #{bonus}
+            </if>
+                     <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and remark = #{remark}
+            </if>
+                     <if test="rank != null and !&quot;&quot;.equals(rank)">
+                and rank = #{rank}
+            </if>
+                     <if test="statusFlag != null and !&quot;&quot;.equals(statusFlag)">
+                and status_flag = #{statusFlag}
+            </if>
+         
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE competition_season SET del_flag = 'Y'
+        where
+        <if test="id != null and !&quot;&quot;.equals(id)">
+            id = #{id,jdbcType=INTEGER}
+        </if>
+
+        <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+            id in (${idStr})
+        </if>
+    </update>
+    <select id="query" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.CompetitionSeason">
+        select <include refid="Base_Column_List"/> from competition_season
+        <where>
+            and del_flag = 'N'
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </where>
+        order by id desc
+    </select>
+</mapper>
+

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/GameInfoMapper.java

@@ -0,0 +1,33 @@
+package com.izouma.awesomeadmin.dao;
+
+import java.util.*;
+import com.izouma.awesomeadmin.datasource.DataSource;
+import org.springframework.stereotype.Repository;
+import com.izouma.awesomeadmin.model.GameInfo;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.GameInfoMapper")
+public interface GameInfoMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(GameInfo record);
+
+    GameInfo selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(GameInfo record);
+
+    List<GameInfo> queryAllGameInfo(GameInfo record);
+
+    List<GameInfo> queryGameInfoByPage(Map<String, Object> parameter);
+
+    int delete(GameInfo record);
+
+    GameInfo queryGameInfo(GameInfo record);
+
+    List<GameInfo> query(GameInfo record);
+}
+

+ 459 - 0
src/main/java/com/izouma/awesomeadmin/dao/GameInfoMapper.xml

@@ -0,0 +1,459 @@
+<?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.izouma.awesomeadmin.dao.GameInfoMapper" >
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.GameInfo" >
+                <id column="id" property="id" jdbcType="INTEGER" />
+                                        <result column="del_flag" property="delFlag" jdbcType="CHAR" />
+                                <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
+                                <result column="update_user" property="updateUser" jdbcType="VARCHAR" />
+                                <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
+                                <result column="create_user" property="createUser" jdbcType="VARCHAR" />
+                                <result column="game_name" property="gameName" jdbcType="VARCHAR" />
+                                <result column="type_flag" property="typeFlag" jdbcType="INTEGER" />
+                                <result column="icon" property="icon" jdbcType="VARCHAR" />
+                                <result column="rank" property="rank" jdbcType="INTEGER" />
+                                <result column="remark" property="remark" jdbcType="VARCHAR" />
+                                <result column="use_flag" property="useFlag" jdbcType="CHAR" />
+            </resultMap>
+    <sql id="Base_Column_List" >
+        <trim  suffixOverrides="," >
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            game_name,
+
+            type_flag,
+
+            icon,
+
+            rank,
+
+            remark,
+
+            use_flag,
+
+            </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+        select
+        <include refid="Base_Column_List" />
+        from game_info
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+        delete from game_info
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.GameInfo" useGeneratedKeys="true" keyProperty="id">
+        insert into game_info
+        <trim prefix="(" suffix=")" suffixOverrides="," >
+                <if test="id!= null" >
+                id,
+            </if>
+                <if test="delFlag!= null" >
+                del_flag,
+            </if>
+                <if test="updateTime!= null" >
+                update_time,
+            </if>
+                <if test="updateUser!= null" >
+                update_user,
+            </if>
+                <if test="createTime!= null" >
+                create_time,
+            </if>
+                <if test="createUser!= null" >
+                create_user,
+            </if>
+                <if test="gameName!= null" >
+                game_name,
+            </if>
+                <if test="typeFlag!= null" >
+                type_flag,
+            </if>
+                <if test="icon!= null" >
+                icon,
+            </if>
+                <if test="rank!= null" >
+                rank,
+            </if>
+                <if test="remark!= null" >
+                remark,
+            </if>
+                <if test="useFlag!= null" >
+                use_flag,
+            </if>
+            </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides="," >
+                    <if test="id != null" >
+                #{id,jdbcType=INTEGER},
+            </if>
+                    <if test="delFlag != null" >
+                #{delFlag,jdbcType=CHAR},
+            </if>
+                    <if test="updateTime != null" >
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+                    <if test="updateUser != null" >
+                #{updateUser,jdbcType=VARCHAR},
+            </if>
+                    <if test="createTime != null" >
+                #{createTime,jdbcType=TIMESTAMP},
+            </if>
+                    <if test="createUser != null" >
+                #{createUser,jdbcType=VARCHAR},
+            </if>
+                    <if test="gameName != null" >
+                #{gameName,jdbcType=VARCHAR},
+            </if>
+                    <if test="typeFlag != null" >
+                #{typeFlag,jdbcType=INTEGER},
+            </if>
+                    <if test="icon != null" >
+                #{icon,jdbcType=VARCHAR},
+            </if>
+                    <if test="rank != null" >
+                #{rank,jdbcType=INTEGER},
+            </if>
+                    <if test="remark != null" >
+                #{remark,jdbcType=VARCHAR},
+            </if>
+                    <if test="useFlag != null" >
+                #{useFlag,jdbcType=CHAR},
+            </if>
+                </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.GameInfo" >
+        update game_info
+        <set >
+                    <if test="id != null" >
+               id= #{id,jdbcType=INTEGER},
+            </if>
+                     <if test="delFlag != null" >
+               del_flag= #{delFlag,jdbcType=CHAR},
+            </if>
+                     <if test="updateTime != null" >
+               update_time= #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+                     <if test="updateUser != null" >
+               update_user= #{updateUser,jdbcType=VARCHAR},
+            </if>
+                     <if test="createTime != null" >
+               create_time= #{createTime,jdbcType=TIMESTAMP},
+            </if>
+                     <if test="createUser != null" >
+               create_user= #{createUser,jdbcType=VARCHAR},
+            </if>
+                     <if test="gameName != null" >
+               game_name= #{gameName,jdbcType=VARCHAR},
+            </if>
+                     <if test="typeFlag != null" >
+               type_flag= #{typeFlag,jdbcType=INTEGER},
+            </if>
+                     <if test="icon != null" >
+               icon= #{icon,jdbcType=VARCHAR},
+            </if>
+                     <if test="rank != null" >
+               rank= #{rank,jdbcType=INTEGER},
+            </if>
+                     <if test="remark != null" >
+               remark= #{remark,jdbcType=VARCHAR},
+            </if>
+                     <if test="useFlag != null" >
+               use_flag= #{useFlag,jdbcType=CHAR},
+            </if>
+                 </set>
+        where
+        <if test="id != null and !&quot;&quot;.equals(id)">
+            id = #{id,jdbcType=INTEGER}
+        </if>
+
+        <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+            id in (${idStr})
+        </if>
+
+    </update>
+    <select id="queryGameInfoByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.GameInfo">
+        select <include refid="Base_Column_List"/> from game_info
+        <where>
+            and del_flag = 'N'
+            <if test="record.idStr != null and !&quot;&quot;.equals(record.idStr)">
+                and id in (${record.idStr})
+            </if>
+                    <if test="record.id != null and !&quot;&quot;.equals(record.id)">
+                and  id = #{record.id}
+            </if>
+                     <if test="record.delFlag != null and !&quot;&quot;.equals(record.delFlag)">
+                and  del_flag = #{record.delFlag}
+            </if>
+                     <if test="record.updateTime != null and !&quot;&quot;.equals(record.updateTime)">
+                and  update_time = #{record.updateTime}
+            </if>
+                     <if test="record.updateUser != null and !&quot;&quot;.equals(record.updateUser)">
+                and  update_user = #{record.updateUser}
+            </if>
+                     <if test="record.createTime != null and !&quot;&quot;.equals(record.createTime)">
+                and  create_time = #{record.createTime}
+            </if>
+                     <if test="record.createUser != null and !&quot;&quot;.equals(record.createUser)">
+                and  create_user = #{record.createUser}
+            </if>
+                     <if test="record.gameName != null and !&quot;&quot;.equals(record.gameName)">
+                and  game_name = #{record.gameName}
+            </if>
+                     <if test="record.typeFlag != null and !&quot;&quot;.equals(record.typeFlag)">
+                and  type_flag = #{record.typeFlag}
+            </if>
+                     <if test="record.icon != null and !&quot;&quot;.equals(record.icon)">
+                and  icon = #{record.icon}
+            </if>
+                     <if test="record.rank != null and !&quot;&quot;.equals(record.rank)">
+                and  rank = #{record.rank}
+            </if>
+                     <if test="record.remark != null and !&quot;&quot;.equals(record.remark)">
+                and  remark = #{record.remark}
+            </if>
+                     <if test="record.useFlag != null and !&quot;&quot;.equals(record.useFlag)">
+                and  use_flag = #{record.useFlag}
+            </if>
+                  <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+             <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                    OR  game_name LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  type_flag LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  icon LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  rank LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  remark LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  use_flag LIKE concat('%',#{record.searchKey},'%')
+                                                             </trim>
+         </if>
+
+            <if test="record.advancedQuery != null and !&quot;&quot;.equals(record.advancedQuery)">
+                <foreach item="item" index="index" collection="record.advancedQuery.split('_;')">
+                    <choose>
+                        <when test="item.indexOf('like') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    concat('%',#{itemDetail},'%')
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </otherwise>
+                    </choose>
+
+
+                </foreach>
+
+
+            </if>
+
+        </where>
+        order by
+
+        <if test="record.orderByStr != null and !&quot;&quot;.equals(record.orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="record.orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+        id desc
+    </select>
+    <select id="queryAllGameInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.GameInfo">
+        select <include refid="Base_Column_List"/> from game_info
+        <where>
+            and del_flag = 'N'
+            <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+                and id in (${idStr})
+            </if>
+                    <if test="id != null and !&quot;&quot;.equals(id)">
+                and  id = #{id}
+            </if>
+                    <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and  del_flag = #{delFlag}
+            </if>
+                    <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and  update_time = #{updateTime}
+            </if>
+                    <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and  update_user = #{updateUser}
+            </if>
+                    <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and  create_time = #{createTime}
+            </if>
+                    <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and  create_user = #{createUser}
+            </if>
+                    <if test="gameName != null and !&quot;&quot;.equals(gameName)">
+                and  game_name = #{gameName}
+            </if>
+                    <if test="typeFlag != null and !&quot;&quot;.equals(typeFlag)">
+                and  type_flag = #{typeFlag}
+            </if>
+                    <if test="icon != null and !&quot;&quot;.equals(icon)">
+                and  icon = #{icon}
+            </if>
+                    <if test="rank != null and !&quot;&quot;.equals(rank)">
+                and  rank = #{rank}
+            </if>
+                    <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and  remark = #{remark}
+            </if>
+                    <if test="useFlag != null and !&quot;&quot;.equals(useFlag)">
+                and  use_flag = #{useFlag}
+            </if>
+                    <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                OR  game_name LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  type_flag LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  icon LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  rank LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  remark LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  use_flag LIKE concat('%',#{searchKey},'%')
+                                                                                        </trim>
+            </if>
+<if test="advancedQuery != null and !&quot;&quot;.equals(advancedQuery)">
+    <foreach item="item" index="index" collection="advancedQuery.split('_;')">
+        <choose>
+            <when test="item.indexOf('like') != -1">
+                <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                    <if test="detailIndex == 3">
+                        concat('%',#{itemDetail},'%')
+                    </if>
+
+                    <if test="detailIndex &lt; 3">
+                        ${itemDetail}
+                    </if>
+
+                </foreach>
+            </when>
+            <otherwise>
+                <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                    <if test="detailIndex == 3">
+                        #{itemDetail}
+                    </if>
+
+                    <if test="detailIndex &lt; 3">
+                        ${itemDetail}
+                    </if>
+
+                </foreach>
+            </otherwise>
+        </choose>
+
+
+    </foreach>
+
+
+</if>
+        </where>
+        order by
+
+        <if test="orderByStr != null and !&quot;&quot;.equals(orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+
+        id desc
+    </select>
+    <select id="queryGameInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.GameInfo">
+        select <include refid="Base_Column_List"/> from game_info
+        <where>
+            and del_flag = 'N'
+                    <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+                     <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+                     <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+                     <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+                     <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+                     <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+                     <if test="gameName != null and !&quot;&quot;.equals(gameName)">
+                and game_name = #{gameName}
+            </if>
+                     <if test="typeFlag != null and !&quot;&quot;.equals(typeFlag)">
+                and type_flag = #{typeFlag}
+            </if>
+                     <if test="icon != null and !&quot;&quot;.equals(icon)">
+                and icon = #{icon}
+            </if>
+                     <if test="rank != null and !&quot;&quot;.equals(rank)">
+                and rank = #{rank}
+            </if>
+                     <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and remark = #{remark}
+            </if>
+                     <if test="useFlag != null and !&quot;&quot;.equals(useFlag)">
+                and use_flag = #{useFlag}
+            </if>
+         
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE game_info SET del_flag = 'Y'
+        where
+        <if test="id != null and !&quot;&quot;.equals(id)">
+            id = #{id,jdbcType=INTEGER}
+        </if>
+
+        <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+            id in (${idStr})
+        </if>
+    </update>
+    <select id="query" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.GameInfo">
+        select <include refid="Base_Column_List"/> from game_info
+        <where>
+            and del_flag = 'N'
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </where>
+        order by id desc
+    </select>
+</mapper>
+

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/HouseInfoMapper.java

@@ -0,0 +1,33 @@
+package com.izouma.awesomeadmin.dao;
+
+import java.util.*;
+import com.izouma.awesomeadmin.datasource.DataSource;
+import org.springframework.stereotype.Repository;
+import com.izouma.awesomeadmin.model.HouseInfo;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.HouseInfoMapper")
+public interface HouseInfoMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(HouseInfo record);
+
+    HouseInfo selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(HouseInfo record);
+
+    List<HouseInfo> queryAllHouseInfo(HouseInfo record);
+
+    List<HouseInfo> queryHouseInfoByPage(Map<String, Object> parameter);
+
+    int delete(HouseInfo record);
+
+    HouseInfo queryHouseInfo(HouseInfo record);
+
+    List<HouseInfo> query(HouseInfo record);
+}
+

File diff suppressed because it is too large
+ 799 - 0
src/main/java/com/izouma/awesomeadmin/dao/HouseInfoMapper.xml


+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/HouseLevelMapper.java

@@ -0,0 +1,33 @@
+package com.izouma.awesomeadmin.dao;
+
+import java.util.*;
+import com.izouma.awesomeadmin.datasource.DataSource;
+import org.springframework.stereotype.Repository;
+import com.izouma.awesomeadmin.model.HouseLevel;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.HouseLevelMapper")
+public interface HouseLevelMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(HouseLevel record);
+
+    HouseLevel selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(HouseLevel record);
+
+    List<HouseLevel> queryAllHouseLevel(HouseLevel record);
+
+    List<HouseLevel> queryHouseLevelByPage(Map<String, Object> parameter);
+
+    int delete(HouseLevel record);
+
+    HouseLevel queryHouseLevel(HouseLevel record);
+
+    List<HouseLevel> query(HouseLevel record);
+}
+

File diff suppressed because it is too large
+ 592 - 0
src/main/java/com/izouma/awesomeadmin/dao/HouseLevelMapper.xml


+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/MemberCoinMapper.java

@@ -0,0 +1,33 @@
+package com.izouma.awesomeadmin.dao;
+
+import java.util.*;
+import com.izouma.awesomeadmin.datasource.DataSource;
+import org.springframework.stereotype.Repository;
+import com.izouma.awesomeadmin.model.MemberCoin;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.MemberCoinMapper")
+public interface MemberCoinMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(MemberCoin record);
+
+    MemberCoin selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(MemberCoin record);
+
+    List<MemberCoin> queryAllMemberCoin(MemberCoin record);
+
+    List<MemberCoin> queryMemberCoinByPage(Map<String, Object> parameter);
+
+    int delete(MemberCoin record);
+
+    MemberCoin queryMemberCoin(MemberCoin record);
+
+    List<MemberCoin> query(MemberCoin record);
+}
+

File diff suppressed because it is too large
+ 523 - 0
src/main/java/com/izouma/awesomeadmin/dao/MemberCoinMapper.xml


+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/MemberCoinTixianMapper.java

@@ -0,0 +1,33 @@
+package com.izouma.awesomeadmin.dao;
+
+import java.util.*;
+import com.izouma.awesomeadmin.datasource.DataSource;
+import org.springframework.stereotype.Repository;
+import com.izouma.awesomeadmin.model.MemberCoinTixian;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.MemberCoinTixianMapper")
+public interface MemberCoinTixianMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(MemberCoinTixian record);
+
+    MemberCoinTixian selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(MemberCoinTixian record);
+
+    List<MemberCoinTixian> queryAllMemberCoinTixian(MemberCoinTixian record);
+
+    List<MemberCoinTixian> queryMemberCoinTixianByPage(Map<String, Object> parameter);
+
+    int delete(MemberCoinTixian record);
+
+    MemberCoinTixian queryMemberCoinTixian(MemberCoinTixian record);
+
+    List<MemberCoinTixian> query(MemberCoinTixian record);
+}
+

File diff suppressed because it is too large
+ 661 - 0
src/main/java/com/izouma/awesomeadmin/dao/MemberCoinTixianMapper.xml


+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/PlatformIncomeRecordMapper.java

@@ -0,0 +1,33 @@
+package com.izouma.awesomeadmin.dao;
+
+import java.util.*;
+import com.izouma.awesomeadmin.datasource.DataSource;
+import org.springframework.stereotype.Repository;
+import com.izouma.awesomeadmin.model.PlatformIncomeRecord;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.PlatformIncomeRecordMapper")
+public interface PlatformIncomeRecordMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(PlatformIncomeRecord record);
+
+    PlatformIncomeRecord selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(PlatformIncomeRecord record);
+
+    List<PlatformIncomeRecord> queryAllPlatformIncomeRecord(PlatformIncomeRecord record);
+
+    List<PlatformIncomeRecord> queryPlatformIncomeRecordByPage(Map<String, Object> parameter);
+
+    int delete(PlatformIncomeRecord record);
+
+    PlatformIncomeRecord queryPlatformIncomeRecord(PlatformIncomeRecord record);
+
+    List<PlatformIncomeRecord> query(PlatformIncomeRecord record);
+}
+

+ 505 - 0
src/main/java/com/izouma/awesomeadmin/dao/PlatformIncomeRecordMapper.xml

@@ -0,0 +1,505 @@
+<?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.izouma.awesomeadmin.dao.PlatformIncomeRecordMapper" >
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.PlatformIncomeRecord" >
+                <id column="id" property="id" jdbcType="INTEGER" />
+                                        <result column="del_flag" property="delFlag" jdbcType="CHAR" />
+                                <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
+                                <result column="update_user" property="updateUser" jdbcType="VARCHAR" />
+                                <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
+                                <result column="create_user" property="createUser" jdbcType="VARCHAR" />
+                                <result column="game_id" property="gameId" jdbcType="INTEGER" />
+                                <result column="house_id" property="houseId" jdbcType="INTEGER" />
+                                <result column="user_id" property="userId" jdbcType="INTEGER" />
+                                <result column="remark" property="remark" jdbcType="VARCHAR" />
+                                <result column="money" property="money" jdbcType="DECIMAL" />
+                                <result column="status_flag" property="statusFlag" jdbcType="INTEGER" />
+                                <result column="season_id" property="seasonId" jdbcType="INTEGER" />
+                                <result column="player_id" property="playerId" jdbcType="INTEGER" />
+            </resultMap>
+    <sql id="Base_Column_List" >
+        <trim  suffixOverrides="," >
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            game_id,
+
+            house_id,
+
+            user_id,
+
+            remark,
+
+            money,
+
+            status_flag,
+
+            season_id,
+
+            player_id,
+
+            </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+        select
+        <include refid="Base_Column_List" />
+        from platform_income_record
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+        delete from platform_income_record
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.PlatformIncomeRecord" useGeneratedKeys="true" keyProperty="id">
+        insert into platform_income_record
+        <trim prefix="(" suffix=")" suffixOverrides="," >
+                <if test="id!= null" >
+                id,
+            </if>
+                <if test="delFlag!= null" >
+                del_flag,
+            </if>
+                <if test="updateTime!= null" >
+                update_time,
+            </if>
+                <if test="updateUser!= null" >
+                update_user,
+            </if>
+                <if test="createTime!= null" >
+                create_time,
+            </if>
+                <if test="createUser!= null" >
+                create_user,
+            </if>
+                <if test="gameId!= null" >
+                game_id,
+            </if>
+                <if test="houseId!= null" >
+                house_id,
+            </if>
+                <if test="userId!= null" >
+                user_id,
+            </if>
+                <if test="remark!= null" >
+                remark,
+            </if>
+                <if test="money!= null" >
+                money,
+            </if>
+                <if test="statusFlag!= null" >
+                status_flag,
+            </if>
+                <if test="seasonId!= null" >
+                season_id,
+            </if>
+                <if test="playerId!= null" >
+                player_id,
+            </if>
+            </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides="," >
+                    <if test="id != null" >
+                #{id,jdbcType=INTEGER},
+            </if>
+                    <if test="delFlag != null" >
+                #{delFlag,jdbcType=CHAR},
+            </if>
+                    <if test="updateTime != null" >
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+                    <if test="updateUser != null" >
+                #{updateUser,jdbcType=VARCHAR},
+            </if>
+                    <if test="createTime != null" >
+                #{createTime,jdbcType=TIMESTAMP},
+            </if>
+                    <if test="createUser != null" >
+                #{createUser,jdbcType=VARCHAR},
+            </if>
+                    <if test="gameId != null" >
+                #{gameId,jdbcType=INTEGER},
+            </if>
+                    <if test="houseId != null" >
+                #{houseId,jdbcType=INTEGER},
+            </if>
+                    <if test="userId != null" >
+                #{userId,jdbcType=INTEGER},
+            </if>
+                    <if test="remark != null" >
+                #{remark,jdbcType=VARCHAR},
+            </if>
+                    <if test="money != null" >
+                #{money,jdbcType=DECIMAL},
+            </if>
+                    <if test="statusFlag != null" >
+                #{statusFlag,jdbcType=INTEGER},
+            </if>
+                    <if test="seasonId != null" >
+                #{seasonId,jdbcType=INTEGER},
+            </if>
+                    <if test="playerId != null" >
+                #{playerId,jdbcType=INTEGER},
+            </if>
+                </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.PlatformIncomeRecord" >
+        update platform_income_record
+        <set >
+                    <if test="id != null" >
+               id= #{id,jdbcType=INTEGER},
+            </if>
+                     <if test="delFlag != null" >
+               del_flag= #{delFlag,jdbcType=CHAR},
+            </if>
+                     <if test="updateTime != null" >
+               update_time= #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+                     <if test="updateUser != null" >
+               update_user= #{updateUser,jdbcType=VARCHAR},
+            </if>
+                     <if test="createTime != null" >
+               create_time= #{createTime,jdbcType=TIMESTAMP},
+            </if>
+                     <if test="createUser != null" >
+               create_user= #{createUser,jdbcType=VARCHAR},
+            </if>
+                     <if test="gameId != null" >
+               game_id= #{gameId,jdbcType=INTEGER},
+            </if>
+                     <if test="houseId != null" >
+               house_id= #{houseId,jdbcType=INTEGER},
+            </if>
+                     <if test="userId != null" >
+               user_id= #{userId,jdbcType=INTEGER},
+            </if>
+                     <if test="remark != null" >
+               remark= #{remark,jdbcType=VARCHAR},
+            </if>
+                     <if test="money != null" >
+               money= #{money,jdbcType=DECIMAL},
+            </if>
+                     <if test="statusFlag != null" >
+               status_flag= #{statusFlag,jdbcType=INTEGER},
+            </if>
+                     <if test="seasonId != null" >
+               season_id= #{seasonId,jdbcType=INTEGER},
+            </if>
+                     <if test="playerId != null" >
+               player_id= #{playerId,jdbcType=INTEGER},
+            </if>
+                 </set>
+        where
+        <if test="id != null and !&quot;&quot;.equals(id)">
+            id = #{id,jdbcType=INTEGER}
+        </if>
+
+        <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+            id in (${idStr})
+        </if>
+
+    </update>
+    <select id="queryPlatformIncomeRecordByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.PlatformIncomeRecord">
+        select <include refid="Base_Column_List"/> from platform_income_record
+        <where>
+            and del_flag = 'N'
+            <if test="record.idStr != null and !&quot;&quot;.equals(record.idStr)">
+                and id in (${record.idStr})
+            </if>
+                    <if test="record.id != null and !&quot;&quot;.equals(record.id)">
+                and  id = #{record.id}
+            </if>
+                     <if test="record.delFlag != null and !&quot;&quot;.equals(record.delFlag)">
+                and  del_flag = #{record.delFlag}
+            </if>
+                     <if test="record.updateTime != null and !&quot;&quot;.equals(record.updateTime)">
+                and  update_time = #{record.updateTime}
+            </if>
+                     <if test="record.updateUser != null and !&quot;&quot;.equals(record.updateUser)">
+                and  update_user = #{record.updateUser}
+            </if>
+                     <if test="record.createTime != null and !&quot;&quot;.equals(record.createTime)">
+                and  create_time = #{record.createTime}
+            </if>
+                     <if test="record.createUser != null and !&quot;&quot;.equals(record.createUser)">
+                and  create_user = #{record.createUser}
+            </if>
+                     <if test="record.gameId != null and !&quot;&quot;.equals(record.gameId)">
+                and  game_id = #{record.gameId}
+            </if>
+                     <if test="record.houseId != null and !&quot;&quot;.equals(record.houseId)">
+                and  house_id = #{record.houseId}
+            </if>
+                     <if test="record.userId != null and !&quot;&quot;.equals(record.userId)">
+                and  user_id = #{record.userId}
+            </if>
+                     <if test="record.remark != null and !&quot;&quot;.equals(record.remark)">
+                and  remark = #{record.remark}
+            </if>
+                     <if test="record.money != null and !&quot;&quot;.equals(record.money)">
+                and  money = #{record.money}
+            </if>
+                     <if test="record.statusFlag != null and !&quot;&quot;.equals(record.statusFlag)">
+                and  status_flag = #{record.statusFlag}
+            </if>
+                     <if test="record.seasonId != null and !&quot;&quot;.equals(record.seasonId)">
+                and  season_id = #{record.seasonId}
+            </if>
+                     <if test="record.playerId != null and !&quot;&quot;.equals(record.playerId)">
+                and  player_id = #{record.playerId}
+            </if>
+                  <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+             <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                    OR  game_id LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  house_id LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  user_id LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  remark LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  money LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  status_flag LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  season_id LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  player_id LIKE concat('%',#{record.searchKey},'%')
+                                                             </trim>
+         </if>
+
+            <if test="record.advancedQuery != null and !&quot;&quot;.equals(record.advancedQuery)">
+                <foreach item="item" index="index" collection="record.advancedQuery.split('_;')">
+                    <choose>
+                        <when test="item.indexOf('like') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    concat('%',#{itemDetail},'%')
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </otherwise>
+                    </choose>
+
+
+                </foreach>
+
+
+            </if>
+
+        </where>
+        order by
+
+        <if test="record.orderByStr != null and !&quot;&quot;.equals(record.orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="record.orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+        id desc
+    </select>
+    <select id="queryAllPlatformIncomeRecord" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.PlatformIncomeRecord">
+        select <include refid="Base_Column_List"/> from platform_income_record
+        <where>
+            and del_flag = 'N'
+            <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+                and id in (${idStr})
+            </if>
+                    <if test="id != null and !&quot;&quot;.equals(id)">
+                and  id = #{id}
+            </if>
+                    <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and  del_flag = #{delFlag}
+            </if>
+                    <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and  update_time = #{updateTime}
+            </if>
+                    <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and  update_user = #{updateUser}
+            </if>
+                    <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and  create_time = #{createTime}
+            </if>
+                    <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and  create_user = #{createUser}
+            </if>
+                    <if test="gameId != null and !&quot;&quot;.equals(gameId)">
+                and  game_id = #{gameId}
+            </if>
+                    <if test="houseId != null and !&quot;&quot;.equals(houseId)">
+                and  house_id = #{houseId}
+            </if>
+                    <if test="userId != null and !&quot;&quot;.equals(userId)">
+                and  user_id = #{userId}
+            </if>
+                    <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and  remark = #{remark}
+            </if>
+                    <if test="money != null and !&quot;&quot;.equals(money)">
+                and  money = #{money}
+            </if>
+                    <if test="statusFlag != null and !&quot;&quot;.equals(statusFlag)">
+                and  status_flag = #{statusFlag}
+            </if>
+                    <if test="seasonId != null and !&quot;&quot;.equals(seasonId)">
+                and  season_id = #{seasonId}
+            </if>
+                    <if test="playerId != null and !&quot;&quot;.equals(playerId)">
+                and  player_id = #{playerId}
+            </if>
+                    <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                OR  game_id LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  house_id LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  user_id LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  remark LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  money LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  status_flag LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  season_id LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  player_id LIKE concat('%',#{searchKey},'%')
+                                                                                        </trim>
+            </if>
+<if test="advancedQuery != null and !&quot;&quot;.equals(advancedQuery)">
+    <foreach item="item" index="index" collection="advancedQuery.split('_;')">
+        <choose>
+            <when test="item.indexOf('like') != -1">
+                <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                    <if test="detailIndex == 3">
+                        concat('%',#{itemDetail},'%')
+                    </if>
+
+                    <if test="detailIndex &lt; 3">
+                        ${itemDetail}
+                    </if>
+
+                </foreach>
+            </when>
+            <otherwise>
+                <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                    <if test="detailIndex == 3">
+                        #{itemDetail}
+                    </if>
+
+                    <if test="detailIndex &lt; 3">
+                        ${itemDetail}
+                    </if>
+
+                </foreach>
+            </otherwise>
+        </choose>
+
+
+    </foreach>
+
+
+</if>
+        </where>
+        order by
+
+        <if test="orderByStr != null and !&quot;&quot;.equals(orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+
+        id desc
+    </select>
+    <select id="queryPlatformIncomeRecord" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.PlatformIncomeRecord">
+        select <include refid="Base_Column_List"/> from platform_income_record
+        <where>
+            and del_flag = 'N'
+                    <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+                     <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+                     <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+                     <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+                     <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+                     <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+                     <if test="gameId != null and !&quot;&quot;.equals(gameId)">
+                and game_id = #{gameId}
+            </if>
+                     <if test="houseId != null and !&quot;&quot;.equals(houseId)">
+                and house_id = #{houseId}
+            </if>
+                     <if test="userId != null and !&quot;&quot;.equals(userId)">
+                and user_id = #{userId}
+            </if>
+                     <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and remark = #{remark}
+            </if>
+                     <if test="money != null and !&quot;&quot;.equals(money)">
+                and money = #{money}
+            </if>
+                     <if test="statusFlag != null and !&quot;&quot;.equals(statusFlag)">
+                and status_flag = #{statusFlag}
+            </if>
+                     <if test="seasonId != null and !&quot;&quot;.equals(seasonId)">
+                and season_id = #{seasonId}
+            </if>
+                     <if test="playerId != null and !&quot;&quot;.equals(playerId)">
+                and player_id = #{playerId}
+            </if>
+         
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE platform_income_record SET del_flag = 'Y'
+        where
+        <if test="id != null and !&quot;&quot;.equals(id)">
+            id = #{id,jdbcType=INTEGER}
+        </if>
+
+        <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+            id in (${idStr})
+        </if>
+    </update>
+    <select id="query" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.PlatformIncomeRecord">
+        select <include refid="Base_Column_List"/> from platform_income_record
+        <where>
+            and del_flag = 'N'
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </where>
+        order by id desc
+    </select>
+</mapper>
+

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

@@ -0,0 +1,33 @@
+package com.izouma.awesomeadmin.dao;
+
+import java.util.*;
+import com.izouma.awesomeadmin.datasource.DataSource;
+import org.springframework.stereotype.Repository;
+import com.izouma.awesomeadmin.model.PlayerInfo;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.PlayerInfoMapper")
+public interface PlayerInfoMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(PlayerInfo record);
+
+    PlayerInfo selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(PlayerInfo record);
+
+    List<PlayerInfo> queryAllPlayerInfo(PlayerInfo record);
+
+    List<PlayerInfo> queryPlayerInfoByPage(Map<String, Object> parameter);
+
+    int delete(PlayerInfo record);
+
+    PlayerInfo queryPlayerInfo(PlayerInfo record);
+
+    List<PlayerInfo> query(PlayerInfo record);
+}
+

File diff suppressed because it is too large
+ 776 - 0
src/main/java/com/izouma/awesomeadmin/dao/PlayerInfoMapper.xml


+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/RechargeRecordMapper.java

@@ -0,0 +1,33 @@
+package com.izouma.awesomeadmin.dao;
+
+import java.util.*;
+import com.izouma.awesomeadmin.datasource.DataSource;
+import org.springframework.stereotype.Repository;
+import com.izouma.awesomeadmin.model.RechargeRecord;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.RechargeRecordMapper")
+public interface RechargeRecordMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(RechargeRecord record);
+
+    RechargeRecord selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(RechargeRecord record);
+
+    List<RechargeRecord> queryAllRechargeRecord(RechargeRecord record);
+
+    List<RechargeRecord> queryRechargeRecordByPage(Map<String, Object> parameter);
+
+    int delete(RechargeRecord record);
+
+    RechargeRecord queryRechargeRecord(RechargeRecord record);
+
+    List<RechargeRecord> query(RechargeRecord record);
+}
+

+ 482 - 0
src/main/java/com/izouma/awesomeadmin/dao/RechargeRecordMapper.xml

@@ -0,0 +1,482 @@
+<?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.izouma.awesomeadmin.dao.RechargeRecordMapper" >
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.RechargeRecord" >
+                <id column="id" property="id" jdbcType="INTEGER" />
+                                        <result column="del_flag" property="delFlag" jdbcType="CHAR" />
+                                <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
+                                <result column="update_user" property="updateUser" jdbcType="VARCHAR" />
+                                <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
+                                <result column="create_user" property="createUser" jdbcType="VARCHAR" />
+                                <result column="user_id" property="userId" jdbcType="INTEGER" />
+                                <result column="type_flag" property="typeFlag" jdbcType="INTEGER" />
+                                <result column="money" property="money" jdbcType="DECIMAL" />
+                                <result column="balance" property="balance" jdbcType="DECIMAL" />
+                                <result column="out_trade_no" property="outTradeNo" jdbcType="VARCHAR" />
+                                <result column="cash" property="cash" jdbcType="DECIMAL" />
+                                <result column="remark" property="remark" jdbcType="VARCHAR" />
+            </resultMap>
+    <sql id="Base_Column_List" >
+        <trim  suffixOverrides="," >
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            user_id,
+
+            type_flag,
+
+            money,
+
+            balance,
+
+            out_trade_no,
+
+            cash,
+
+            remark,
+
+            </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+        select
+        <include refid="Base_Column_List" />
+        from recharge_record
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+        delete from recharge_record
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.RechargeRecord" useGeneratedKeys="true" keyProperty="id">
+        insert into recharge_record
+        <trim prefix="(" suffix=")" suffixOverrides="," >
+                <if test="id!= null" >
+                id,
+            </if>
+                <if test="delFlag!= null" >
+                del_flag,
+            </if>
+                <if test="updateTime!= null" >
+                update_time,
+            </if>
+                <if test="updateUser!= null" >
+                update_user,
+            </if>
+                <if test="createTime!= null" >
+                create_time,
+            </if>
+                <if test="createUser!= null" >
+                create_user,
+            </if>
+                <if test="userId!= null" >
+                user_id,
+            </if>
+                <if test="typeFlag!= null" >
+                type_flag,
+            </if>
+                <if test="money!= null" >
+                money,
+            </if>
+                <if test="balance!= null" >
+                balance,
+            </if>
+                <if test="outTradeNo!= null" >
+                out_trade_no,
+            </if>
+                <if test="cash!= null" >
+                cash,
+            </if>
+                <if test="remark!= null" >
+                remark,
+            </if>
+            </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides="," >
+                    <if test="id != null" >
+                #{id,jdbcType=INTEGER},
+            </if>
+                    <if test="delFlag != null" >
+                #{delFlag,jdbcType=CHAR},
+            </if>
+                    <if test="updateTime != null" >
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+                    <if test="updateUser != null" >
+                #{updateUser,jdbcType=VARCHAR},
+            </if>
+                    <if test="createTime != null" >
+                #{createTime,jdbcType=TIMESTAMP},
+            </if>
+                    <if test="createUser != null" >
+                #{createUser,jdbcType=VARCHAR},
+            </if>
+                    <if test="userId != null" >
+                #{userId,jdbcType=INTEGER},
+            </if>
+                    <if test="typeFlag != null" >
+                #{typeFlag,jdbcType=INTEGER},
+            </if>
+                    <if test="money != null" >
+                #{money,jdbcType=DECIMAL},
+            </if>
+                    <if test="balance != null" >
+                #{balance,jdbcType=DECIMAL},
+            </if>
+                    <if test="outTradeNo != null" >
+                #{outTradeNo,jdbcType=VARCHAR},
+            </if>
+                    <if test="cash != null" >
+                #{cash,jdbcType=DECIMAL},
+            </if>
+                    <if test="remark != null" >
+                #{remark,jdbcType=VARCHAR},
+            </if>
+                </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.RechargeRecord" >
+        update recharge_record
+        <set >
+                    <if test="id != null" >
+               id= #{id,jdbcType=INTEGER},
+            </if>
+                     <if test="delFlag != null" >
+               del_flag= #{delFlag,jdbcType=CHAR},
+            </if>
+                     <if test="updateTime != null" >
+               update_time= #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+                     <if test="updateUser != null" >
+               update_user= #{updateUser,jdbcType=VARCHAR},
+            </if>
+                     <if test="createTime != null" >
+               create_time= #{createTime,jdbcType=TIMESTAMP},
+            </if>
+                     <if test="createUser != null" >
+               create_user= #{createUser,jdbcType=VARCHAR},
+            </if>
+                     <if test="userId != null" >
+               user_id= #{userId,jdbcType=INTEGER},
+            </if>
+                     <if test="typeFlag != null" >
+               type_flag= #{typeFlag,jdbcType=INTEGER},
+            </if>
+                     <if test="money != null" >
+               money= #{money,jdbcType=DECIMAL},
+            </if>
+                     <if test="balance != null" >
+               balance= #{balance,jdbcType=DECIMAL},
+            </if>
+                     <if test="outTradeNo != null" >
+               out_trade_no= #{outTradeNo,jdbcType=VARCHAR},
+            </if>
+                     <if test="cash != null" >
+               cash= #{cash,jdbcType=DECIMAL},
+            </if>
+                     <if test="remark != null" >
+               remark= #{remark,jdbcType=VARCHAR},
+            </if>
+                 </set>
+        where
+        <if test="id != null and !&quot;&quot;.equals(id)">
+            id = #{id,jdbcType=INTEGER}
+        </if>
+
+        <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+            id in (${idStr})
+        </if>
+
+    </update>
+    <select id="queryRechargeRecordByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.RechargeRecord">
+        select <include refid="Base_Column_List"/> from recharge_record
+        <where>
+            and del_flag = 'N'
+            <if test="record.idStr != null and !&quot;&quot;.equals(record.idStr)">
+                and id in (${record.idStr})
+            </if>
+                    <if test="record.id != null and !&quot;&quot;.equals(record.id)">
+                and  id = #{record.id}
+            </if>
+                     <if test="record.delFlag != null and !&quot;&quot;.equals(record.delFlag)">
+                and  del_flag = #{record.delFlag}
+            </if>
+                     <if test="record.updateTime != null and !&quot;&quot;.equals(record.updateTime)">
+                and  update_time = #{record.updateTime}
+            </if>
+                     <if test="record.updateUser != null and !&quot;&quot;.equals(record.updateUser)">
+                and  update_user = #{record.updateUser}
+            </if>
+                     <if test="record.createTime != null and !&quot;&quot;.equals(record.createTime)">
+                and  create_time = #{record.createTime}
+            </if>
+                     <if test="record.createUser != null and !&quot;&quot;.equals(record.createUser)">
+                and  create_user = #{record.createUser}
+            </if>
+                     <if test="record.userId != null and !&quot;&quot;.equals(record.userId)">
+                and  user_id = #{record.userId}
+            </if>
+                     <if test="record.typeFlag != null and !&quot;&quot;.equals(record.typeFlag)">
+                and  type_flag = #{record.typeFlag}
+            </if>
+                     <if test="record.money != null and !&quot;&quot;.equals(record.money)">
+                and  money = #{record.money}
+            </if>
+                     <if test="record.balance != null and !&quot;&quot;.equals(record.balance)">
+                and  balance = #{record.balance}
+            </if>
+                     <if test="record.outTradeNo != null and !&quot;&quot;.equals(record.outTradeNo)">
+                and  out_trade_no = #{record.outTradeNo}
+            </if>
+                     <if test="record.cash != null and !&quot;&quot;.equals(record.cash)">
+                and  cash = #{record.cash}
+            </if>
+                     <if test="record.remark != null and !&quot;&quot;.equals(record.remark)">
+                and  remark = #{record.remark}
+            </if>
+                  <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+             <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                    OR  user_id LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  type_flag LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  money LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  balance LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  out_trade_no LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  cash LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  remark LIKE concat('%',#{record.searchKey},'%')
+                                                             </trim>
+         </if>
+
+            <if test="record.advancedQuery != null and !&quot;&quot;.equals(record.advancedQuery)">
+                <foreach item="item" index="index" collection="record.advancedQuery.split('_;')">
+                    <choose>
+                        <when test="item.indexOf('like') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    concat('%',#{itemDetail},'%')
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </otherwise>
+                    </choose>
+
+
+                </foreach>
+
+
+            </if>
+
+        </where>
+        order by
+
+        <if test="record.orderByStr != null and !&quot;&quot;.equals(record.orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="record.orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+        id desc
+    </select>
+    <select id="queryAllRechargeRecord" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.RechargeRecord">
+        select <include refid="Base_Column_List"/> from recharge_record
+        <where>
+            and del_flag = 'N'
+            <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+                and id in (${idStr})
+            </if>
+                    <if test="id != null and !&quot;&quot;.equals(id)">
+                and  id = #{id}
+            </if>
+                    <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and  del_flag = #{delFlag}
+            </if>
+                    <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and  update_time = #{updateTime}
+            </if>
+                    <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and  update_user = #{updateUser}
+            </if>
+                    <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and  create_time = #{createTime}
+            </if>
+                    <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and  create_user = #{createUser}
+            </if>
+                    <if test="userId != null and !&quot;&quot;.equals(userId)">
+                and  user_id = #{userId}
+            </if>
+                    <if test="typeFlag != null and !&quot;&quot;.equals(typeFlag)">
+                and  type_flag = #{typeFlag}
+            </if>
+                    <if test="money != null and !&quot;&quot;.equals(money)">
+                and  money = #{money}
+            </if>
+                    <if test="balance != null and !&quot;&quot;.equals(balance)">
+                and  balance = #{balance}
+            </if>
+                    <if test="outTradeNo != null and !&quot;&quot;.equals(outTradeNo)">
+                and  out_trade_no = #{outTradeNo}
+            </if>
+                    <if test="cash != null and !&quot;&quot;.equals(cash)">
+                and  cash = #{cash}
+            </if>
+                    <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and  remark = #{remark}
+            </if>
+                    <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                OR  user_id LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  type_flag LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  money LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  balance LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  out_trade_no LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  cash LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  remark LIKE concat('%',#{searchKey},'%')
+                                                                                        </trim>
+            </if>
+<if test="advancedQuery != null and !&quot;&quot;.equals(advancedQuery)">
+    <foreach item="item" index="index" collection="advancedQuery.split('_;')">
+        <choose>
+            <when test="item.indexOf('like') != -1">
+                <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                    <if test="detailIndex == 3">
+                        concat('%',#{itemDetail},'%')
+                    </if>
+
+                    <if test="detailIndex &lt; 3">
+                        ${itemDetail}
+                    </if>
+
+                </foreach>
+            </when>
+            <otherwise>
+                <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                    <if test="detailIndex == 3">
+                        #{itemDetail}
+                    </if>
+
+                    <if test="detailIndex &lt; 3">
+                        ${itemDetail}
+                    </if>
+
+                </foreach>
+            </otherwise>
+        </choose>
+
+
+    </foreach>
+
+
+</if>
+        </where>
+        order by
+
+        <if test="orderByStr != null and !&quot;&quot;.equals(orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+
+        id desc
+    </select>
+    <select id="queryRechargeRecord" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.RechargeRecord">
+        select <include refid="Base_Column_List"/> from recharge_record
+        <where>
+            and del_flag = 'N'
+                    <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+                     <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+                     <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+                     <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+                     <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+                     <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+                     <if test="userId != null and !&quot;&quot;.equals(userId)">
+                and user_id = #{userId}
+            </if>
+                     <if test="typeFlag != null and !&quot;&quot;.equals(typeFlag)">
+                and type_flag = #{typeFlag}
+            </if>
+                     <if test="money != null and !&quot;&quot;.equals(money)">
+                and money = #{money}
+            </if>
+                     <if test="balance != null and !&quot;&quot;.equals(balance)">
+                and balance = #{balance}
+            </if>
+                     <if test="outTradeNo != null and !&quot;&quot;.equals(outTradeNo)">
+                and out_trade_no = #{outTradeNo}
+            </if>
+                     <if test="cash != null and !&quot;&quot;.equals(cash)">
+                and cash = #{cash}
+            </if>
+                     <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and remark = #{remark}
+            </if>
+         
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE recharge_record SET del_flag = 'Y'
+        where
+        <if test="id != null and !&quot;&quot;.equals(id)">
+            id = #{id,jdbcType=INTEGER}
+        </if>
+
+        <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+            id in (${idStr})
+        </if>
+    </update>
+    <select id="query" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.RechargeRecord">
+        select <include refid="Base_Column_List"/> from recharge_record
+        <where>
+            and del_flag = 'N'
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </where>
+        order by id desc
+    </select>
+</mapper>
+

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/SystemNoticeMapper.java

@@ -0,0 +1,33 @@
+package com.izouma.awesomeadmin.dao;
+
+import java.util.*;
+import com.izouma.awesomeadmin.datasource.DataSource;
+import org.springframework.stereotype.Repository;
+import com.izouma.awesomeadmin.model.SystemNotice;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.SystemNoticeMapper")
+public interface SystemNoticeMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(SystemNotice record);
+
+    SystemNotice selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(SystemNotice record);
+
+    List<SystemNotice> queryAllSystemNotice(SystemNotice record);
+
+    List<SystemNotice> querySystemNoticeByPage(Map<String, Object> parameter);
+
+    int delete(SystemNotice record);
+
+    SystemNotice querySystemNotice(SystemNotice record);
+
+    List<SystemNotice> query(SystemNotice record);
+}
+

File diff suppressed because it is too large
+ 523 - 0
src/main/java/com/izouma/awesomeadmin/dao/SystemNoticeMapper.xml


+ 172 - 0
src/main/java/com/izouma/awesomeadmin/model/BannerInfo.java

@@ -0,0 +1,172 @@
+package com.izouma.awesomeadmin.model;
+
+import java.util.*;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+
+@JsonAutoDetect
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class BannerInfo{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private String location;
+    private String title;
+    private String subtitle;
+    private String url;
+    private String imageUrl;
+    private String remark;
+    private Integer rank;
+    private Integer typeFlag;
+
+private String idStr;
+
+private String searchKey;
+
+/**
+* and,test_name,like,value;or,remark,=,123
+*/
+private String advancedQuery;
+
+/**
+* column_name_,desc_;column_name_,asc
+*/
+private String orderByStr;
+
+    public Integer getId(){
+        return this.id;
+    }
+
+    public void setId(Integer id){
+        this.id = id;
+    }
+    public String getDelFlag(){
+        return this.delFlag;
+    }
+
+    public void setDelFlag(String delFlag){
+        this.delFlag = delFlag;
+    }
+    public Date getUpdateTime(){
+        return this.updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime){
+        this.updateTime = updateTime;
+    }
+    public String getUpdateUser(){
+        return this.updateUser;
+    }
+
+    public void setUpdateUser(String updateUser){
+        this.updateUser = updateUser;
+    }
+    public Date getCreateTime(){
+        return this.createTime;
+    }
+
+    public void setCreateTime(Date createTime){
+        this.createTime = createTime;
+    }
+    public String getCreateUser(){
+        return this.createUser;
+    }
+
+    public void setCreateUser(String createUser){
+        this.createUser = createUser;
+    }
+    public String getLocation(){
+        return this.location;
+    }
+
+    public void setLocation(String location){
+        this.location = location;
+    }
+    public String getTitle(){
+        return this.title;
+    }
+
+    public void setTitle(String title){
+        this.title = title;
+    }
+    public String getSubtitle(){
+        return this.subtitle;
+    }
+
+    public void setSubtitle(String subtitle){
+        this.subtitle = subtitle;
+    }
+    public String getUrl(){
+        return this.url;
+    }
+
+    public void setUrl(String url){
+        this.url = url;
+    }
+    public String getImageUrl(){
+        return this.imageUrl;
+    }
+
+    public void setImageUrl(String imageUrl){
+        this.imageUrl = imageUrl;
+    }
+    public String getRemark(){
+        return this.remark;
+    }
+
+    public void setRemark(String remark){
+        this.remark = remark;
+    }
+    public Integer getRank(){
+        return this.rank;
+    }
+
+    public void setRank(Integer rank){
+        this.rank = rank;
+    }
+    public Integer getTypeFlag(){
+        return this.typeFlag;
+    }
+
+    public void setTypeFlag(Integer typeFlag){
+        this.typeFlag = typeFlag;
+    }
+
+public String getSearchKey() {
+    return searchKey;
+}
+
+public void setSearchKey(String searchKey) {
+    this.searchKey = searchKey;
+}
+
+public String getAdvancedQuery() {
+    return advancedQuery;
+}
+
+public void setAdvancedQuery(String advancedQuery) {
+    this.advancedQuery = advancedQuery;
+}
+
+public String getOrderByStr() {
+    return orderByStr;
+}
+
+public void setOrderByStr(String orderByStr) {
+    this.orderByStr = orderByStr;
+}
+
+public String getIdStr() {
+    return idStr;
+}
+
+public void setIdStr(String idStr) {
+    this.idStr = idStr;
+}
+
+}
+

+ 181 - 0
src/main/java/com/izouma/awesomeadmin/model/BonusRecord.java

@@ -0,0 +1,181 @@
+package com.izouma.awesomeadmin.model;
+
+import java.math.BigDecimal;
+import java.util.*;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+
+@JsonAutoDetect
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class BonusRecord{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private BigDecimal money;
+    private BigDecimal bonus;
+    private Integer userId;
+    private Integer seasonId;
+    private Integer gameId;
+    private Integer houseId;
+    private Integer typeFlag;
+    private String remark;
+    private Integer playerId;
+
+private String idStr;
+
+private String searchKey;
+
+/**
+* and,test_name,like,value;or,remark,=,123
+*/
+private String advancedQuery;
+
+/**
+* column_name_,desc_;column_name_,asc
+*/
+private String orderByStr;
+
+    public Integer getId(){
+        return this.id;
+    }
+
+    public void setId(Integer id){
+        this.id = id;
+    }
+    public String getDelFlag(){
+        return this.delFlag;
+    }
+
+    public void setDelFlag(String delFlag){
+        this.delFlag = delFlag;
+    }
+    public Date getUpdateTime(){
+        return this.updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime){
+        this.updateTime = updateTime;
+    }
+    public String getUpdateUser(){
+        return this.updateUser;
+    }
+
+    public void setUpdateUser(String updateUser){
+        this.updateUser = updateUser;
+    }
+    public Date getCreateTime(){
+        return this.createTime;
+    }
+
+    public void setCreateTime(Date createTime){
+        this.createTime = createTime;
+    }
+    public String getCreateUser(){
+        return this.createUser;
+    }
+
+    public void setCreateUser(String createUser){
+        this.createUser = createUser;
+    }
+    public BigDecimal getMoney(){
+        return this.money;
+    }
+
+    public void setMoney(BigDecimal money){
+        this.money = money;
+    }
+    public BigDecimal getBonus(){
+        return this.bonus;
+    }
+
+    public void setBonus(BigDecimal bonus){
+        this.bonus = bonus;
+    }
+    public Integer getUserId(){
+        return this.userId;
+    }
+
+    public void setUserId(Integer userId){
+        this.userId = userId;
+    }
+    public Integer getSeasonId(){
+        return this.seasonId;
+    }
+
+    public void setSeasonId(Integer seasonId){
+        this.seasonId = seasonId;
+    }
+    public Integer getGameId(){
+        return this.gameId;
+    }
+
+    public void setGameId(Integer gameId){
+        this.gameId = gameId;
+    }
+    public Integer getHouseId(){
+        return this.houseId;
+    }
+
+    public void setHouseId(Integer houseId){
+        this.houseId = houseId;
+    }
+    public Integer getTypeFlag(){
+        return this.typeFlag;
+    }
+
+    public void setTypeFlag(Integer typeFlag){
+        this.typeFlag = typeFlag;
+    }
+    public String getRemark(){
+        return this.remark;
+    }
+
+    public void setRemark(String remark){
+        this.remark = remark;
+    }
+    public Integer getPlayerId(){
+        return this.playerId;
+    }
+
+    public void setPlayerId(Integer playerId){
+        this.playerId = playerId;
+    }
+
+public String getSearchKey() {
+    return searchKey;
+}
+
+public void setSearchKey(String searchKey) {
+    this.searchKey = searchKey;
+}
+
+public String getAdvancedQuery() {
+    return advancedQuery;
+}
+
+public void setAdvancedQuery(String advancedQuery) {
+    this.advancedQuery = advancedQuery;
+}
+
+public String getOrderByStr() {
+    return orderByStr;
+}
+
+public void setOrderByStr(String orderByStr) {
+    this.orderByStr = orderByStr;
+}
+
+public String getIdStr() {
+    return idStr;
+}
+
+public void setIdStr(String idStr) {
+    this.idStr = idStr;
+}
+
+}
+

+ 173 - 0
src/main/java/com/izouma/awesomeadmin/model/CompetitionSeason.java

@@ -0,0 +1,173 @@
+package com.izouma.awesomeadmin.model;
+
+import java.math.BigDecimal;
+import java.util.*;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+
+@JsonAutoDetect
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class CompetitionSeason{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private String season;
+    private String shortName;
+    private Date beginTime;
+    private Date endTime;
+    private BigDecimal bonus;
+    private String remark;
+    private Integer rank;
+    private Integer statusFlag;
+
+private String idStr;
+
+private String searchKey;
+
+/**
+* and,test_name,like,value;or,remark,=,123
+*/
+private String advancedQuery;
+
+/**
+* column_name_,desc_;column_name_,asc
+*/
+private String orderByStr;
+
+    public Integer getId(){
+        return this.id;
+    }
+
+    public void setId(Integer id){
+        this.id = id;
+    }
+    public String getDelFlag(){
+        return this.delFlag;
+    }
+
+    public void setDelFlag(String delFlag){
+        this.delFlag = delFlag;
+    }
+    public Date getUpdateTime(){
+        return this.updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime){
+        this.updateTime = updateTime;
+    }
+    public String getUpdateUser(){
+        return this.updateUser;
+    }
+
+    public void setUpdateUser(String updateUser){
+        this.updateUser = updateUser;
+    }
+    public Date getCreateTime(){
+        return this.createTime;
+    }
+
+    public void setCreateTime(Date createTime){
+        this.createTime = createTime;
+    }
+    public String getCreateUser(){
+        return this.createUser;
+    }
+
+    public void setCreateUser(String createUser){
+        this.createUser = createUser;
+    }
+    public String getSeason(){
+        return this.season;
+    }
+
+    public void setSeason(String season){
+        this.season = season;
+    }
+    public String getShortName(){
+        return this.shortName;
+    }
+
+    public void setShortName(String shortName){
+        this.shortName = shortName;
+    }
+    public Date getBeginTime(){
+        return this.beginTime;
+    }
+
+    public void setBeginTime(Date beginTime){
+        this.beginTime = beginTime;
+    }
+    public Date getEndTime(){
+        return this.endTime;
+    }
+
+    public void setEndTime(Date endTime){
+        this.endTime = endTime;
+    }
+    public BigDecimal getBonus(){
+        return this.bonus;
+    }
+
+    public void setBonus(BigDecimal bonus){
+        this.bonus = bonus;
+    }
+    public String getRemark(){
+        return this.remark;
+    }
+
+    public void setRemark(String remark){
+        this.remark = remark;
+    }
+    public Integer getRank(){
+        return this.rank;
+    }
+
+    public void setRank(Integer rank){
+        this.rank = rank;
+    }
+    public Integer getStatusFlag(){
+        return this.statusFlag;
+    }
+
+    public void setStatusFlag(Integer statusFlag){
+        this.statusFlag = statusFlag;
+    }
+
+public String getSearchKey() {
+    return searchKey;
+}
+
+public void setSearchKey(String searchKey) {
+    this.searchKey = searchKey;
+}
+
+public String getAdvancedQuery() {
+    return advancedQuery;
+}
+
+public void setAdvancedQuery(String advancedQuery) {
+    this.advancedQuery = advancedQuery;
+}
+
+public String getOrderByStr() {
+    return orderByStr;
+}
+
+public void setOrderByStr(String orderByStr) {
+    this.orderByStr = orderByStr;
+}
+
+public String getIdStr() {
+    return idStr;
+}
+
+public void setIdStr(String idStr) {
+    this.idStr = idStr;
+}
+
+}
+

+ 156 - 0
src/main/java/com/izouma/awesomeadmin/model/GameInfo.java

@@ -0,0 +1,156 @@
+package com.izouma.awesomeadmin.model;
+
+import java.util.*;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+
+@JsonAutoDetect
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class GameInfo{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private String gameName;
+    private Integer typeFlag;
+    private String icon;
+    private Integer rank;
+    private String remark;
+    private String useFlag;
+
+private String idStr;
+
+private String searchKey;
+
+/**
+* and,test_name,like,value;or,remark,=,123
+*/
+private String advancedQuery;
+
+/**
+* column_name_,desc_;column_name_,asc
+*/
+private String orderByStr;
+
+    public Integer getId(){
+        return this.id;
+    }
+
+    public void setId(Integer id){
+        this.id = id;
+    }
+    public String getDelFlag(){
+        return this.delFlag;
+    }
+
+    public void setDelFlag(String delFlag){
+        this.delFlag = delFlag;
+    }
+    public Date getUpdateTime(){
+        return this.updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime){
+        this.updateTime = updateTime;
+    }
+    public String getUpdateUser(){
+        return this.updateUser;
+    }
+
+    public void setUpdateUser(String updateUser){
+        this.updateUser = updateUser;
+    }
+    public Date getCreateTime(){
+        return this.createTime;
+    }
+
+    public void setCreateTime(Date createTime){
+        this.createTime = createTime;
+    }
+    public String getCreateUser(){
+        return this.createUser;
+    }
+
+    public void setCreateUser(String createUser){
+        this.createUser = createUser;
+    }
+    public String getGameName(){
+        return this.gameName;
+    }
+
+    public void setGameName(String gameName){
+        this.gameName = gameName;
+    }
+    public Integer getTypeFlag(){
+        return this.typeFlag;
+    }
+
+    public void setTypeFlag(Integer typeFlag){
+        this.typeFlag = typeFlag;
+    }
+    public String getIcon(){
+        return this.icon;
+    }
+
+    public void setIcon(String icon){
+        this.icon = icon;
+    }
+    public Integer getRank(){
+        return this.rank;
+    }
+
+    public void setRank(Integer rank){
+        this.rank = rank;
+    }
+    public String getRemark(){
+        return this.remark;
+    }
+
+    public void setRemark(String remark){
+        this.remark = remark;
+    }
+    public String getUseFlag(){
+        return this.useFlag;
+    }
+
+    public void setUseFlag(String useFlag){
+        this.useFlag = useFlag;
+    }
+
+public String getSearchKey() {
+    return searchKey;
+}
+
+public void setSearchKey(String searchKey) {
+    this.searchKey = searchKey;
+}
+
+public String getAdvancedQuery() {
+    return advancedQuery;
+}
+
+public void setAdvancedQuery(String advancedQuery) {
+    this.advancedQuery = advancedQuery;
+}
+
+public String getOrderByStr() {
+    return orderByStr;
+}
+
+public void setOrderByStr(String orderByStr) {
+    this.orderByStr = orderByStr;
+}
+
+public String getIdStr() {
+    return idStr;
+}
+
+public void setIdStr(String idStr) {
+    this.idStr = idStr;
+}
+
+}
+

+ 277 - 0
src/main/java/com/izouma/awesomeadmin/model/HouseInfo.java

@@ -0,0 +1,277 @@
+package com.izouma.awesomeadmin.model;
+
+import java.math.BigDecimal;
+import java.util.*;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+
+@JsonAutoDetect
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class HouseInfo{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private String houseName;
+    private String houseAbstract;
+    private String icon;
+    private String houseCode;
+    private Integer userId;
+    private Integer houseType;
+    private String houseLevel;
+    private Integer gameId;
+    private Integer statusFlag;
+    private String recommendFlag;
+    private Integer rank;
+    private String useFlag;
+    private String gameHouseId;
+    private String gameHousePassword;
+    private Date beginTime;
+    private Date endTime;
+    private String matchName;
+    private Integer playerNumber;
+    private BigDecimal bonus;
+    private Integer seasonId;
+    private String video;
+
+private String idStr;
+
+private String searchKey;
+
+/**
+* and,test_name,like,value;or,remark,=,123
+*/
+private String advancedQuery;
+
+/**
+* column_name_,desc_;column_name_,asc
+*/
+private String orderByStr;
+
+    public Integer getId(){
+        return this.id;
+    }
+
+    public void setId(Integer id){
+        this.id = id;
+    }
+    public String getDelFlag(){
+        return this.delFlag;
+    }
+
+    public void setDelFlag(String delFlag){
+        this.delFlag = delFlag;
+    }
+    public Date getUpdateTime(){
+        return this.updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime){
+        this.updateTime = updateTime;
+    }
+    public String getUpdateUser(){
+        return this.updateUser;
+    }
+
+    public void setUpdateUser(String updateUser){
+        this.updateUser = updateUser;
+    }
+    public Date getCreateTime(){
+        return this.createTime;
+    }
+
+    public void setCreateTime(Date createTime){
+        this.createTime = createTime;
+    }
+    public String getCreateUser(){
+        return this.createUser;
+    }
+
+    public void setCreateUser(String createUser){
+        this.createUser = createUser;
+    }
+    public String getHouseName(){
+        return this.houseName;
+    }
+
+    public void setHouseName(String houseName){
+        this.houseName = houseName;
+    }
+    public String getHouseAbstract(){
+        return this.houseAbstract;
+    }
+
+    public void setHouseAbstract(String houseAbstract){
+        this.houseAbstract = houseAbstract;
+    }
+    public String getIcon(){
+        return this.icon;
+    }
+
+    public void setIcon(String icon){
+        this.icon = icon;
+    }
+    public String getHouseCode(){
+        return this.houseCode;
+    }
+
+    public void setHouseCode(String houseCode){
+        this.houseCode = houseCode;
+    }
+    public Integer getUserId(){
+        return this.userId;
+    }
+
+    public void setUserId(Integer userId){
+        this.userId = userId;
+    }
+    public Integer getHouseType(){
+        return this.houseType;
+    }
+
+    public void setHouseType(Integer houseType){
+        this.houseType = houseType;
+    }
+    public String getHouseLevel(){
+        return this.houseLevel;
+    }
+
+    public void setHouseLevel(String houseLevel){
+        this.houseLevel = houseLevel;
+    }
+    public Integer getGameId(){
+        return this.gameId;
+    }
+
+    public void setGameId(Integer gameId){
+        this.gameId = gameId;
+    }
+    public Integer getStatusFlag(){
+        return this.statusFlag;
+    }
+
+    public void setStatusFlag(Integer statusFlag){
+        this.statusFlag = statusFlag;
+    }
+    public String getRecommendFlag(){
+        return this.recommendFlag;
+    }
+
+    public void setRecommendFlag(String recommendFlag){
+        this.recommendFlag = recommendFlag;
+    }
+    public Integer getRank(){
+        return this.rank;
+    }
+
+    public void setRank(Integer rank){
+        this.rank = rank;
+    }
+    public String getUseFlag(){
+        return this.useFlag;
+    }
+
+    public void setUseFlag(String useFlag){
+        this.useFlag = useFlag;
+    }
+    public String getGameHouseId(){
+        return this.gameHouseId;
+    }
+
+    public void setGameHouseId(String gameHouseId){
+        this.gameHouseId = gameHouseId;
+    }
+    public String getGameHousePassword(){
+        return this.gameHousePassword;
+    }
+
+    public void setGameHousePassword(String gameHousePassword){
+        this.gameHousePassword = gameHousePassword;
+    }
+    public Date getBeginTime(){
+        return this.beginTime;
+    }
+
+    public void setBeginTime(Date beginTime){
+        this.beginTime = beginTime;
+    }
+    public Date getEndTime(){
+        return this.endTime;
+    }
+
+    public void setEndTime(Date endTime){
+        this.endTime = endTime;
+    }
+    public String getMatchName(){
+        return this.matchName;
+    }
+
+    public void setMatchName(String matchName){
+        this.matchName = matchName;
+    }
+    public Integer getPlayerNumber(){
+        return this.playerNumber;
+    }
+
+    public void setPlayerNumber(Integer playerNumber){
+        this.playerNumber = playerNumber;
+    }
+    public BigDecimal getBonus(){
+        return this.bonus;
+    }
+
+    public void setBonus(BigDecimal bonus){
+        this.bonus = bonus;
+    }
+    public Integer getSeasonId(){
+        return this.seasonId;
+    }
+
+    public void setSeasonId(Integer seasonId){
+        this.seasonId = seasonId;
+    }
+    public String getVideo(){
+        return this.video;
+    }
+
+    public void setVideo(String video){
+        this.video = video;
+    }
+
+public String getSearchKey() {
+    return searchKey;
+}
+
+public void setSearchKey(String searchKey) {
+    this.searchKey = searchKey;
+}
+
+public String getAdvancedQuery() {
+    return advancedQuery;
+}
+
+public void setAdvancedQuery(String advancedQuery) {
+    this.advancedQuery = advancedQuery;
+}
+
+public String getOrderByStr() {
+    return orderByStr;
+}
+
+public void setOrderByStr(String orderByStr) {
+    this.orderByStr = orderByStr;
+}
+
+public String getIdStr() {
+    return idStr;
+}
+
+public void setIdStr(String idStr) {
+    this.idStr = idStr;
+}
+
+}
+

+ 205 - 0
src/main/java/com/izouma/awesomeadmin/model/HouseLevel.java

@@ -0,0 +1,205 @@
+package com.izouma.awesomeadmin.model;
+
+import java.math.BigDecimal;
+import java.util.*;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+
+@JsonAutoDetect
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class HouseLevel{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private String levelName;
+    private Integer maxNumber;
+    private Integer minNumber;
+    private String icon;
+    private Integer rank;
+    private BigDecimal entryCoin;
+    private String remark;
+    private BigDecimal firstRatio;
+    private BigDecimal secondRatio;
+    private BigDecimal thirdRatio;
+    private BigDecimal feeRatio;
+    private BigDecimal poolRatio;
+
+private String idStr;
+
+private String searchKey;
+
+/**
+* and,test_name,like,value;or,remark,=,123
+*/
+private String advancedQuery;
+
+/**
+* column_name_,desc_;column_name_,asc
+*/
+private String orderByStr;
+
+    public Integer getId(){
+        return this.id;
+    }
+
+    public void setId(Integer id){
+        this.id = id;
+    }
+    public String getDelFlag(){
+        return this.delFlag;
+    }
+
+    public void setDelFlag(String delFlag){
+        this.delFlag = delFlag;
+    }
+    public Date getUpdateTime(){
+        return this.updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime){
+        this.updateTime = updateTime;
+    }
+    public String getUpdateUser(){
+        return this.updateUser;
+    }
+
+    public void setUpdateUser(String updateUser){
+        this.updateUser = updateUser;
+    }
+    public Date getCreateTime(){
+        return this.createTime;
+    }
+
+    public void setCreateTime(Date createTime){
+        this.createTime = createTime;
+    }
+    public String getCreateUser(){
+        return this.createUser;
+    }
+
+    public void setCreateUser(String createUser){
+        this.createUser = createUser;
+    }
+    public String getLevelName(){
+        return this.levelName;
+    }
+
+    public void setLevelName(String levelName){
+        this.levelName = levelName;
+    }
+    public Integer getMaxNumber(){
+        return this.maxNumber;
+    }
+
+    public void setMaxNumber(Integer maxNumber){
+        this.maxNumber = maxNumber;
+    }
+    public Integer getMinNumber(){
+        return this.minNumber;
+    }
+
+    public void setMinNumber(Integer minNumber){
+        this.minNumber = minNumber;
+    }
+    public String getIcon(){
+        return this.icon;
+    }
+
+    public void setIcon(String icon){
+        this.icon = icon;
+    }
+    public Integer getRank(){
+        return this.rank;
+    }
+
+    public void setRank(Integer rank){
+        this.rank = rank;
+    }
+    public BigDecimal getEntryCoin(){
+        return this.entryCoin;
+    }
+
+    public void setEntryCoin(BigDecimal entryCoin){
+        this.entryCoin = entryCoin;
+    }
+    public String getRemark(){
+        return this.remark;
+    }
+
+    public void setRemark(String remark){
+        this.remark = remark;
+    }
+    public BigDecimal getFirstRatio(){
+        return this.firstRatio;
+    }
+
+    public void setFirstRatio(BigDecimal firstRatio){
+        this.firstRatio = firstRatio;
+    }
+    public BigDecimal getSecondRatio(){
+        return this.secondRatio;
+    }
+
+    public void setSecondRatio(BigDecimal secondRatio){
+        this.secondRatio = secondRatio;
+    }
+    public BigDecimal getThirdRatio(){
+        return this.thirdRatio;
+    }
+
+    public void setThirdRatio(BigDecimal thirdRatio){
+        this.thirdRatio = thirdRatio;
+    }
+    public BigDecimal getFeeRatio(){
+        return this.feeRatio;
+    }
+
+    public void setFeeRatio(BigDecimal feeRatio){
+        this.feeRatio = feeRatio;
+    }
+    public BigDecimal getPoolRatio(){
+        return this.poolRatio;
+    }
+
+    public void setPoolRatio(BigDecimal poolRatio){
+        this.poolRatio = poolRatio;
+    }
+
+public String getSearchKey() {
+    return searchKey;
+}
+
+public void setSearchKey(String searchKey) {
+    this.searchKey = searchKey;
+}
+
+public String getAdvancedQuery() {
+    return advancedQuery;
+}
+
+public void setAdvancedQuery(String advancedQuery) {
+    this.advancedQuery = advancedQuery;
+}
+
+public String getOrderByStr() {
+    return orderByStr;
+}
+
+public void setOrderByStr(String orderByStr) {
+    this.orderByStr = orderByStr;
+}
+
+public String getIdStr() {
+    return idStr;
+}
+
+public void setIdStr(String idStr) {
+    this.idStr = idStr;
+}
+
+}
+

+ 181 - 0
src/main/java/com/izouma/awesomeadmin/model/MemberCoin.java

@@ -0,0 +1,181 @@
+package com.izouma.awesomeadmin.model;
+
+import java.math.BigDecimal;
+import java.util.*;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+
+@JsonAutoDetect
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class MemberCoin{
+    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 Integer userId;
+    private String remark;
+    private Integer typeFlag;
+    private BigDecimal money;
+    private BigDecimal balance;
+    private Integer seasonId;
+    private Integer playerId;
+
+private String idStr;
+
+private String searchKey;
+
+/**
+* and,test_name,like,value;or,remark,=,123
+*/
+private String advancedQuery;
+
+/**
+* column_name_,desc_;column_name_,asc
+*/
+private String orderByStr;
+
+    public Integer getId(){
+        return this.id;
+    }
+
+    public void setId(Integer id){
+        this.id = id;
+    }
+    public String getDelFlag(){
+        return this.delFlag;
+    }
+
+    public void setDelFlag(String delFlag){
+        this.delFlag = delFlag;
+    }
+    public Date getUpdateTime(){
+        return this.updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime){
+        this.updateTime = updateTime;
+    }
+    public String getUpdateUser(){
+        return this.updateUser;
+    }
+
+    public void setUpdateUser(String updateUser){
+        this.updateUser = updateUser;
+    }
+    public Date getCreateTime(){
+        return this.createTime;
+    }
+
+    public void setCreateTime(Date createTime){
+        this.createTime = createTime;
+    }
+    public String getCreateUser(){
+        return this.createUser;
+    }
+
+    public void setCreateUser(String createUser){
+        this.createUser = createUser;
+    }
+    public Integer getGameId(){
+        return this.gameId;
+    }
+
+    public void setGameId(Integer gameId){
+        this.gameId = gameId;
+    }
+    public Integer getHouseId(){
+        return this.houseId;
+    }
+
+    public void setHouseId(Integer houseId){
+        this.houseId = houseId;
+    }
+    public Integer getUserId(){
+        return this.userId;
+    }
+
+    public void setUserId(Integer userId){
+        this.userId = userId;
+    }
+    public String getRemark(){
+        return this.remark;
+    }
+
+    public void setRemark(String remark){
+        this.remark = remark;
+    }
+    public Integer getTypeFlag(){
+        return this.typeFlag;
+    }
+
+    public void setTypeFlag(Integer typeFlag){
+        this.typeFlag = typeFlag;
+    }
+    public BigDecimal getMoney(){
+        return this.money;
+    }
+
+    public void setMoney(BigDecimal money){
+        this.money = money;
+    }
+    public BigDecimal getBalance(){
+        return this.balance;
+    }
+
+    public void setBalance(BigDecimal balance){
+        this.balance = balance;
+    }
+    public Integer getSeasonId(){
+        return this.seasonId;
+    }
+
+    public void setSeasonId(Integer seasonId){
+        this.seasonId = seasonId;
+    }
+    public Integer getPlayerId(){
+        return this.playerId;
+    }
+
+    public void setPlayerId(Integer playerId){
+        this.playerId = playerId;
+    }
+
+public String getSearchKey() {
+    return searchKey;
+}
+
+public void setSearchKey(String searchKey) {
+    this.searchKey = searchKey;
+}
+
+public String getAdvancedQuery() {
+    return advancedQuery;
+}
+
+public void setAdvancedQuery(String advancedQuery) {
+    this.advancedQuery = advancedQuery;
+}
+
+public String getOrderByStr() {
+    return orderByStr;
+}
+
+public void setOrderByStr(String orderByStr) {
+    this.orderByStr = orderByStr;
+}
+
+public String getIdStr() {
+    return idStr;
+}
+
+public void setIdStr(String idStr) {
+    this.idStr = idStr;
+}
+
+}
+

+ 229 - 0
src/main/java/com/izouma/awesomeadmin/model/MemberCoinTixian.java

@@ -0,0 +1,229 @@
+package com.izouma.awesomeadmin.model;
+
+import java.math.BigDecimal;
+import java.util.*;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+
+@JsonAutoDetect
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class MemberCoinTixian{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private Integer userId;
+    private BigDecimal money;
+    private Integer statusFlag;
+    private BigDecimal fee;
+    private BigDecimal netAmount;
+    private String dealUser;
+    private Date dealTime;
+    private String wechat;
+    private String alipay;
+    private String bankCard;
+    private String bankName;
+    private String openName;
+    private Integer typeFlag;
+    private String remark;
+    private String tixianCode;
+
+private String idStr;
+
+private String searchKey;
+
+/**
+* and,test_name,like,value;or,remark,=,123
+*/
+private String advancedQuery;
+
+/**
+* column_name_,desc_;column_name_,asc
+*/
+private String orderByStr;
+
+    public Integer getId(){
+        return this.id;
+    }
+
+    public void setId(Integer id){
+        this.id = id;
+    }
+    public String getDelFlag(){
+        return this.delFlag;
+    }
+
+    public void setDelFlag(String delFlag){
+        this.delFlag = delFlag;
+    }
+    public Date getUpdateTime(){
+        return this.updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime){
+        this.updateTime = updateTime;
+    }
+    public String getUpdateUser(){
+        return this.updateUser;
+    }
+
+    public void setUpdateUser(String updateUser){
+        this.updateUser = updateUser;
+    }
+    public Date getCreateTime(){
+        return this.createTime;
+    }
+
+    public void setCreateTime(Date createTime){
+        this.createTime = createTime;
+    }
+    public String getCreateUser(){
+        return this.createUser;
+    }
+
+    public void setCreateUser(String createUser){
+        this.createUser = createUser;
+    }
+    public Integer getUserId(){
+        return this.userId;
+    }
+
+    public void setUserId(Integer userId){
+        this.userId = userId;
+    }
+    public BigDecimal getMoney(){
+        return this.money;
+    }
+
+    public void setMoney(BigDecimal money){
+        this.money = money;
+    }
+    public Integer getStatusFlag(){
+        return this.statusFlag;
+    }
+
+    public void setStatusFlag(Integer statusFlag){
+        this.statusFlag = statusFlag;
+    }
+    public BigDecimal getFee(){
+        return this.fee;
+    }
+
+    public void setFee(BigDecimal fee){
+        this.fee = fee;
+    }
+    public BigDecimal getNetAmount(){
+        return this.netAmount;
+    }
+
+    public void setNetAmount(BigDecimal netAmount){
+        this.netAmount = netAmount;
+    }
+    public String getDealUser(){
+        return this.dealUser;
+    }
+
+    public void setDealUser(String dealUser){
+        this.dealUser = dealUser;
+    }
+    public Date getDealTime(){
+        return this.dealTime;
+    }
+
+    public void setDealTime(Date dealTime){
+        this.dealTime = dealTime;
+    }
+    public String getWechat(){
+        return this.wechat;
+    }
+
+    public void setWechat(String wechat){
+        this.wechat = wechat;
+    }
+    public String getAlipay(){
+        return this.alipay;
+    }
+
+    public void setAlipay(String alipay){
+        this.alipay = alipay;
+    }
+    public String getBankCard(){
+        return this.bankCard;
+    }
+
+    public void setBankCard(String bankCard){
+        this.bankCard = bankCard;
+    }
+    public String getBankName(){
+        return this.bankName;
+    }
+
+    public void setBankName(String bankName){
+        this.bankName = bankName;
+    }
+    public String getOpenName(){
+        return this.openName;
+    }
+
+    public void setOpenName(String openName){
+        this.openName = openName;
+    }
+    public Integer getTypeFlag(){
+        return this.typeFlag;
+    }
+
+    public void setTypeFlag(Integer typeFlag){
+        this.typeFlag = typeFlag;
+    }
+    public String getRemark(){
+        return this.remark;
+    }
+
+    public void setRemark(String remark){
+        this.remark = remark;
+    }
+    public String getTixianCode(){
+        return this.tixianCode;
+    }
+
+    public void setTixianCode(String tixianCode){
+        this.tixianCode = tixianCode;
+    }
+
+public String getSearchKey() {
+    return searchKey;
+}
+
+public void setSearchKey(String searchKey) {
+    this.searchKey = searchKey;
+}
+
+public String getAdvancedQuery() {
+    return advancedQuery;
+}
+
+public void setAdvancedQuery(String advancedQuery) {
+    this.advancedQuery = advancedQuery;
+}
+
+public String getOrderByStr() {
+    return orderByStr;
+}
+
+public void setOrderByStr(String orderByStr) {
+    this.orderByStr = orderByStr;
+}
+
+public String getIdStr() {
+    return idStr;
+}
+
+public void setIdStr(String idStr) {
+    this.idStr = idStr;
+}
+
+}
+

+ 173 - 0
src/main/java/com/izouma/awesomeadmin/model/PlatformIncomeRecord.java

@@ -0,0 +1,173 @@
+package com.izouma.awesomeadmin.model;
+
+import java.math.BigDecimal;
+import java.util.*;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+
+@JsonAutoDetect
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class PlatformIncomeRecord{
+    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 Integer userId;
+    private String remark;
+    private BigDecimal money;
+    private Integer statusFlag;
+    private Integer seasonId;
+    private Integer playerId;
+
+private String idStr;
+
+private String searchKey;
+
+/**
+* and,test_name,like,value;or,remark,=,123
+*/
+private String advancedQuery;
+
+/**
+* column_name_,desc_;column_name_,asc
+*/
+private String orderByStr;
+
+    public Integer getId(){
+        return this.id;
+    }
+
+    public void setId(Integer id){
+        this.id = id;
+    }
+    public String getDelFlag(){
+        return this.delFlag;
+    }
+
+    public void setDelFlag(String delFlag){
+        this.delFlag = delFlag;
+    }
+    public Date getUpdateTime(){
+        return this.updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime){
+        this.updateTime = updateTime;
+    }
+    public String getUpdateUser(){
+        return this.updateUser;
+    }
+
+    public void setUpdateUser(String updateUser){
+        this.updateUser = updateUser;
+    }
+    public Date getCreateTime(){
+        return this.createTime;
+    }
+
+    public void setCreateTime(Date createTime){
+        this.createTime = createTime;
+    }
+    public String getCreateUser(){
+        return this.createUser;
+    }
+
+    public void setCreateUser(String createUser){
+        this.createUser = createUser;
+    }
+    public Integer getGameId(){
+        return this.gameId;
+    }
+
+    public void setGameId(Integer gameId){
+        this.gameId = gameId;
+    }
+    public Integer getHouseId(){
+        return this.houseId;
+    }
+
+    public void setHouseId(Integer houseId){
+        this.houseId = houseId;
+    }
+    public Integer getUserId(){
+        return this.userId;
+    }
+
+    public void setUserId(Integer userId){
+        this.userId = userId;
+    }
+    public String getRemark(){
+        return this.remark;
+    }
+
+    public void setRemark(String remark){
+        this.remark = remark;
+    }
+    public BigDecimal getMoney(){
+        return this.money;
+    }
+
+    public void setMoney(BigDecimal money){
+        this.money = money;
+    }
+    public Integer getStatusFlag(){
+        return this.statusFlag;
+    }
+
+    public void setStatusFlag(Integer statusFlag){
+        this.statusFlag = statusFlag;
+    }
+    public Integer getSeasonId(){
+        return this.seasonId;
+    }
+
+    public void setSeasonId(Integer seasonId){
+        this.seasonId = seasonId;
+    }
+    public Integer getPlayerId(){
+        return this.playerId;
+    }
+
+    public void setPlayerId(Integer playerId){
+        this.playerId = playerId;
+    }
+
+public String getSearchKey() {
+    return searchKey;
+}
+
+public void setSearchKey(String searchKey) {
+    this.searchKey = searchKey;
+}
+
+public String getAdvancedQuery() {
+    return advancedQuery;
+}
+
+public void setAdvancedQuery(String advancedQuery) {
+    this.advancedQuery = advancedQuery;
+}
+
+public String getOrderByStr() {
+    return orderByStr;
+}
+
+public void setOrderByStr(String orderByStr) {
+    this.orderByStr = orderByStr;
+}
+
+public String getIdStr() {
+    return idStr;
+}
+
+public void setIdStr(String idStr) {
+    this.idStr = idStr;
+}
+
+}
+

+ 269 - 0
src/main/java/com/izouma/awesomeadmin/model/PlayerInfo.java

@@ -0,0 +1,269 @@
+package com.izouma.awesomeadmin.model;
+
+import java.math.BigDecimal;
+import java.util.*;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+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 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 String idStr;
+
+private String searchKey;
+
+/**
+* and,test_name,like,value;or,remark,=,123
+*/
+private String advancedQuery;
+
+/**
+* column_name_,desc_;column_name_,asc
+*/
+private String orderByStr;
+
+    public Integer getId(){
+        return this.id;
+    }
+
+    public void setId(Integer id){
+        this.id = id;
+    }
+    public String getDelFlag(){
+        return this.delFlag;
+    }
+
+    public void setDelFlag(String delFlag){
+        this.delFlag = delFlag;
+    }
+    public Date getUpdateTime(){
+        return this.updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime){
+        this.updateTime = updateTime;
+    }
+    public String getUpdateUser(){
+        return this.updateUser;
+    }
+
+    public void setUpdateUser(String updateUser){
+        this.updateUser = updateUser;
+    }
+    public Date getCreateTime(){
+        return this.createTime;
+    }
+
+    public void setCreateTime(Date createTime){
+        this.createTime = createTime;
+    }
+    public String getCreateUser(){
+        return this.createUser;
+    }
+
+    public void setCreateUser(String createUser){
+        this.createUser = createUser;
+    }
+    public Integer getGameId(){
+        return this.gameId;
+    }
+
+    public void setGameId(Integer gameId){
+        this.gameId = gameId;
+    }
+    public Integer getHouseId(){
+        return this.houseId;
+    }
+
+    public void setHouseId(Integer houseId){
+        this.houseId = houseId;
+    }
+    public Date getJoinTime(){
+        return this.joinTime;
+    }
+
+    public void setJoinTime(Date joinTime){
+        this.joinTime = joinTime;
+    }
+    public BigDecimal getPrincipal(){
+        return this.principal;
+    }
+
+    public void setPrincipal(BigDecimal principal){
+        this.principal = principal;
+    }
+    public BigDecimal getBonus(){
+        return this.bonus;
+    }
+
+    public void setBonus(BigDecimal bonus){
+        this.bonus = bonus;
+    }
+    public Integer getUserId(){
+        return this.userId;
+    }
+
+    public void setUserId(Integer userId){
+        this.userId = userId;
+    }
+    public String getRemark(){
+        return this.remark;
+    }
+
+    public void setRemark(String remark){
+        this.remark = remark;
+    }
+    public String getImage(){
+        return this.image;
+    }
+
+    public void setImage(String image){
+        this.image = image;
+    }
+    public Integer getKillNumber(){
+        return this.killNumber;
+    }
+
+    public void setKillNumber(Integer killNumber){
+        this.killNumber = killNumber;
+    }
+    public Integer getRanking(){
+        return this.ranking;
+    }
+
+    public void setRanking(Integer ranking){
+        this.ranking = ranking;
+    }
+    public Date getBeginTime(){
+        return this.beginTime;
+    }
+
+    public void setBeginTime(Date beginTime){
+        this.beginTime = beginTime;
+    }
+    public Date getEndTime(){
+        return this.endTime;
+    }
+
+    public void setEndTime(Date endTime){
+        this.endTime = endTime;
+    }
+    public Integer getStatusFlag(){
+        return this.statusFlag;
+    }
+
+    public void setStatusFlag(Integer statusFlag){
+        this.statusFlag = statusFlag;
+    }
+    public String getExamineUser(){
+        return this.examineUser;
+    }
+
+    public void setExamineUser(String examineUser){
+        this.examineUser = examineUser;
+    }
+    public Date getExamineTime(){
+        return this.examineTime;
+    }
+
+    public void setExamineTime(Date examineTime){
+        this.examineTime = examineTime;
+    }
+    public Integer getExamineType(){
+        return this.examineType;
+    }
+
+    public void setExamineType(Integer examineType){
+        this.examineType = examineType;
+    }
+    public String getVideo(){
+        return this.video;
+    }
+
+    public void setVideo(String video){
+        this.video = video;
+    }
+    public String getLiveTime(){
+        return this.liveTime;
+    }
+
+    public void setLiveTime(String liveTime){
+        this.liveTime = liveTime;
+    }
+    public String getGameType(){
+        return this.gameType;
+    }
+
+    public void setGameType(String gameType){
+        this.gameType = gameType;
+    }
+    public Integer getSeasonId(){
+        return this.seasonId;
+    }
+
+    public void setSeasonId(Integer seasonId){
+        this.seasonId = seasonId;
+    }
+
+public String getSearchKey() {
+    return searchKey;
+}
+
+public void setSearchKey(String searchKey) {
+    this.searchKey = searchKey;
+}
+
+public String getAdvancedQuery() {
+    return advancedQuery;
+}
+
+public void setAdvancedQuery(String advancedQuery) {
+    this.advancedQuery = advancedQuery;
+}
+
+public String getOrderByStr() {
+    return orderByStr;
+}
+
+public void setOrderByStr(String orderByStr) {
+    this.orderByStr = orderByStr;
+}
+
+public String getIdStr() {
+    return idStr;
+}
+
+public void setIdStr(String idStr) {
+    this.idStr = idStr;
+}
+
+}
+

+ 165 - 0
src/main/java/com/izouma/awesomeadmin/model/RechargeRecord.java

@@ -0,0 +1,165 @@
+package com.izouma.awesomeadmin.model;
+
+import java.math.BigDecimal;
+import java.util.*;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+
+@JsonAutoDetect
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class RechargeRecord{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private Integer userId;
+    private Integer typeFlag;
+    private BigDecimal money;
+    private BigDecimal balance;
+    private String outTradeNo;
+    private BigDecimal cash;
+    private String remark;
+
+private String idStr;
+
+private String searchKey;
+
+/**
+* and,test_name,like,value;or,remark,=,123
+*/
+private String advancedQuery;
+
+/**
+* column_name_,desc_;column_name_,asc
+*/
+private String orderByStr;
+
+    public Integer getId(){
+        return this.id;
+    }
+
+    public void setId(Integer id){
+        this.id = id;
+    }
+    public String getDelFlag(){
+        return this.delFlag;
+    }
+
+    public void setDelFlag(String delFlag){
+        this.delFlag = delFlag;
+    }
+    public Date getUpdateTime(){
+        return this.updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime){
+        this.updateTime = updateTime;
+    }
+    public String getUpdateUser(){
+        return this.updateUser;
+    }
+
+    public void setUpdateUser(String updateUser){
+        this.updateUser = updateUser;
+    }
+    public Date getCreateTime(){
+        return this.createTime;
+    }
+
+    public void setCreateTime(Date createTime){
+        this.createTime = createTime;
+    }
+    public String getCreateUser(){
+        return this.createUser;
+    }
+
+    public void setCreateUser(String createUser){
+        this.createUser = createUser;
+    }
+    public Integer getUserId(){
+        return this.userId;
+    }
+
+    public void setUserId(Integer userId){
+        this.userId = userId;
+    }
+    public Integer getTypeFlag(){
+        return this.typeFlag;
+    }
+
+    public void setTypeFlag(Integer typeFlag){
+        this.typeFlag = typeFlag;
+    }
+    public BigDecimal getMoney(){
+        return this.money;
+    }
+
+    public void setMoney(BigDecimal money){
+        this.money = money;
+    }
+    public BigDecimal getBalance(){
+        return this.balance;
+    }
+
+    public void setBalance(BigDecimal balance){
+        this.balance = balance;
+    }
+    public String getOutTradeNo(){
+        return this.outTradeNo;
+    }
+
+    public void setOutTradeNo(String outTradeNo){
+        this.outTradeNo = outTradeNo;
+    }
+    public BigDecimal getCash(){
+        return this.cash;
+    }
+
+    public void setCash(BigDecimal cash){
+        this.cash = cash;
+    }
+    public String getRemark(){
+        return this.remark;
+    }
+
+    public void setRemark(String remark){
+        this.remark = remark;
+    }
+
+public String getSearchKey() {
+    return searchKey;
+}
+
+public void setSearchKey(String searchKey) {
+    this.searchKey = searchKey;
+}
+
+public String getAdvancedQuery() {
+    return advancedQuery;
+}
+
+public void setAdvancedQuery(String advancedQuery) {
+    this.advancedQuery = advancedQuery;
+}
+
+public String getOrderByStr() {
+    return orderByStr;
+}
+
+public void setOrderByStr(String orderByStr) {
+    this.orderByStr = orderByStr;
+}
+
+public String getIdStr() {
+    return idStr;
+}
+
+public void setIdStr(String idStr) {
+    this.idStr = idStr;
+}
+
+}
+

+ 180 - 0
src/main/java/com/izouma/awesomeadmin/model/SystemNotice.java

@@ -0,0 +1,180 @@
+package com.izouma.awesomeadmin.model;
+
+import java.util.*;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+
+@JsonAutoDetect
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class SystemNotice{
+    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 Integer userId;
+    private String remark;
+    private Integer typeFlag;
+    private Integer statusFlag;
+    private String content;
+    private Integer seasonId;
+    private Integer playerId;
+
+private String idStr;
+
+private String searchKey;
+
+/**
+* and,test_name,like,value;or,remark,=,123
+*/
+private String advancedQuery;
+
+/**
+* column_name_,desc_;column_name_,asc
+*/
+private String orderByStr;
+
+    public Integer getId(){
+        return this.id;
+    }
+
+    public void setId(Integer id){
+        this.id = id;
+    }
+    public String getDelFlag(){
+        return this.delFlag;
+    }
+
+    public void setDelFlag(String delFlag){
+        this.delFlag = delFlag;
+    }
+    public Date getUpdateTime(){
+        return this.updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime){
+        this.updateTime = updateTime;
+    }
+    public String getUpdateUser(){
+        return this.updateUser;
+    }
+
+    public void setUpdateUser(String updateUser){
+        this.updateUser = updateUser;
+    }
+    public Date getCreateTime(){
+        return this.createTime;
+    }
+
+    public void setCreateTime(Date createTime){
+        this.createTime = createTime;
+    }
+    public String getCreateUser(){
+        return this.createUser;
+    }
+
+    public void setCreateUser(String createUser){
+        this.createUser = createUser;
+    }
+    public Integer getGameId(){
+        return this.gameId;
+    }
+
+    public void setGameId(Integer gameId){
+        this.gameId = gameId;
+    }
+    public Integer getHouseId(){
+        return this.houseId;
+    }
+
+    public void setHouseId(Integer houseId){
+        this.houseId = houseId;
+    }
+    public Integer getUserId(){
+        return this.userId;
+    }
+
+    public void setUserId(Integer userId){
+        this.userId = userId;
+    }
+    public String getRemark(){
+        return this.remark;
+    }
+
+    public void setRemark(String remark){
+        this.remark = remark;
+    }
+    public Integer getTypeFlag(){
+        return this.typeFlag;
+    }
+
+    public void setTypeFlag(Integer typeFlag){
+        this.typeFlag = typeFlag;
+    }
+    public Integer getStatusFlag(){
+        return this.statusFlag;
+    }
+
+    public void setStatusFlag(Integer statusFlag){
+        this.statusFlag = statusFlag;
+    }
+    public String getContent(){
+        return this.content;
+    }
+
+    public void setContent(String content){
+        this.content = content;
+    }
+    public Integer getSeasonId(){
+        return this.seasonId;
+    }
+
+    public void setSeasonId(Integer seasonId){
+        this.seasonId = seasonId;
+    }
+    public Integer getPlayerId(){
+        return this.playerId;
+    }
+
+    public void setPlayerId(Integer playerId){
+        this.playerId = playerId;
+    }
+
+public String getSearchKey() {
+    return searchKey;
+}
+
+public void setSearchKey(String searchKey) {
+    this.searchKey = searchKey;
+}
+
+public String getAdvancedQuery() {
+    return advancedQuery;
+}
+
+public void setAdvancedQuery(String advancedQuery) {
+    this.advancedQuery = advancedQuery;
+}
+
+public String getOrderByStr() {
+    return orderByStr;
+}
+
+public void setOrderByStr(String orderByStr) {
+    this.orderByStr = orderByStr;
+}
+
+public String getIdStr() {
+    return idStr;
+}
+
+public void setIdStr(String idStr) {
+    this.idStr = idStr;
+}
+
+}
+

+ 27 - 0
src/main/java/com/izouma/awesomeadmin/service/BannerInfoService.java

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.BannerInfo;
+
+
+/**
+*  service接口类
+*/
+public interface BannerInfoService{
+
+    List<BannerInfo> getBannerInfoList(BannerInfo record);
+
+    List<BannerInfo> getBannerInfoByPage(Page page, BannerInfo record);
+
+    BannerInfo getBannerInfoById(String id);
+
+    BannerInfo getBannerInfo(BannerInfo record);
+
+    boolean createBannerInfo(BannerInfo record);
+
+    boolean deleteBannerInfo(BannerInfo record);
+
+    boolean updateBannerInfo(BannerInfo record);
+}
+

+ 27 - 0
src/main/java/com/izouma/awesomeadmin/service/BonusRecordService.java

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.BonusRecord;
+
+
+/**
+*  service接口类
+*/
+public interface BonusRecordService{
+
+    List<BonusRecord> getBonusRecordList(BonusRecord record);
+
+    List<BonusRecord> getBonusRecordByPage(Page page, BonusRecord record);
+
+    BonusRecord getBonusRecordById(String id);
+
+    BonusRecord getBonusRecord(BonusRecord record);
+
+    boolean createBonusRecord(BonusRecord record);
+
+    boolean deleteBonusRecord(BonusRecord record);
+
+    boolean updateBonusRecord(BonusRecord record);
+}
+

+ 27 - 0
src/main/java/com/izouma/awesomeadmin/service/CompetitionSeasonService.java

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.CompetitionSeason;
+
+
+/**
+*  service接口类
+*/
+public interface CompetitionSeasonService{
+
+    List<CompetitionSeason> getCompetitionSeasonList(CompetitionSeason record);
+
+    List<CompetitionSeason> getCompetitionSeasonByPage(Page page, CompetitionSeason record);
+
+    CompetitionSeason getCompetitionSeasonById(String id);
+
+    CompetitionSeason getCompetitionSeason(CompetitionSeason record);
+
+    boolean createCompetitionSeason(CompetitionSeason record);
+
+    boolean deleteCompetitionSeason(CompetitionSeason record);
+
+    boolean updateCompetitionSeason(CompetitionSeason record);
+}
+

+ 27 - 0
src/main/java/com/izouma/awesomeadmin/service/GameInfoService.java

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.GameInfo;
+
+
+/**
+*  service接口类
+*/
+public interface GameInfoService{
+
+    List<GameInfo> getGameInfoList(GameInfo record);
+
+    List<GameInfo> getGameInfoByPage(Page page, GameInfo record);
+
+    GameInfo getGameInfoById(String id);
+
+    GameInfo getGameInfo(GameInfo record);
+
+    boolean createGameInfo(GameInfo record);
+
+    boolean deleteGameInfo(GameInfo record);
+
+    boolean updateGameInfo(GameInfo record);
+}
+

+ 27 - 0
src/main/java/com/izouma/awesomeadmin/service/HouseInfoService.java

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.HouseInfo;
+
+
+/**
+*  service接口类
+*/
+public interface HouseInfoService{
+
+    List<HouseInfo> getHouseInfoList(HouseInfo record);
+
+    List<HouseInfo> getHouseInfoByPage(Page page, HouseInfo record);
+
+    HouseInfo getHouseInfoById(String id);
+
+    HouseInfo getHouseInfo(HouseInfo record);
+
+    boolean createHouseInfo(HouseInfo record);
+
+    boolean deleteHouseInfo(HouseInfo record);
+
+    boolean updateHouseInfo(HouseInfo record);
+}
+

+ 27 - 0
src/main/java/com/izouma/awesomeadmin/service/HouseLevelService.java

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.HouseLevel;
+
+
+/**
+*  service接口类
+*/
+public interface HouseLevelService{
+
+    List<HouseLevel> getHouseLevelList(HouseLevel record);
+
+    List<HouseLevel> getHouseLevelByPage(Page page, HouseLevel record);
+
+    HouseLevel getHouseLevelById(String id);
+
+    HouseLevel getHouseLevel(HouseLevel record);
+
+    boolean createHouseLevel(HouseLevel record);
+
+    boolean deleteHouseLevel(HouseLevel record);
+
+    boolean updateHouseLevel(HouseLevel record);
+}
+

+ 27 - 0
src/main/java/com/izouma/awesomeadmin/service/MemberCoinService.java

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.MemberCoin;
+
+
+/**
+*  service接口类
+*/
+public interface MemberCoinService{
+
+    List<MemberCoin> getMemberCoinList(MemberCoin record);
+
+    List<MemberCoin> getMemberCoinByPage(Page page, MemberCoin record);
+
+    MemberCoin getMemberCoinById(String id);
+
+    MemberCoin getMemberCoin(MemberCoin record);
+
+    boolean createMemberCoin(MemberCoin record);
+
+    boolean deleteMemberCoin(MemberCoin record);
+
+    boolean updateMemberCoin(MemberCoin record);
+}
+

+ 27 - 0
src/main/java/com/izouma/awesomeadmin/service/MemberCoinTixianService.java

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.MemberCoinTixian;
+
+
+/**
+*  service接口类
+*/
+public interface MemberCoinTixianService{
+
+    List<MemberCoinTixian> getMemberCoinTixianList(MemberCoinTixian record);
+
+    List<MemberCoinTixian> getMemberCoinTixianByPage(Page page, MemberCoinTixian record);
+
+    MemberCoinTixian getMemberCoinTixianById(String id);
+
+    MemberCoinTixian getMemberCoinTixian(MemberCoinTixian record);
+
+    boolean createMemberCoinTixian(MemberCoinTixian record);
+
+    boolean deleteMemberCoinTixian(MemberCoinTixian record);
+
+    boolean updateMemberCoinTixian(MemberCoinTixian record);
+}
+

+ 27 - 0
src/main/java/com/izouma/awesomeadmin/service/PlatformIncomeRecordService.java

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.PlatformIncomeRecord;
+
+
+/**
+*  service接口类
+*/
+public interface PlatformIncomeRecordService{
+
+    List<PlatformIncomeRecord> getPlatformIncomeRecordList(PlatformIncomeRecord record);
+
+    List<PlatformIncomeRecord> getPlatformIncomeRecordByPage(Page page, PlatformIncomeRecord record);
+
+    PlatformIncomeRecord getPlatformIncomeRecordById(String id);
+
+    PlatformIncomeRecord getPlatformIncomeRecord(PlatformIncomeRecord record);
+
+    boolean createPlatformIncomeRecord(PlatformIncomeRecord record);
+
+    boolean deletePlatformIncomeRecord(PlatformIncomeRecord record);
+
+    boolean updatePlatformIncomeRecord(PlatformIncomeRecord record);
+}
+

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

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.PlayerInfo;
+
+
+/**
+*  service接口类
+*/
+public interface PlayerInfoService{
+
+    List<PlayerInfo> getPlayerInfoList(PlayerInfo record);
+
+    List<PlayerInfo> getPlayerInfoByPage(Page page, PlayerInfo record);
+
+    PlayerInfo getPlayerInfoById(String id);
+
+    PlayerInfo getPlayerInfo(PlayerInfo record);
+
+    boolean createPlayerInfo(PlayerInfo record);
+
+    boolean deletePlayerInfo(PlayerInfo record);
+
+    boolean updatePlayerInfo(PlayerInfo record);
+}
+

+ 27 - 0
src/main/java/com/izouma/awesomeadmin/service/RechargeRecordService.java

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.RechargeRecord;
+
+
+/**
+*  service接口类
+*/
+public interface RechargeRecordService{
+
+    List<RechargeRecord> getRechargeRecordList(RechargeRecord record);
+
+    List<RechargeRecord> getRechargeRecordByPage(Page page, RechargeRecord record);
+
+    RechargeRecord getRechargeRecordById(String id);
+
+    RechargeRecord getRechargeRecord(RechargeRecord record);
+
+    boolean createRechargeRecord(RechargeRecord record);
+
+    boolean deleteRechargeRecord(RechargeRecord record);
+
+    boolean updateRechargeRecord(RechargeRecord record);
+}
+

+ 27 - 0
src/main/java/com/izouma/awesomeadmin/service/SystemNoticeService.java

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.SystemNotice;
+
+
+/**
+*  service接口类
+*/
+public interface SystemNoticeService{
+
+    List<SystemNotice> getSystemNoticeList(SystemNotice record);
+
+    List<SystemNotice> getSystemNoticeByPage(Page page, SystemNotice record);
+
+    SystemNotice getSystemNoticeById(String id);
+
+    SystemNotice getSystemNotice(SystemNotice record);
+
+    boolean createSystemNotice(SystemNotice record);
+
+    boolean deleteSystemNotice(SystemNotice record);
+
+    boolean updateSystemNotice(SystemNotice record);
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/BannerInfoServiceImpl.java

@@ -0,0 +1,137 @@
+package com.izouma.awesomeadmin.service.impl;
+
+import java.util.*;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.BannerInfo;
+import com.izouma.awesomeadmin.service.BannerInfoService;
+import com.izouma.awesomeadmin.dao.BannerInfoMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class BannerInfoServiceImpl implements BannerInfoService{
+
+    private static Logger logger = Logger.getLogger(BannerInfoServiceImpl.class);
+
+    @Autowired
+    private BannerInfoMapper bannerInfoMapper;
+
+    @Override
+    public List<BannerInfo> getBannerInfoList(BannerInfo record) {
+
+        logger.info("getBannerInfoList");
+        try {
+
+        return bannerInfoMapper.queryAllBannerInfo(record);
+        } catch (Exception e) {
+        logger.error("getBannerInfoList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<BannerInfo> getBannerInfoByPage(Page page, BannerInfo record) {
+
+        logger.info("getBannerInfoByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return bannerInfoMapper.queryBannerInfoByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getBannerInfoByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public BannerInfo getBannerInfoById(String id) {
+
+        logger.info("getBannerInfoyId");
+        try {
+
+            return bannerInfoMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getBannerInfoById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public BannerInfo getBannerInfo(BannerInfo record) {
+
+        logger.info("getBannerInfo");
+        try {
+
+            return bannerInfoMapper.queryBannerInfo(record);
+        } catch (Exception e) {
+        logger.error("getBannerInfo", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createBannerInfo(BannerInfo record) {
+
+        logger.info("createBannerInfo");
+        try {
+
+            int updates = bannerInfoMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createBannerInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteBannerInfo(BannerInfo record) {
+
+        logger.info("deleteBannerInfo");
+        try {
+
+             int updates = bannerInfoMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteBannerInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateBannerInfo(BannerInfo record) {
+
+        logger.info("updateBannerInfo");
+        try {
+
+            int updates = bannerInfoMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateBannerInfo", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/BonusRecordServiceImpl.java

@@ -0,0 +1,137 @@
+package com.izouma.awesomeadmin.service.impl;
+
+import java.util.*;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.BonusRecord;
+import com.izouma.awesomeadmin.service.BonusRecordService;
+import com.izouma.awesomeadmin.dao.BonusRecordMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class BonusRecordServiceImpl implements BonusRecordService{
+
+    private static Logger logger = Logger.getLogger(BonusRecordServiceImpl.class);
+
+    @Autowired
+    private BonusRecordMapper bonusRecordMapper;
+
+    @Override
+    public List<BonusRecord> getBonusRecordList(BonusRecord record) {
+
+        logger.info("getBonusRecordList");
+        try {
+
+        return bonusRecordMapper.queryAllBonusRecord(record);
+        } catch (Exception e) {
+        logger.error("getBonusRecordList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<BonusRecord> getBonusRecordByPage(Page page, BonusRecord record) {
+
+        logger.info("getBonusRecordByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return bonusRecordMapper.queryBonusRecordByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getBonusRecordByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public BonusRecord getBonusRecordById(String id) {
+
+        logger.info("getBonusRecordyId");
+        try {
+
+            return bonusRecordMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getBonusRecordById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public BonusRecord getBonusRecord(BonusRecord record) {
+
+        logger.info("getBonusRecord");
+        try {
+
+            return bonusRecordMapper.queryBonusRecord(record);
+        } catch (Exception e) {
+        logger.error("getBonusRecord", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createBonusRecord(BonusRecord record) {
+
+        logger.info("createBonusRecord");
+        try {
+
+            int updates = bonusRecordMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createBonusRecord", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteBonusRecord(BonusRecord record) {
+
+        logger.info("deleteBonusRecord");
+        try {
+
+             int updates = bonusRecordMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteBonusRecord", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateBonusRecord(BonusRecord record) {
+
+        logger.info("updateBonusRecord");
+        try {
+
+            int updates = bonusRecordMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateBonusRecord", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/CompetitionSeasonServiceImpl.java

@@ -0,0 +1,137 @@
+package com.izouma.awesomeadmin.service.impl;
+
+import java.util.*;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.CompetitionSeason;
+import com.izouma.awesomeadmin.service.CompetitionSeasonService;
+import com.izouma.awesomeadmin.dao.CompetitionSeasonMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class CompetitionSeasonServiceImpl implements CompetitionSeasonService{
+
+    private static Logger logger = Logger.getLogger(CompetitionSeasonServiceImpl.class);
+
+    @Autowired
+    private CompetitionSeasonMapper competitionSeasonMapper;
+
+    @Override
+    public List<CompetitionSeason> getCompetitionSeasonList(CompetitionSeason record) {
+
+        logger.info("getCompetitionSeasonList");
+        try {
+
+        return competitionSeasonMapper.queryAllCompetitionSeason(record);
+        } catch (Exception e) {
+        logger.error("getCompetitionSeasonList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<CompetitionSeason> getCompetitionSeasonByPage(Page page, CompetitionSeason record) {
+
+        logger.info("getCompetitionSeasonByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return competitionSeasonMapper.queryCompetitionSeasonByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getCompetitionSeasonByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public CompetitionSeason getCompetitionSeasonById(String id) {
+
+        logger.info("getCompetitionSeasonyId");
+        try {
+
+            return competitionSeasonMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getCompetitionSeasonById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public CompetitionSeason getCompetitionSeason(CompetitionSeason record) {
+
+        logger.info("getCompetitionSeason");
+        try {
+
+            return competitionSeasonMapper.queryCompetitionSeason(record);
+        } catch (Exception e) {
+        logger.error("getCompetitionSeason", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createCompetitionSeason(CompetitionSeason record) {
+
+        logger.info("createCompetitionSeason");
+        try {
+
+            int updates = competitionSeasonMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createCompetitionSeason", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteCompetitionSeason(CompetitionSeason record) {
+
+        logger.info("deleteCompetitionSeason");
+        try {
+
+             int updates = competitionSeasonMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteCompetitionSeason", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateCompetitionSeason(CompetitionSeason record) {
+
+        logger.info("updateCompetitionSeason");
+        try {
+
+            int updates = competitionSeasonMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateCompetitionSeason", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/GameInfoServiceImpl.java

@@ -0,0 +1,137 @@
+package com.izouma.awesomeadmin.service.impl;
+
+import java.util.*;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.GameInfo;
+import com.izouma.awesomeadmin.service.GameInfoService;
+import com.izouma.awesomeadmin.dao.GameInfoMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class GameInfoServiceImpl implements GameInfoService{
+
+    private static Logger logger = Logger.getLogger(GameInfoServiceImpl.class);
+
+    @Autowired
+    private GameInfoMapper gameInfoMapper;
+
+    @Override
+    public List<GameInfo> getGameInfoList(GameInfo record) {
+
+        logger.info("getGameInfoList");
+        try {
+
+        return gameInfoMapper.queryAllGameInfo(record);
+        } catch (Exception e) {
+        logger.error("getGameInfoList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<GameInfo> getGameInfoByPage(Page page, GameInfo record) {
+
+        logger.info("getGameInfoByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return gameInfoMapper.queryGameInfoByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getGameInfoByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public GameInfo getGameInfoById(String id) {
+
+        logger.info("getGameInfoyId");
+        try {
+
+            return gameInfoMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getGameInfoById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public GameInfo getGameInfo(GameInfo record) {
+
+        logger.info("getGameInfo");
+        try {
+
+            return gameInfoMapper.queryGameInfo(record);
+        } catch (Exception e) {
+        logger.error("getGameInfo", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createGameInfo(GameInfo record) {
+
+        logger.info("createGameInfo");
+        try {
+
+            int updates = gameInfoMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createGameInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteGameInfo(GameInfo record) {
+
+        logger.info("deleteGameInfo");
+        try {
+
+             int updates = gameInfoMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteGameInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateGameInfo(GameInfo record) {
+
+        logger.info("updateGameInfo");
+        try {
+
+            int updates = gameInfoMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateGameInfo", e);
+        }
+
+        return false;
+    }
+}
+

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

@@ -0,0 +1,137 @@
+package com.izouma.awesomeadmin.service.impl;
+
+import java.util.*;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.HouseInfo;
+import com.izouma.awesomeadmin.service.HouseInfoService;
+import com.izouma.awesomeadmin.dao.HouseInfoMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class HouseInfoServiceImpl implements HouseInfoService{
+
+    private static Logger logger = Logger.getLogger(HouseInfoServiceImpl.class);
+
+    @Autowired
+    private HouseInfoMapper houseInfoMapper;
+
+    @Override
+    public List<HouseInfo> getHouseInfoList(HouseInfo record) {
+
+        logger.info("getHouseInfoList");
+        try {
+
+        return houseInfoMapper.queryAllHouseInfo(record);
+        } catch (Exception e) {
+        logger.error("getHouseInfoList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<HouseInfo> getHouseInfoByPage(Page page, HouseInfo record) {
+
+        logger.info("getHouseInfoByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return houseInfoMapper.queryHouseInfoByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getHouseInfoByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public HouseInfo getHouseInfoById(String id) {
+
+        logger.info("getHouseInfoyId");
+        try {
+
+            return houseInfoMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getHouseInfoById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public HouseInfo getHouseInfo(HouseInfo record) {
+
+        logger.info("getHouseInfo");
+        try {
+
+            return houseInfoMapper.queryHouseInfo(record);
+        } catch (Exception e) {
+        logger.error("getHouseInfo", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createHouseInfo(HouseInfo record) {
+
+        logger.info("createHouseInfo");
+        try {
+
+            int updates = houseInfoMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createHouseInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteHouseInfo(HouseInfo record) {
+
+        logger.info("deleteHouseInfo");
+        try {
+
+             int updates = houseInfoMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteHouseInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateHouseInfo(HouseInfo record) {
+
+        logger.info("updateHouseInfo");
+        try {
+
+            int updates = houseInfoMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateHouseInfo", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/HouseLevelServiceImpl.java

@@ -0,0 +1,137 @@
+package com.izouma.awesomeadmin.service.impl;
+
+import java.util.*;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.HouseLevel;
+import com.izouma.awesomeadmin.service.HouseLevelService;
+import com.izouma.awesomeadmin.dao.HouseLevelMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class HouseLevelServiceImpl implements HouseLevelService{
+
+    private static Logger logger = Logger.getLogger(HouseLevelServiceImpl.class);
+
+    @Autowired
+    private HouseLevelMapper houseLevelMapper;
+
+    @Override
+    public List<HouseLevel> getHouseLevelList(HouseLevel record) {
+
+        logger.info("getHouseLevelList");
+        try {
+
+        return houseLevelMapper.queryAllHouseLevel(record);
+        } catch (Exception e) {
+        logger.error("getHouseLevelList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<HouseLevel> getHouseLevelByPage(Page page, HouseLevel record) {
+
+        logger.info("getHouseLevelByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return houseLevelMapper.queryHouseLevelByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getHouseLevelByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public HouseLevel getHouseLevelById(String id) {
+
+        logger.info("getHouseLevelyId");
+        try {
+
+            return houseLevelMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getHouseLevelById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public HouseLevel getHouseLevel(HouseLevel record) {
+
+        logger.info("getHouseLevel");
+        try {
+
+            return houseLevelMapper.queryHouseLevel(record);
+        } catch (Exception e) {
+        logger.error("getHouseLevel", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createHouseLevel(HouseLevel record) {
+
+        logger.info("createHouseLevel");
+        try {
+
+            int updates = houseLevelMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createHouseLevel", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteHouseLevel(HouseLevel record) {
+
+        logger.info("deleteHouseLevel");
+        try {
+
+             int updates = houseLevelMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteHouseLevel", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateHouseLevel(HouseLevel record) {
+
+        logger.info("updateHouseLevel");
+        try {
+
+            int updates = houseLevelMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateHouseLevel", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/MemberCoinServiceImpl.java

@@ -0,0 +1,137 @@
+package com.izouma.awesomeadmin.service.impl;
+
+import java.util.*;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.MemberCoin;
+import com.izouma.awesomeadmin.service.MemberCoinService;
+import com.izouma.awesomeadmin.dao.MemberCoinMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class MemberCoinServiceImpl implements MemberCoinService{
+
+    private static Logger logger = Logger.getLogger(MemberCoinServiceImpl.class);
+
+    @Autowired
+    private MemberCoinMapper memberCoinMapper;
+
+    @Override
+    public List<MemberCoin> getMemberCoinList(MemberCoin record) {
+
+        logger.info("getMemberCoinList");
+        try {
+
+        return memberCoinMapper.queryAllMemberCoin(record);
+        } catch (Exception e) {
+        logger.error("getMemberCoinList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<MemberCoin> getMemberCoinByPage(Page page, MemberCoin record) {
+
+        logger.info("getMemberCoinByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return memberCoinMapper.queryMemberCoinByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getMemberCoinByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public MemberCoin getMemberCoinById(String id) {
+
+        logger.info("getMemberCoinyId");
+        try {
+
+            return memberCoinMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getMemberCoinById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public MemberCoin getMemberCoin(MemberCoin record) {
+
+        logger.info("getMemberCoin");
+        try {
+
+            return memberCoinMapper.queryMemberCoin(record);
+        } catch (Exception e) {
+        logger.error("getMemberCoin", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createMemberCoin(MemberCoin record) {
+
+        logger.info("createMemberCoin");
+        try {
+
+            int updates = memberCoinMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createMemberCoin", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteMemberCoin(MemberCoin record) {
+
+        logger.info("deleteMemberCoin");
+        try {
+
+             int updates = memberCoinMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteMemberCoin", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateMemberCoin(MemberCoin record) {
+
+        logger.info("updateMemberCoin");
+        try {
+
+            int updates = memberCoinMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateMemberCoin", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/MemberCoinTixianServiceImpl.java

@@ -0,0 +1,137 @@
+package com.izouma.awesomeadmin.service.impl;
+
+import java.util.*;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.MemberCoinTixian;
+import com.izouma.awesomeadmin.service.MemberCoinTixianService;
+import com.izouma.awesomeadmin.dao.MemberCoinTixianMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class MemberCoinTixianServiceImpl implements MemberCoinTixianService{
+
+    private static Logger logger = Logger.getLogger(MemberCoinTixianServiceImpl.class);
+
+    @Autowired
+    private MemberCoinTixianMapper memberCoinTixianMapper;
+
+    @Override
+    public List<MemberCoinTixian> getMemberCoinTixianList(MemberCoinTixian record) {
+
+        logger.info("getMemberCoinTixianList");
+        try {
+
+        return memberCoinTixianMapper.queryAllMemberCoinTixian(record);
+        } catch (Exception e) {
+        logger.error("getMemberCoinTixianList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<MemberCoinTixian> getMemberCoinTixianByPage(Page page, MemberCoinTixian record) {
+
+        logger.info("getMemberCoinTixianByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return memberCoinTixianMapper.queryMemberCoinTixianByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getMemberCoinTixianByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public MemberCoinTixian getMemberCoinTixianById(String id) {
+
+        logger.info("getMemberCoinTixianyId");
+        try {
+
+            return memberCoinTixianMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getMemberCoinTixianById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public MemberCoinTixian getMemberCoinTixian(MemberCoinTixian record) {
+
+        logger.info("getMemberCoinTixian");
+        try {
+
+            return memberCoinTixianMapper.queryMemberCoinTixian(record);
+        } catch (Exception e) {
+        logger.error("getMemberCoinTixian", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createMemberCoinTixian(MemberCoinTixian record) {
+
+        logger.info("createMemberCoinTixian");
+        try {
+
+            int updates = memberCoinTixianMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createMemberCoinTixian", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteMemberCoinTixian(MemberCoinTixian record) {
+
+        logger.info("deleteMemberCoinTixian");
+        try {
+
+             int updates = memberCoinTixianMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteMemberCoinTixian", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateMemberCoinTixian(MemberCoinTixian record) {
+
+        logger.info("updateMemberCoinTixian");
+        try {
+
+            int updates = memberCoinTixianMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateMemberCoinTixian", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/PlatformIncomeRecordServiceImpl.java

@@ -0,0 +1,137 @@
+package com.izouma.awesomeadmin.service.impl;
+
+import java.util.*;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.PlatformIncomeRecord;
+import com.izouma.awesomeadmin.service.PlatformIncomeRecordService;
+import com.izouma.awesomeadmin.dao.PlatformIncomeRecordMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class PlatformIncomeRecordServiceImpl implements PlatformIncomeRecordService{
+
+    private static Logger logger = Logger.getLogger(PlatformIncomeRecordServiceImpl.class);
+
+    @Autowired
+    private PlatformIncomeRecordMapper platformIncomeRecordMapper;
+
+    @Override
+    public List<PlatformIncomeRecord> getPlatformIncomeRecordList(PlatformIncomeRecord record) {
+
+        logger.info("getPlatformIncomeRecordList");
+        try {
+
+        return platformIncomeRecordMapper.queryAllPlatformIncomeRecord(record);
+        } catch (Exception e) {
+        logger.error("getPlatformIncomeRecordList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<PlatformIncomeRecord> getPlatformIncomeRecordByPage(Page page, PlatformIncomeRecord record) {
+
+        logger.info("getPlatformIncomeRecordByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return platformIncomeRecordMapper.queryPlatformIncomeRecordByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getPlatformIncomeRecordByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public PlatformIncomeRecord getPlatformIncomeRecordById(String id) {
+
+        logger.info("getPlatformIncomeRecordyId");
+        try {
+
+            return platformIncomeRecordMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getPlatformIncomeRecordById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public PlatformIncomeRecord getPlatformIncomeRecord(PlatformIncomeRecord record) {
+
+        logger.info("getPlatformIncomeRecord");
+        try {
+
+            return platformIncomeRecordMapper.queryPlatformIncomeRecord(record);
+        } catch (Exception e) {
+        logger.error("getPlatformIncomeRecord", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createPlatformIncomeRecord(PlatformIncomeRecord record) {
+
+        logger.info("createPlatformIncomeRecord");
+        try {
+
+            int updates = platformIncomeRecordMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createPlatformIncomeRecord", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deletePlatformIncomeRecord(PlatformIncomeRecord record) {
+
+        logger.info("deletePlatformIncomeRecord");
+        try {
+
+             int updates = platformIncomeRecordMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deletePlatformIncomeRecord", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updatePlatformIncomeRecord(PlatformIncomeRecord record) {
+
+        logger.info("updatePlatformIncomeRecord");
+        try {
+
+            int updates = platformIncomeRecordMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updatePlatformIncomeRecord", e);
+        }
+
+        return false;
+    }
+}
+

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

@@ -0,0 +1,137 @@
+package com.izouma.awesomeadmin.service.impl;
+
+import java.util.*;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.PlayerInfo;
+import com.izouma.awesomeadmin.service.PlayerInfoService;
+import com.izouma.awesomeadmin.dao.PlayerInfoMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class PlayerInfoServiceImpl implements PlayerInfoService{
+
+    private static Logger logger = Logger.getLogger(PlayerInfoServiceImpl.class);
+
+    @Autowired
+    private PlayerInfoMapper playerInfoMapper;
+
+    @Override
+    public List<PlayerInfo> getPlayerInfoList(PlayerInfo record) {
+
+        logger.info("getPlayerInfoList");
+        try {
+
+        return playerInfoMapper.queryAllPlayerInfo(record);
+        } catch (Exception e) {
+        logger.error("getPlayerInfoList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<PlayerInfo> getPlayerInfoByPage(Page page, PlayerInfo record) {
+
+        logger.info("getPlayerInfoByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return playerInfoMapper.queryPlayerInfoByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getPlayerInfoByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public PlayerInfo getPlayerInfoById(String id) {
+
+        logger.info("getPlayerInfoyId");
+        try {
+
+            return playerInfoMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getPlayerInfoById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public PlayerInfo getPlayerInfo(PlayerInfo record) {
+
+        logger.info("getPlayerInfo");
+        try {
+
+            return playerInfoMapper.queryPlayerInfo(record);
+        } catch (Exception e) {
+        logger.error("getPlayerInfo", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createPlayerInfo(PlayerInfo record) {
+
+        logger.info("createPlayerInfo");
+        try {
+
+            int updates = playerInfoMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createPlayerInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deletePlayerInfo(PlayerInfo record) {
+
+        logger.info("deletePlayerInfo");
+        try {
+
+             int updates = playerInfoMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deletePlayerInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updatePlayerInfo(PlayerInfo record) {
+
+        logger.info("updatePlayerInfo");
+        try {
+
+            int updates = playerInfoMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updatePlayerInfo", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/RechargeRecordServiceImpl.java

@@ -0,0 +1,137 @@
+package com.izouma.awesomeadmin.service.impl;
+
+import java.util.*;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.RechargeRecord;
+import com.izouma.awesomeadmin.service.RechargeRecordService;
+import com.izouma.awesomeadmin.dao.RechargeRecordMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class RechargeRecordServiceImpl implements RechargeRecordService{
+
+    private static Logger logger = Logger.getLogger(RechargeRecordServiceImpl.class);
+
+    @Autowired
+    private RechargeRecordMapper rechargeRecordMapper;
+
+    @Override
+    public List<RechargeRecord> getRechargeRecordList(RechargeRecord record) {
+
+        logger.info("getRechargeRecordList");
+        try {
+
+        return rechargeRecordMapper.queryAllRechargeRecord(record);
+        } catch (Exception e) {
+        logger.error("getRechargeRecordList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<RechargeRecord> getRechargeRecordByPage(Page page, RechargeRecord record) {
+
+        logger.info("getRechargeRecordByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return rechargeRecordMapper.queryRechargeRecordByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getRechargeRecordByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public RechargeRecord getRechargeRecordById(String id) {
+
+        logger.info("getRechargeRecordyId");
+        try {
+
+            return rechargeRecordMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getRechargeRecordById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public RechargeRecord getRechargeRecord(RechargeRecord record) {
+
+        logger.info("getRechargeRecord");
+        try {
+
+            return rechargeRecordMapper.queryRechargeRecord(record);
+        } catch (Exception e) {
+        logger.error("getRechargeRecord", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createRechargeRecord(RechargeRecord record) {
+
+        logger.info("createRechargeRecord");
+        try {
+
+            int updates = rechargeRecordMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createRechargeRecord", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteRechargeRecord(RechargeRecord record) {
+
+        logger.info("deleteRechargeRecord");
+        try {
+
+             int updates = rechargeRecordMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteRechargeRecord", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateRechargeRecord(RechargeRecord record) {
+
+        logger.info("updateRechargeRecord");
+        try {
+
+            int updates = rechargeRecordMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateRechargeRecord", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/SystemNoticeServiceImpl.java

@@ -0,0 +1,137 @@
+package com.izouma.awesomeadmin.service.impl;
+
+import java.util.*;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.SystemNotice;
+import com.izouma.awesomeadmin.service.SystemNoticeService;
+import com.izouma.awesomeadmin.dao.SystemNoticeMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class SystemNoticeServiceImpl implements SystemNoticeService{
+
+    private static Logger logger = Logger.getLogger(SystemNoticeServiceImpl.class);
+
+    @Autowired
+    private SystemNoticeMapper systemNoticeMapper;
+
+    @Override
+    public List<SystemNotice> getSystemNoticeList(SystemNotice record) {
+
+        logger.info("getSystemNoticeList");
+        try {
+
+        return systemNoticeMapper.queryAllSystemNotice(record);
+        } catch (Exception e) {
+        logger.error("getSystemNoticeList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<SystemNotice> getSystemNoticeByPage(Page page, SystemNotice record) {
+
+        logger.info("getSystemNoticeByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return systemNoticeMapper.querySystemNoticeByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getSystemNoticeByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public SystemNotice getSystemNoticeById(String id) {
+
+        logger.info("getSystemNoticeyId");
+        try {
+
+            return systemNoticeMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getSystemNoticeById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public SystemNotice getSystemNotice(SystemNotice record) {
+
+        logger.info("getSystemNotice");
+        try {
+
+            return systemNoticeMapper.querySystemNotice(record);
+        } catch (Exception e) {
+        logger.error("getSystemNotice", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createSystemNotice(SystemNotice record) {
+
+        logger.info("createSystemNotice");
+        try {
+
+            int updates = systemNoticeMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createSystemNotice", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteSystemNotice(SystemNotice record) {
+
+        logger.info("deleteSystemNotice");
+        try {
+
+             int updates = systemNoticeMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteSystemNotice", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateSystemNotice(SystemNotice record) {
+
+        logger.info("updateSystemNotice");
+        try {
+
+            int updates = systemNoticeMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateSystemNotice", e);
+        }
+
+        return false;
+    }
+}
+

+ 165 - 0
src/main/java/com/izouma/awesomeadmin/web/BannerInfoController.java

@@ -0,0 +1,165 @@
+package com.izouma.awesomeadmin.web;
+
+import java.util.*;
+
+import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresAuthentication;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.BannerInfo;
+import com.izouma.awesomeadmin.service.BannerInfoService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/bannerInfo")
+public class BannerInfoController {
+
+    @Autowired
+    private BannerInfoService bannerInfoService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(BannerInfo record) {
+        List<BannerInfo> pp = bannerInfoService.getBannerInfoList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getBannerInfo", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getBannerInfo(@RequestParam(required = false, value = "id") String id) {
+        BannerInfo data = bannerInfoService.getBannerInfoById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(BannerInfo record) {
+        BannerInfo data = bannerInfoService.getBannerInfo(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, BannerInfo record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<BannerInfo> pp =bannerInfoService.getBannerInfoByPage(page, record);
+
+        result.put(AppConstant.PAGE, page);
+        result.put("pp", pp);
+        return new Result(true, result);
+    }
+
+
+    /**
+    * <p>保存。</p>
+    */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ResponseBody
+    public Result save(BannerInfo record) {
+        boolean num = bannerInfoService.createBannerInfo(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateBannerInfo(BannerInfo record) {
+        boolean num = bannerInfoService.updateBannerInfo(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteBannerInfo(BannerInfo record) {
+
+        boolean num = bannerInfoService.deleteBannerInfo(record);
+        if (num) {
+        return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+    /**
+    * 导出Excel
+    * @param request
+    * @param response
+    * @param record
+    * @throws Exception
+    */
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportExcel(HttpServletRequest request, HttpServletResponse response, BannerInfo record) throws Exception {
+
+    List<BannerInfo> bannerInfos = bannerInfoService.getBannerInfoList(record);
+
+
+        String sheetName = "banner_info";
+        String titleName = "banner信息数据表";
+        String fileName = "banner信息表";
+        int columnNumber = 14;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "ID" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "位置" ,   "标题" ,   "子标题" ,   "URL" ,   "图片" ,   "备注" ,   "排序" ,   "类型"  };
+        String[][] dataList = new String[bannerInfos.size()][14];
+
+        for (int i = 0; i < bannerInfos.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(bannerInfos.get(i).getId());
+                        dataList[i][1] = String.valueOf(bannerInfos.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(bannerInfos.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(bannerInfos.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(bannerInfos.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(bannerInfos.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(bannerInfos.get(i).getLocation());
+                        dataList[i][7] = String.valueOf(bannerInfos.get(i).getTitle());
+                        dataList[i][8] = String.valueOf(bannerInfos.get(i).getSubtitle());
+                        dataList[i][9] = String.valueOf(bannerInfos.get(i).getUrl());
+                        dataList[i][10] = String.valueOf(bannerInfos.get(i).getImageUrl());
+                        dataList[i][11] = String.valueOf(bannerInfos.get(i).getRemark());
+                        dataList[i][12] = String.valueOf(bannerInfos.get(i).getRank());
+                        dataList[i][13] = String.valueOf(bannerInfos.get(i).getTypeFlag());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 166 - 0
src/main/java/com/izouma/awesomeadmin/web/BonusRecordController.java

@@ -0,0 +1,166 @@
+package com.izouma.awesomeadmin.web;
+
+import java.util.*;
+
+import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresAuthentication;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.BonusRecord;
+import com.izouma.awesomeadmin.service.BonusRecordService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/bonusRecord")
+public class BonusRecordController {
+
+    @Autowired
+    private BonusRecordService bonusRecordService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(BonusRecord record) {
+        List<BonusRecord> pp = bonusRecordService.getBonusRecordList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getBonusRecord", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getBonusRecord(@RequestParam(required = false, value = "id") String id) {
+        BonusRecord data = bonusRecordService.getBonusRecordById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(BonusRecord record) {
+        BonusRecord data = bonusRecordService.getBonusRecord(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, BonusRecord record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<BonusRecord> pp =bonusRecordService.getBonusRecordByPage(page, record);
+
+        result.put(AppConstant.PAGE, page);
+        result.put("pp", pp);
+        return new Result(true, result);
+    }
+
+
+    /**
+    * <p>保存。</p>
+    */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ResponseBody
+    public Result save(BonusRecord record) {
+        boolean num = bonusRecordService.createBonusRecord(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateBonusRecord(BonusRecord record) {
+        boolean num = bonusRecordService.updateBonusRecord(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteBonusRecord(BonusRecord record) {
+
+        boolean num = bonusRecordService.deleteBonusRecord(record);
+        if (num) {
+        return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+    /**
+    * 导出Excel
+    * @param request
+    * @param response
+    * @param record
+    * @throws Exception
+    */
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportExcel(HttpServletRequest request, HttpServletResponse response, BonusRecord record) throws Exception {
+
+    List<BonusRecord> bonusRecords = bonusRecordService.getBonusRecordList(record);
+
+
+        String sheetName = "bonus_record";
+        String titleName = "奖金池记录数据表";
+        String fileName = "奖金池记录表";
+        int columnNumber = 15;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "变动金额" ,   "奖金池" ,   "用户ID" ,   "赛季ID" ,   "游戏ID" ,   "房间ID" ,   "类型" ,   "备注" ,   "参赛ID"  };
+        String[][] dataList = new String[bonusRecords.size()][15];
+
+        for (int i = 0; i < bonusRecords.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(bonusRecords.get(i).getId());
+                        dataList[i][1] = String.valueOf(bonusRecords.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(bonusRecords.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(bonusRecords.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(bonusRecords.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(bonusRecords.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(bonusRecords.get(i).getMoney());
+                        dataList[i][7] = String.valueOf(bonusRecords.get(i).getBonus());
+                        dataList[i][8] = String.valueOf(bonusRecords.get(i).getUserId());
+                        dataList[i][9] = String.valueOf(bonusRecords.get(i).getSeasonId());
+                        dataList[i][10] = String.valueOf(bonusRecords.get(i).getGameId());
+                        dataList[i][11] = String.valueOf(bonusRecords.get(i).getHouseId());
+                        dataList[i][12] = String.valueOf(bonusRecords.get(i).getTypeFlag());
+                        dataList[i][13] = String.valueOf(bonusRecords.get(i).getRemark());
+                        dataList[i][14] = String.valueOf(bonusRecords.get(i).getPlayerId());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 165 - 0
src/main/java/com/izouma/awesomeadmin/web/CompetitionSeasonController.java

@@ -0,0 +1,165 @@
+package com.izouma.awesomeadmin.web;
+
+import java.util.*;
+
+import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresAuthentication;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.CompetitionSeason;
+import com.izouma.awesomeadmin.service.CompetitionSeasonService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/competitionSeason")
+public class CompetitionSeasonController {
+
+    @Autowired
+    private CompetitionSeasonService competitionSeasonService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(CompetitionSeason record) {
+        List<CompetitionSeason> pp = competitionSeasonService.getCompetitionSeasonList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getCompetitionSeason", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getCompetitionSeason(@RequestParam(required = false, value = "id") String id) {
+        CompetitionSeason data = competitionSeasonService.getCompetitionSeasonById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(CompetitionSeason record) {
+        CompetitionSeason data = competitionSeasonService.getCompetitionSeason(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, CompetitionSeason record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<CompetitionSeason> pp =competitionSeasonService.getCompetitionSeasonByPage(page, record);
+
+        result.put(AppConstant.PAGE, page);
+        result.put("pp", pp);
+        return new Result(true, result);
+    }
+
+
+    /**
+    * <p>保存。</p>
+    */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ResponseBody
+    public Result save(CompetitionSeason record) {
+        boolean num = competitionSeasonService.createCompetitionSeason(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateCompetitionSeason(CompetitionSeason record) {
+        boolean num = competitionSeasonService.updateCompetitionSeason(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteCompetitionSeason(CompetitionSeason record) {
+
+        boolean num = competitionSeasonService.deleteCompetitionSeason(record);
+        if (num) {
+        return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+    /**
+    * 导出Excel
+    * @param request
+    * @param response
+    * @param record
+    * @throws Exception
+    */
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportExcel(HttpServletRequest request, HttpServletResponse response, CompetitionSeason record) throws Exception {
+
+    List<CompetitionSeason> competitionSeasons = competitionSeasonService.getCompetitionSeasonList(record);
+
+
+        String sheetName = "competition_season";
+        String titleName = "赛季数据表";
+        String fileName = "赛季表";
+        int columnNumber = 14;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "名称" ,   "简称" ,   "开始时间" ,   "结束时间" ,   "奖金数" ,   "备注" ,   "排序" ,   "状态"  };
+        String[][] dataList = new String[competitionSeasons.size()][14];
+
+        for (int i = 0; i < competitionSeasons.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(competitionSeasons.get(i).getId());
+                        dataList[i][1] = String.valueOf(competitionSeasons.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(competitionSeasons.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(competitionSeasons.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(competitionSeasons.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(competitionSeasons.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(competitionSeasons.get(i).getSeason());
+                        dataList[i][7] = String.valueOf(competitionSeasons.get(i).getShortName());
+                        dataList[i][8] = String.valueOf(competitionSeasons.get(i).getBeginTime());
+                        dataList[i][9] = String.valueOf(competitionSeasons.get(i).getEndTime());
+                        dataList[i][10] = String.valueOf(competitionSeasons.get(i).getBonus());
+                        dataList[i][11] = String.valueOf(competitionSeasons.get(i).getRemark());
+                        dataList[i][12] = String.valueOf(competitionSeasons.get(i).getRank());
+                        dataList[i][13] = String.valueOf(competitionSeasons.get(i).getStatusFlag());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 163 - 0
src/main/java/com/izouma/awesomeadmin/web/GameInfoController.java

@@ -0,0 +1,163 @@
+package com.izouma.awesomeadmin.web;
+
+import java.util.*;
+
+import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresAuthentication;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.GameInfo;
+import com.izouma.awesomeadmin.service.GameInfoService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/gameInfo")
+public class GameInfoController {
+
+    @Autowired
+    private GameInfoService gameInfoService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(GameInfo record) {
+        List<GameInfo> pp = gameInfoService.getGameInfoList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getGameInfo", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getGameInfo(@RequestParam(required = false, value = "id") String id) {
+        GameInfo data = gameInfoService.getGameInfoById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(GameInfo record) {
+        GameInfo data = gameInfoService.getGameInfo(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, GameInfo record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<GameInfo> pp =gameInfoService.getGameInfoByPage(page, record);
+
+        result.put(AppConstant.PAGE, page);
+        result.put("pp", pp);
+        return new Result(true, result);
+    }
+
+
+    /**
+    * <p>保存。</p>
+    */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ResponseBody
+    public Result save(GameInfo record) {
+        boolean num = gameInfoService.createGameInfo(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateGameInfo(GameInfo record) {
+        boolean num = gameInfoService.updateGameInfo(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteGameInfo(GameInfo record) {
+
+        boolean num = gameInfoService.deleteGameInfo(record);
+        if (num) {
+        return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+    /**
+    * 导出Excel
+    * @param request
+    * @param response
+    * @param record
+    * @throws Exception
+    */
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportExcel(HttpServletRequest request, HttpServletResponse response, GameInfo record) throws Exception {
+
+    List<GameInfo> gameInfos = gameInfoService.getGameInfoList(record);
+
+
+        String sheetName = "game_info";
+        String titleName = "游戏数据表";
+        String fileName = "游戏表";
+        int columnNumber = 12;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "ID" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "游戏名" ,   "类型" ,   "图标" ,   "排序" ,   "备注" ,   "可用"  };
+        String[][] dataList = new String[gameInfos.size()][12];
+
+        for (int i = 0; i < gameInfos.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(gameInfos.get(i).getId());
+                        dataList[i][1] = String.valueOf(gameInfos.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(gameInfos.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(gameInfos.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(gameInfos.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(gameInfos.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(gameInfos.get(i).getGameName());
+                        dataList[i][7] = String.valueOf(gameInfos.get(i).getTypeFlag());
+                        dataList[i][8] = String.valueOf(gameInfos.get(i).getIcon());
+                        dataList[i][9] = String.valueOf(gameInfos.get(i).getRank());
+                        dataList[i][10] = String.valueOf(gameInfos.get(i).getRemark());
+                        dataList[i][11] = String.valueOf(gameInfos.get(i).getUseFlag());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

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

@@ -0,0 +1,178 @@
+package com.izouma.awesomeadmin.web;
+
+import java.util.*;
+
+import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresAuthentication;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+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.service.HouseInfoService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/houseInfo")
+public class HouseInfoController {
+
+    @Autowired
+    private HouseInfoService houseInfoService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(HouseInfo record) {
+        List<HouseInfo> pp = houseInfoService.getHouseInfoList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getHouseInfo", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getHouseInfo(@RequestParam(required = false, value = "id") String id) {
+        HouseInfo data = houseInfoService.getHouseInfoById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(HouseInfo record) {
+        HouseInfo data = houseInfoService.getHouseInfo(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, HouseInfo record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<HouseInfo> pp =houseInfoService.getHouseInfoByPage(page, record);
+
+        result.put(AppConstant.PAGE, page);
+        result.put("pp", pp);
+        return new Result(true, result);
+    }
+
+
+    /**
+    * <p>保存。</p>
+    */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ResponseBody
+    public Result save(HouseInfo record) {
+        boolean num = houseInfoService.createHouseInfo(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateHouseInfo(HouseInfo record) {
+        boolean num = houseInfoService.updateHouseInfo(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteHouseInfo(HouseInfo record) {
+
+        boolean num = houseInfoService.deleteHouseInfo(record);
+        if (num) {
+        return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+    /**
+    * 导出Excel
+    * @param request
+    * @param response
+    * @param record
+    * @throws Exception
+    */
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportExcel(HttpServletRequest request, HttpServletResponse response, HouseInfo record) throws Exception {
+
+    List<HouseInfo> houseInfos = houseInfoService.getHouseInfoList(record);
+
+
+        String sheetName = "house_info";
+        String titleName = "房间信息数据表";
+        String fileName = "房间信息表";
+        int columnNumber = 27;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "名称" ,   "描述" ,   "头像" ,   "CODE" ,   "用户" ,   "类型" ,   "等级" ,   "游戏" ,   "状态" ,   "推荐" ,   "排序" ,   "可用" ,   "游戏房间号" ,   "游戏密码" ,   "开始时间" ,   "结束时间" ,   "比赛名称" ,   "参数人数" ,   "奖金" ,   "赛季ID" ,   "视频"  };
+        String[][] dataList = new String[houseInfos.size()][27];
+
+        for (int i = 0; i < houseInfos.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(houseInfos.get(i).getId());
+                        dataList[i][1] = String.valueOf(houseInfos.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(houseInfos.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(houseInfos.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(houseInfos.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(houseInfos.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(houseInfos.get(i).getHouseName());
+                        dataList[i][7] = String.valueOf(houseInfos.get(i).getHouseAbstract());
+                        dataList[i][8] = String.valueOf(houseInfos.get(i).getIcon());
+                        dataList[i][9] = String.valueOf(houseInfos.get(i).getHouseCode());
+                        dataList[i][10] = String.valueOf(houseInfos.get(i).getUserId());
+                        dataList[i][11] = String.valueOf(houseInfos.get(i).getHouseType());
+                        dataList[i][12] = String.valueOf(houseInfos.get(i).getHouseLevel());
+                        dataList[i][13] = String.valueOf(houseInfos.get(i).getGameId());
+                        dataList[i][14] = String.valueOf(houseInfos.get(i).getStatusFlag());
+                        dataList[i][15] = String.valueOf(houseInfos.get(i).getRecommendFlag());
+                        dataList[i][16] = String.valueOf(houseInfos.get(i).getRank());
+                        dataList[i][17] = String.valueOf(houseInfos.get(i).getUseFlag());
+                        dataList[i][18] = String.valueOf(houseInfos.get(i).getGameHouseId());
+                        dataList[i][19] = String.valueOf(houseInfos.get(i).getGameHousePassword());
+                        dataList[i][20] = String.valueOf(houseInfos.get(i).getBeginTime());
+                        dataList[i][21] = String.valueOf(houseInfos.get(i).getEndTime());
+                        dataList[i][22] = String.valueOf(houseInfos.get(i).getMatchName());
+                        dataList[i][23] = String.valueOf(houseInfos.get(i).getPlayerNumber());
+                        dataList[i][24] = String.valueOf(houseInfos.get(i).getBonus());
+                        dataList[i][25] = String.valueOf(houseInfos.get(i).getSeasonId());
+                        dataList[i][26] = String.valueOf(houseInfos.get(i).getVideo());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 169 - 0
src/main/java/com/izouma/awesomeadmin/web/HouseLevelController.java

@@ -0,0 +1,169 @@
+package com.izouma.awesomeadmin.web;
+
+import java.util.*;
+
+import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresAuthentication;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.HouseLevel;
+import com.izouma.awesomeadmin.service.HouseLevelService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/houseLevel")
+public class HouseLevelController {
+
+    @Autowired
+    private HouseLevelService houseLevelService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(HouseLevel record) {
+        List<HouseLevel> pp = houseLevelService.getHouseLevelList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getHouseLevel", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getHouseLevel(@RequestParam(required = false, value = "id") String id) {
+        HouseLevel data = houseLevelService.getHouseLevelById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(HouseLevel record) {
+        HouseLevel data = houseLevelService.getHouseLevel(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, HouseLevel record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<HouseLevel> pp =houseLevelService.getHouseLevelByPage(page, record);
+
+        result.put(AppConstant.PAGE, page);
+        result.put("pp", pp);
+        return new Result(true, result);
+    }
+
+
+    /**
+    * <p>保存。</p>
+    */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ResponseBody
+    public Result save(HouseLevel record) {
+        boolean num = houseLevelService.createHouseLevel(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateHouseLevel(HouseLevel record) {
+        boolean num = houseLevelService.updateHouseLevel(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteHouseLevel(HouseLevel record) {
+
+        boolean num = houseLevelService.deleteHouseLevel(record);
+        if (num) {
+        return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+    /**
+    * 导出Excel
+    * @param request
+    * @param response
+    * @param record
+    * @throws Exception
+    */
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportExcel(HttpServletRequest request, HttpServletResponse response, HouseLevel record) throws Exception {
+
+    List<HouseLevel> houseLevels = houseLevelService.getHouseLevelList(record);
+
+
+        String sheetName = "house_level";
+        String titleName = "房间段位数据表";
+        String fileName = "房间段位表";
+        int columnNumber = 18;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "ID" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "名称" ,   "最大人数" ,   "最小人数" ,   "图标" ,   "排序" ,   "加入要求" ,   "备注" ,   "第一名比率" ,   "第二名比率" ,   "第三名比率" ,   "手续费比率" ,   "奖金池比率"  };
+        String[][] dataList = new String[houseLevels.size()][18];
+
+        for (int i = 0; i < houseLevels.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(houseLevels.get(i).getId());
+                        dataList[i][1] = String.valueOf(houseLevels.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(houseLevels.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(houseLevels.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(houseLevels.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(houseLevels.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(houseLevels.get(i).getLevelName());
+                        dataList[i][7] = String.valueOf(houseLevels.get(i).getMaxNumber());
+                        dataList[i][8] = String.valueOf(houseLevels.get(i).getMinNumber());
+                        dataList[i][9] = String.valueOf(houseLevels.get(i).getIcon());
+                        dataList[i][10] = String.valueOf(houseLevels.get(i).getRank());
+                        dataList[i][11] = String.valueOf(houseLevels.get(i).getEntryCoin());
+                        dataList[i][12] = String.valueOf(houseLevels.get(i).getRemark());
+                        dataList[i][13] = String.valueOf(houseLevels.get(i).getFirstRatio());
+                        dataList[i][14] = String.valueOf(houseLevels.get(i).getSecondRatio());
+                        dataList[i][15] = String.valueOf(houseLevels.get(i).getThirdRatio());
+                        dataList[i][16] = String.valueOf(houseLevels.get(i).getFeeRatio());
+                        dataList[i][17] = String.valueOf(houseLevels.get(i).getPoolRatio());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 166 - 0
src/main/java/com/izouma/awesomeadmin/web/MemberCoinController.java

@@ -0,0 +1,166 @@
+package com.izouma.awesomeadmin.web;
+
+import java.util.*;
+
+import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresAuthentication;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.MemberCoin;
+import com.izouma.awesomeadmin.service.MemberCoinService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/memberCoin")
+public class MemberCoinController {
+
+    @Autowired
+    private MemberCoinService memberCoinService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(MemberCoin record) {
+        List<MemberCoin> pp = memberCoinService.getMemberCoinList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getMemberCoin", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getMemberCoin(@RequestParam(required = false, value = "id") String id) {
+        MemberCoin data = memberCoinService.getMemberCoinById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(MemberCoin record) {
+        MemberCoin data = memberCoinService.getMemberCoin(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, MemberCoin record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<MemberCoin> pp =memberCoinService.getMemberCoinByPage(page, record);
+
+        result.put(AppConstant.PAGE, page);
+        result.put("pp", pp);
+        return new Result(true, result);
+    }
+
+
+    /**
+    * <p>保存。</p>
+    */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ResponseBody
+    public Result save(MemberCoin record) {
+        boolean num = memberCoinService.createMemberCoin(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateMemberCoin(MemberCoin record) {
+        boolean num = memberCoinService.updateMemberCoin(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteMemberCoin(MemberCoin record) {
+
+        boolean num = memberCoinService.deleteMemberCoin(record);
+        if (num) {
+        return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+    /**
+    * 导出Excel
+    * @param request
+    * @param response
+    * @param record
+    * @throws Exception
+    */
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportExcel(HttpServletRequest request, HttpServletResponse response, MemberCoin record) throws Exception {
+
+    List<MemberCoin> memberCoins = memberCoinService.getMemberCoinList(record);
+
+
+        String sheetName = "member_coin";
+        String titleName = "金币记录数据表";
+        String fileName = "金币记录表";
+        int columnNumber = 15;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "游戏" ,   "房间" ,   "用户" ,   "备注" ,   "类型" ,   "金额" ,   "余额" ,   "赛季ID" ,   "选手ID"  };
+        String[][] dataList = new String[memberCoins.size()][15];
+
+        for (int i = 0; i < memberCoins.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(memberCoins.get(i).getId());
+                        dataList[i][1] = String.valueOf(memberCoins.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(memberCoins.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(memberCoins.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(memberCoins.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(memberCoins.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(memberCoins.get(i).getGameId());
+                        dataList[i][7] = String.valueOf(memberCoins.get(i).getHouseId());
+                        dataList[i][8] = String.valueOf(memberCoins.get(i).getUserId());
+                        dataList[i][9] = String.valueOf(memberCoins.get(i).getRemark());
+                        dataList[i][10] = String.valueOf(memberCoins.get(i).getTypeFlag());
+                        dataList[i][11] = String.valueOf(memberCoins.get(i).getMoney());
+                        dataList[i][12] = String.valueOf(memberCoins.get(i).getBalance());
+                        dataList[i][13] = String.valueOf(memberCoins.get(i).getSeasonId());
+                        dataList[i][14] = String.valueOf(memberCoins.get(i).getPlayerId());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 172 - 0
src/main/java/com/izouma/awesomeadmin/web/MemberCoinTixianController.java

@@ -0,0 +1,172 @@
+package com.izouma.awesomeadmin.web;
+
+import java.util.*;
+
+import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresAuthentication;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.MemberCoinTixian;
+import com.izouma.awesomeadmin.service.MemberCoinTixianService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/memberCoinTixian")
+public class MemberCoinTixianController {
+
+    @Autowired
+    private MemberCoinTixianService memberCoinTixianService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(MemberCoinTixian record) {
+        List<MemberCoinTixian> pp = memberCoinTixianService.getMemberCoinTixianList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getMemberCoinTixian", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getMemberCoinTixian(@RequestParam(required = false, value = "id") String id) {
+        MemberCoinTixian data = memberCoinTixianService.getMemberCoinTixianById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(MemberCoinTixian record) {
+        MemberCoinTixian data = memberCoinTixianService.getMemberCoinTixian(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, MemberCoinTixian record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<MemberCoinTixian> pp =memberCoinTixianService.getMemberCoinTixianByPage(page, record);
+
+        result.put(AppConstant.PAGE, page);
+        result.put("pp", pp);
+        return new Result(true, result);
+    }
+
+
+    /**
+    * <p>保存。</p>
+    */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ResponseBody
+    public Result save(MemberCoinTixian record) {
+        boolean num = memberCoinTixianService.createMemberCoinTixian(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateMemberCoinTixian(MemberCoinTixian record) {
+        boolean num = memberCoinTixianService.updateMemberCoinTixian(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteMemberCoinTixian(MemberCoinTixian record) {
+
+        boolean num = memberCoinTixianService.deleteMemberCoinTixian(record);
+        if (num) {
+        return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+    /**
+    * 导出Excel
+    * @param request
+    * @param response
+    * @param record
+    * @throws Exception
+    */
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportExcel(HttpServletRequest request, HttpServletResponse response, MemberCoinTixian record) throws Exception {
+
+    List<MemberCoinTixian> memberCoinTixians = memberCoinTixianService.getMemberCoinTixianList(record);
+
+
+        String sheetName = "member_coin_tixian";
+        String titleName = "用户余额提现数据表";
+        String fileName = "用户余额提现表";
+        int columnNumber = 21;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "ID" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "用户" ,   "提现金额" ,   "状态" ,   "手续费" ,   "实发金额" ,   "处理人" ,   "成交时间" ,   "微信" ,   "支付宝" ,   "银行卡号" ,   "开户行" ,   "开户名" ,   "提现方式" ,   "备注" ,   "提现CODE"  };
+        String[][] dataList = new String[memberCoinTixians.size()][21];
+
+        for (int i = 0; i < memberCoinTixians.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(memberCoinTixians.get(i).getId());
+                        dataList[i][1] = String.valueOf(memberCoinTixians.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(memberCoinTixians.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(memberCoinTixians.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(memberCoinTixians.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(memberCoinTixians.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(memberCoinTixians.get(i).getUserId());
+                        dataList[i][7] = String.valueOf(memberCoinTixians.get(i).getMoney());
+                        dataList[i][8] = String.valueOf(memberCoinTixians.get(i).getStatusFlag());
+                        dataList[i][9] = String.valueOf(memberCoinTixians.get(i).getFee());
+                        dataList[i][10] = String.valueOf(memberCoinTixians.get(i).getNetAmount());
+                        dataList[i][11] = String.valueOf(memberCoinTixians.get(i).getDealUser());
+                        dataList[i][12] = String.valueOf(memberCoinTixians.get(i).getDealTime());
+                        dataList[i][13] = String.valueOf(memberCoinTixians.get(i).getWechat());
+                        dataList[i][14] = String.valueOf(memberCoinTixians.get(i).getAlipay());
+                        dataList[i][15] = String.valueOf(memberCoinTixians.get(i).getBankCard());
+                        dataList[i][16] = String.valueOf(memberCoinTixians.get(i).getBankName());
+                        dataList[i][17] = String.valueOf(memberCoinTixians.get(i).getOpenName());
+                        dataList[i][18] = String.valueOf(memberCoinTixians.get(i).getTypeFlag());
+                        dataList[i][19] = String.valueOf(memberCoinTixians.get(i).getRemark());
+                        dataList[i][20] = String.valueOf(memberCoinTixians.get(i).getTixianCode());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 165 - 0
src/main/java/com/izouma/awesomeadmin/web/PlatformIncomeRecordController.java

@@ -0,0 +1,165 @@
+package com.izouma.awesomeadmin.web;
+
+import java.util.*;
+
+import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresAuthentication;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.PlatformIncomeRecord;
+import com.izouma.awesomeadmin.service.PlatformIncomeRecordService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/platformIncomeRecord")
+public class PlatformIncomeRecordController {
+
+    @Autowired
+    private PlatformIncomeRecordService platformIncomeRecordService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(PlatformIncomeRecord record) {
+        List<PlatformIncomeRecord> pp = platformIncomeRecordService.getPlatformIncomeRecordList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getPlatformIncomeRecord", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getPlatformIncomeRecord(@RequestParam(required = false, value = "id") String id) {
+        PlatformIncomeRecord data = platformIncomeRecordService.getPlatformIncomeRecordById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(PlatformIncomeRecord record) {
+        PlatformIncomeRecord data = platformIncomeRecordService.getPlatformIncomeRecord(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, PlatformIncomeRecord record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<PlatformIncomeRecord> pp =platformIncomeRecordService.getPlatformIncomeRecordByPage(page, record);
+
+        result.put(AppConstant.PAGE, page);
+        result.put("pp", pp);
+        return new Result(true, result);
+    }
+
+
+    /**
+    * <p>保存。</p>
+    */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ResponseBody
+    public Result save(PlatformIncomeRecord record) {
+        boolean num = platformIncomeRecordService.createPlatformIncomeRecord(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updatePlatformIncomeRecord(PlatformIncomeRecord record) {
+        boolean num = platformIncomeRecordService.updatePlatformIncomeRecord(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deletePlatformIncomeRecord(PlatformIncomeRecord record) {
+
+        boolean num = platformIncomeRecordService.deletePlatformIncomeRecord(record);
+        if (num) {
+        return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+    /**
+    * 导出Excel
+    * @param request
+    * @param response
+    * @param record
+    * @throws Exception
+    */
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportExcel(HttpServletRequest request, HttpServletResponse response, PlatformIncomeRecord record) throws Exception {
+
+    List<PlatformIncomeRecord> platformIncomeRecords = platformIncomeRecordService.getPlatformIncomeRecordList(record);
+
+
+        String sheetName = "platform_income_record";
+        String titleName = "平台收入记录数据表";
+        String fileName = "平台收入记录表";
+        int columnNumber = 14;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "ID" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "游戏" ,   "房间" ,   "用户" ,   "备注" ,   "金额" ,   "状态" ,   "赛季ID" ,   "选手ID"  };
+        String[][] dataList = new String[platformIncomeRecords.size()][14];
+
+        for (int i = 0; i < platformIncomeRecords.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(platformIncomeRecords.get(i).getId());
+                        dataList[i][1] = String.valueOf(platformIncomeRecords.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(platformIncomeRecords.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(platformIncomeRecords.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(platformIncomeRecords.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(platformIncomeRecords.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(platformIncomeRecords.get(i).getGameId());
+                        dataList[i][7] = String.valueOf(platformIncomeRecords.get(i).getHouseId());
+                        dataList[i][8] = String.valueOf(platformIncomeRecords.get(i).getUserId());
+                        dataList[i][9] = String.valueOf(platformIncomeRecords.get(i).getRemark());
+                        dataList[i][10] = String.valueOf(platformIncomeRecords.get(i).getMoney());
+                        dataList[i][11] = String.valueOf(platformIncomeRecords.get(i).getStatusFlag());
+                        dataList[i][12] = String.valueOf(platformIncomeRecords.get(i).getSeasonId());
+                        dataList[i][13] = String.valueOf(platformIncomeRecords.get(i).getPlayerId());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

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

@@ -0,0 +1,177 @@
+package com.izouma.awesomeadmin.web;
+
+import java.util.*;
+
+import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresAuthentication;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.PlayerInfo;
+import com.izouma.awesomeadmin.service.PlayerInfoService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/playerInfo")
+public class PlayerInfoController {
+
+    @Autowired
+    private PlayerInfoService playerInfoService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(PlayerInfo record) {
+        List<PlayerInfo> pp = playerInfoService.getPlayerInfoList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getPlayerInfo", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getPlayerInfo(@RequestParam(required = false, value = "id") String id) {
+        PlayerInfo data = playerInfoService.getPlayerInfoById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(PlayerInfo record) {
+        PlayerInfo data = playerInfoService.getPlayerInfo(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, PlayerInfo record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<PlayerInfo> pp =playerInfoService.getPlayerInfoByPage(page, record);
+
+        result.put(AppConstant.PAGE, page);
+        result.put("pp", pp);
+        return new Result(true, result);
+    }
+
+
+    /**
+    * <p>保存。</p>
+    */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ResponseBody
+    public Result save(PlayerInfo record) {
+        boolean num = playerInfoService.createPlayerInfo(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updatePlayerInfo(PlayerInfo record) {
+        boolean num = playerInfoService.updatePlayerInfo(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deletePlayerInfo(PlayerInfo record) {
+
+        boolean num = playerInfoService.deletePlayerInfo(record);
+        if (num) {
+        return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+    /**
+    * 导出Excel
+    * @param request
+    * @param response
+    * @param record
+    * @throws Exception
+    */
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportExcel(HttpServletRequest request, HttpServletResponse response, PlayerInfo record) throws Exception {
+
+    List<PlayerInfo> playerInfos = playerInfoService.getPlayerInfoList(record);
+
+
+        String sheetName = "player_info";
+        String titleName = "参赛人员数据表";
+        String fileName = "参赛人员表";
+        int columnNumber = 26;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "ID" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "游戏ID" ,   "房间ID" ,   "加入时间" ,   "本金" ,   "奖金" ,   "用户" ,   "备注" ,   "截图" ,   "击败玩家" ,   "游戏排名" ,   "开始时间" ,   "结束时间" ,   "状态" ,   "审核人" ,   "审核时间" ,   "审核类型" ,   "视频地址" ,   "存活时长" ,   "游戏类型" ,   "赛季ID"  };
+        String[][] dataList = new String[playerInfos.size()][26];
+
+        for (int i = 0; i < playerInfos.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(playerInfos.get(i).getId());
+                        dataList[i][1] = String.valueOf(playerInfos.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(playerInfos.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(playerInfos.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(playerInfos.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(playerInfos.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(playerInfos.get(i).getGameId());
+                        dataList[i][7] = String.valueOf(playerInfos.get(i).getHouseId());
+                        dataList[i][8] = String.valueOf(playerInfos.get(i).getJoinTime());
+                        dataList[i][9] = String.valueOf(playerInfos.get(i).getPrincipal());
+                        dataList[i][10] = String.valueOf(playerInfos.get(i).getBonus());
+                        dataList[i][11] = String.valueOf(playerInfos.get(i).getUserId());
+                        dataList[i][12] = String.valueOf(playerInfos.get(i).getRemark());
+                        dataList[i][13] = String.valueOf(playerInfos.get(i).getImage());
+                        dataList[i][14] = String.valueOf(playerInfos.get(i).getKillNumber());
+                        dataList[i][15] = String.valueOf(playerInfos.get(i).getRanking());
+                        dataList[i][16] = String.valueOf(playerInfos.get(i).getBeginTime());
+                        dataList[i][17] = String.valueOf(playerInfos.get(i).getEndTime());
+                        dataList[i][18] = String.valueOf(playerInfos.get(i).getStatusFlag());
+                        dataList[i][19] = String.valueOf(playerInfos.get(i).getExamineUser());
+                        dataList[i][20] = String.valueOf(playerInfos.get(i).getExamineTime());
+                        dataList[i][21] = String.valueOf(playerInfos.get(i).getExamineType());
+                        dataList[i][22] = String.valueOf(playerInfos.get(i).getVideo());
+                        dataList[i][23] = String.valueOf(playerInfos.get(i).getLiveTime());
+                        dataList[i][24] = String.valueOf(playerInfos.get(i).getGameType());
+                        dataList[i][25] = String.valueOf(playerInfos.get(i).getSeasonId());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 164 - 0
src/main/java/com/izouma/awesomeadmin/web/RechargeRecordController.java

@@ -0,0 +1,164 @@
+package com.izouma.awesomeadmin.web;
+
+import java.util.*;
+
+import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresAuthentication;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.RechargeRecord;
+import com.izouma.awesomeadmin.service.RechargeRecordService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/rechargeRecord")
+public class RechargeRecordController {
+
+    @Autowired
+    private RechargeRecordService rechargeRecordService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(RechargeRecord record) {
+        List<RechargeRecord> pp = rechargeRecordService.getRechargeRecordList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getRechargeRecord", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getRechargeRecord(@RequestParam(required = false, value = "id") String id) {
+        RechargeRecord data = rechargeRecordService.getRechargeRecordById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(RechargeRecord record) {
+        RechargeRecord data = rechargeRecordService.getRechargeRecord(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, RechargeRecord record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<RechargeRecord> pp =rechargeRecordService.getRechargeRecordByPage(page, record);
+
+        result.put(AppConstant.PAGE, page);
+        result.put("pp", pp);
+        return new Result(true, result);
+    }
+
+
+    /**
+    * <p>保存。</p>
+    */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ResponseBody
+    public Result save(RechargeRecord record) {
+        boolean num = rechargeRecordService.createRechargeRecord(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateRechargeRecord(RechargeRecord record) {
+        boolean num = rechargeRecordService.updateRechargeRecord(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteRechargeRecord(RechargeRecord record) {
+
+        boolean num = rechargeRecordService.deleteRechargeRecord(record);
+        if (num) {
+        return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+    /**
+    * 导出Excel
+    * @param request
+    * @param response
+    * @param record
+    * @throws Exception
+    */
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportExcel(HttpServletRequest request, HttpServletResponse response, RechargeRecord record) throws Exception {
+
+    List<RechargeRecord> rechargeRecords = rechargeRecordService.getRechargeRecordList(record);
+
+
+        String sheetName = "recharge_record";
+        String titleName = "充值记录数据表";
+        String fileName = "充值记录表";
+        int columnNumber = 13;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "ID" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "用户" ,   "类型" ,   "金额" ,   "余额" ,   "订单号" ,   "现金" ,   "备注"  };
+        String[][] dataList = new String[rechargeRecords.size()][13];
+
+        for (int i = 0; i < rechargeRecords.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(rechargeRecords.get(i).getId());
+                        dataList[i][1] = String.valueOf(rechargeRecords.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(rechargeRecords.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(rechargeRecords.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(rechargeRecords.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(rechargeRecords.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(rechargeRecords.get(i).getUserId());
+                        dataList[i][7] = String.valueOf(rechargeRecords.get(i).getTypeFlag());
+                        dataList[i][8] = String.valueOf(rechargeRecords.get(i).getMoney());
+                        dataList[i][9] = String.valueOf(rechargeRecords.get(i).getBalance());
+                        dataList[i][10] = String.valueOf(rechargeRecords.get(i).getOutTradeNo());
+                        dataList[i][11] = String.valueOf(rechargeRecords.get(i).getCash());
+                        dataList[i][12] = String.valueOf(rechargeRecords.get(i).getRemark());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 166 - 0
src/main/java/com/izouma/awesomeadmin/web/SystemNoticeController.java

@@ -0,0 +1,166 @@
+package com.izouma.awesomeadmin.web;
+
+import java.util.*;
+
+import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresAuthentication;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.SystemNotice;
+import com.izouma.awesomeadmin.service.SystemNoticeService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/systemNotice")
+public class SystemNoticeController {
+
+    @Autowired
+    private SystemNoticeService systemNoticeService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(SystemNotice record) {
+        List<SystemNotice> pp = systemNoticeService.getSystemNoticeList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getSystemNotice", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getSystemNotice(@RequestParam(required = false, value = "id") String id) {
+        SystemNotice data = systemNoticeService.getSystemNoticeById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(SystemNotice record) {
+        SystemNotice data = systemNoticeService.getSystemNotice(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, SystemNotice record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<SystemNotice> pp =systemNoticeService.getSystemNoticeByPage(page, record);
+
+        result.put(AppConstant.PAGE, page);
+        result.put("pp", pp);
+        return new Result(true, result);
+    }
+
+
+    /**
+    * <p>保存。</p>
+    */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ResponseBody
+    public Result save(SystemNotice record) {
+        boolean num = systemNoticeService.createSystemNotice(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateSystemNotice(SystemNotice record) {
+        boolean num = systemNoticeService.updateSystemNotice(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteSystemNotice(SystemNotice record) {
+
+        boolean num = systemNoticeService.deleteSystemNotice(record);
+        if (num) {
+        return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+    /**
+    * 导出Excel
+    * @param request
+    * @param response
+    * @param record
+    * @throws Exception
+    */
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportExcel(HttpServletRequest request, HttpServletResponse response, SystemNotice record) throws Exception {
+
+    List<SystemNotice> systemNotices = systemNoticeService.getSystemNoticeList(record);
+
+
+        String sheetName = "system_notice";
+        String titleName = "系统通知数据表";
+        String fileName = "系统通知表";
+        int columnNumber = 15;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "ID" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "游戏" ,   "房间" ,   "用户" ,   "备注" ,   "类型" ,   "状态" ,   "内容" ,   "赛季ID" ,   "选手ID"  };
+        String[][] dataList = new String[systemNotices.size()][15];
+
+        for (int i = 0; i < systemNotices.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(systemNotices.get(i).getId());
+                        dataList[i][1] = String.valueOf(systemNotices.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(systemNotices.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(systemNotices.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(systemNotices.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(systemNotices.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(systemNotices.get(i).getGameId());
+                        dataList[i][7] = String.valueOf(systemNotices.get(i).getHouseId());
+                        dataList[i][8] = String.valueOf(systemNotices.get(i).getUserId());
+                        dataList[i][9] = String.valueOf(systemNotices.get(i).getRemark());
+                        dataList[i][10] = String.valueOf(systemNotices.get(i).getTypeFlag());
+                        dataList[i][11] = String.valueOf(systemNotices.get(i).getStatusFlag());
+                        dataList[i][12] = String.valueOf(systemNotices.get(i).getContent());
+                        dataList[i][13] = String.valueOf(systemNotices.get(i).getSeasonId());
+                        dataList[i][14] = String.valueOf(systemNotices.get(i).getPlayerId());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 126 - 0
src/main/vue/src/pages/BannerInfo.vue

@@ -0,0 +1,126 @@
+<template>
+    <div>
+        <el-form :model="formData" :rules="rules" ref="form" label-width="80px" label-position="right" size="small"
+                 style="max-width: 500px;">
+                                                                                                                                                                                                                                    <el-form-item prop="location" label="位置">
+                <el-input v-model="formData.location" :disabled="'location'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="title" label="标题">
+                <el-input v-model="formData.title" :disabled="'title'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="subtitle" label="子标题">
+                <el-input v-model="formData.subtitle" :disabled="'subtitle'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="url" label="URL">
+                <el-input v-model="formData.url" :disabled="'url'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                         <el-form-item prop="imageUrl" label="图片">
+                 <single-upload v-model="formData.imageUrl" :disabled="'imageUrl'==subColumn"></single-upload>
+             </el-form-item>
+                                                                                                                                                                                <el-form-item prop="remark" label="备注">
+                <el-input v-model="formData.remark" :disabled="'remark'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                                                                    <el-form-item prop="rank" label="排序">
+                <el-input type="number" v-model="formData.rank" :disabled="'rank'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                    <el-form-item prop="typeFlag" label="类型">
+                <el-input v-model="formData.typeFlag" :disabled="'typeFlag'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                        <el-form-item>
+                <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
+                <el-button @click="onDelete" v-if="formData.id" type="danger">删除</el-button>
+                <el-button @click="$router.go(-1)">取消</el-button>
+            </el-form-item>
+        </el-form>
+    </div>
+</template>
+<script>
+    import formValidator from '../formValidator'
+
+    export default {
+        created() {
+            if (this.$route.query.column) {
+                this.subColumn = this.$route.query.column.split(',')[1];
+                this.subValue = this.$route.query.column.split(',')[0];
+            }
+
+            if (this.$route.query.id) {
+                this.$http.get({
+                    url: '/bannerInfo/getOne',
+                    data: {
+                        id: this.$route.query.id
+                    }
+                }).then(res => {
+                    if (res.success) {
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
+                        this.formData = res.data;
+
+                    if (this.$route.query.column) {
+                        this.formData[this.subColumn] = this.subValue;
+                    }
+                    }
+                })
+            }else {
+                if (this.$route.query.column) {
+                    this.formData[this.subColumn] = this.subValue;
+                }
+            }
+
+                                                                                                                                                                                                                                                                                                                                                                                                                            },
+        data() {
+            return {
+                saving: false,
+                formData: {},
+                rules: {
+                                                                                                                                                                                                                                                                                                                                                                                                                            },
+                                                                                                                            subColumn: '',
+            subValue: '',
+        }
+        },
+        methods: {
+            onSave() {
+                this.$refs.form.validate((valid) => {
+                    if (valid) {
+                        this.submit();
+                    } else {
+                        return false;
+                    }
+                });
+            },
+            submit() {
+                var data = JSON.parse(JSON.stringify(this.formData));
+                this.$http.post({
+                    url: this.formData.id ? '/bannerInfo/update' : '/bannerInfo/save',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.$message.success('成功');
+                        this.$router.go(-1);
+                    } else {
+                        this.$message.warning('失败')
+                    }
+                });
+            },
+            onDelete() {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
+                    return this.$http.post({
+                    url: '/bannerInfo/del',
+                    data: { id: this.formData.id }
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.$router.go(-1);
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+        }
+    }
+</script>
+<style lang="less" scoped>
+</style>

+ 539 - 0
src/main/vue/src/pages/BannerInfos.vue

@@ -0,0 +1,539 @@
+<template>
+    <div>
+        <div class="filters-container">
+        
+            <el-input placeholder="关键字" size="small" v-model="filter1" clearable class="filter-item"></el-input>
+            <el-button @click="searchData" type="primary" size="small" icon="el-icon-search" class="filter-item">搜索
+            </el-button>
+            <el-button @click="showAdvancedQueryDialog = !showAdvancedQueryDialog" type="primary" size="small"
+                       icon="el-icon-search" class="filter-item">高级查询
+            </el-button>
+            <el-button @click="showTableSortDialog = !showTableSortDialog" type="primary" size="small"
+                       icon="el-icon-sort" class="filter-item">排序
+            </el-button>
+            <el-button @click="$router.push({path:'/bannerInfo',query:{column:$route.query.column}})" type="primary"
+                       size="small" icon="el-icon-edit"
+                       class="filter-item">添加
+            </el-button>
+            <el-button @click="exportExcel" type="primary" size="small" icon="el-icon-share" class="filter-item">导出EXCEL
+            </el-button>
+            <el-dropdown trigger="click" size="medium" class="table-column-filter">
+                <span>
+                  筛选数据<i class="el-icon-arrow-down el-icon--right"></i>
+                </span>
+                <el-dropdown-menu slot="dropdown" class="table-column-filter-wrapper">
+                    <el-checkbox v-for="item in tableColumns" :key="item.value" v-model="item.show">{{item.label}}
+                    </el-checkbox>
+                </el-dropdown-menu>
+            </el-dropdown>
+        </div>
+        <el-table
+                :data="tableData"
+                :height="tableHeight"
+                row-key="id"
+                ref="table">
+            <el-table-column
+                    v-if="multipleMode"
+                    align="center"
+                    type="selection"
+                    width="50">
+            </el-table-column>
+            <el-table-column
+                    type="index"
+                    min-width="50"
+                    align="center">
+            </el-table-column>
+                            
+                                            <el-table-column
+                                v-if="isColumnShow('id')"
+                                prop="id"
+                                label="ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                                                                                                                                                            
+                                            <el-table-column
+                                v-if="isColumnShow('location')"
+                                prop="location"
+                                label="位置"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('title')"
+                                prop="title"
+                                label="标题"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('subtitle')"
+                                prop="subtitle"
+                                label="子标题"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('url')"
+                                prop="url"
+                                label="URL"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('imageUrl')"
+                                prop="imageUrl"
+                                label="图片"
+                                min-width="100">
+                            <template slot-scope="{row}">
+                                <img :src="row.imageUrl" @click="showImg(row.imageUrl)" style="width: 100px;height: 100px;vertical-align: middle;" />
+                            </template>
+
+                        </el-table-column>
+                                                                    
+                                            <el-table-column
+                                v-if="isColumnShow('remark')"
+                                prop="remark"
+                                label="备注"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('rank')"
+                                prop="rank"
+                                label="排序"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('typeFlag')"
+                                prop="typeFlag"
+                                label="类型"
+                                min-width="100">
+                        </el-table-column>
+                                                            <el-table-column
+                    label="操作"
+                    align="center"
+                    fixed="right"
+                    min-width="150"
+            >
+                <template slot-scope="scope">
+                            <el-button @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
+                    <el-button @click="deleteRow(scope.row)" type="danger" size="mini" plain>删除</el-button>
+                </template>
+            </el-table-column>
+        </el-table>
+        <div class="pagination-wrapper">
+            <div class="multiple-mode-wrapper" v-if="0">
+                <el-button size="small" v-if="!multipleMode" @click="toggleMultipleMode(true)">批量编辑</el-button>
+                <el-button-group v-else>
+                    <el-button size="small" @click="operation1">批量操作1</el-button>
+                    <el-button size="small" @click="operation2">批量操作2</el-button>
+                    <el-button size="small" @click="toggleMultipleMode(false)">取消</el-button>
+                </el-button-group>
+            </div>
+            <el-pagination
+                    background
+                    @size-change="pageSizeChange"
+                    @current-change="currentPageChange"
+                    :current-page="currentPage"
+                    :page-sizes="[10, 20, 30, 40, 50]"
+                    :page-size="pageSize"
+                    layout="total, sizes, prev, pager, next, jumper"
+                    :total="totalNumber">
+            </el-pagination>
+        </div>
+        <el-dialog title="高级查询" :visible.sync="showAdvancedQueryDialog">
+            <el-button @click="addField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="advancedQueryFields">
+
+                <el-table-column prop="link" label="链接符" align="center">
+                    <template slot-scope="{row}">
+                        <el-select placeholder="链接" size="small" v-model="row.link" class="filter-item">
+                            <el-option label="AND" value="AND">
+                            </el-option>
+                            <el-option label="OR" value="OR">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="searchMethod" label="搜索方式" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.searchMethod">
+                            <el-option v-for="item in searchMethods" :label="item" :value="item"
+                                       :key="item"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="value" label="参数" align="center">
+                    <template slot-scope="{row}">
+                        <el-input v-model="row.value"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="advancedQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="排序" :visible.sync="showTableSortDialog">
+            <el-button @click="addSortField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="tableSortFields">
+
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="order" label="排序" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.order">
+                            <el-option label="降序" value="desc">
+                            </el-option>
+                            <el-option label="升序" value="asc">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeSortField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="tableSortQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="查看图片" :visible.sync="imageDialogVisible" size="small">
+            <img width="100%" :src="imgSrc" alt="">
+        </el-dialog>
+
+    </div>
+</template>
+<script>
+    import {mapState} from 'vuex'
+    import {format} from 'date-fns'
+    import zh from 'date-fns/locale/zh_cn'
+
+    export default {
+        created() {
+            this.getData();
+        },
+        data() {
+            return {
+                totalNumber: 0,
+                totalPage: 10,
+                currentPage: 1,
+                pageSize: 20,
+                tableData: [],
+                filter1: '',
+                filter2: '',
+                tableColumns: [
+                                                                        {
+                                label: 'ID',
+                                value: 'id',
+                                show: true
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '位置',
+                                value: 'location',
+                                show: true
+                            },
+                                                                                                {
+                                label: '标题',
+                                value: 'title',
+                                show: true
+                            },
+                                                                                                {
+                                label: '子标题',
+                                value: 'subtitle',
+                                show: true
+                            },
+                                                                                                {
+                                label: 'URL',
+                                value: 'url',
+                                show: true
+                            },
+                                                                                                {
+                                label: '图片',
+                                value: 'imageUrl',
+                                show: true
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark',
+                                show: true
+                            },
+                                                                                                {
+                                label: '排序',
+                                value: 'rank',
+                                show: true
+                            },
+                                                                                                {
+                                label: '类型',
+                                value: 'typeFlag',
+                                show: true
+                            },
+                                                            ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                                                                        {
+                                label: 'ID',
+                                value: 'id'
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '位置',
+                                value: 'location'
+                            },
+                                                                                                {
+                                label: '标题',
+                                value: 'title'
+                            },
+                                                                                                {
+                                label: '子标题',
+                                value: 'subtitle'
+                            },
+                                                                                                {
+                                label: 'URL',
+                                value: 'url'
+                            },
+                                                                                                {
+                                label: '图片',
+                                value: 'image_url'
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark'
+                            },
+                                                                                                {
+                                label: '排序',
+                                value: 'rank'
+                            },
+                                                                                                {
+                                label: '类型',
+                                value: 'type_flag'
+                            },
+                                                            ],
+                advancedQuerySearchKey: '',
+                orderByStr: '',
+                imgSrc: '',
+                imageDialogVisible: false,
+            }
+        },
+        computed: {
+            ...mapState(['tableHeight']),
+            selection() {
+                return this.$refs.table.selection.map(i => i.id);
+            }
+        },
+        methods: {
+            pageSizeChange(size) {
+                this.currentPage = 1;
+                this.pageSize = size;
+                this.getData();
+            },
+            currentPageChange(page) {
+                this.currentPage = page;
+                this.getData();
+            },
+            getData() {
+
+                var data = {
+                    currentPage: this.currentPage,
+                    pageNumber: this.pageSize,
+                    searchKey: this.filter1,
+                    advancedQuery: this.advancedQuerySearchKey,
+                    orderByStr: this.orderByStr,
+                }
+
+                if (this.$route.query.column) {
+                    var tempColumn = this.$route.query.column;
+                    data[tempColumn.split(',')[1]] = tempColumn.split(',')[0];
+                }
+
+                this.$http.get({
+                    url: '/bannerInfo/page',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.totalNumber = res.data.page.totalNumber;
+                        this.tableData = res.data.pp;
+                    }
+                })
+            },
+            isColumnShow(column) {
+                var row = this.tableColumns.find(i => i.value === column);
+                return row ? row.show : false;
+            },
+            toggleMultipleMode(multipleMode) {
+                this.multipleMode = multipleMode;
+                if (!multipleMode) {
+                    this.$refs.table.clearSelection();
+                }
+            },
+            editRow(row) {
+                this.$router.push({
+                    path: '/bannerInfo',
+                    query: {
+                        id: row.id,
+                        column: this.$route.query.column,
+                    }
+                })
+            },
+            operation1() {
+                this.$notify({
+                    title: '提示',
+                    message: this.selection
+                });
+            },
+            operation2() {
+                this.$message('操作2');
+            },
+            addField() {
+                this.advancedQueryFields.push({
+                    link: 'AND',
+                    name: '',
+                    searchMethod: '=',
+                    value: '',
+                });
+            },
+            removeField(i) {
+                if (this.advancedQueryFields.length > 0) {
+                    this.advancedQueryFields.splice(i, 1);
+                }
+            },
+            advancedQuery() {
+
+                this.advancedQuerySearchKey = '';
+
+                if (this.advancedQueryFields.length > 0) {
+
+                    var templist = [];
+
+                    this.advancedQueryFields.forEach(item => {
+                        if (item.link && item.name && item.searchMethod && item.value) {
+                            var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.advancedQuerySearchKey = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showAdvancedQueryDialog = false;
+            },
+            addSortField() {
+                this.tableSortFields.push({
+                    name: '',
+                    order: 'asc',
+                });
+            },
+            removeSortField(i) {
+                if (this.tableSortFields.length > 0) {
+                    this.tableSortFields.splice(i, 1);
+                }
+            },
+            tableSortQuery() {
+
+                this.orderByStr = '';
+
+                if (this.tableSortFields.length > 0) {
+
+                    var templist = [];
+
+                    this.tableSortFields.forEach(item => {
+                        if (item.name && item.order) {
+                            var tempItem = item.name + '_,' + item.order;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.orderByStr = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showTableSortDialog = false;
+            },
+            exportExcel() {
+                window.location.href = this.$baseUrl + "/bannerInfo/exportExcel?searchKey="
+                        + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey+"&orderByStr=" + this.orderByStr;
+            },
+            searchData() {
+                this.currentPage = 1;
+                this.getData();
+            },
+            deleteRow(row) {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
+                    return this.$http.post({
+                        url: '/bannerInfo/del',
+                        data: {id: row.id}
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.getData();
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+            DateTimeFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD HH:mm', {locale: zh})
+                }
+
+            },
+            DateFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD', {locale: zh})
+                }
+
+            },
+            showImg(img) {
+                this.imgSrc = img;
+                this.imageDialogVisible = true;
+            },
+
+        }
+    }
+</script>
+<style lang="less" scoped>
+
+</style>

+ 129 - 0
src/main/vue/src/pages/BonusRecord.vue

@@ -0,0 +1,129 @@
+<template>
+    <div>
+        <el-form :model="formData" :rules="rules" ref="form" label-width="80px" label-position="right" size="small"
+                 style="max-width: 500px;">
+                                                                                                                                                                                                                                    <el-form-item prop="money" label="变动金额">
+                <el-input v-model="formData.money" :disabled="'money'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="bonus" label="奖金池">
+                <el-input v-model="formData.bonus" :disabled="'bonus'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="userId" label="用户ID">
+                <el-input v-model="formData.userId" :disabled="'userId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="seasonId" label="赛季ID">
+                <el-input v-model="formData.seasonId" :disabled="'seasonId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="gameId" label="游戏ID">
+                <el-input v-model="formData.gameId" :disabled="'gameId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="houseId" label="房间ID">
+                <el-input v-model="formData.houseId" :disabled="'houseId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="typeFlag" label="类型">
+                <el-input v-model="formData.typeFlag" :disabled="'typeFlag'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="remark" label="备注">
+                <el-input v-model="formData.remark" :disabled="'remark'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="playerId" label="参赛ID">
+                <el-input v-model="formData.playerId" :disabled="'playerId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                        <el-form-item>
+                <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
+                <el-button @click="onDelete" v-if="formData.id" type="danger">删除</el-button>
+                <el-button @click="$router.go(-1)">取消</el-button>
+            </el-form-item>
+        </el-form>
+    </div>
+</template>
+<script>
+    import formValidator from '../formValidator'
+
+    export default {
+        created() {
+            if (this.$route.query.column) {
+                this.subColumn = this.$route.query.column.split(',')[1];
+                this.subValue = this.$route.query.column.split(',')[0];
+            }
+
+            if (this.$route.query.id) {
+                this.$http.get({
+                    url: '/bonusRecord/getOne',
+                    data: {
+                        id: this.$route.query.id
+                    }
+                }).then(res => {
+                    if (res.success) {
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+                        this.formData = res.data;
+
+                    if (this.$route.query.column) {
+                        this.formData[this.subColumn] = this.subValue;
+                    }
+                    }
+                })
+            }else {
+                if (this.$route.query.column) {
+                    this.formData[this.subColumn] = this.subValue;
+                }
+            }
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                        },
+        data() {
+            return {
+                saving: false,
+                formData: {},
+                rules: {
+                                                                                                                                                                                                                                                                                                                                                                                                                                                        },
+                                                                                                                                    subColumn: '',
+            subValue: '',
+        }
+        },
+        methods: {
+            onSave() {
+                this.$refs.form.validate((valid) => {
+                    if (valid) {
+                        this.submit();
+                    } else {
+                        return false;
+                    }
+                });
+            },
+            submit() {
+                var data = JSON.parse(JSON.stringify(this.formData));
+                this.$http.post({
+                    url: this.formData.id ? '/bonusRecord/update' : '/bonusRecord/save',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.$message.success('成功');
+                        this.$router.go(-1);
+                    } else {
+                        this.$message.warning('失败')
+                    }
+                });
+            },
+            onDelete() {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
+                    return this.$http.post({
+                    url: '/bonusRecord/del',
+                    data: { id: this.formData.id }
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.$router.go(-1);
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+        }
+    }
+</script>
+<style lang="less" scoped>
+</style>

+ 535 - 0
src/main/vue/src/pages/BonusRecords.vue

@@ -0,0 +1,535 @@
+<template>
+    <div>
+        <div class="filters-container">
+        
+            <el-input placeholder="关键字" size="small" v-model="filter1" clearable class="filter-item"></el-input>
+            <el-button @click="searchData" type="primary" size="small" icon="el-icon-search" class="filter-item">搜索
+            </el-button>
+            <el-button @click="showAdvancedQueryDialog = !showAdvancedQueryDialog" type="primary" size="small"
+                       icon="el-icon-search" class="filter-item">高级查询
+            </el-button>
+            <el-button @click="showTableSortDialog = !showTableSortDialog" type="primary" size="small"
+                       icon="el-icon-sort" class="filter-item">排序
+            </el-button>
+            <el-button @click="$router.push({path:'/bonusRecord',query:{column:$route.query.column}})" type="primary"
+                       size="small" icon="el-icon-edit"
+                       class="filter-item">添加
+            </el-button>
+            <el-button @click="exportExcel" type="primary" size="small" icon="el-icon-share" class="filter-item">导出EXCEL
+            </el-button>
+            <el-dropdown trigger="click" size="medium" class="table-column-filter">
+                <span>
+                  筛选数据<i class="el-icon-arrow-down el-icon--right"></i>
+                </span>
+                <el-dropdown-menu slot="dropdown" class="table-column-filter-wrapper">
+                    <el-checkbox v-for="item in tableColumns" :key="item.value" v-model="item.show">{{item.label}}
+                    </el-checkbox>
+                </el-dropdown-menu>
+            </el-dropdown>
+        </div>
+        <el-table
+                :data="tableData"
+                :height="tableHeight"
+                row-key="id"
+                ref="table">
+            <el-table-column
+                    v-if="multipleMode"
+                    align="center"
+                    type="selection"
+                    width="50">
+            </el-table-column>
+            <el-table-column
+                    type="index"
+                    min-width="50"
+                    align="center">
+            </el-table-column>
+                                                                                                                                                                                                    
+                                            <el-table-column
+                                v-if="isColumnShow('money')"
+                                prop="money"
+                                label="变动金额"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('bonus')"
+                                prop="bonus"
+                                label="奖金池"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('userId')"
+                                prop="userId"
+                                label="用户ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('seasonId')"
+                                prop="seasonId"
+                                label="赛季ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('gameId')"
+                                prop="gameId"
+                                label="游戏ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('houseId')"
+                                prop="houseId"
+                                label="房间ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('typeFlag')"
+                                prop="typeFlag"
+                                label="类型"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('remark')"
+                                prop="remark"
+                                label="备注"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('playerId')"
+                                prop="playerId"
+                                label="参赛ID"
+                                min-width="100">
+                        </el-table-column>
+                                                            <el-table-column
+                    label="操作"
+                    align="center"
+                    fixed="right"
+                    min-width="150"
+            >
+                <template slot-scope="scope">
+                            <el-button @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
+                    <el-button @click="deleteRow(scope.row)" type="danger" size="mini" plain>删除</el-button>
+                </template>
+            </el-table-column>
+        </el-table>
+        <div class="pagination-wrapper">
+            <div class="multiple-mode-wrapper" v-if="0">
+                <el-button size="small" v-if="!multipleMode" @click="toggleMultipleMode(true)">批量编辑</el-button>
+                <el-button-group v-else>
+                    <el-button size="small" @click="operation1">批量操作1</el-button>
+                    <el-button size="small" @click="operation2">批量操作2</el-button>
+                    <el-button size="small" @click="toggleMultipleMode(false)">取消</el-button>
+                </el-button-group>
+            </div>
+            <el-pagination
+                    background
+                    @size-change="pageSizeChange"
+                    @current-change="currentPageChange"
+                    :current-page="currentPage"
+                    :page-sizes="[10, 20, 30, 40, 50]"
+                    :page-size="pageSize"
+                    layout="total, sizes, prev, pager, next, jumper"
+                    :total="totalNumber">
+            </el-pagination>
+        </div>
+        <el-dialog title="高级查询" :visible.sync="showAdvancedQueryDialog">
+            <el-button @click="addField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="advancedQueryFields">
+
+                <el-table-column prop="link" label="链接符" align="center">
+                    <template slot-scope="{row}">
+                        <el-select placeholder="链接" size="small" v-model="row.link" class="filter-item">
+                            <el-option label="AND" value="AND">
+                            </el-option>
+                            <el-option label="OR" value="OR">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="searchMethod" label="搜索方式" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.searchMethod">
+                            <el-option v-for="item in searchMethods" :label="item" :value="item"
+                                       :key="item"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="value" label="参数" align="center">
+                    <template slot-scope="{row}">
+                        <el-input v-model="row.value"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="advancedQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="排序" :visible.sync="showTableSortDialog">
+            <el-button @click="addSortField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="tableSortFields">
+
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="order" label="排序" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.order">
+                            <el-option label="降序" value="desc">
+                            </el-option>
+                            <el-option label="升序" value="asc">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeSortField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="tableSortQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="查看图片" :visible.sync="imageDialogVisible" size="small">
+            <img width="100%" :src="imgSrc" alt="">
+        </el-dialog>
+
+    </div>
+</template>
+<script>
+    import {mapState} from 'vuex'
+    import {format} from 'date-fns'
+    import zh from 'date-fns/locale/zh_cn'
+
+    export default {
+        created() {
+            this.getData();
+        },
+        data() {
+            return {
+                totalNumber: 0,
+                totalPage: 10,
+                currentPage: 1,
+                pageSize: 20,
+                tableData: [],
+                filter1: '',
+                filter2: '',
+                tableColumns: [
+                                                                                                                                                                                                                                                                                                                                                {
+                                label: '变动金额',
+                                value: 'money',
+                                show: true
+                            },
+                                                                                                {
+                                label: '奖金池',
+                                value: 'bonus',
+                                show: true
+                            },
+                                                                                                {
+                                label: '用户ID',
+                                value: 'userId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '赛季ID',
+                                value: 'seasonId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '游戏ID',
+                                value: 'gameId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '房间ID',
+                                value: 'houseId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '类型',
+                                value: 'typeFlag',
+                                show: true
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark',
+                                show: true
+                            },
+                                                                                                {
+                                label: '参赛ID',
+                                value: 'playerId',
+                                show: true
+                            },
+                                                            ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                                                                                                                                                                                                                                                                                                                                                {
+                                label: '变动金额',
+                                value: 'money'
+                            },
+                                                                                                {
+                                label: '奖金池',
+                                value: 'bonus'
+                            },
+                                                                                                {
+                                label: '用户ID',
+                                value: 'user_id'
+                            },
+                                                                                                {
+                                label: '赛季ID',
+                                value: 'season_id'
+                            },
+                                                                                                {
+                                label: '游戏ID',
+                                value: 'game_id'
+                            },
+                                                                                                {
+                                label: '房间ID',
+                                value: 'house_id'
+                            },
+                                                                                                {
+                                label: '类型',
+                                value: 'type_flag'
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark'
+                            },
+                                                                                                {
+                                label: '参赛ID',
+                                value: 'player_id'
+                            },
+                                                            ],
+                advancedQuerySearchKey: '',
+                orderByStr: '',
+                imgSrc: '',
+                imageDialogVisible: false,
+            }
+        },
+        computed: {
+            ...mapState(['tableHeight']),
+            selection() {
+                return this.$refs.table.selection.map(i => i.id);
+            }
+        },
+        methods: {
+            pageSizeChange(size) {
+                this.currentPage = 1;
+                this.pageSize = size;
+                this.getData();
+            },
+            currentPageChange(page) {
+                this.currentPage = page;
+                this.getData();
+            },
+            getData() {
+
+                var data = {
+                    currentPage: this.currentPage,
+                    pageNumber: this.pageSize,
+                    searchKey: this.filter1,
+                    advancedQuery: this.advancedQuerySearchKey,
+                    orderByStr: this.orderByStr,
+                }
+
+                if (this.$route.query.column) {
+                    var tempColumn = this.$route.query.column;
+                    data[tempColumn.split(',')[1]] = tempColumn.split(',')[0];
+                }
+
+                this.$http.get({
+                    url: '/bonusRecord/page',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.totalNumber = res.data.page.totalNumber;
+                        this.tableData = res.data.pp;
+                    }
+                })
+            },
+            isColumnShow(column) {
+                var row = this.tableColumns.find(i => i.value === column);
+                return row ? row.show : false;
+            },
+            toggleMultipleMode(multipleMode) {
+                this.multipleMode = multipleMode;
+                if (!multipleMode) {
+                    this.$refs.table.clearSelection();
+                }
+            },
+            editRow(row) {
+                this.$router.push({
+                    path: '/bonusRecord',
+                    query: {
+                        id: row.id,
+                        column: this.$route.query.column,
+                    }
+                })
+            },
+            operation1() {
+                this.$notify({
+                    title: '提示',
+                    message: this.selection
+                });
+            },
+            operation2() {
+                this.$message('操作2');
+            },
+            addField() {
+                this.advancedQueryFields.push({
+                    link: 'AND',
+                    name: '',
+                    searchMethod: '=',
+                    value: '',
+                });
+            },
+            removeField(i) {
+                if (this.advancedQueryFields.length > 0) {
+                    this.advancedQueryFields.splice(i, 1);
+                }
+            },
+            advancedQuery() {
+
+                this.advancedQuerySearchKey = '';
+
+                if (this.advancedQueryFields.length > 0) {
+
+                    var templist = [];
+
+                    this.advancedQueryFields.forEach(item => {
+                        if (item.link && item.name && item.searchMethod && item.value) {
+                            var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.advancedQuerySearchKey = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showAdvancedQueryDialog = false;
+            },
+            addSortField() {
+                this.tableSortFields.push({
+                    name: '',
+                    order: 'asc',
+                });
+            },
+            removeSortField(i) {
+                if (this.tableSortFields.length > 0) {
+                    this.tableSortFields.splice(i, 1);
+                }
+            },
+            tableSortQuery() {
+
+                this.orderByStr = '';
+
+                if (this.tableSortFields.length > 0) {
+
+                    var templist = [];
+
+                    this.tableSortFields.forEach(item => {
+                        if (item.name && item.order) {
+                            var tempItem = item.name + '_,' + item.order;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.orderByStr = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showTableSortDialog = false;
+            },
+            exportExcel() {
+                window.location.href = this.$baseUrl + "/bonusRecord/exportExcel?searchKey="
+                        + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey+"&orderByStr=" + this.orderByStr;
+            },
+            searchData() {
+                this.currentPage = 1;
+                this.getData();
+            },
+            deleteRow(row) {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
+                    return this.$http.post({
+                        url: '/bonusRecord/del',
+                        data: {id: row.id}
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.getData();
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+            DateTimeFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD HH:mm', {locale: zh})
+                }
+
+            },
+            DateFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD', {locale: zh})
+                }
+
+            },
+            showImg(img) {
+                this.imgSrc = img;
+                this.imageDialogVisible = true;
+            },
+
+        }
+    }
+</script>
+<style lang="less" scoped>
+
+</style>

+ 168 - 0
src/main/vue/src/pages/CompetitionSeason.vue

@@ -0,0 +1,168 @@
+<template>
+    <div>
+        <el-form :model="formData" :rules="rules" ref="form" label-width="80px" label-position="right" size="small"
+                 style="max-width: 500px;">
+                                                                                                                                                                                                                                    <el-form-item prop="season" label="名称">
+                <el-input v-model="formData.season" :disabled="'season'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="shortName" label="简称">
+                <el-input v-model="formData.shortName" :disabled="'shortName'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                                                                                        <el-form-item prop="beginTime" label="开始时间">
+                <template>
+                    <div class="block">
+                        <el-date-picker
+                                v-model="formData.beginTime"
+                                type="date"
+                                value-format="timestamp"
+                                placeholder="选择日期"
+                                :disabled="'beginTime'==subColumn">
+                        </el-date-picker>
+                    </div>
+                </template>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="endTime" label="结束时间">
+                <template>
+                    <div class="block">
+                        <el-date-picker
+                                v-model="formData.endTime"
+                                type="date"
+                                value-format="timestamp"
+                                placeholder="选择日期"
+                                :disabled="'endTime'==subColumn">
+                        </el-date-picker>
+                    </div>
+                </template>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                        <el-form-item prop="bonus" label="奖金数">
+                <el-input type="number" v-model="formData.bonus" :disabled="'bonus'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                    <el-form-item prop="remark" label="备注">
+                <el-input v-model="formData.remark" :disabled="'remark'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                                                                    <el-form-item prop="rank" label="排序">
+                <el-input type="number" v-model="formData.rank" :disabled="'rank'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                                                                                        <el-form-item prop="statusFlag" label="状态">
+                <template>
+                    <el-select v-model="formData.statusFlag" clearable  placeholder="请选择" :disabled="'statusFlag'==subColumn">
+                        <el-option
+                                v-for="item in statusFlagOptions"
+                                :key="item.value"
+                                :label="item.label"
+                                :value="item.value">
+                        </el-option>
+                    </el-select>
+                </template>
+            </el-form-item>
+                                                                                                                                                                                    <el-form-item>
+                <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
+                <el-button @click="onDelete" v-if="formData.id" type="danger">删除</el-button>
+                <el-button @click="$router.go(-1)">取消</el-button>
+            </el-form-item>
+        </el-form>
+    </div>
+</template>
+<script>
+    import formValidator from '../formValidator'
+
+    export default {
+        created() {
+            if (this.$route.query.column) {
+                this.subColumn = this.$route.query.column.split(',')[1];
+                this.subValue = this.$route.query.column.split(',')[0];
+            }
+
+            if (this.$route.query.id) {
+                this.$http.get({
+                    url: '/competitionSeason/getOne',
+                    data: {
+                        id: this.$route.query.id
+                    }
+                }).then(res => {
+                    if (res.success) {
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
+                        this.formData = res.data;
+
+                    if (this.$route.query.column) {
+                        this.formData[this.subColumn] = this.subValue;
+                    }
+                    }
+                })
+            }else {
+                if (this.$route.query.column) {
+                    this.formData[this.subColumn] = this.subValue;
+                }
+            }
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                },
+        data() {
+            return {
+                saving: false,
+                formData: {},
+                rules: {
+                                                                                                                                                                                                                                                                                                                                                                                                                            },
+                                                                                                                                statusFlagOptions:[{
+          value: 0,
+          label: '准备'
+        }, {
+          value:1,
+          label: '进行中'
+        }, {
+          value: 2,
+          label: '结算中'
+        }, {
+          value:3,
+          label: '结束'
+        }],
+                                subColumn: '',
+            subValue: '',
+        }
+        },
+        methods: {
+            onSave() {
+                this.$refs.form.validate((valid) => {
+                    if (valid) {
+                        this.submit();
+                    } else {
+                        return false;
+                    }
+                });
+            },
+            submit() {
+                var data = JSON.parse(JSON.stringify(this.formData));
+                this.$http.post({
+                    url: this.formData.id ? '/competitionSeason/update' : '/competitionSeason/save',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.$message.success('成功');
+                        this.$router.go(-1);
+                    } else {
+                        this.$message.warning('失败')
+                    }
+                });
+            },
+            onDelete() {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
+                    return this.$http.post({
+                    url: '/competitionSeason/del',
+                    data: { id: this.formData.id }
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.$router.go(-1);
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+        }
+    }
+</script>
+<style lang="less" scoped>
+</style>

+ 537 - 0
src/main/vue/src/pages/CompetitionSeasons.vue

@@ -0,0 +1,537 @@
+<template>
+    <div>
+        <div class="filters-container">
+        
+            <el-input placeholder="关键字" size="small" v-model="filter1" clearable class="filter-item"></el-input>
+            <el-button @click="searchData" type="primary" size="small" icon="el-icon-search" class="filter-item">搜索
+            </el-button>
+            <el-button @click="showAdvancedQueryDialog = !showAdvancedQueryDialog" type="primary" size="small"
+                       icon="el-icon-search" class="filter-item">高级查询
+            </el-button>
+            <el-button @click="showTableSortDialog = !showTableSortDialog" type="primary" size="small"
+                       icon="el-icon-sort" class="filter-item">排序
+            </el-button>
+            <el-button @click="$router.push({path:'/competitionSeason',query:{column:$route.query.column}})" type="primary"
+                       size="small" icon="el-icon-edit"
+                       class="filter-item">添加
+            </el-button>
+            <el-button @click="exportExcel" type="primary" size="small" icon="el-icon-share" class="filter-item">导出EXCEL
+            </el-button>
+            <el-dropdown trigger="click" size="medium" class="table-column-filter">
+                <span>
+                  筛选数据<i class="el-icon-arrow-down el-icon--right"></i>
+                </span>
+                <el-dropdown-menu slot="dropdown" class="table-column-filter-wrapper">
+                    <el-checkbox v-for="item in tableColumns" :key="item.value" v-model="item.show">{{item.label}}
+                    </el-checkbox>
+                </el-dropdown-menu>
+            </el-dropdown>
+        </div>
+        <el-table
+                :data="tableData"
+                :height="tableHeight"
+                row-key="id"
+                ref="table">
+            <el-table-column
+                    v-if="multipleMode"
+                    align="center"
+                    type="selection"
+                    width="50">
+            </el-table-column>
+            <el-table-column
+                    type="index"
+                    min-width="50"
+                    align="center">
+            </el-table-column>
+                            
+                                            <el-table-column
+                                v-if="isColumnShow('id')"
+                                prop="id"
+                                label=""
+                                min-width="100">
+                        </el-table-column>
+                                                                                                                                                                                                            
+                                            <el-table-column
+                                v-if="isColumnShow('season')"
+                                prop="season"
+                                label="名称"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('shortName')"
+                                prop="shortName"
+                                label="简称"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('beginTime')"
+                                prop="beginTime"
+                                label="开始时间"
+                                :formatter="DateFormatter"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('endTime')"
+                                prop="endTime"
+                                label="结束时间"
+                                :formatter="DateFormatter"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('bonus')"
+                                prop="bonus"
+                                label="奖金数"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('remark')"
+                                prop="remark"
+                                label="备注"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('rank')"
+                                prop="rank"
+                                label="排序"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('statusFlag')"
+                                prop="statusFlag"
+                                label="状态"
+                                min-width="100">
+                        </el-table-column>
+                                                            <el-table-column
+                    label="操作"
+                    align="center"
+                    fixed="right"
+                    min-width="150"
+            >
+                <template slot-scope="scope">
+                            <el-button @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
+                    <el-button @click="deleteRow(scope.row)" type="danger" size="mini" plain>删除</el-button>
+                </template>
+            </el-table-column>
+        </el-table>
+        <div class="pagination-wrapper">
+            <div class="multiple-mode-wrapper" v-if="0">
+                <el-button size="small" v-if="!multipleMode" @click="toggleMultipleMode(true)">批量编辑</el-button>
+                <el-button-group v-else>
+                    <el-button size="small" @click="operation1">批量操作1</el-button>
+                    <el-button size="small" @click="operation2">批量操作2</el-button>
+                    <el-button size="small" @click="toggleMultipleMode(false)">取消</el-button>
+                </el-button-group>
+            </div>
+            <el-pagination
+                    background
+                    @size-change="pageSizeChange"
+                    @current-change="currentPageChange"
+                    :current-page="currentPage"
+                    :page-sizes="[10, 20, 30, 40, 50]"
+                    :page-size="pageSize"
+                    layout="total, sizes, prev, pager, next, jumper"
+                    :total="totalNumber">
+            </el-pagination>
+        </div>
+        <el-dialog title="高级查询" :visible.sync="showAdvancedQueryDialog">
+            <el-button @click="addField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="advancedQueryFields">
+
+                <el-table-column prop="link" label="链接符" align="center">
+                    <template slot-scope="{row}">
+                        <el-select placeholder="链接" size="small" v-model="row.link" class="filter-item">
+                            <el-option label="AND" value="AND">
+                            </el-option>
+                            <el-option label="OR" value="OR">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="searchMethod" label="搜索方式" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.searchMethod">
+                            <el-option v-for="item in searchMethods" :label="item" :value="item"
+                                       :key="item"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="value" label="参数" align="center">
+                    <template slot-scope="{row}">
+                        <el-input v-model="row.value"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="advancedQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="排序" :visible.sync="showTableSortDialog">
+            <el-button @click="addSortField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="tableSortFields">
+
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="order" label="排序" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.order">
+                            <el-option label="降序" value="desc">
+                            </el-option>
+                            <el-option label="升序" value="asc">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeSortField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="tableSortQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="查看图片" :visible.sync="imageDialogVisible" size="small">
+            <img width="100%" :src="imgSrc" alt="">
+        </el-dialog>
+
+    </div>
+</template>
+<script>
+    import {mapState} from 'vuex'
+    import {format} from 'date-fns'
+    import zh from 'date-fns/locale/zh_cn'
+
+    export default {
+        created() {
+            this.getData();
+        },
+        data() {
+            return {
+                totalNumber: 0,
+                totalPage: 10,
+                currentPage: 1,
+                pageSize: 20,
+                tableData: [],
+                filter1: '',
+                filter2: '',
+                tableColumns: [
+                                                                        {
+                                label: '',
+                                value: 'id',
+                                show: true
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '名称',
+                                value: 'season',
+                                show: true
+                            },
+                                                                                                {
+                                label: '简称',
+                                value: 'shortName',
+                                show: true
+                            },
+                                                                                                {
+                                label: '开始时间',
+                                value: 'beginTime',
+                                show: true
+                            },
+                                                                                                {
+                                label: '结束时间',
+                                value: 'endTime',
+                                show: true
+                            },
+                                                                                                {
+                                label: '奖金数',
+                                value: 'bonus',
+                                show: true
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark',
+                                show: true
+                            },
+                                                                                                {
+                                label: '排序',
+                                value: 'rank',
+                                show: true
+                            },
+                                                                                                {
+                                label: '状态',
+                                value: 'statusFlag',
+                                show: true
+                            },
+                                                            ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                                                                        {
+                                label: '',
+                                value: 'id'
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '名称',
+                                value: 'season'
+                            },
+                                                                                                {
+                                label: '简称',
+                                value: 'short_name'
+                            },
+                                                                                                {
+                                label: '开始时间',
+                                value: 'begin_time'
+                            },
+                                                                                                {
+                                label: '结束时间',
+                                value: 'end_time'
+                            },
+                                                                                                {
+                                label: '奖金数',
+                                value: 'bonus'
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark'
+                            },
+                                                                                                {
+                                label: '排序',
+                                value: 'rank'
+                            },
+                                                                                                {
+                                label: '状态',
+                                value: 'status_flag'
+                            },
+                                                            ],
+                advancedQuerySearchKey: '',
+                orderByStr: '',
+                imgSrc: '',
+                imageDialogVisible: false,
+            }
+        },
+        computed: {
+            ...mapState(['tableHeight']),
+            selection() {
+                return this.$refs.table.selection.map(i => i.id);
+            }
+        },
+        methods: {
+            pageSizeChange(size) {
+                this.currentPage = 1;
+                this.pageSize = size;
+                this.getData();
+            },
+            currentPageChange(page) {
+                this.currentPage = page;
+                this.getData();
+            },
+            getData() {
+
+                var data = {
+                    currentPage: this.currentPage,
+                    pageNumber: this.pageSize,
+                    searchKey: this.filter1,
+                    advancedQuery: this.advancedQuerySearchKey,
+                    orderByStr: this.orderByStr,
+                }
+
+                if (this.$route.query.column) {
+                    var tempColumn = this.$route.query.column;
+                    data[tempColumn.split(',')[1]] = tempColumn.split(',')[0];
+                }
+
+                this.$http.get({
+                    url: '/competitionSeason/page',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.totalNumber = res.data.page.totalNumber;
+                        this.tableData = res.data.pp;
+                    }
+                })
+            },
+            isColumnShow(column) {
+                var row = this.tableColumns.find(i => i.value === column);
+                return row ? row.show : false;
+            },
+            toggleMultipleMode(multipleMode) {
+                this.multipleMode = multipleMode;
+                if (!multipleMode) {
+                    this.$refs.table.clearSelection();
+                }
+            },
+            editRow(row) {
+                this.$router.push({
+                    path: '/competitionSeason',
+                    query: {
+                        id: row.id,
+                        column: this.$route.query.column,
+                    }
+                })
+            },
+            operation1() {
+                this.$notify({
+                    title: '提示',
+                    message: this.selection
+                });
+            },
+            operation2() {
+                this.$message('操作2');
+            },
+            addField() {
+                this.advancedQueryFields.push({
+                    link: 'AND',
+                    name: '',
+                    searchMethod: '=',
+                    value: '',
+                });
+            },
+            removeField(i) {
+                if (this.advancedQueryFields.length > 0) {
+                    this.advancedQueryFields.splice(i, 1);
+                }
+            },
+            advancedQuery() {
+
+                this.advancedQuerySearchKey = '';
+
+                if (this.advancedQueryFields.length > 0) {
+
+                    var templist = [];
+
+                    this.advancedQueryFields.forEach(item => {
+                        if (item.link && item.name && item.searchMethod && item.value) {
+                            var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.advancedQuerySearchKey = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showAdvancedQueryDialog = false;
+            },
+            addSortField() {
+                this.tableSortFields.push({
+                    name: '',
+                    order: 'asc',
+                });
+            },
+            removeSortField(i) {
+                if (this.tableSortFields.length > 0) {
+                    this.tableSortFields.splice(i, 1);
+                }
+            },
+            tableSortQuery() {
+
+                this.orderByStr = '';
+
+                if (this.tableSortFields.length > 0) {
+
+                    var templist = [];
+
+                    this.tableSortFields.forEach(item => {
+                        if (item.name && item.order) {
+                            var tempItem = item.name + '_,' + item.order;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.orderByStr = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showTableSortDialog = false;
+            },
+            exportExcel() {
+                window.location.href = this.$baseUrl + "/competitionSeason/exportExcel?searchKey="
+                        + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey+"&orderByStr=" + this.orderByStr;
+            },
+            searchData() {
+                this.currentPage = 1;
+                this.getData();
+            },
+            deleteRow(row) {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
+                    return this.$http.post({
+                        url: '/competitionSeason/del',
+                        data: {id: row.id}
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.getData();
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+            DateTimeFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD HH:mm', {locale: zh})
+                }
+
+            },
+            DateFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD', {locale: zh})
+                }
+
+            },
+            showImg(img) {
+                this.imgSrc = img;
+                this.imageDialogVisible = true;
+            },
+
+        }
+    }
+</script>
+<style lang="less" scoped>
+
+</style>

+ 141 - 0
src/main/vue/src/pages/GameInfo.vue

@@ -0,0 +1,141 @@
+<template>
+    <div>
+        <el-form :model="formData" :rules="rules" ref="form" label-width="80px" label-position="right" size="small" style="max-width: 500px;">
+            <el-form-item prop="gameName" label="游戏名">
+                <el-input v-model="formData.gameName" :disabled="'gameName'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="typeFlag" label="类型">
+                <template>
+                    <el-select v-model="formData.typeFlag" clearable placeholder="请选择" :disabled="'typeFlag'==subColumn">
+                        <el-option v-for="item in typeFlagOptions" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
+                </template>
+            </el-form-item>
+            <el-form-item prop="icon" label="图标">
+                <single-upload v-model="formData.icon" :disabled="'icon'==subColumn"></single-upload>
+            </el-form-item>
+            <el-form-item prop="rank" label="排序">
+                <el-input type="number" v-model="formData.rank" :disabled="'rank'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="remark" label="备注">
+                <el-input v-model="formData.remark" :disabled="'remark'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="useFlag" label="可用">
+                <el-switch v-model="formData.useFlag" active-color="#13ce66" inactive-color="#ff4949" :disabled="'useFlag'==subColumn">
+                </el-switch>
+            </el-form-item>
+            <el-form-item>
+                <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
+                <el-button @click="onDelete" v-if="formData.id" type="danger">删除</el-button>
+                <el-button @click="$router.go(-1)">取消</el-button>
+            </el-form-item>
+        </el-form>
+    </div>
+</template>
+<script>
+import formValidator from '../formValidator'
+
+export default {
+    created() {
+        if (this.$route.query.column) {
+            this.subColumn = this.$route.query.column.split(',')[1];
+            this.subValue = this.$route.query.column.split(',')[0];
+        }
+
+        if (this.$route.query.id) {
+            this.$http.get({
+                url: '/gameInfo/getOne',
+                data: {
+                    id: this.$route.query.id
+                }
+            }).then(res => {
+                if (res.success) {
+
+
+                    this.formData = res.data;
+
+                    this.formData.useFlag = this.formData.useFlag == 'Y' ? true : false;
+
+                    if (this.$route.query.column) {
+                        this.formData[this.subColumn] = this.subValue;
+                    }
+                }
+            })
+        } else {
+            if (this.$route.query.column) {
+                this.formData[this.subColumn] = this.subValue;
+            }
+        }
+
+    },
+    data() {
+        return {
+            saving: false,
+            formData: {},
+            rules: {
+                gameName:
+                    [
+                        { required: true, message: '请输入 游戏名', trigger: 'blur' },
+                    ],
+            },
+            typeFlagOptions: [{
+                value: 0,
+                label: '射击'
+            }, {
+                value: '1',
+                label: '策略'
+            }],
+            subColumn: '',
+            subValue: '',
+        }
+    },
+    methods: {
+        onSave() {
+            this.$refs.form.validate((valid) => {
+                if (valid) {
+                    this.submit();
+                } else {
+                    return false;
+                }
+            });
+        },
+        submit() {
+            var data = JSON.parse(JSON.stringify(this.formData));
+
+            data.useFlag = this.formData.useFlag ? 'Y' : 'N';
+
+            this.$http.post({
+                url: this.formData.id ? '/gameInfo/update' : '/gameInfo/save',
+                data: data
+            }).then(res => {
+                if (res.success) {
+                    this.$message.success('成功');
+                    this.$router.go(-1);
+                } else {
+                    this.$message.warning('失败')
+                }
+            });
+        },
+        onDelete() {
+            this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
+                return this.$http.post({
+                    url: '/gameInfo/del',
+                    data: { id: this.formData.id }
+                })
+            }).then(() => {
+                this.$message.success('删除成功');
+                this.$router.go(-1);
+            }).catch(action => {
+                if (action === 'cancel') {
+                    this.$message.info('删除取消');
+                } else {
+                    this.$message.error('删除失败');
+                }
+            })
+        },
+    }
+}
+</script>
+<style lang="less" scoped>
+</style>

+ 507 - 0
src/main/vue/src/pages/GameInfos.vue

@@ -0,0 +1,507 @@
+<template>
+    <div>
+        <div class="filters-container">
+        
+            <el-input placeholder="关键字" size="small" v-model="filter1" clearable class="filter-item"></el-input>
+            <el-button @click="searchData" type="primary" size="small" icon="el-icon-search" class="filter-item">搜索
+            </el-button>
+            <el-button @click="showAdvancedQueryDialog = !showAdvancedQueryDialog" type="primary" size="small"
+                       icon="el-icon-search" class="filter-item">高级查询
+            </el-button>
+            <el-button @click="showTableSortDialog = !showTableSortDialog" type="primary" size="small"
+                       icon="el-icon-sort" class="filter-item">排序
+            </el-button>
+            <el-button @click="$router.push({path:'/gameInfo',query:{column:$route.query.column}})" type="primary"
+                       size="small" icon="el-icon-edit"
+                       class="filter-item">添加
+            </el-button>
+            <el-button @click="exportExcel" type="primary" size="small" icon="el-icon-share" class="filter-item">导出EXCEL
+            </el-button>
+            <el-dropdown trigger="click" size="medium" class="table-column-filter">
+                <span>
+                  筛选数据<i class="el-icon-arrow-down el-icon--right"></i>
+                </span>
+                <el-dropdown-menu slot="dropdown" class="table-column-filter-wrapper">
+                    <el-checkbox v-for="item in tableColumns" :key="item.value" v-model="item.show">{{item.label}}
+                    </el-checkbox>
+                </el-dropdown-menu>
+            </el-dropdown>
+        </div>
+        <el-table
+                :data="tableData"
+                :height="tableHeight"
+                row-key="id"
+                ref="table">
+            <el-table-column
+                    v-if="multipleMode"
+                    align="center"
+                    type="selection"
+                    width="50">
+            </el-table-column>
+            <el-table-column
+                    type="index"
+                    min-width="50"
+                    align="center">
+            </el-table-column>
+                            
+                                            <el-table-column
+                                v-if="isColumnShow('id')"
+                                prop="id"
+                                label="ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                                                                                                                                                            
+                                            <el-table-column
+                                v-if="isColumnShow('gameName')"
+                                prop="gameName"
+                                label="游戏名"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('typeFlag')"
+                                prop="typeFlag"
+                                label="类型"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('icon')"
+                                prop="icon"
+                                label="图标"
+                                min-width="100">
+                            <template slot-scope="{row}">
+                                <img :src="row.icon" @click="showImg(row.icon)" style="width: 100px;height: 100px;vertical-align: middle;" />
+                            </template>
+
+                        </el-table-column>
+                                                                    
+                                            <el-table-column
+                                v-if="isColumnShow('rank')"
+                                prop="rank"
+                                label="排序"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('remark')"
+                                prop="remark"
+                                label="备注"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('useFlag')"
+                                prop="useFlag"
+                                label="可用"
+                                min-width="100">
+                        </el-table-column>
+                                                            <el-table-column
+                    label="操作"
+                    align="center"
+                    fixed="right"
+                    min-width="150"
+            >
+                <template slot-scope="scope">
+                            <el-button @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
+                    <el-button @click="deleteRow(scope.row)" type="danger" size="mini" plain>删除</el-button>
+                </template>
+            </el-table-column>
+        </el-table>
+        <div class="pagination-wrapper">
+            <div class="multiple-mode-wrapper" v-if="0">
+                <el-button size="small" v-if="!multipleMode" @click="toggleMultipleMode(true)">批量编辑</el-button>
+                <el-button-group v-else>
+                    <el-button size="small" @click="operation1">批量操作1</el-button>
+                    <el-button size="small" @click="operation2">批量操作2</el-button>
+                    <el-button size="small" @click="toggleMultipleMode(false)">取消</el-button>
+                </el-button-group>
+            </div>
+            <el-pagination
+                    background
+                    @size-change="pageSizeChange"
+                    @current-change="currentPageChange"
+                    :current-page="currentPage"
+                    :page-sizes="[10, 20, 30, 40, 50]"
+                    :page-size="pageSize"
+                    layout="total, sizes, prev, pager, next, jumper"
+                    :total="totalNumber">
+            </el-pagination>
+        </div>
+        <el-dialog title="高级查询" :visible.sync="showAdvancedQueryDialog">
+            <el-button @click="addField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="advancedQueryFields">
+
+                <el-table-column prop="link" label="链接符" align="center">
+                    <template slot-scope="{row}">
+                        <el-select placeholder="链接" size="small" v-model="row.link" class="filter-item">
+                            <el-option label="AND" value="AND">
+                            </el-option>
+                            <el-option label="OR" value="OR">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="searchMethod" label="搜索方式" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.searchMethod">
+                            <el-option v-for="item in searchMethods" :label="item" :value="item"
+                                       :key="item"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="value" label="参数" align="center">
+                    <template slot-scope="{row}">
+                        <el-input v-model="row.value"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="advancedQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="排序" :visible.sync="showTableSortDialog">
+            <el-button @click="addSortField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="tableSortFields">
+
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="order" label="排序" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.order">
+                            <el-option label="降序" value="desc">
+                            </el-option>
+                            <el-option label="升序" value="asc">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeSortField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="tableSortQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="查看图片" :visible.sync="imageDialogVisible" size="small">
+            <img width="100%" :src="imgSrc" alt="">
+        </el-dialog>
+
+    </div>
+</template>
+<script>
+    import {mapState} from 'vuex'
+    import {format} from 'date-fns'
+    import zh from 'date-fns/locale/zh_cn'
+
+    export default {
+        created() {
+            this.getData();
+        },
+        data() {
+            return {
+                totalNumber: 0,
+                totalPage: 10,
+                currentPage: 1,
+                pageSize: 20,
+                tableData: [],
+                filter1: '',
+                filter2: '',
+                tableColumns: [
+                                                                        {
+                                label: 'ID',
+                                value: 'id',
+                                show: true
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '游戏名',
+                                value: 'gameName',
+                                show: true
+                            },
+                                                                                                {
+                                label: '类型',
+                                value: 'typeFlag',
+                                show: true
+                            },
+                                                                                                {
+                                label: '图标',
+                                value: 'icon',
+                                show: true
+                            },
+                                                                                                {
+                                label: '排序',
+                                value: 'rank',
+                                show: true
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark',
+                                show: true
+                            },
+                                                                                                {
+                                label: '可用',
+                                value: 'useFlag',
+                                show: true
+                            },
+                                                            ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                                                                        {
+                                label: 'ID',
+                                value: 'id'
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '游戏名',
+                                value: 'game_name'
+                            },
+                                                                                                {
+                                label: '类型',
+                                value: 'type_flag'
+                            },
+                                                                                                {
+                                label: '图标',
+                                value: 'icon'
+                            },
+                                                                                                {
+                                label: '排序',
+                                value: 'rank'
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark'
+                            },
+                                                                                                {
+                                label: '可用',
+                                value: 'use_flag'
+                            },
+                                                            ],
+                advancedQuerySearchKey: '',
+                orderByStr: '',
+                imgSrc: '',
+                imageDialogVisible: false,
+            }
+        },
+        computed: {
+            ...mapState(['tableHeight']),
+            selection() {
+                return this.$refs.table.selection.map(i => i.id);
+            }
+        },
+        methods: {
+            pageSizeChange(size) {
+                this.currentPage = 1;
+                this.pageSize = size;
+                this.getData();
+            },
+            currentPageChange(page) {
+                this.currentPage = page;
+                this.getData();
+            },
+            getData() {
+
+                var data = {
+                    currentPage: this.currentPage,
+                    pageNumber: this.pageSize,
+                    searchKey: this.filter1,
+                    advancedQuery: this.advancedQuerySearchKey,
+                    orderByStr: this.orderByStr,
+                }
+
+                if (this.$route.query.column) {
+                    var tempColumn = this.$route.query.column;
+                    data[tempColumn.split(',')[1]] = tempColumn.split(',')[0];
+                }
+
+                this.$http.get({
+                    url: '/gameInfo/page',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.totalNumber = res.data.page.totalNumber;
+                        this.tableData = res.data.pp;
+                    }
+                })
+            },
+            isColumnShow(column) {
+                var row = this.tableColumns.find(i => i.value === column);
+                return row ? row.show : false;
+            },
+            toggleMultipleMode(multipleMode) {
+                this.multipleMode = multipleMode;
+                if (!multipleMode) {
+                    this.$refs.table.clearSelection();
+                }
+            },
+            editRow(row) {
+                this.$router.push({
+                    path: '/gameInfo',
+                    query: {
+                        id: row.id,
+                        column: this.$route.query.column,
+                    }
+                })
+            },
+            operation1() {
+                this.$notify({
+                    title: '提示',
+                    message: this.selection
+                });
+            },
+            operation2() {
+                this.$message('操作2');
+            },
+            addField() {
+                this.advancedQueryFields.push({
+                    link: 'AND',
+                    name: '',
+                    searchMethod: '=',
+                    value: '',
+                });
+            },
+            removeField(i) {
+                if (this.advancedQueryFields.length > 0) {
+                    this.advancedQueryFields.splice(i, 1);
+                }
+            },
+            advancedQuery() {
+
+                this.advancedQuerySearchKey = '';
+
+                if (this.advancedQueryFields.length > 0) {
+
+                    var templist = [];
+
+                    this.advancedQueryFields.forEach(item => {
+                        if (item.link && item.name && item.searchMethod && item.value) {
+                            var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.advancedQuerySearchKey = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showAdvancedQueryDialog = false;
+            },
+            addSortField() {
+                this.tableSortFields.push({
+                    name: '',
+                    order: 'asc',
+                });
+            },
+            removeSortField(i) {
+                if (this.tableSortFields.length > 0) {
+                    this.tableSortFields.splice(i, 1);
+                }
+            },
+            tableSortQuery() {
+
+                this.orderByStr = '';
+
+                if (this.tableSortFields.length > 0) {
+
+                    var templist = [];
+
+                    this.tableSortFields.forEach(item => {
+                        if (item.name && item.order) {
+                            var tempItem = item.name + '_,' + item.order;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.orderByStr = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showTableSortDialog = false;
+            },
+            exportExcel() {
+                window.location.href = this.$baseUrl + "/gameInfo/exportExcel?searchKey="
+                        + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey+"&orderByStr=" + this.orderByStr;
+            },
+            searchData() {
+                this.currentPage = 1;
+                this.getData();
+            },
+            deleteRow(row) {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
+                    return this.$http.post({
+                        url: '/gameInfo/del',
+                        data: {id: row.id}
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.getData();
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+            DateTimeFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD HH:mm', {locale: zh})
+                }
+
+            },
+            DateFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD', {locale: zh})
+                }
+
+            },
+            showImg(img) {
+                this.imgSrc = img;
+                this.imageDialogVisible = true;
+            },
+
+        }
+    }
+</script>
+<style lang="less" scoped>
+
+</style>

+ 1 - 1
src/main/vue/src/pages/GenCode.vue

@@ -400,7 +400,7 @@ export default {
                 dataSourceCode: 'dataSource',
                 className: '',
                 subtables: [],
-                typeFlag:'',
+                typeFlag:'电竞互动',
 
             },
             fields: [

+ 282 - 0
src/main/vue/src/pages/HouseInfo.vue

@@ -0,0 +1,282 @@
+<template>
+    <div>
+        <el-form :model="formData" :rules="rules" ref="form" label-width="80px" label-position="right" size="small" style="max-width: 500px;">
+            <el-form-item prop="houseName" label="名称">
+                <el-input v-model="formData.houseName" :disabled="'houseName'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="houseAbstract" label="描述">
+                <el-input type="textarea" v-model="formData.houseAbstract" :disabled="'houseAbstract'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="icon" label="头像">
+                <single-upload v-model="formData.icon" :disabled="'icon'==subColumn"></single-upload>
+            </el-form-item>
+            <el-form-item prop="houseCode" label="CODE">
+                <el-input v-model="formData.houseCode" :disabled="'houseCode'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="userId" label="用户">
+                <el-input v-model="formData.userId" :disabled="'userId'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="houseType" label="类型">
+                <template>
+                    <el-select v-model="formData.houseType" clearable placeholder="请选择" :disabled="'houseType'==subColumn">
+                        <el-option v-for="item in houseTypeOptions" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
+                </template>
+            </el-form-item>
+            <el-form-item prop="houseLevel" label="等级">
+                <template>
+                    <el-select v-model="formData.houseLevel" clearable placeholder="请选择" :disabled="'houseLevel'==subColumn">
+                        <el-option v-for="item in houseLevelOptions" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
+                </template>
+            </el-form-item>
+            <el-form-item prop="gameId" label="游戏">
+                <template>
+                    <el-select v-model="formData.gameId" clearable placeholder="请选择" :disabled="'gameId'==subColumn">
+                        <el-option v-for="item in gameIdOptions" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
+                </template>
+            </el-form-item>
+            <el-form-item prop="statusFlag" label="状态">
+                <template>
+                    <el-select v-model="formData.statusFlag" clearable placeholder="请选择" :disabled="'statusFlag'==subColumn">
+                        <el-option v-for="item in statusFlagOptions" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
+                </template>
+            </el-form-item>
+            <el-form-item prop="recommendFlag" label="推荐">
+                <el-switch v-model="formData.recommendFlag" active-color="#13ce66" inactive-color="#ff4949" :disabled="'recommendFlag'==subColumn">
+                </el-switch>
+            </el-form-item>
+            <el-form-item prop="rank" label="排序">
+                <el-input type="number" v-model="formData.rank" :disabled="'rank'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="useFlag" label="可用">
+                <el-switch v-model="formData.useFlag" active-color="#13ce66" inactive-color="#ff4949" :disabled="'useFlag'==subColumn">
+                </el-switch>
+            </el-form-item>
+            <el-form-item prop="gameHouseId" label="游戏房间号">
+                <el-input v-model="formData.gameHouseId" :disabled="'gameHouseId'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="gameHousePassword" label="游戏密码">
+                <el-input v-model="formData.gameHousePassword" :disabled="'gameHousePassword'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="beginTime" label="开始时间">
+                <template>
+                    <div class="block">
+                        <el-date-picker v-model="formData.beginTime" type="datetime" value-format="timestamp" placeholder="选择日期" :disabled="'beginTime'==subColumn">
+                        </el-date-picker>
+                    </div>
+                </template>
+            </el-form-item>
+            <el-form-item prop="endTime" label="结束时间">
+                <template>
+                    <div class="block">
+                        <el-date-picker v-model="formData.endTime" type="datetime" value-format="timestamp" placeholder="选择日期" :disabled="'endTime'==subColumn">
+                        </el-date-picker>
+                    </div>
+                </template>
+            </el-form-item>
+            <el-form-item prop="matchName" label="比赛名称">
+                <el-input v-model="formData.matchName" :disabled="'matchName'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="playerNumber" label="参数人数">
+                <el-input type="number" v-model="formData.playerNumber" :disabled="'playerNumber'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="bonus" label="奖金">
+                <el-input type="number" v-model="formData.bonus" :disabled="'bonus'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="seasonId" label="赛季ID">
+                <template>
+                    <el-select v-model="formData.seasonId" clearable placeholder="请选择" :disabled="'seasonId'==subColumn">
+                        <el-option v-for="item in seasonIdOptions" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
+                </template>
+            </el-form-item>
+            <el-form-item prop="video" label="视频">
+                <el-input v-model="formData.video" :disabled="'video'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item>
+                <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
+                <el-button @click="onDelete" v-if="formData.id" type="danger">删除</el-button>
+                <el-button @click="$router.go(-1)">取消</el-button>
+            </el-form-item>
+        </el-form>
+    </div>
+</template>
+<script>
+import formValidator from '../formValidator'
+
+export default {
+    created() {
+        if (this.$route.query.column) {
+            this.subColumn = this.$route.query.column.split(',')[1];
+            this.subValue = this.$route.query.column.split(',')[0];
+        }
+
+        if (this.$route.query.id) {
+            this.$http.get({
+                url: '/houseInfo/getOne',
+                data: {
+                    id: this.$route.query.id
+                }
+            }).then(res => {
+                if (res.success) {
+
+
+                    this.formData = res.data;
+
+                    this.formData.recommendFlag = this.formData.recommendFlag == 'Y' ? true : false;
+                    this.formData.useFlag = this.formData.useFlag == 'Y' ? true : false;
+
+                    if (this.$route.query.column) {
+                        this.formData[this.subColumn] = this.subValue;
+                    }
+                }
+            })
+        } else {
+            if (this.$route.query.column) {
+                this.formData[this.subColumn] = this.subValue;
+            }
+        }
+
+
+
+
+        this.$http.get({
+            url: '/houseLevel/all'
+        }).then(res => {
+            if (res.success) {
+
+                if (res.data.length > 0) {
+                    res.data.forEach(item => {
+                        this.houseLevelOptions.push({ label: item.levelName, value: String(item.id) });
+                    })
+                }
+            }
+        });
+
+
+
+        this.$http.get({
+            url: '/gameInfo/all'
+        }).then(res => {
+            if (res.success) {
+
+                if (res.data.length > 0) {
+                    res.data.forEach(item => {
+                        this.gameIdOptions.push({ label: item.gameName, value: item.id });
+                    })
+                }
+            }
+        });
+
+
+
+        this.$http.get({
+            url: '/competitionSeason/all'
+        }).then(res => {
+            if (res.success) {
+
+                if (res.data.length > 0) {
+                    res.data.forEach(item => {
+                        this.seasonIdOptions.push({ label: item.shortName, value: item.id });
+                    })
+                }
+            }
+        });
+    },
+    data() {
+        return {
+            saving: false,
+            formData: {
+                useFlag: 'Y'
+            },
+            rules: {
+            },
+            houseTypeOptions: [{                value: 0,
+                label: '个人'
+            }, {
+                value: 1,
+                label: '官方'
+            }],
+            houseLevelOptions: [],
+            gameIdOptions: [],
+            statusFlagOptions: [{                value: 0,
+                label: '等待'
+            }, {
+                value: 1,
+                label: '准备'
+            }, {
+                value: 2,
+                label: '开始'
+            }, {
+                value: 4,
+                label: '结束'
+            }, {
+                value: 5,
+                label: '结算'
+            }, {
+                value: 6,
+                label: '关闭'
+            }],
+            seasonIdOptions: [],
+            subColumn: '',
+            subValue: '',
+        }
+    },
+    methods: {
+        onSave() {
+            this.$refs.form.validate((valid) => {
+                if (valid) {
+                    this.submit();
+                } else {
+                    return false;
+                }
+            });
+        },
+        submit() {
+            var data = JSON.parse(JSON.stringify(this.formData));
+
+            data.recommendFlag = this.formData.recommendFlag ? 'Y' : 'N';
+            data.useFlag = this.formData.useFlag ? 'Y' : 'N';
+
+            this.$http.post({
+                url: this.formData.id ? '/houseInfo/update' : '/houseInfo/save',
+                data: data
+            }).then(res => {
+                if (res.success) {
+                    this.$message.success('成功');
+                    this.$router.go(-1);
+                } else {
+                    this.$message.warning('失败')
+                }
+            });
+        },
+        onDelete() {
+            this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
+                return this.$http.post({
+                    url: '/houseInfo/del',
+                    data: { id: this.formData.id }
+                })
+            }).then(() => {
+                this.$message.success('删除成功');
+                this.$router.go(-1);
+            }).catch(action => {
+                if (action === 'cancel') {
+                    this.$message.info('删除取消');
+                } else {
+                    this.$message.error('删除失败');
+                }
+            })
+        },
+    }
+}
+</script>
+<style lang="less" scoped>
+</style>

+ 749 - 0
src/main/vue/src/pages/HouseInfos.vue

@@ -0,0 +1,749 @@
+<template>
+    <div>
+        <div class="filters-container">
+        
+            <el-input placeholder="关键字" size="small" v-model="filter1" clearable class="filter-item"></el-input>
+            <el-button @click="searchData" type="primary" size="small" icon="el-icon-search" class="filter-item">搜索
+            </el-button>
+            <el-button @click="showAdvancedQueryDialog = !showAdvancedQueryDialog" type="primary" size="small"
+                       icon="el-icon-search" class="filter-item">高级查询
+            </el-button>
+            <el-button @click="showTableSortDialog = !showTableSortDialog" type="primary" size="small"
+                       icon="el-icon-sort" class="filter-item">排序
+            </el-button>
+            <el-button @click="$router.push({path:'/houseInfo',query:{column:$route.query.column}})" type="primary"
+                       size="small" icon="el-icon-edit"
+                       class="filter-item">添加
+            </el-button>
+            <el-button @click="exportExcel" type="primary" size="small" icon="el-icon-share" class="filter-item">导出EXCEL
+            </el-button>
+            <el-dropdown trigger="click" size="medium" class="table-column-filter">
+                <span>
+                  筛选数据<i class="el-icon-arrow-down el-icon--right"></i>
+                </span>
+                <el-dropdown-menu slot="dropdown" class="table-column-filter-wrapper">
+                    <el-checkbox v-for="item in tableColumns" :key="item.value" v-model="item.show">{{item.label}}
+                    </el-checkbox>
+                </el-dropdown-menu>
+            </el-dropdown>
+        </div>
+        <el-table
+                :data="tableData"
+                :height="tableHeight"
+                row-key="id"
+                ref="table">
+            <el-table-column
+                    v-if="multipleMode"
+                    align="center"
+                    type="selection"
+                    width="50">
+            </el-table-column>
+            <el-table-column
+                    type="index"
+                    min-width="50"
+                    align="center">
+            </el-table-column>
+                            
+                                            <el-table-column
+                                v-if="isColumnShow('id')"
+                                prop="id"
+                                label=""
+                                min-width="100">
+                        </el-table-column>
+                                                                                                                                                                                                            
+                                            <el-table-column
+                                v-if="isColumnShow('houseName')"
+                                prop="houseName"
+                                label="名称"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('houseAbstract')"
+                                prop="houseAbstract"
+                                label="描述"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('icon')"
+                                prop="icon"
+                                label="头像"
+                                min-width="100">
+                            <template slot-scope="{row}">
+                                <img :src="row.icon" @click="showImg(row.icon)" style="width: 100px;height: 100px;vertical-align: middle;" />
+                            </template>
+
+                        </el-table-column>
+                                                                    
+                                            <el-table-column
+                                v-if="isColumnShow('houseCode')"
+                                prop="houseCode"
+                                label="CODE"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('userId')"
+                                prop="userId"
+                                label="用户"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('houseType')"
+                                prop="houseType"
+                                label="类型"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('houseLevel')"
+                                prop="houseLevel"
+                                label="等级"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('gameId')"
+                                prop="gameId"
+                                label="游戏"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('statusFlag')"
+                                prop="statusFlag"
+                                label="状态"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('recommendFlag')"
+                                prop="recommendFlag"
+                                label="推荐"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('rank')"
+                                prop="rank"
+                                label="排序"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('useFlag')"
+                                prop="useFlag"
+                                label="可用"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('gameHouseId')"
+                                prop="gameHouseId"
+                                label="游戏房间号"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('gameHousePassword')"
+                                prop="gameHousePassword"
+                                label="游戏密码"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('beginTime')"
+                                prop="beginTime"
+                                label="开始时间"
+                                :formatter="DateTimeFormatter"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('endTime')"
+                                prop="endTime"
+                                label="结束时间"
+                                :formatter="DateTimeFormatter"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('matchName')"
+                                prop="matchName"
+                                label="比赛名称"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('playerNumber')"
+                                prop="playerNumber"
+                                label="参数人数"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('bonus')"
+                                prop="bonus"
+                                label="奖金"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('seasonId')"
+                                prop="seasonId"
+                                label="赛季ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('video')"
+                                prop="video"
+                                label="视频"
+                                min-width="100">
+                        </el-table-column>
+                                                            <el-table-column
+                    label="操作"
+                    align="center"
+                    fixed="right"
+                    min-width="150"
+            >
+                <template slot-scope="scope">
+                            <el-button @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
+                    <el-button @click="deleteRow(scope.row)" type="danger" size="mini" plain>删除</el-button>
+                </template>
+            </el-table-column>
+        </el-table>
+        <div class="pagination-wrapper">
+            <div class="multiple-mode-wrapper" v-if="0">
+                <el-button size="small" v-if="!multipleMode" @click="toggleMultipleMode(true)">批量编辑</el-button>
+                <el-button-group v-else>
+                    <el-button size="small" @click="operation1">批量操作1</el-button>
+                    <el-button size="small" @click="operation2">批量操作2</el-button>
+                    <el-button size="small" @click="toggleMultipleMode(false)">取消</el-button>
+                </el-button-group>
+            </div>
+            <el-pagination
+                    background
+                    @size-change="pageSizeChange"
+                    @current-change="currentPageChange"
+                    :current-page="currentPage"
+                    :page-sizes="[10, 20, 30, 40, 50]"
+                    :page-size="pageSize"
+                    layout="total, sizes, prev, pager, next, jumper"
+                    :total="totalNumber">
+            </el-pagination>
+        </div>
+        <el-dialog title="高级查询" :visible.sync="showAdvancedQueryDialog">
+            <el-button @click="addField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="advancedQueryFields">
+
+                <el-table-column prop="link" label="链接符" align="center">
+                    <template slot-scope="{row}">
+                        <el-select placeholder="链接" size="small" v-model="row.link" class="filter-item">
+                            <el-option label="AND" value="AND">
+                            </el-option>
+                            <el-option label="OR" value="OR">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="searchMethod" label="搜索方式" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.searchMethod">
+                            <el-option v-for="item in searchMethods" :label="item" :value="item"
+                                       :key="item"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="value" label="参数" align="center">
+                    <template slot-scope="{row}">
+                        <el-input v-model="row.value"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="advancedQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="排序" :visible.sync="showTableSortDialog">
+            <el-button @click="addSortField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="tableSortFields">
+
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="order" label="排序" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.order">
+                            <el-option label="降序" value="desc">
+                            </el-option>
+                            <el-option label="升序" value="asc">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeSortField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="tableSortQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="查看图片" :visible.sync="imageDialogVisible" size="small">
+            <img width="100%" :src="imgSrc" alt="">
+        </el-dialog>
+
+    </div>
+</template>
+<script>
+    import {mapState} from 'vuex'
+    import {format} from 'date-fns'
+    import zh from 'date-fns/locale/zh_cn'
+
+    export default {
+        created() {
+            this.getData();
+        },
+        data() {
+            return {
+                totalNumber: 0,
+                totalPage: 10,
+                currentPage: 1,
+                pageSize: 20,
+                tableData: [],
+                filter1: '',
+                filter2: '',
+                tableColumns: [
+                                                                        {
+                                label: '',
+                                value: 'id',
+                                show: true
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '名称',
+                                value: 'houseName',
+                                show: true
+                            },
+                                                                                                {
+                                label: '描述',
+                                value: 'houseAbstract',
+                                show: true
+                            },
+                                                                                                {
+                                label: '头像',
+                                value: 'icon',
+                                show: true
+                            },
+                                                                                                {
+                                label: 'CODE',
+                                value: 'houseCode',
+                                show: true
+                            },
+                                                                                                {
+                                label: '用户',
+                                value: 'userId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '类型',
+                                value: 'houseType',
+                                show: true
+                            },
+                                                                                                {
+                                label: '等级',
+                                value: 'houseLevel',
+                                show: true
+                            },
+                                                                                                {
+                                label: '游戏',
+                                value: 'gameId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '状态',
+                                value: 'statusFlag',
+                                show: true
+                            },
+                                                                                                {
+                                label: '推荐',
+                                value: 'recommendFlag',
+                                show: true
+                            },
+                                                                                                {
+                                label: '排序',
+                                value: 'rank',
+                                show: true
+                            },
+                                                                                                {
+                                label: '可用',
+                                value: 'useFlag',
+                                show: true
+                            },
+                                                                                                {
+                                label: '游戏房间号',
+                                value: 'gameHouseId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '游戏密码',
+                                value: 'gameHousePassword',
+                                show: true
+                            },
+                                                                                                {
+                                label: '开始时间',
+                                value: 'beginTime',
+                                show: true
+                            },
+                                                                                                {
+                                label: '结束时间',
+                                value: 'endTime',
+                                show: true
+                            },
+                                                                                                {
+                                label: '比赛名称',
+                                value: 'matchName',
+                                show: true
+                            },
+                                                                                                {
+                                label: '参数人数',
+                                value: 'playerNumber',
+                                show: true
+                            },
+                                                                                                {
+                                label: '奖金',
+                                value: 'bonus',
+                                show: true
+                            },
+                                                                                                {
+                                label: '赛季ID',
+                                value: 'seasonId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '视频',
+                                value: 'video',
+                                show: true
+                            },
+                                                            ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                                                                        {
+                                label: '',
+                                value: 'id'
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '名称',
+                                value: 'house_name'
+                            },
+                                                                                                {
+                                label: '描述',
+                                value: 'house_abstract'
+                            },
+                                                                                                {
+                                label: '头像',
+                                value: 'icon'
+                            },
+                                                                                                {
+                                label: 'CODE',
+                                value: 'house_code'
+                            },
+                                                                                                {
+                                label: '用户',
+                                value: 'user_id'
+                            },
+                                                                                                {
+                                label: '类型',
+                                value: 'house_type'
+                            },
+                                                                                                {
+                                label: '等级',
+                                value: 'house_level'
+                            },
+                                                                                                {
+                                label: '游戏',
+                                value: 'game_id'
+                            },
+                                                                                                {
+                                label: '状态',
+                                value: 'status_flag'
+                            },
+                                                                                                {
+                                label: '推荐',
+                                value: 'recommend_flag'
+                            },
+                                                                                                {
+                                label: '排序',
+                                value: 'rank'
+                            },
+                                                                                                {
+                                label: '可用',
+                                value: 'use_flag'
+                            },
+                                                                                                {
+                                label: '游戏房间号',
+                                value: 'game_house_id'
+                            },
+                                                                                                {
+                                label: '游戏密码',
+                                value: 'game_house_password'
+                            },
+                                                                                                {
+                                label: '开始时间',
+                                value: 'begin_time'
+                            },
+                                                                                                {
+                                label: '结束时间',
+                                value: 'end_time'
+                            },
+                                                                                                {
+                                label: '比赛名称',
+                                value: 'match_name'
+                            },
+                                                                                                {
+                                label: '参数人数',
+                                value: 'player_number'
+                            },
+                                                                                                {
+                                label: '奖金',
+                                value: 'bonus'
+                            },
+                                                                                                {
+                                label: '赛季ID',
+                                value: 'season_id'
+                            },
+                                                                                                {
+                                label: '视频',
+                                value: 'video'
+                            },
+                                                            ],
+                advancedQuerySearchKey: '',
+                orderByStr: '',
+                imgSrc: '',
+                imageDialogVisible: false,
+            }
+        },
+        computed: {
+            ...mapState(['tableHeight']),
+            selection() {
+                return this.$refs.table.selection.map(i => i.id);
+            }
+        },
+        methods: {
+            pageSizeChange(size) {
+                this.currentPage = 1;
+                this.pageSize = size;
+                this.getData();
+            },
+            currentPageChange(page) {
+                this.currentPage = page;
+                this.getData();
+            },
+            getData() {
+
+                var data = {
+                    currentPage: this.currentPage,
+                    pageNumber: this.pageSize,
+                    searchKey: this.filter1,
+                    advancedQuery: this.advancedQuerySearchKey,
+                    orderByStr: this.orderByStr,
+                }
+
+                if (this.$route.query.column) {
+                    var tempColumn = this.$route.query.column;
+                    data[tempColumn.split(',')[1]] = tempColumn.split(',')[0];
+                }
+
+                this.$http.get({
+                    url: '/houseInfo/page',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.totalNumber = res.data.page.totalNumber;
+                        this.tableData = res.data.pp;
+                    }
+                })
+            },
+            isColumnShow(column) {
+                var row = this.tableColumns.find(i => i.value === column);
+                return row ? row.show : false;
+            },
+            toggleMultipleMode(multipleMode) {
+                this.multipleMode = multipleMode;
+                if (!multipleMode) {
+                    this.$refs.table.clearSelection();
+                }
+            },
+            editRow(row) {
+                this.$router.push({
+                    path: '/houseInfo',
+                    query: {
+                        id: row.id,
+                        column: this.$route.query.column,
+                    }
+                })
+            },
+            operation1() {
+                this.$notify({
+                    title: '提示',
+                    message: this.selection
+                });
+            },
+            operation2() {
+                this.$message('操作2');
+            },
+            addField() {
+                this.advancedQueryFields.push({
+                    link: 'AND',
+                    name: '',
+                    searchMethod: '=',
+                    value: '',
+                });
+            },
+            removeField(i) {
+                if (this.advancedQueryFields.length > 0) {
+                    this.advancedQueryFields.splice(i, 1);
+                }
+            },
+            advancedQuery() {
+
+                this.advancedQuerySearchKey = '';
+
+                if (this.advancedQueryFields.length > 0) {
+
+                    var templist = [];
+
+                    this.advancedQueryFields.forEach(item => {
+                        if (item.link && item.name && item.searchMethod && item.value) {
+                            var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.advancedQuerySearchKey = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showAdvancedQueryDialog = false;
+            },
+            addSortField() {
+                this.tableSortFields.push({
+                    name: '',
+                    order: 'asc',
+                });
+            },
+            removeSortField(i) {
+                if (this.tableSortFields.length > 0) {
+                    this.tableSortFields.splice(i, 1);
+                }
+            },
+            tableSortQuery() {
+
+                this.orderByStr = '';
+
+                if (this.tableSortFields.length > 0) {
+
+                    var templist = [];
+
+                    this.tableSortFields.forEach(item => {
+                        if (item.name && item.order) {
+                            var tempItem = item.name + '_,' + item.order;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.orderByStr = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showTableSortDialog = false;
+            },
+            exportExcel() {
+                window.location.href = this.$baseUrl + "/houseInfo/exportExcel?searchKey="
+                        + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey+"&orderByStr=" + this.orderByStr;
+            },
+            searchData() {
+                this.currentPage = 1;
+                this.getData();
+            },
+            deleteRow(row) {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
+                    return this.$http.post({
+                        url: '/houseInfo/del',
+                        data: {id: row.id}
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.getData();
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+            DateTimeFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD HH:mm', {locale: zh})
+                }
+
+            },
+            DateFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD', {locale: zh})
+                }
+
+            },
+            showImg(img) {
+                this.imgSrc = img;
+                this.imageDialogVisible = true;
+            },
+
+        }
+    }
+</script>
+<style lang="less" scoped>
+
+</style>

+ 150 - 0
src/main/vue/src/pages/HouseLevel.vue

@@ -0,0 +1,150 @@
+<template>
+    <div>
+        <el-form :model="formData" :rules="rules" ref="form" label-width="80px" label-position="right" size="small"
+                 style="max-width: 500px;">
+                                                                                                                                                                                                                                    <el-form-item prop="levelName" label="名称">
+                <el-input v-model="formData.levelName" :disabled="'levelName'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                                                                    <el-form-item prop="maxNumber" label="最大人数">
+                <el-input type="number" v-model="formData.maxNumber" :disabled="'maxNumber'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="minNumber" label="最小人数">
+                <el-input type="number" v-model="formData.minNumber" :disabled="'minNumber'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                                                                                                                                 <el-form-item prop="icon" label="图标">
+                 <single-upload v-model="formData.icon" :disabled="'icon'==subColumn"></single-upload>
+             </el-form-item>
+                                                                                                                                                                                                                        <el-form-item prop="rank" label="排序">
+                <el-input type="number" v-model="formData.rank" :disabled="'rank'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="entryCoin" label="加入要求">
+                <el-input type="number" v-model="formData.entryCoin" :disabled="'entryCoin'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                        <el-form-item prop="remark" label="备注">
+                <el-input type="textarea" v-model="formData.remark" :disabled="'remark'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                                                <el-form-item prop="firstRatio" label="第一名比率">
+                <el-input type="number" v-model="formData.firstRatio" :disabled="'firstRatio'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="secondRatio" label="第二名比率">
+                <el-input type="number" v-model="formData.secondRatio" :disabled="'secondRatio'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="thirdRatio" label="第三名比率">
+                <el-input type="number" v-model="formData.thirdRatio" :disabled="'thirdRatio'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="feeRatio" label="手续费比率">
+                <el-input type="number" v-model="formData.feeRatio" :disabled="'feeRatio'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="poolRatio" label="奖金池比率">
+                <el-input type="number" v-model="formData.poolRatio" :disabled="'poolRatio'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                <el-form-item>
+                <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
+                <el-button @click="onDelete" v-if="formData.id" type="danger">删除</el-button>
+                <el-button @click="$router.go(-1)">取消</el-button>
+            </el-form-item>
+        </el-form>
+    </div>
+</template>
+<script>
+    import formValidator from '../formValidator'
+
+    export default {
+        created() {
+            if (this.$route.query.column) {
+                this.subColumn = this.$route.query.column.split(',')[1];
+                this.subValue = this.$route.query.column.split(',')[0];
+            }
+
+            if (this.$route.query.id) {
+                this.$http.get({
+                    url: '/houseLevel/getOne',
+                    data: {
+                        id: this.$route.query.id
+                    }
+                }).then(res => {
+                    if (res.success) {
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
+                        this.formData = res.data;
+
+                    if (this.$route.query.column) {
+                        this.formData[this.subColumn] = this.subValue;
+                    }
+                    }
+                })
+            }else {
+                if (this.$route.query.column) {
+                    this.formData[this.subColumn] = this.subValue;
+                }
+            }
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            },
+        data() {
+            return {
+                saving: false,
+                formData: {},
+                rules: {
+                                                                                                                                                                                                                        levelName:
+                    [
+                                                {required: true, message: '请输入 名称', trigger: 'blur'},
+                                                                    ],
+                                                                maxNumber:
+                    [
+                                                {required: true, message: '请输入 最大人数', trigger: 'blur'},
+                                                                    ],
+                                                                minNumber:
+                    [
+                                                {required: true, message: '请输入 最小人数', trigger: 'blur'},
+                                                                    ],
+                                                                                                                                                                                                                                                                                                },
+                                                                                                                                                            subColumn: '',
+            subValue: '',
+        }
+        },
+        methods: {
+            onSave() {
+                this.$refs.form.validate((valid) => {
+                    if (valid) {
+                        this.submit();
+                    } else {
+                        return false;
+                    }
+                });
+            },
+            submit() {
+                var data = JSON.parse(JSON.stringify(this.formData));
+                this.$http.post({
+                    url: this.formData.id ? '/houseLevel/update' : '/houseLevel/save',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.$message.success('成功');
+                        this.$router.go(-1);
+                    } else {
+                        this.$message.warning('失败')
+                    }
+                });
+            },
+            onDelete() {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
+                    return this.$http.post({
+                    url: '/houseLevel/del',
+                    data: { id: this.formData.id }
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.$router.go(-1);
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+        }
+    }
+</script>
+<style lang="less" scoped>
+</style>

+ 603 - 0
src/main/vue/src/pages/HouseLevels.vue

@@ -0,0 +1,603 @@
+<template>
+    <div>
+        <div class="filters-container">
+        
+            <el-input placeholder="关键字" size="small" v-model="filter1" clearable class="filter-item"></el-input>
+            <el-button @click="searchData" type="primary" size="small" icon="el-icon-search" class="filter-item">搜索
+            </el-button>
+            <el-button @click="showAdvancedQueryDialog = !showAdvancedQueryDialog" type="primary" size="small"
+                       icon="el-icon-search" class="filter-item">高级查询
+            </el-button>
+            <el-button @click="showTableSortDialog = !showTableSortDialog" type="primary" size="small"
+                       icon="el-icon-sort" class="filter-item">排序
+            </el-button>
+            <el-button @click="$router.push({path:'/houseLevel',query:{column:$route.query.column}})" type="primary"
+                       size="small" icon="el-icon-edit"
+                       class="filter-item">添加
+            </el-button>
+            <el-button @click="exportExcel" type="primary" size="small" icon="el-icon-share" class="filter-item">导出EXCEL
+            </el-button>
+            <el-dropdown trigger="click" size="medium" class="table-column-filter">
+                <span>
+                  筛选数据<i class="el-icon-arrow-down el-icon--right"></i>
+                </span>
+                <el-dropdown-menu slot="dropdown" class="table-column-filter-wrapper">
+                    <el-checkbox v-for="item in tableColumns" :key="item.value" v-model="item.show">{{item.label}}
+                    </el-checkbox>
+                </el-dropdown-menu>
+            </el-dropdown>
+        </div>
+        <el-table
+                :data="tableData"
+                :height="tableHeight"
+                row-key="id"
+                ref="table">
+            <el-table-column
+                    v-if="multipleMode"
+                    align="center"
+                    type="selection"
+                    width="50">
+            </el-table-column>
+            <el-table-column
+                    type="index"
+                    min-width="50"
+                    align="center">
+            </el-table-column>
+                            
+                                            <el-table-column
+                                v-if="isColumnShow('id')"
+                                prop="id"
+                                label="ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                                                                                                                                                            
+                                            <el-table-column
+                                v-if="isColumnShow('levelName')"
+                                prop="levelName"
+                                label="名称"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('maxNumber')"
+                                prop="maxNumber"
+                                label="最大人数"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('minNumber')"
+                                prop="minNumber"
+                                label="最小人数"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('icon')"
+                                prop="icon"
+                                label="图标"
+                                min-width="100">
+                            <template slot-scope="{row}">
+                                <img :src="row.icon" @click="showImg(row.icon)" style="width: 100px;height: 100px;vertical-align: middle;" />
+                            </template>
+
+                        </el-table-column>
+                                                                    
+                                            <el-table-column
+                                v-if="isColumnShow('rank')"
+                                prop="rank"
+                                label="排序"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('entryCoin')"
+                                prop="entryCoin"
+                                label="加入要求"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('remark')"
+                                prop="remark"
+                                label="备注"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('firstRatio')"
+                                prop="firstRatio"
+                                label="第一名比率"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('secondRatio')"
+                                prop="secondRatio"
+                                label="第二名比率"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('thirdRatio')"
+                                prop="thirdRatio"
+                                label="第三名比率"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('feeRatio')"
+                                prop="feeRatio"
+                                label="手续费比率"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('poolRatio')"
+                                prop="poolRatio"
+                                label="奖金池比率"
+                                min-width="100">
+                        </el-table-column>
+                                                            <el-table-column
+                    label="操作"
+                    align="center"
+                    fixed="right"
+                    min-width="150"
+            >
+                <template slot-scope="scope">
+                            <el-button @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
+                    <el-button @click="deleteRow(scope.row)" type="danger" size="mini" plain>删除</el-button>
+                </template>
+            </el-table-column>
+        </el-table>
+        <div class="pagination-wrapper">
+            <div class="multiple-mode-wrapper" v-if="0">
+                <el-button size="small" v-if="!multipleMode" @click="toggleMultipleMode(true)">批量编辑</el-button>
+                <el-button-group v-else>
+                    <el-button size="small" @click="operation1">批量操作1</el-button>
+                    <el-button size="small" @click="operation2">批量操作2</el-button>
+                    <el-button size="small" @click="toggleMultipleMode(false)">取消</el-button>
+                </el-button-group>
+            </div>
+            <el-pagination
+                    background
+                    @size-change="pageSizeChange"
+                    @current-change="currentPageChange"
+                    :current-page="currentPage"
+                    :page-sizes="[10, 20, 30, 40, 50]"
+                    :page-size="pageSize"
+                    layout="total, sizes, prev, pager, next, jumper"
+                    :total="totalNumber">
+            </el-pagination>
+        </div>
+        <el-dialog title="高级查询" :visible.sync="showAdvancedQueryDialog">
+            <el-button @click="addField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="advancedQueryFields">
+
+                <el-table-column prop="link" label="链接符" align="center">
+                    <template slot-scope="{row}">
+                        <el-select placeholder="链接" size="small" v-model="row.link" class="filter-item">
+                            <el-option label="AND" value="AND">
+                            </el-option>
+                            <el-option label="OR" value="OR">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="searchMethod" label="搜索方式" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.searchMethod">
+                            <el-option v-for="item in searchMethods" :label="item" :value="item"
+                                       :key="item"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="value" label="参数" align="center">
+                    <template slot-scope="{row}">
+                        <el-input v-model="row.value"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="advancedQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="排序" :visible.sync="showTableSortDialog">
+            <el-button @click="addSortField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="tableSortFields">
+
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="order" label="排序" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.order">
+                            <el-option label="降序" value="desc">
+                            </el-option>
+                            <el-option label="升序" value="asc">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeSortField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="tableSortQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="查看图片" :visible.sync="imageDialogVisible" size="small">
+            <img width="100%" :src="imgSrc" alt="">
+        </el-dialog>
+
+    </div>
+</template>
+<script>
+    import {mapState} from 'vuex'
+    import {format} from 'date-fns'
+    import zh from 'date-fns/locale/zh_cn'
+
+    export default {
+        created() {
+            this.getData();
+        },
+        data() {
+            return {
+                totalNumber: 0,
+                totalPage: 10,
+                currentPage: 1,
+                pageSize: 20,
+                tableData: [],
+                filter1: '',
+                filter2: '',
+                tableColumns: [
+                                                                        {
+                                label: 'ID',
+                                value: 'id',
+                                show: true
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '名称',
+                                value: 'levelName',
+                                show: true
+                            },
+                                                                                                {
+                                label: '最大人数',
+                                value: 'maxNumber',
+                                show: true
+                            },
+                                                                                                {
+                                label: '最小人数',
+                                value: 'minNumber',
+                                show: true
+                            },
+                                                                                                {
+                                label: '图标',
+                                value: 'icon',
+                                show: true
+                            },
+                                                                                                {
+                                label: '排序',
+                                value: 'rank',
+                                show: true
+                            },
+                                                                                                {
+                                label: '加入要求',
+                                value: 'entryCoin',
+                                show: true
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark',
+                                show: true
+                            },
+                                                                                                {
+                                label: '第一名比率',
+                                value: 'firstRatio',
+                                show: true
+                            },
+                                                                                                {
+                                label: '第二名比率',
+                                value: 'secondRatio',
+                                show: true
+                            },
+                                                                                                {
+                                label: '第三名比率',
+                                value: 'thirdRatio',
+                                show: true
+                            },
+                                                                                                {
+                                label: '手续费比率',
+                                value: 'feeRatio',
+                                show: true
+                            },
+                                                                                                {
+                                label: '奖金池比率',
+                                value: 'poolRatio',
+                                show: true
+                            },
+                                                            ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                                                                        {
+                                label: 'ID',
+                                value: 'id'
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '名称',
+                                value: 'level_name'
+                            },
+                                                                                                {
+                                label: '最大人数',
+                                value: 'max_number'
+                            },
+                                                                                                {
+                                label: '最小人数',
+                                value: 'min_number'
+                            },
+                                                                                                {
+                                label: '图标',
+                                value: 'icon'
+                            },
+                                                                                                {
+                                label: '排序',
+                                value: 'rank'
+                            },
+                                                                                                {
+                                label: '加入要求',
+                                value: 'entry_coin'
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark'
+                            },
+                                                                                                {
+                                label: '第一名比率',
+                                value: 'first_ratio'
+                            },
+                                                                                                {
+                                label: '第二名比率',
+                                value: 'second_ratio'
+                            },
+                                                                                                {
+                                label: '第三名比率',
+                                value: 'third_ratio'
+                            },
+                                                                                                {
+                                label: '手续费比率',
+                                value: 'fee_ratio'
+                            },
+                                                                                                {
+                                label: '奖金池比率',
+                                value: 'pool_ratio'
+                            },
+                                                            ],
+                advancedQuerySearchKey: '',
+                orderByStr: '',
+                imgSrc: '',
+                imageDialogVisible: false,
+            }
+        },
+        computed: {
+            ...mapState(['tableHeight']),
+            selection() {
+                return this.$refs.table.selection.map(i => i.id);
+            }
+        },
+        methods: {
+            pageSizeChange(size) {
+                this.currentPage = 1;
+                this.pageSize = size;
+                this.getData();
+            },
+            currentPageChange(page) {
+                this.currentPage = page;
+                this.getData();
+            },
+            getData() {
+
+                var data = {
+                    currentPage: this.currentPage,
+                    pageNumber: this.pageSize,
+                    searchKey: this.filter1,
+                    advancedQuery: this.advancedQuerySearchKey,
+                    orderByStr: this.orderByStr,
+                }
+
+                if (this.$route.query.column) {
+                    var tempColumn = this.$route.query.column;
+                    data[tempColumn.split(',')[1]] = tempColumn.split(',')[0];
+                }
+
+                this.$http.get({
+                    url: '/houseLevel/page',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.totalNumber = res.data.page.totalNumber;
+                        this.tableData = res.data.pp;
+                    }
+                })
+            },
+            isColumnShow(column) {
+                var row = this.tableColumns.find(i => i.value === column);
+                return row ? row.show : false;
+            },
+            toggleMultipleMode(multipleMode) {
+                this.multipleMode = multipleMode;
+                if (!multipleMode) {
+                    this.$refs.table.clearSelection();
+                }
+            },
+            editRow(row) {
+                this.$router.push({
+                    path: '/houseLevel',
+                    query: {
+                        id: row.id,
+                        column: this.$route.query.column,
+                    }
+                })
+            },
+            operation1() {
+                this.$notify({
+                    title: '提示',
+                    message: this.selection
+                });
+            },
+            operation2() {
+                this.$message('操作2');
+            },
+            addField() {
+                this.advancedQueryFields.push({
+                    link: 'AND',
+                    name: '',
+                    searchMethod: '=',
+                    value: '',
+                });
+            },
+            removeField(i) {
+                if (this.advancedQueryFields.length > 0) {
+                    this.advancedQueryFields.splice(i, 1);
+                }
+            },
+            advancedQuery() {
+
+                this.advancedQuerySearchKey = '';
+
+                if (this.advancedQueryFields.length > 0) {
+
+                    var templist = [];
+
+                    this.advancedQueryFields.forEach(item => {
+                        if (item.link && item.name && item.searchMethod && item.value) {
+                            var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.advancedQuerySearchKey = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showAdvancedQueryDialog = false;
+            },
+            addSortField() {
+                this.tableSortFields.push({
+                    name: '',
+                    order: 'asc',
+                });
+            },
+            removeSortField(i) {
+                if (this.tableSortFields.length > 0) {
+                    this.tableSortFields.splice(i, 1);
+                }
+            },
+            tableSortQuery() {
+
+                this.orderByStr = '';
+
+                if (this.tableSortFields.length > 0) {
+
+                    var templist = [];
+
+                    this.tableSortFields.forEach(item => {
+                        if (item.name && item.order) {
+                            var tempItem = item.name + '_,' + item.order;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.orderByStr = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showTableSortDialog = false;
+            },
+            exportExcel() {
+                window.location.href = this.$baseUrl + "/houseLevel/exportExcel?searchKey="
+                        + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey+"&orderByStr=" + this.orderByStr;
+            },
+            searchData() {
+                this.currentPage = 1;
+                this.getData();
+            },
+            deleteRow(row) {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
+                    return this.$http.post({
+                        url: '/houseLevel/del',
+                        data: {id: row.id}
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.getData();
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+            DateTimeFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD HH:mm', {locale: zh})
+                }
+
+            },
+            DateFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD', {locale: zh})
+                }
+
+            },
+            showImg(img) {
+                this.imgSrc = img;
+                this.imageDialogVisible = true;
+            },
+
+        }
+    }
+</script>
+<style lang="less" scoped>
+
+</style>

+ 129 - 0
src/main/vue/src/pages/MemberCoin.vue

@@ -0,0 +1,129 @@
+<template>
+    <div>
+        <el-form :model="formData" :rules="rules" ref="form" label-width="80px" label-position="right" size="small"
+                 style="max-width: 500px;">
+                                                                                                                                                                                                                                    <el-form-item prop="gameId" label="游戏">
+                <el-input v-model="formData.gameId" :disabled="'gameId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="houseId" label="房间">
+                <el-input v-model="formData.houseId" :disabled="'houseId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="userId" label="用户">
+                <el-input v-model="formData.userId" :disabled="'userId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="remark" label="备注">
+                <el-input v-model="formData.remark" :disabled="'remark'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="typeFlag" label="类型">
+                <el-input v-model="formData.typeFlag" :disabled="'typeFlag'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="money" label="金额">
+                <el-input v-model="formData.money" :disabled="'money'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="balance" label="余额">
+                <el-input v-model="formData.balance" :disabled="'balance'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="seasonId" label="赛季ID">
+                <el-input v-model="formData.seasonId" :disabled="'seasonId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="playerId" label="选手ID">
+                <el-input v-model="formData.playerId" :disabled="'playerId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                        <el-form-item>
+                <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
+                <el-button @click="onDelete" v-if="formData.id" type="danger">删除</el-button>
+                <el-button @click="$router.go(-1)">取消</el-button>
+            </el-form-item>
+        </el-form>
+    </div>
+</template>
+<script>
+    import formValidator from '../formValidator'
+
+    export default {
+        created() {
+            if (this.$route.query.column) {
+                this.subColumn = this.$route.query.column.split(',')[1];
+                this.subValue = this.$route.query.column.split(',')[0];
+            }
+
+            if (this.$route.query.id) {
+                this.$http.get({
+                    url: '/memberCoin/getOne',
+                    data: {
+                        id: this.$route.query.id
+                    }
+                }).then(res => {
+                    if (res.success) {
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+                        this.formData = res.data;
+
+                    if (this.$route.query.column) {
+                        this.formData[this.subColumn] = this.subValue;
+                    }
+                    }
+                })
+            }else {
+                if (this.$route.query.column) {
+                    this.formData[this.subColumn] = this.subValue;
+                }
+            }
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                        },
+        data() {
+            return {
+                saving: false,
+                formData: {},
+                rules: {
+                                                                                                                                                                                                                                                                                                                                                                                                                                                        },
+                                                                                                                                    subColumn: '',
+            subValue: '',
+        }
+        },
+        methods: {
+            onSave() {
+                this.$refs.form.validate((valid) => {
+                    if (valid) {
+                        this.submit();
+                    } else {
+                        return false;
+                    }
+                });
+            },
+            submit() {
+                var data = JSON.parse(JSON.stringify(this.formData));
+                this.$http.post({
+                    url: this.formData.id ? '/memberCoin/update' : '/memberCoin/save',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.$message.success('成功');
+                        this.$router.go(-1);
+                    } else {
+                        this.$message.warning('失败')
+                    }
+                });
+            },
+            onDelete() {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
+                    return this.$http.post({
+                    url: '/memberCoin/del',
+                    data: { id: this.formData.id }
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.$router.go(-1);
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+        }
+    }
+</script>
+<style lang="less" scoped>
+</style>

+ 147 - 0
src/main/vue/src/pages/MemberCoinTixian.vue

@@ -0,0 +1,147 @@
+<template>
+    <div>
+        <el-form :model="formData" :rules="rules" ref="form" label-width="80px" label-position="right" size="small"
+                 style="max-width: 500px;">
+                                                                                                                                                                                                                                    <el-form-item prop="userId" label="用户">
+                <el-input v-model="formData.userId" :disabled="'userId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="money" label="提现金额">
+                <el-input v-model="formData.money" :disabled="'money'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="statusFlag" label="状态">
+                <el-input v-model="formData.statusFlag" :disabled="'statusFlag'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="fee" label="手续费">
+                <el-input v-model="formData.fee" :disabled="'fee'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="netAmount" label="实发金额">
+                <el-input v-model="formData.netAmount" :disabled="'netAmount'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="dealUser" label="处理人">
+                <el-input v-model="formData.dealUser" :disabled="'dealUser'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="dealTime" label="成交时间">
+                <el-input v-model="formData.dealTime" :disabled="'dealTime'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="wechat" label="微信">
+                <el-input v-model="formData.wechat" :disabled="'wechat'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="alipay" label="支付宝">
+                <el-input v-model="formData.alipay" :disabled="'alipay'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="bankCard" label="银行卡号">
+                <el-input v-model="formData.bankCard" :disabled="'bankCard'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="bankName" label="开户行">
+                <el-input v-model="formData.bankName" :disabled="'bankName'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="openName" label="开户名">
+                <el-input v-model="formData.openName" :disabled="'openName'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="typeFlag" label="提现方式">
+                <el-input v-model="formData.typeFlag" :disabled="'typeFlag'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="remark" label="备注">
+                <el-input v-model="formData.remark" :disabled="'remark'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="tixianCode" label="提现CODE">
+                <el-input v-model="formData.tixianCode" :disabled="'tixianCode'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                        <el-form-item>
+                <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
+                <el-button @click="onDelete" v-if="formData.id" type="danger">删除</el-button>
+                <el-button @click="$router.go(-1)">取消</el-button>
+            </el-form-item>
+        </el-form>
+    </div>
+</template>
+<script>
+    import formValidator from '../formValidator'
+
+    export default {
+        created() {
+            if (this.$route.query.column) {
+                this.subColumn = this.$route.query.column.split(',')[1];
+                this.subValue = this.$route.query.column.split(',')[0];
+            }
+
+            if (this.$route.query.id) {
+                this.$http.get({
+                    url: '/memberCoinTixian/getOne',
+                    data: {
+                        id: this.$route.query.id
+                    }
+                }).then(res => {
+                    if (res.success) {
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
+                        this.formData = res.data;
+
+                    if (this.$route.query.column) {
+                        this.formData[this.subColumn] = this.subValue;
+                    }
+                    }
+                })
+            }else {
+                if (this.$route.query.column) {
+                    this.formData[this.subColumn] = this.subValue;
+                }
+            }
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                },
+        data() {
+            return {
+                saving: false,
+                formData: {},
+                rules: {
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                },
+                                                                                                                                                                                    subColumn: '',
+            subValue: '',
+        }
+        },
+        methods: {
+            onSave() {
+                this.$refs.form.validate((valid) => {
+                    if (valid) {
+                        this.submit();
+                    } else {
+                        return false;
+                    }
+                });
+            },
+            submit() {
+                var data = JSON.parse(JSON.stringify(this.formData));
+                this.$http.post({
+                    url: this.formData.id ? '/memberCoinTixian/update' : '/memberCoinTixian/save',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.$message.success('成功');
+                        this.$router.go(-1);
+                    } else {
+                        this.$message.warning('失败')
+                    }
+                });
+            },
+            onDelete() {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
+                    return this.$http.post({
+                    url: '/memberCoinTixian/del',
+                    data: { id: this.formData.id }
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.$router.go(-1);
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+        }
+    }
+</script>
+<style lang="less" scoped>
+</style>

+ 647 - 0
src/main/vue/src/pages/MemberCoinTixians.vue

@@ -0,0 +1,647 @@
+<template>
+    <div>
+        <div class="filters-container">
+        
+            <el-input placeholder="关键字" size="small" v-model="filter1" clearable class="filter-item"></el-input>
+            <el-button @click="searchData" type="primary" size="small" icon="el-icon-search" class="filter-item">搜索
+            </el-button>
+            <el-button @click="showAdvancedQueryDialog = !showAdvancedQueryDialog" type="primary" size="small"
+                       icon="el-icon-search" class="filter-item">高级查询
+            </el-button>
+            <el-button @click="showTableSortDialog = !showTableSortDialog" type="primary" size="small"
+                       icon="el-icon-sort" class="filter-item">排序
+            </el-button>
+            <el-button @click="$router.push({path:'/memberCoinTixian',query:{column:$route.query.column}})" type="primary"
+                       size="small" icon="el-icon-edit"
+                       class="filter-item">添加
+            </el-button>
+            <el-button @click="exportExcel" type="primary" size="small" icon="el-icon-share" class="filter-item">导出EXCEL
+            </el-button>
+            <el-dropdown trigger="click" size="medium" class="table-column-filter">
+                <span>
+                  筛选数据<i class="el-icon-arrow-down el-icon--right"></i>
+                </span>
+                <el-dropdown-menu slot="dropdown" class="table-column-filter-wrapper">
+                    <el-checkbox v-for="item in tableColumns" :key="item.value" v-model="item.show">{{item.label}}
+                    </el-checkbox>
+                </el-dropdown-menu>
+            </el-dropdown>
+        </div>
+        <el-table
+                :data="tableData"
+                :height="tableHeight"
+                row-key="id"
+                ref="table">
+            <el-table-column
+                    v-if="multipleMode"
+                    align="center"
+                    type="selection"
+                    width="50">
+            </el-table-column>
+            <el-table-column
+                    type="index"
+                    min-width="50"
+                    align="center">
+            </el-table-column>
+                            
+                                            <el-table-column
+                                v-if="isColumnShow('id')"
+                                prop="id"
+                                label="ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                                                                                                                                                            
+                                            <el-table-column
+                                v-if="isColumnShow('userId')"
+                                prop="userId"
+                                label="用户"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('money')"
+                                prop="money"
+                                label="提现金额"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('statusFlag')"
+                                prop="statusFlag"
+                                label="状态"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('fee')"
+                                prop="fee"
+                                label="手续费"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('netAmount')"
+                                prop="netAmount"
+                                label="实发金额"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('dealUser')"
+                                prop="dealUser"
+                                label="处理人"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('dealTime')"
+                                prop="dealTime"
+                                label="成交时间"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('wechat')"
+                                prop="wechat"
+                                label="微信"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('alipay')"
+                                prop="alipay"
+                                label="支付宝"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('bankCard')"
+                                prop="bankCard"
+                                label="银行卡号"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('bankName')"
+                                prop="bankName"
+                                label="开户行"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('openName')"
+                                prop="openName"
+                                label="开户名"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('typeFlag')"
+                                prop="typeFlag"
+                                label="提现方式"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('remark')"
+                                prop="remark"
+                                label="备注"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('tixianCode')"
+                                prop="tixianCode"
+                                label="提现CODE"
+                                min-width="100">
+                        </el-table-column>
+                                                            <el-table-column
+                    label="操作"
+                    align="center"
+                    fixed="right"
+                    min-width="150"
+            >
+                <template slot-scope="scope">
+                            <el-button @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
+                    <el-button @click="deleteRow(scope.row)" type="danger" size="mini" plain>删除</el-button>
+                </template>
+            </el-table-column>
+        </el-table>
+        <div class="pagination-wrapper">
+            <div class="multiple-mode-wrapper" v-if="0">
+                <el-button size="small" v-if="!multipleMode" @click="toggleMultipleMode(true)">批量编辑</el-button>
+                <el-button-group v-else>
+                    <el-button size="small" @click="operation1">批量操作1</el-button>
+                    <el-button size="small" @click="operation2">批量操作2</el-button>
+                    <el-button size="small" @click="toggleMultipleMode(false)">取消</el-button>
+                </el-button-group>
+            </div>
+            <el-pagination
+                    background
+                    @size-change="pageSizeChange"
+                    @current-change="currentPageChange"
+                    :current-page="currentPage"
+                    :page-sizes="[10, 20, 30, 40, 50]"
+                    :page-size="pageSize"
+                    layout="total, sizes, prev, pager, next, jumper"
+                    :total="totalNumber">
+            </el-pagination>
+        </div>
+        <el-dialog title="高级查询" :visible.sync="showAdvancedQueryDialog">
+            <el-button @click="addField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="advancedQueryFields">
+
+                <el-table-column prop="link" label="链接符" align="center">
+                    <template slot-scope="{row}">
+                        <el-select placeholder="链接" size="small" v-model="row.link" class="filter-item">
+                            <el-option label="AND" value="AND">
+                            </el-option>
+                            <el-option label="OR" value="OR">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="searchMethod" label="搜索方式" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.searchMethod">
+                            <el-option v-for="item in searchMethods" :label="item" :value="item"
+                                       :key="item"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="value" label="参数" align="center">
+                    <template slot-scope="{row}">
+                        <el-input v-model="row.value"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="advancedQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="排序" :visible.sync="showTableSortDialog">
+            <el-button @click="addSortField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="tableSortFields">
+
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="order" label="排序" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.order">
+                            <el-option label="降序" value="desc">
+                            </el-option>
+                            <el-option label="升序" value="asc">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeSortField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="tableSortQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="查看图片" :visible.sync="imageDialogVisible" size="small">
+            <img width="100%" :src="imgSrc" alt="">
+        </el-dialog>
+
+    </div>
+</template>
+<script>
+    import {mapState} from 'vuex'
+    import {format} from 'date-fns'
+    import zh from 'date-fns/locale/zh_cn'
+
+    export default {
+        created() {
+            this.getData();
+        },
+        data() {
+            return {
+                totalNumber: 0,
+                totalPage: 10,
+                currentPage: 1,
+                pageSize: 20,
+                tableData: [],
+                filter1: '',
+                filter2: '',
+                tableColumns: [
+                                                                        {
+                                label: 'ID',
+                                value: 'id',
+                                show: true
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '用户',
+                                value: 'userId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '提现金额',
+                                value: 'money',
+                                show: true
+                            },
+                                                                                                {
+                                label: '状态',
+                                value: 'statusFlag',
+                                show: true
+                            },
+                                                                                                {
+                                label: '手续费',
+                                value: 'fee',
+                                show: true
+                            },
+                                                                                                {
+                                label: '实发金额',
+                                value: 'netAmount',
+                                show: true
+                            },
+                                                                                                {
+                                label: '处理人',
+                                value: 'dealUser',
+                                show: true
+                            },
+                                                                                                {
+                                label: '成交时间',
+                                value: 'dealTime',
+                                show: true
+                            },
+                                                                                                {
+                                label: '微信',
+                                value: 'wechat',
+                                show: true
+                            },
+                                                                                                {
+                                label: '支付宝',
+                                value: 'alipay',
+                                show: true
+                            },
+                                                                                                {
+                                label: '银行卡号',
+                                value: 'bankCard',
+                                show: true
+                            },
+                                                                                                {
+                                label: '开户行',
+                                value: 'bankName',
+                                show: true
+                            },
+                                                                                                {
+                                label: '开户名',
+                                value: 'openName',
+                                show: true
+                            },
+                                                                                                {
+                                label: '提现方式',
+                                value: 'typeFlag',
+                                show: true
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark',
+                                show: true
+                            },
+                                                                                                {
+                                label: '提现CODE',
+                                value: 'tixianCode',
+                                show: true
+                            },
+                                                            ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                                                                        {
+                                label: 'ID',
+                                value: 'id'
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '用户',
+                                value: 'user_id'
+                            },
+                                                                                                {
+                                label: '提现金额',
+                                value: 'money'
+                            },
+                                                                                                {
+                                label: '状态',
+                                value: 'status_flag'
+                            },
+                                                                                                {
+                                label: '手续费',
+                                value: 'fee'
+                            },
+                                                                                                {
+                                label: '实发金额',
+                                value: 'net_amount'
+                            },
+                                                                                                {
+                                label: '处理人',
+                                value: 'deal_user'
+                            },
+                                                                                                {
+                                label: '成交时间',
+                                value: 'deal_time'
+                            },
+                                                                                                {
+                                label: '微信',
+                                value: 'wechat'
+                            },
+                                                                                                {
+                                label: '支付宝',
+                                value: 'alipay'
+                            },
+                                                                                                {
+                                label: '银行卡号',
+                                value: 'bank_card'
+                            },
+                                                                                                {
+                                label: '开户行',
+                                value: 'bank_name'
+                            },
+                                                                                                {
+                                label: '开户名',
+                                value: 'open_name'
+                            },
+                                                                                                {
+                                label: '提现方式',
+                                value: 'type_flag'
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark'
+                            },
+                                                                                                {
+                                label: '提现CODE',
+                                value: 'tixian_code'
+                            },
+                                                            ],
+                advancedQuerySearchKey: '',
+                orderByStr: '',
+                imgSrc: '',
+                imageDialogVisible: false,
+            }
+        },
+        computed: {
+            ...mapState(['tableHeight']),
+            selection() {
+                return this.$refs.table.selection.map(i => i.id);
+            }
+        },
+        methods: {
+            pageSizeChange(size) {
+                this.currentPage = 1;
+                this.pageSize = size;
+                this.getData();
+            },
+            currentPageChange(page) {
+                this.currentPage = page;
+                this.getData();
+            },
+            getData() {
+
+                var data = {
+                    currentPage: this.currentPage,
+                    pageNumber: this.pageSize,
+                    searchKey: this.filter1,
+                    advancedQuery: this.advancedQuerySearchKey,
+                    orderByStr: this.orderByStr,
+                }
+
+                if (this.$route.query.column) {
+                    var tempColumn = this.$route.query.column;
+                    data[tempColumn.split(',')[1]] = tempColumn.split(',')[0];
+                }
+
+                this.$http.get({
+                    url: '/memberCoinTixian/page',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.totalNumber = res.data.page.totalNumber;
+                        this.tableData = res.data.pp;
+                    }
+                })
+            },
+            isColumnShow(column) {
+                var row = this.tableColumns.find(i => i.value === column);
+                return row ? row.show : false;
+            },
+            toggleMultipleMode(multipleMode) {
+                this.multipleMode = multipleMode;
+                if (!multipleMode) {
+                    this.$refs.table.clearSelection();
+                }
+            },
+            editRow(row) {
+                this.$router.push({
+                    path: '/memberCoinTixian',
+                    query: {
+                        id: row.id,
+                        column: this.$route.query.column,
+                    }
+                })
+            },
+            operation1() {
+                this.$notify({
+                    title: '提示',
+                    message: this.selection
+                });
+            },
+            operation2() {
+                this.$message('操作2');
+            },
+            addField() {
+                this.advancedQueryFields.push({
+                    link: 'AND',
+                    name: '',
+                    searchMethod: '=',
+                    value: '',
+                });
+            },
+            removeField(i) {
+                if (this.advancedQueryFields.length > 0) {
+                    this.advancedQueryFields.splice(i, 1);
+                }
+            },
+            advancedQuery() {
+
+                this.advancedQuerySearchKey = '';
+
+                if (this.advancedQueryFields.length > 0) {
+
+                    var templist = [];
+
+                    this.advancedQueryFields.forEach(item => {
+                        if (item.link && item.name && item.searchMethod && item.value) {
+                            var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.advancedQuerySearchKey = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showAdvancedQueryDialog = false;
+            },
+            addSortField() {
+                this.tableSortFields.push({
+                    name: '',
+                    order: 'asc',
+                });
+            },
+            removeSortField(i) {
+                if (this.tableSortFields.length > 0) {
+                    this.tableSortFields.splice(i, 1);
+                }
+            },
+            tableSortQuery() {
+
+                this.orderByStr = '';
+
+                if (this.tableSortFields.length > 0) {
+
+                    var templist = [];
+
+                    this.tableSortFields.forEach(item => {
+                        if (item.name && item.order) {
+                            var tempItem = item.name + '_,' + item.order;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.orderByStr = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showTableSortDialog = false;
+            },
+            exportExcel() {
+                window.location.href = this.$baseUrl + "/memberCoinTixian/exportExcel?searchKey="
+                        + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey+"&orderByStr=" + this.orderByStr;
+            },
+            searchData() {
+                this.currentPage = 1;
+                this.getData();
+            },
+            deleteRow(row) {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
+                    return this.$http.post({
+                        url: '/memberCoinTixian/del',
+                        data: {id: row.id}
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.getData();
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+            DateTimeFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD HH:mm', {locale: zh})
+                }
+
+            },
+            DateFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD', {locale: zh})
+                }
+
+            },
+            showImg(img) {
+                this.imgSrc = img;
+                this.imageDialogVisible = true;
+            },
+
+        }
+    }
+</script>
+<style lang="less" scoped>
+
+</style>

+ 535 - 0
src/main/vue/src/pages/MemberCoins.vue

@@ -0,0 +1,535 @@
+<template>
+    <div>
+        <div class="filters-container">
+        
+            <el-input placeholder="关键字" size="small" v-model="filter1" clearable class="filter-item"></el-input>
+            <el-button @click="searchData" type="primary" size="small" icon="el-icon-search" class="filter-item">搜索
+            </el-button>
+            <el-button @click="showAdvancedQueryDialog = !showAdvancedQueryDialog" type="primary" size="small"
+                       icon="el-icon-search" class="filter-item">高级查询
+            </el-button>
+            <el-button @click="showTableSortDialog = !showTableSortDialog" type="primary" size="small"
+                       icon="el-icon-sort" class="filter-item">排序
+            </el-button>
+            <el-button @click="$router.push({path:'/memberCoin',query:{column:$route.query.column}})" type="primary"
+                       size="small" icon="el-icon-edit"
+                       class="filter-item">添加
+            </el-button>
+            <el-button @click="exportExcel" type="primary" size="small" icon="el-icon-share" class="filter-item">导出EXCEL
+            </el-button>
+            <el-dropdown trigger="click" size="medium" class="table-column-filter">
+                <span>
+                  筛选数据<i class="el-icon-arrow-down el-icon--right"></i>
+                </span>
+                <el-dropdown-menu slot="dropdown" class="table-column-filter-wrapper">
+                    <el-checkbox v-for="item in tableColumns" :key="item.value" v-model="item.show">{{item.label}}
+                    </el-checkbox>
+                </el-dropdown-menu>
+            </el-dropdown>
+        </div>
+        <el-table
+                :data="tableData"
+                :height="tableHeight"
+                row-key="id"
+                ref="table">
+            <el-table-column
+                    v-if="multipleMode"
+                    align="center"
+                    type="selection"
+                    width="50">
+            </el-table-column>
+            <el-table-column
+                    type="index"
+                    min-width="50"
+                    align="center">
+            </el-table-column>
+                                                                                                                                                                                                    
+                                            <el-table-column
+                                v-if="isColumnShow('gameId')"
+                                prop="gameId"
+                                label="游戏"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('houseId')"
+                                prop="houseId"
+                                label="房间"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('userId')"
+                                prop="userId"
+                                label="用户"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('remark')"
+                                prop="remark"
+                                label="备注"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('typeFlag')"
+                                prop="typeFlag"
+                                label="类型"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('money')"
+                                prop="money"
+                                label="金额"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('balance')"
+                                prop="balance"
+                                label="余额"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('seasonId')"
+                                prop="seasonId"
+                                label="赛季ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('playerId')"
+                                prop="playerId"
+                                label="选手ID"
+                                min-width="100">
+                        </el-table-column>
+                                                            <el-table-column
+                    label="操作"
+                    align="center"
+                    fixed="right"
+                    min-width="150"
+            >
+                <template slot-scope="scope">
+                            <el-button @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
+                    <el-button @click="deleteRow(scope.row)" type="danger" size="mini" plain>删除</el-button>
+                </template>
+            </el-table-column>
+        </el-table>
+        <div class="pagination-wrapper">
+            <div class="multiple-mode-wrapper" v-if="0">
+                <el-button size="small" v-if="!multipleMode" @click="toggleMultipleMode(true)">批量编辑</el-button>
+                <el-button-group v-else>
+                    <el-button size="small" @click="operation1">批量操作1</el-button>
+                    <el-button size="small" @click="operation2">批量操作2</el-button>
+                    <el-button size="small" @click="toggleMultipleMode(false)">取消</el-button>
+                </el-button-group>
+            </div>
+            <el-pagination
+                    background
+                    @size-change="pageSizeChange"
+                    @current-change="currentPageChange"
+                    :current-page="currentPage"
+                    :page-sizes="[10, 20, 30, 40, 50]"
+                    :page-size="pageSize"
+                    layout="total, sizes, prev, pager, next, jumper"
+                    :total="totalNumber">
+            </el-pagination>
+        </div>
+        <el-dialog title="高级查询" :visible.sync="showAdvancedQueryDialog">
+            <el-button @click="addField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="advancedQueryFields">
+
+                <el-table-column prop="link" label="链接符" align="center">
+                    <template slot-scope="{row}">
+                        <el-select placeholder="链接" size="small" v-model="row.link" class="filter-item">
+                            <el-option label="AND" value="AND">
+                            </el-option>
+                            <el-option label="OR" value="OR">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="searchMethod" label="搜索方式" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.searchMethod">
+                            <el-option v-for="item in searchMethods" :label="item" :value="item"
+                                       :key="item"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="value" label="参数" align="center">
+                    <template slot-scope="{row}">
+                        <el-input v-model="row.value"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="advancedQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="排序" :visible.sync="showTableSortDialog">
+            <el-button @click="addSortField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="tableSortFields">
+
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="order" label="排序" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.order">
+                            <el-option label="降序" value="desc">
+                            </el-option>
+                            <el-option label="升序" value="asc">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeSortField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="tableSortQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="查看图片" :visible.sync="imageDialogVisible" size="small">
+            <img width="100%" :src="imgSrc" alt="">
+        </el-dialog>
+
+    </div>
+</template>
+<script>
+    import {mapState} from 'vuex'
+    import {format} from 'date-fns'
+    import zh from 'date-fns/locale/zh_cn'
+
+    export default {
+        created() {
+            this.getData();
+        },
+        data() {
+            return {
+                totalNumber: 0,
+                totalPage: 10,
+                currentPage: 1,
+                pageSize: 20,
+                tableData: [],
+                filter1: '',
+                filter2: '',
+                tableColumns: [
+                                                                                                                                                                                                                                                                                                                                                {
+                                label: '游戏',
+                                value: 'gameId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '房间',
+                                value: 'houseId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '用户',
+                                value: 'userId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark',
+                                show: true
+                            },
+                                                                                                {
+                                label: '类型',
+                                value: 'typeFlag',
+                                show: true
+                            },
+                                                                                                {
+                                label: '金额',
+                                value: 'money',
+                                show: true
+                            },
+                                                                                                {
+                                label: '余额',
+                                value: 'balance',
+                                show: true
+                            },
+                                                                                                {
+                                label: '赛季ID',
+                                value: 'seasonId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '选手ID',
+                                value: 'playerId',
+                                show: true
+                            },
+                                                            ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                                                                                                                                                                                                                                                                                                                                                {
+                                label: '游戏',
+                                value: 'game_id'
+                            },
+                                                                                                {
+                                label: '房间',
+                                value: 'house_id'
+                            },
+                                                                                                {
+                                label: '用户',
+                                value: 'user_id'
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark'
+                            },
+                                                                                                {
+                                label: '类型',
+                                value: 'type_flag'
+                            },
+                                                                                                {
+                                label: '金额',
+                                value: 'money'
+                            },
+                                                                                                {
+                                label: '余额',
+                                value: 'balance'
+                            },
+                                                                                                {
+                                label: '赛季ID',
+                                value: 'season_id'
+                            },
+                                                                                                {
+                                label: '选手ID',
+                                value: 'player_id'
+                            },
+                                                            ],
+                advancedQuerySearchKey: '',
+                orderByStr: '',
+                imgSrc: '',
+                imageDialogVisible: false,
+            }
+        },
+        computed: {
+            ...mapState(['tableHeight']),
+            selection() {
+                return this.$refs.table.selection.map(i => i.id);
+            }
+        },
+        methods: {
+            pageSizeChange(size) {
+                this.currentPage = 1;
+                this.pageSize = size;
+                this.getData();
+            },
+            currentPageChange(page) {
+                this.currentPage = page;
+                this.getData();
+            },
+            getData() {
+
+                var data = {
+                    currentPage: this.currentPage,
+                    pageNumber: this.pageSize,
+                    searchKey: this.filter1,
+                    advancedQuery: this.advancedQuerySearchKey,
+                    orderByStr: this.orderByStr,
+                }
+
+                if (this.$route.query.column) {
+                    var tempColumn = this.$route.query.column;
+                    data[tempColumn.split(',')[1]] = tempColumn.split(',')[0];
+                }
+
+                this.$http.get({
+                    url: '/memberCoin/page',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.totalNumber = res.data.page.totalNumber;
+                        this.tableData = res.data.pp;
+                    }
+                })
+            },
+            isColumnShow(column) {
+                var row = this.tableColumns.find(i => i.value === column);
+                return row ? row.show : false;
+            },
+            toggleMultipleMode(multipleMode) {
+                this.multipleMode = multipleMode;
+                if (!multipleMode) {
+                    this.$refs.table.clearSelection();
+                }
+            },
+            editRow(row) {
+                this.$router.push({
+                    path: '/memberCoin',
+                    query: {
+                        id: row.id,
+                        column: this.$route.query.column,
+                    }
+                })
+            },
+            operation1() {
+                this.$notify({
+                    title: '提示',
+                    message: this.selection
+                });
+            },
+            operation2() {
+                this.$message('操作2');
+            },
+            addField() {
+                this.advancedQueryFields.push({
+                    link: 'AND',
+                    name: '',
+                    searchMethod: '=',
+                    value: '',
+                });
+            },
+            removeField(i) {
+                if (this.advancedQueryFields.length > 0) {
+                    this.advancedQueryFields.splice(i, 1);
+                }
+            },
+            advancedQuery() {
+
+                this.advancedQuerySearchKey = '';
+
+                if (this.advancedQueryFields.length > 0) {
+
+                    var templist = [];
+
+                    this.advancedQueryFields.forEach(item => {
+                        if (item.link && item.name && item.searchMethod && item.value) {
+                            var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.advancedQuerySearchKey = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showAdvancedQueryDialog = false;
+            },
+            addSortField() {
+                this.tableSortFields.push({
+                    name: '',
+                    order: 'asc',
+                });
+            },
+            removeSortField(i) {
+                if (this.tableSortFields.length > 0) {
+                    this.tableSortFields.splice(i, 1);
+                }
+            },
+            tableSortQuery() {
+
+                this.orderByStr = '';
+
+                if (this.tableSortFields.length > 0) {
+
+                    var templist = [];
+
+                    this.tableSortFields.forEach(item => {
+                        if (item.name && item.order) {
+                            var tempItem = item.name + '_,' + item.order;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.orderByStr = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showTableSortDialog = false;
+            },
+            exportExcel() {
+                window.location.href = this.$baseUrl + "/memberCoin/exportExcel?searchKey="
+                        + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey+"&orderByStr=" + this.orderByStr;
+            },
+            searchData() {
+                this.currentPage = 1;
+                this.getData();
+            },
+            deleteRow(row) {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
+                    return this.$http.post({
+                        url: '/memberCoin/del',
+                        data: {id: row.id}
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.getData();
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+            DateTimeFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD HH:mm', {locale: zh})
+                }
+
+            },
+            DateFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD', {locale: zh})
+                }
+
+            },
+            showImg(img) {
+                this.imgSrc = img;
+                this.imageDialogVisible = true;
+            },
+
+        }
+    }
+</script>
+<style lang="less" scoped>
+
+</style>

+ 126 - 0
src/main/vue/src/pages/PlatformIncomeRecord.vue

@@ -0,0 +1,126 @@
+<template>
+    <div>
+        <el-form :model="formData" :rules="rules" ref="form" label-width="80px" label-position="right" size="small"
+                 style="max-width: 500px;">
+                                                                                                                                                                                                                                    <el-form-item prop="gameId" label="游戏">
+                <el-input v-model="formData.gameId" :disabled="'gameId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="houseId" label="房间">
+                <el-input v-model="formData.houseId" :disabled="'houseId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="userId" label="用户">
+                <el-input v-model="formData.userId" :disabled="'userId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="remark" label="备注">
+                <el-input v-model="formData.remark" :disabled="'remark'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="money" label="金额">
+                <el-input v-model="formData.money" :disabled="'money'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="statusFlag" label="状态">
+                <el-input v-model="formData.statusFlag" :disabled="'statusFlag'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="seasonId" label="赛季ID">
+                <el-input v-model="formData.seasonId" :disabled="'seasonId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="playerId" label="选手ID">
+                <el-input v-model="formData.playerId" :disabled="'playerId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                        <el-form-item>
+                <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
+                <el-button @click="onDelete" v-if="formData.id" type="danger">删除</el-button>
+                <el-button @click="$router.go(-1)">取消</el-button>
+            </el-form-item>
+        </el-form>
+    </div>
+</template>
+<script>
+    import formValidator from '../formValidator'
+
+    export default {
+        created() {
+            if (this.$route.query.column) {
+                this.subColumn = this.$route.query.column.split(',')[1];
+                this.subValue = this.$route.query.column.split(',')[0];
+            }
+
+            if (this.$route.query.id) {
+                this.$http.get({
+                    url: '/platformIncomeRecord/getOne',
+                    data: {
+                        id: this.$route.query.id
+                    }
+                }).then(res => {
+                    if (res.success) {
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
+                        this.formData = res.data;
+
+                    if (this.$route.query.column) {
+                        this.formData[this.subColumn] = this.subValue;
+                    }
+                    }
+                })
+            }else {
+                if (this.$route.query.column) {
+                    this.formData[this.subColumn] = this.subValue;
+                }
+            }
+
+                                                                                                                                                                                                                                                                                                                                                                                                                            },
+        data() {
+            return {
+                saving: false,
+                formData: {},
+                rules: {
+                                                                                                                                                                                                                                                                                                                                                                                                                            },
+                                                                                                                            subColumn: '',
+            subValue: '',
+        }
+        },
+        methods: {
+            onSave() {
+                this.$refs.form.validate((valid) => {
+                    if (valid) {
+                        this.submit();
+                    } else {
+                        return false;
+                    }
+                });
+            },
+            submit() {
+                var data = JSON.parse(JSON.stringify(this.formData));
+                this.$http.post({
+                    url: this.formData.id ? '/platformIncomeRecord/update' : '/platformIncomeRecord/save',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.$message.success('成功');
+                        this.$router.go(-1);
+                    } else {
+                        this.$message.warning('失败')
+                    }
+                });
+            },
+            onDelete() {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
+                    return this.$http.post({
+                    url: '/platformIncomeRecord/del',
+                    data: { id: this.formData.id }
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.$router.go(-1);
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+        }
+    }
+</script>
+<style lang="less" scoped>
+</style>

+ 552 - 0
src/main/vue/src/pages/PlatformIncomeRecords.vue

@@ -0,0 +1,552 @@
+<template>
+    <div>
+        <div class="filters-container">
+        
+            <el-input placeholder="关键字" size="small" v-model="filter1" clearable class="filter-item"></el-input>
+            <el-button @click="searchData" type="primary" size="small" icon="el-icon-search" class="filter-item">搜索
+            </el-button>
+            <el-button @click="showAdvancedQueryDialog = !showAdvancedQueryDialog" type="primary" size="small"
+                       icon="el-icon-search" class="filter-item">高级查询
+            </el-button>
+            <el-button @click="showTableSortDialog = !showTableSortDialog" type="primary" size="small"
+                       icon="el-icon-sort" class="filter-item">排序
+            </el-button>
+            <el-button @click="$router.push({path:'/platformIncomeRecord',query:{column:$route.query.column}})" type="primary"
+                       size="small" icon="el-icon-edit"
+                       class="filter-item">添加
+            </el-button>
+            <el-button @click="exportExcel" type="primary" size="small" icon="el-icon-share" class="filter-item">导出EXCEL
+            </el-button>
+            <el-dropdown trigger="click" size="medium" class="table-column-filter">
+                <span>
+                  筛选数据<i class="el-icon-arrow-down el-icon--right"></i>
+                </span>
+                <el-dropdown-menu slot="dropdown" class="table-column-filter-wrapper">
+                    <el-checkbox v-for="item in tableColumns" :key="item.value" v-model="item.show">{{item.label}}
+                    </el-checkbox>
+                </el-dropdown-menu>
+            </el-dropdown>
+        </div>
+        <el-table
+                :data="tableData"
+                :height="tableHeight"
+                row-key="id"
+                ref="table">
+            <el-table-column
+                    v-if="multipleMode"
+                    align="center"
+                    type="selection"
+                    width="50">
+            </el-table-column>
+            <el-table-column
+                    type="index"
+                    min-width="50"
+                    align="center">
+            </el-table-column>
+                            
+                                            <el-table-column
+                                v-if="isColumnShow('id')"
+                                prop="id"
+                                label="ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                                                                                                    
+                                            <el-table-column
+                                v-if="isColumnShow('createTime')"
+                                prop="createTime"
+                                label="创建时间"
+                                :formatter="DateTimeFormatter"
+                                min-width="100">
+                        </el-table-column>
+                                                                                            
+                                            <el-table-column
+                                v-if="isColumnShow('gameId')"
+                                prop="gameId"
+                                label="游戏"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('houseId')"
+                                prop="houseId"
+                                label="房间"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('userId')"
+                                prop="userId"
+                                label="用户"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('remark')"
+                                prop="remark"
+                                label="备注"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('money')"
+                                prop="money"
+                                label="金额"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('statusFlag')"
+                                prop="statusFlag"
+                                label="状态"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('seasonId')"
+                                prop="seasonId"
+                                label="赛季ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('playerId')"
+                                prop="playerId"
+                                label="选手ID"
+                                min-width="100">
+                        </el-table-column>
+                                                            <el-table-column
+                    label="操作"
+                    align="center"
+                    fixed="right"
+                    min-width="150"
+            >
+                <template slot-scope="scope">
+                            <el-button @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
+                    <el-button @click="deleteRow(scope.row)" type="danger" size="mini" plain>删除</el-button>
+                </template>
+            </el-table-column>
+        </el-table>
+        <div class="pagination-wrapper">
+            <div class="multiple-mode-wrapper" v-if="0">
+                <el-button size="small" v-if="!multipleMode" @click="toggleMultipleMode(true)">批量编辑</el-button>
+                <el-button-group v-else>
+                    <el-button size="small" @click="operation1">批量操作1</el-button>
+                    <el-button size="small" @click="operation2">批量操作2</el-button>
+                    <el-button size="small" @click="toggleMultipleMode(false)">取消</el-button>
+                </el-button-group>
+            </div>
+            <el-pagination
+                    background
+                    @size-change="pageSizeChange"
+                    @current-change="currentPageChange"
+                    :current-page="currentPage"
+                    :page-sizes="[10, 20, 30, 40, 50]"
+                    :page-size="pageSize"
+                    layout="total, sizes, prev, pager, next, jumper"
+                    :total="totalNumber">
+            </el-pagination>
+        </div>
+        <el-dialog title="高级查询" :visible.sync="showAdvancedQueryDialog">
+            <el-button @click="addField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="advancedQueryFields">
+
+                <el-table-column prop="link" label="链接符" align="center">
+                    <template slot-scope="{row}">
+                        <el-select placeholder="链接" size="small" v-model="row.link" class="filter-item">
+                            <el-option label="AND" value="AND">
+                            </el-option>
+                            <el-option label="OR" value="OR">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="searchMethod" label="搜索方式" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.searchMethod">
+                            <el-option v-for="item in searchMethods" :label="item" :value="item"
+                                       :key="item"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="value" label="参数" align="center">
+                    <template slot-scope="{row}">
+                        <el-input v-model="row.value"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="advancedQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="排序" :visible.sync="showTableSortDialog">
+            <el-button @click="addSortField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="tableSortFields">
+
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="order" label="排序" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.order">
+                            <el-option label="降序" value="desc">
+                            </el-option>
+                            <el-option label="升序" value="asc">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeSortField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="tableSortQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="查看图片" :visible.sync="imageDialogVisible" size="small">
+            <img width="100%" :src="imgSrc" alt="">
+        </el-dialog>
+
+    </div>
+</template>
+<script>
+    import {mapState} from 'vuex'
+    import {format} from 'date-fns'
+    import zh from 'date-fns/locale/zh_cn'
+
+    export default {
+        created() {
+            this.getData();
+        },
+        data() {
+            return {
+                totalNumber: 0,
+                totalPage: 10,
+                currentPage: 1,
+                pageSize: 20,
+                tableData: [],
+                filter1: '',
+                filter2: '',
+                tableColumns: [
+                                                                        {
+                                label: 'ID',
+                                value: 'id',
+                                show: true
+                            },
+                                                                                                                                                                                                                                    {
+                                label: '创建时间',
+                                value: 'createTime',
+                                show: true
+                            },
+                                                                                                                                            {
+                                label: '游戏',
+                                value: 'gameId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '房间',
+                                value: 'houseId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '用户',
+                                value: 'userId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark',
+                                show: true
+                            },
+                                                                                                {
+                                label: '金额',
+                                value: 'money',
+                                show: true
+                            },
+                                                                                                {
+                                label: '状态',
+                                value: 'statusFlag',
+                                show: true
+                            },
+                                                                                                {
+                                label: '赛季ID',
+                                value: 'seasonId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '选手ID',
+                                value: 'playerId',
+                                show: true
+                            },
+                                                            ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                                                                        {
+                                label: 'ID',
+                                value: 'id'
+                            },
+                                                                                                                                                                                                                                    {
+                                label: '创建时间',
+                                value: 'create_time'
+                            },
+                                                                                                                                            {
+                                label: '游戏',
+                                value: 'game_id'
+                            },
+                                                                                                {
+                                label: '房间',
+                                value: 'house_id'
+                            },
+                                                                                                {
+                                label: '用户',
+                                value: 'user_id'
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark'
+                            },
+                                                                                                {
+                                label: '金额',
+                                value: 'money'
+                            },
+                                                                                                {
+                                label: '状态',
+                                value: 'status_flag'
+                            },
+                                                                                                {
+                                label: '赛季ID',
+                                value: 'season_id'
+                            },
+                                                                                                {
+                                label: '选手ID',
+                                value: 'player_id'
+                            },
+                                                            ],
+                advancedQuerySearchKey: '',
+                orderByStr: '',
+                imgSrc: '',
+                imageDialogVisible: false,
+            }
+        },
+        computed: {
+            ...mapState(['tableHeight']),
+            selection() {
+                return this.$refs.table.selection.map(i => i.id);
+            }
+        },
+        methods: {
+            pageSizeChange(size) {
+                this.currentPage = 1;
+                this.pageSize = size;
+                this.getData();
+            },
+            currentPageChange(page) {
+                this.currentPage = page;
+                this.getData();
+            },
+            getData() {
+
+                var data = {
+                    currentPage: this.currentPage,
+                    pageNumber: this.pageSize,
+                    searchKey: this.filter1,
+                    advancedQuery: this.advancedQuerySearchKey,
+                    orderByStr: this.orderByStr,
+                }
+
+                if (this.$route.query.column) {
+                    var tempColumn = this.$route.query.column;
+                    data[tempColumn.split(',')[1]] = tempColumn.split(',')[0];
+                }
+
+                this.$http.get({
+                    url: '/platformIncomeRecord/page',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.totalNumber = res.data.page.totalNumber;
+                        this.tableData = res.data.pp;
+                    }
+                })
+            },
+            isColumnShow(column) {
+                var row = this.tableColumns.find(i => i.value === column);
+                return row ? row.show : false;
+            },
+            toggleMultipleMode(multipleMode) {
+                this.multipleMode = multipleMode;
+                if (!multipleMode) {
+                    this.$refs.table.clearSelection();
+                }
+            },
+            editRow(row) {
+                this.$router.push({
+                    path: '/platformIncomeRecord',
+                    query: {
+                        id: row.id,
+                        column: this.$route.query.column,
+                    }
+                })
+            },
+            operation1() {
+                this.$notify({
+                    title: '提示',
+                    message: this.selection
+                });
+            },
+            operation2() {
+                this.$message('操作2');
+            },
+            addField() {
+                this.advancedQueryFields.push({
+                    link: 'AND',
+                    name: '',
+                    searchMethod: '=',
+                    value: '',
+                });
+            },
+            removeField(i) {
+                if (this.advancedQueryFields.length > 0) {
+                    this.advancedQueryFields.splice(i, 1);
+                }
+            },
+            advancedQuery() {
+
+                this.advancedQuerySearchKey = '';
+
+                if (this.advancedQueryFields.length > 0) {
+
+                    var templist = [];
+
+                    this.advancedQueryFields.forEach(item => {
+                        if (item.link && item.name && item.searchMethod && item.value) {
+                            var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.advancedQuerySearchKey = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showAdvancedQueryDialog = false;
+            },
+            addSortField() {
+                this.tableSortFields.push({
+                    name: '',
+                    order: 'asc',
+                });
+            },
+            removeSortField(i) {
+                if (this.tableSortFields.length > 0) {
+                    this.tableSortFields.splice(i, 1);
+                }
+            },
+            tableSortQuery() {
+
+                this.orderByStr = '';
+
+                if (this.tableSortFields.length > 0) {
+
+                    var templist = [];
+
+                    this.tableSortFields.forEach(item => {
+                        if (item.name && item.order) {
+                            var tempItem = item.name + '_,' + item.order;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.orderByStr = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showTableSortDialog = false;
+            },
+            exportExcel() {
+                window.location.href = this.$baseUrl + "/platformIncomeRecord/exportExcel?searchKey="
+                        + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey+"&orderByStr=" + this.orderByStr;
+            },
+            searchData() {
+                this.currentPage = 1;
+                this.getData();
+            },
+            deleteRow(row) {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
+                    return this.$http.post({
+                        url: '/platformIncomeRecord/del',
+                        data: {id: row.id}
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.getData();
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+            DateTimeFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD HH:mm', {locale: zh})
+                }
+
+            },
+            DateFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD', {locale: zh})
+                }
+
+            },
+            showImg(img) {
+                this.imgSrc = img;
+                this.imageDialogVisible = true;
+            },
+
+        }
+    }
+</script>
+<style lang="less" scoped>
+
+</style>

+ 202 - 0
src/main/vue/src/pages/PlayerInfo.vue

@@ -0,0 +1,202 @@
+<template>
+    <div>
+        <el-form :model="formData" :rules="rules" ref="form" label-width="80px" label-position="right" size="small"
+                 style="max-width: 500px;">
+                                                                                                                                                                                                                                    <el-form-item prop="gameId" label="游戏ID">
+                <el-input v-model="formData.gameId" :disabled="'gameId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="houseId" label="房间ID">
+                <el-input v-model="formData.houseId" :disabled="'houseId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                                                                                                                        <el-form-item prop="joinTime" label="加入时间">
+                            <template>
+                                <div class="block">
+                                    <el-date-picker
+                                            v-model="formData.joinTime"
+                                            type="datetime"
+                                            value-format="timestamp"
+                                            placeholder="选择日期"
+                                            :disabled="'joinTime'==subColumn">
+                                    </el-date-picker>
+                                </div>
+                            </template>
+                        </el-form-item>
+                                                                                                                                                                                                                                                                                    <el-form-item prop="principal" label="本金">
+                <el-input type="number" v-model="formData.principal" :disabled="'principal'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="bonus" label="奖金">
+                <el-input type="number" v-model="formData.bonus" :disabled="'bonus'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                    <el-form-item prop="userId" label="用户">
+                <el-input v-model="formData.userId" :disabled="'userId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="remark" label="备注">
+                <el-input v-model="formData.remark" :disabled="'remark'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                         <el-form-item prop="image" label="截图">
+                 <single-upload v-model="formData.image" :disabled="'image'==subColumn"></single-upload>
+             </el-form-item>
+                                                                                                                                                                                <el-form-item prop="killNumber" label="击败玩家">
+                <el-input v-model="formData.killNumber" :disabled="'killNumber'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="ranking" label="游戏排名">
+                <el-input v-model="formData.ranking" :disabled="'ranking'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                                                                                                                        <el-form-item prop="beginTime" label="开始时间">
+                            <template>
+                                <div class="block">
+                                    <el-date-picker
+                                            v-model="formData.beginTime"
+                                            type="datetime"
+                                            value-format="timestamp"
+                                            placeholder="选择日期"
+                                            :disabled="'beginTime'==subColumn">
+                                    </el-date-picker>
+                                </div>
+                            </template>
+                        </el-form-item>
+                                                                                                                                                                                                                                                                                                                                        <el-form-item prop="endTime" label="结束时间">
+                            <template>
+                                <div class="block">
+                                    <el-date-picker
+                                            v-model="formData.endTime"
+                                            type="datetime"
+                                            value-format="timestamp"
+                                            placeholder="选择日期"
+                                            :disabled="'endTime'==subColumn">
+                                    </el-date-picker>
+                                </div>
+                            </template>
+                        </el-form-item>
+                                                                                                                                                                                                                                            <el-form-item prop="statusFlag" label="状态">
+                <el-input v-model="formData.statusFlag" :disabled="'statusFlag'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="examineUser" label="审核人">
+                <el-input v-model="formData.examineUser" :disabled="'examineUser'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                                                                                                                        <el-form-item prop="examineTime" label="审核时间">
+                            <template>
+                                <div class="block">
+                                    <el-date-picker
+                                            v-model="formData.examineTime"
+                                            type="datetime"
+                                            value-format="timestamp"
+                                            placeholder="选择日期"
+                                            :disabled="'examineTime'==subColumn">
+                                    </el-date-picker>
+                                </div>
+                            </template>
+                        </el-form-item>
+                                                                                                                                                                                                                                            <el-form-item prop="examineType" label="审核类型">
+                <el-input v-model="formData.examineType" :disabled="'examineType'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="video" label="视频地址">
+                <el-input v-model="formData.video" :disabled="'video'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="liveTime" label="存活时长">
+                <el-input v-model="formData.liveTime" :disabled="'liveTime'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="gameType" label="游戏类型">
+                <el-input v-model="formData.gameType" :disabled="'gameType'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="seasonId" label="赛季ID">
+                <el-input v-model="formData.seasonId" :disabled="'seasonId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                        <el-form-item>
+                <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
+                <el-button @click="onDelete" v-if="formData.id" type="danger">删除</el-button>
+                <el-button @click="$router.go(-1)">取消</el-button>
+            </el-form-item>
+        </el-form>
+    </div>
+</template>
+<script>
+    import formValidator from '../formValidator'
+
+    export default {
+        created() {
+            if (this.$route.query.column) {
+                this.subColumn = this.$route.query.column.split(',')[1];
+                this.subValue = this.$route.query.column.split(',')[0];
+            }
+
+            if (this.$route.query.id) {
+                this.$http.get({
+                    url: '/playerInfo/getOne',
+                    data: {
+                        id: this.$route.query.id
+                    }
+                }).then(res => {
+                    if (res.success) {
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
+                        this.formData = res.data;
+
+                    if (this.$route.query.column) {
+                        this.formData[this.subColumn] = this.subValue;
+                    }
+                    }
+                })
+            }else {
+                if (this.$route.query.column) {
+                    this.formData[this.subColumn] = this.subValue;
+                }
+            }
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            },
+        data() {
+            return {
+                saving: false,
+                formData: {},
+                rules: {
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            },
+                                                                                                                                                                                                                            subColumn: '',
+            subValue: '',
+        }
+        },
+        methods: {
+            onSave() {
+                this.$refs.form.validate((valid) => {
+                    if (valid) {
+                        this.submit();
+                    } else {
+                        return false;
+                    }
+                });
+            },
+            submit() {
+                var data = JSON.parse(JSON.stringify(this.formData));
+                this.$http.post({
+                    url: this.formData.id ? '/playerInfo/update' : '/playerInfo/save',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.$message.success('成功');
+                        this.$router.go(-1);
+                    } else {
+                        this.$message.warning('失败')
+                    }
+                });
+            },
+            onDelete() {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
+                    return this.$http.post({
+                    url: '/playerInfo/del',
+                    data: { id: this.formData.id }
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.$router.go(-1);
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+        }
+    }
+</script>
+<style lang="less" scoped>
+</style>

+ 735 - 0
src/main/vue/src/pages/PlayerInfos.vue

@@ -0,0 +1,735 @@
+<template>
+    <div>
+        <div class="filters-container">
+        
+            <el-input placeholder="关键字" size="small" v-model="filter1" clearable class="filter-item"></el-input>
+            <el-button @click="searchData" type="primary" size="small" icon="el-icon-search" class="filter-item">搜索
+            </el-button>
+            <el-button @click="showAdvancedQueryDialog = !showAdvancedQueryDialog" type="primary" size="small"
+                       icon="el-icon-search" class="filter-item">高级查询
+            </el-button>
+            <el-button @click="showTableSortDialog = !showTableSortDialog" type="primary" size="small"
+                       icon="el-icon-sort" class="filter-item">排序
+            </el-button>
+            <el-button @click="$router.push({path:'/playerInfo',query:{column:$route.query.column}})" type="primary"
+                       size="small" icon="el-icon-edit"
+                       class="filter-item">添加
+            </el-button>
+            <el-button @click="exportExcel" type="primary" size="small" icon="el-icon-share" class="filter-item">导出EXCEL
+            </el-button>
+            <el-dropdown trigger="click" size="medium" class="table-column-filter">
+                <span>
+                  筛选数据<i class="el-icon-arrow-down el-icon--right"></i>
+                </span>
+                <el-dropdown-menu slot="dropdown" class="table-column-filter-wrapper">
+                    <el-checkbox v-for="item in tableColumns" :key="item.value" v-model="item.show">{{item.label}}
+                    </el-checkbox>
+                </el-dropdown-menu>
+            </el-dropdown>
+        </div>
+        <el-table
+                :data="tableData"
+                :height="tableHeight"
+                row-key="id"
+                ref="table">
+            <el-table-column
+                    v-if="multipleMode"
+                    align="center"
+                    type="selection"
+                    width="50">
+            </el-table-column>
+            <el-table-column
+                    type="index"
+                    min-width="50"
+                    align="center">
+            </el-table-column>
+                            
+                                            <el-table-column
+                                v-if="isColumnShow('id')"
+                                prop="id"
+                                label="ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                                                                                                                                                            
+                                            <el-table-column
+                                v-if="isColumnShow('gameId')"
+                                prop="gameId"
+                                label="游戏ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('houseId')"
+                                prop="houseId"
+                                label="房间ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('joinTime')"
+                                prop="joinTime"
+                                label="加入时间"
+                                :formatter="DateTimeFormatter"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('principal')"
+                                prop="principal"
+                                label="本金"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('bonus')"
+                                prop="bonus"
+                                label="奖金"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('userId')"
+                                prop="userId"
+                                label="用户"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('remark')"
+                                prop="remark"
+                                label="备注"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('image')"
+                                prop="image"
+                                label="截图"
+                                min-width="100">
+                            <template slot-scope="{row}">
+                                <img :src="row.image" @click="showImg(row.image)" style="width: 100px;height: 100px;vertical-align: middle;" />
+                            </template>
+
+                        </el-table-column>
+                                                                    
+                                            <el-table-column
+                                v-if="isColumnShow('killNumber')"
+                                prop="killNumber"
+                                label="击败玩家"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('ranking')"
+                                prop="ranking"
+                                label="游戏排名"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('beginTime')"
+                                prop="beginTime"
+                                label="开始时间"
+                                :formatter="DateTimeFormatter"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('endTime')"
+                                prop="endTime"
+                                label="结束时间"
+                                :formatter="DateTimeFormatter"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('statusFlag')"
+                                prop="statusFlag"
+                                label="状态"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('examineUser')"
+                                prop="examineUser"
+                                label="审核人"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('examineTime')"
+                                prop="examineTime"
+                                label="审核时间"
+                                :formatter="DateTimeFormatter"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('examineType')"
+                                prop="examineType"
+                                label="审核类型"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('video')"
+                                prop="video"
+                                label="视频地址"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('liveTime')"
+                                prop="liveTime"
+                                label="存活时长"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('gameType')"
+                                prop="gameType"
+                                label="游戏类型"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('seasonId')"
+                                prop="seasonId"
+                                label="赛季ID"
+                                min-width="100">
+                        </el-table-column>
+                                                            <el-table-column
+                    label="操作"
+                    align="center"
+                    fixed="right"
+                    min-width="150"
+            >
+                <template slot-scope="scope">
+                            <el-button @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
+                    <el-button @click="deleteRow(scope.row)" type="danger" size="mini" plain>删除</el-button>
+                </template>
+            </el-table-column>
+        </el-table>
+        <div class="pagination-wrapper">
+            <div class="multiple-mode-wrapper" v-if="0">
+                <el-button size="small" v-if="!multipleMode" @click="toggleMultipleMode(true)">批量编辑</el-button>
+                <el-button-group v-else>
+                    <el-button size="small" @click="operation1">批量操作1</el-button>
+                    <el-button size="small" @click="operation2">批量操作2</el-button>
+                    <el-button size="small" @click="toggleMultipleMode(false)">取消</el-button>
+                </el-button-group>
+            </div>
+            <el-pagination
+                    background
+                    @size-change="pageSizeChange"
+                    @current-change="currentPageChange"
+                    :current-page="currentPage"
+                    :page-sizes="[10, 20, 30, 40, 50]"
+                    :page-size="pageSize"
+                    layout="total, sizes, prev, pager, next, jumper"
+                    :total="totalNumber">
+            </el-pagination>
+        </div>
+        <el-dialog title="高级查询" :visible.sync="showAdvancedQueryDialog">
+            <el-button @click="addField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="advancedQueryFields">
+
+                <el-table-column prop="link" label="链接符" align="center">
+                    <template slot-scope="{row}">
+                        <el-select placeholder="链接" size="small" v-model="row.link" class="filter-item">
+                            <el-option label="AND" value="AND">
+                            </el-option>
+                            <el-option label="OR" value="OR">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="searchMethod" label="搜索方式" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.searchMethod">
+                            <el-option v-for="item in searchMethods" :label="item" :value="item"
+                                       :key="item"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="value" label="参数" align="center">
+                    <template slot-scope="{row}">
+                        <el-input v-model="row.value"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="advancedQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="排序" :visible.sync="showTableSortDialog">
+            <el-button @click="addSortField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="tableSortFields">
+
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="order" label="排序" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.order">
+                            <el-option label="降序" value="desc">
+                            </el-option>
+                            <el-option label="升序" value="asc">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeSortField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="tableSortQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="查看图片" :visible.sync="imageDialogVisible" size="small">
+            <img width="100%" :src="imgSrc" alt="">
+        </el-dialog>
+
+    </div>
+</template>
+<script>
+    import {mapState} from 'vuex'
+    import {format} from 'date-fns'
+    import zh from 'date-fns/locale/zh_cn'
+
+    export default {
+        created() {
+            this.getData();
+        },
+        data() {
+            return {
+                totalNumber: 0,
+                totalPage: 10,
+                currentPage: 1,
+                pageSize: 20,
+                tableData: [],
+                filter1: '',
+                filter2: '',
+                tableColumns: [
+                                                                        {
+                                label: 'ID',
+                                value: 'id',
+                                show: true
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '游戏ID',
+                                value: 'gameId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '房间ID',
+                                value: 'houseId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '加入时间',
+                                value: 'joinTime',
+                                show: true
+                            },
+                                                                                                {
+                                label: '本金',
+                                value: 'principal',
+                                show: true
+                            },
+                                                                                                {
+                                label: '奖金',
+                                value: 'bonus',
+                                show: true
+                            },
+                                                                                                {
+                                label: '用户',
+                                value: 'userId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark',
+                                show: true
+                            },
+                                                                                                {
+                                label: '截图',
+                                value: 'image',
+                                show: true
+                            },
+                                                                                                {
+                                label: '击败玩家',
+                                value: 'killNumber',
+                                show: true
+                            },
+                                                                                                {
+                                label: '游戏排名',
+                                value: 'ranking',
+                                show: true
+                            },
+                                                                                                {
+                                label: '开始时间',
+                                value: 'beginTime',
+                                show: true
+                            },
+                                                                                                {
+                                label: '结束时间',
+                                value: 'endTime',
+                                show: true
+                            },
+                                                                                                {
+                                label: '状态',
+                                value: 'statusFlag',
+                                show: true
+                            },
+                                                                                                {
+                                label: '审核人',
+                                value: 'examineUser',
+                                show: true
+                            },
+                                                                                                {
+                                label: '审核时间',
+                                value: 'examineTime',
+                                show: true
+                            },
+                                                                                                {
+                                label: '审核类型',
+                                value: 'examineType',
+                                show: true
+                            },
+                                                                                                {
+                                label: '视频地址',
+                                value: 'video',
+                                show: true
+                            },
+                                                                                                {
+                                label: '存活时长',
+                                value: 'liveTime',
+                                show: true
+                            },
+                                                                                                {
+                                label: '游戏类型',
+                                value: 'gameType',
+                                show: true
+                            },
+                                                                                                {
+                                label: '赛季ID',
+                                value: 'seasonId',
+                                show: true
+                            },
+                                                            ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                                                                        {
+                                label: 'ID',
+                                value: 'id'
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '游戏ID',
+                                value: 'game_id'
+                            },
+                                                                                                {
+                                label: '房间ID',
+                                value: 'house_id'
+                            },
+                                                                                                {
+                                label: '加入时间',
+                                value: 'join_time'
+                            },
+                                                                                                {
+                                label: '本金',
+                                value: 'principal'
+                            },
+                                                                                                {
+                                label: '奖金',
+                                value: 'bonus'
+                            },
+                                                                                                {
+                                label: '用户',
+                                value: 'user_id'
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark'
+                            },
+                                                                                                {
+                                label: '截图',
+                                value: 'image'
+                            },
+                                                                                                {
+                                label: '击败玩家',
+                                value: 'kill_number'
+                            },
+                                                                                                {
+                                label: '游戏排名',
+                                value: 'ranking'
+                            },
+                                                                                                {
+                                label: '开始时间',
+                                value: 'begin_time'
+                            },
+                                                                                                {
+                                label: '结束时间',
+                                value: 'end_time'
+                            },
+                                                                                                {
+                                label: '状态',
+                                value: 'status_flag'
+                            },
+                                                                                                {
+                                label: '审核人',
+                                value: 'examine_user'
+                            },
+                                                                                                {
+                                label: '审核时间',
+                                value: 'examine_time'
+                            },
+                                                                                                {
+                                label: '审核类型',
+                                value: 'examine_type'
+                            },
+                                                                                                {
+                                label: '视频地址',
+                                value: 'video'
+                            },
+                                                                                                {
+                                label: '存活时长',
+                                value: 'live_time'
+                            },
+                                                                                                {
+                                label: '游戏类型',
+                                value: 'game_type'
+                            },
+                                                                                                {
+                                label: '赛季ID',
+                                value: 'season_id'
+                            },
+                                                            ],
+                advancedQuerySearchKey: '',
+                orderByStr: '',
+                imgSrc: '',
+                imageDialogVisible: false,
+            }
+        },
+        computed: {
+            ...mapState(['tableHeight']),
+            selection() {
+                return this.$refs.table.selection.map(i => i.id);
+            }
+        },
+        methods: {
+            pageSizeChange(size) {
+                this.currentPage = 1;
+                this.pageSize = size;
+                this.getData();
+            },
+            currentPageChange(page) {
+                this.currentPage = page;
+                this.getData();
+            },
+            getData() {
+
+                var data = {
+                    currentPage: this.currentPage,
+                    pageNumber: this.pageSize,
+                    searchKey: this.filter1,
+                    advancedQuery: this.advancedQuerySearchKey,
+                    orderByStr: this.orderByStr,
+                }
+
+                if (this.$route.query.column) {
+                    var tempColumn = this.$route.query.column;
+                    data[tempColumn.split(',')[1]] = tempColumn.split(',')[0];
+                }
+
+                this.$http.get({
+                    url: '/playerInfo/page',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.totalNumber = res.data.page.totalNumber;
+                        this.tableData = res.data.pp;
+                    }
+                })
+            },
+            isColumnShow(column) {
+                var row = this.tableColumns.find(i => i.value === column);
+                return row ? row.show : false;
+            },
+            toggleMultipleMode(multipleMode) {
+                this.multipleMode = multipleMode;
+                if (!multipleMode) {
+                    this.$refs.table.clearSelection();
+                }
+            },
+            editRow(row) {
+                this.$router.push({
+                    path: '/playerInfo',
+                    query: {
+                        id: row.id,
+                        column: this.$route.query.column,
+                    }
+                })
+            },
+            operation1() {
+                this.$notify({
+                    title: '提示',
+                    message: this.selection
+                });
+            },
+            operation2() {
+                this.$message('操作2');
+            },
+            addField() {
+                this.advancedQueryFields.push({
+                    link: 'AND',
+                    name: '',
+                    searchMethod: '=',
+                    value: '',
+                });
+            },
+            removeField(i) {
+                if (this.advancedQueryFields.length > 0) {
+                    this.advancedQueryFields.splice(i, 1);
+                }
+            },
+            advancedQuery() {
+
+                this.advancedQuerySearchKey = '';
+
+                if (this.advancedQueryFields.length > 0) {
+
+                    var templist = [];
+
+                    this.advancedQueryFields.forEach(item => {
+                        if (item.link && item.name && item.searchMethod && item.value) {
+                            var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.advancedQuerySearchKey = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showAdvancedQueryDialog = false;
+            },
+            addSortField() {
+                this.tableSortFields.push({
+                    name: '',
+                    order: 'asc',
+                });
+            },
+            removeSortField(i) {
+                if (this.tableSortFields.length > 0) {
+                    this.tableSortFields.splice(i, 1);
+                }
+            },
+            tableSortQuery() {
+
+                this.orderByStr = '';
+
+                if (this.tableSortFields.length > 0) {
+
+                    var templist = [];
+
+                    this.tableSortFields.forEach(item => {
+                        if (item.name && item.order) {
+                            var tempItem = item.name + '_,' + item.order;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.orderByStr = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showTableSortDialog = false;
+            },
+            exportExcel() {
+                window.location.href = this.$baseUrl + "/playerInfo/exportExcel?searchKey="
+                        + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey+"&orderByStr=" + this.orderByStr;
+            },
+            searchData() {
+                this.currentPage = 1;
+                this.getData();
+            },
+            deleteRow(row) {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
+                    return this.$http.post({
+                        url: '/playerInfo/del',
+                        data: {id: row.id}
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.getData();
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+            DateTimeFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD HH:mm', {locale: zh})
+                }
+
+            },
+            DateFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD', {locale: zh})
+                }
+
+            },
+            showImg(img) {
+                this.imgSrc = img;
+                this.imageDialogVisible = true;
+            },
+
+        }
+    }
+</script>
+<style lang="less" scoped>
+
+</style>

+ 123 - 0
src/main/vue/src/pages/RechargeRecord.vue

@@ -0,0 +1,123 @@
+<template>
+    <div>
+        <el-form :model="formData" :rules="rules" ref="form" label-width="80px" label-position="right" size="small"
+                 style="max-width: 500px;">
+                                                                                                                                                                                                                                    <el-form-item prop="userId" label="用户">
+                <el-input v-model="formData.userId" :disabled="'userId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="typeFlag" label="类型">
+                <el-input v-model="formData.typeFlag" :disabled="'typeFlag'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                                                                    <el-form-item prop="money" label="金额">
+                <el-input type="number" v-model="formData.money" :disabled="'money'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="balance" label="余额">
+                <el-input type="number" v-model="formData.balance" :disabled="'balance'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                    <el-form-item prop="outTradeNo" label="订单号">
+                <el-input v-model="formData.outTradeNo" :disabled="'outTradeNo'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                                                                    <el-form-item prop="cash" label="现金">
+                <el-input type="number" v-model="formData.cash" :disabled="'cash'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                    <el-form-item prop="remark" label="备注">
+                <el-input v-model="formData.remark" :disabled="'remark'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                        <el-form-item>
+                <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
+                <el-button @click="onDelete" v-if="formData.id" type="danger">删除</el-button>
+                <el-button @click="$router.go(-1)">取消</el-button>
+            </el-form-item>
+        </el-form>
+    </div>
+</template>
+<script>
+    import formValidator from '../formValidator'
+
+    export default {
+        created() {
+            if (this.$route.query.column) {
+                this.subColumn = this.$route.query.column.split(',')[1];
+                this.subValue = this.$route.query.column.split(',')[0];
+            }
+
+            if (this.$route.query.id) {
+                this.$http.get({
+                    url: '/rechargeRecord/getOne',
+                    data: {
+                        id: this.$route.query.id
+                    }
+                }).then(res => {
+                    if (res.success) {
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
+                        this.formData = res.data;
+
+                    if (this.$route.query.column) {
+                        this.formData[this.subColumn] = this.subValue;
+                    }
+                    }
+                })
+            }else {
+                if (this.$route.query.column) {
+                    this.formData[this.subColumn] = this.subValue;
+                }
+            }
+
+                                                                                                                                                                                                                                                                                                                                                                                                },
+        data() {
+            return {
+                saving: false,
+                formData: {},
+                rules: {
+                                                                                                                                                                                                                                                                                                                                                                                                },
+                                                                                                                    subColumn: '',
+            subValue: '',
+        }
+        },
+        methods: {
+            onSave() {
+                this.$refs.form.validate((valid) => {
+                    if (valid) {
+                        this.submit();
+                    } else {
+                        return false;
+                    }
+                });
+            },
+            submit() {
+                var data = JSON.parse(JSON.stringify(this.formData));
+                this.$http.post({
+                    url: this.formData.id ? '/rechargeRecord/update' : '/rechargeRecord/save',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.$message.success('成功');
+                        this.$router.go(-1);
+                    } else {
+                        this.$message.warning('失败')
+                    }
+                });
+            },
+            onDelete() {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
+                    return this.$http.post({
+                    url: '/rechargeRecord/del',
+                    data: { id: this.formData.id }
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.$router.go(-1);
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+        }
+    }
+</script>
+<style lang="less" scoped>
+</style>

+ 519 - 0
src/main/vue/src/pages/RechargeRecords.vue

@@ -0,0 +1,519 @@
+<template>
+    <div>
+        <div class="filters-container">
+        
+            <el-input placeholder="关键字" size="small" v-model="filter1" clearable class="filter-item"></el-input>
+            <el-button @click="searchData" type="primary" size="small" icon="el-icon-search" class="filter-item">搜索
+            </el-button>
+            <el-button @click="showAdvancedQueryDialog = !showAdvancedQueryDialog" type="primary" size="small"
+                       icon="el-icon-search" class="filter-item">高级查询
+            </el-button>
+            <el-button @click="showTableSortDialog = !showTableSortDialog" type="primary" size="small"
+                       icon="el-icon-sort" class="filter-item">排序
+            </el-button>
+            <el-button @click="$router.push({path:'/rechargeRecord',query:{column:$route.query.column}})" type="primary"
+                       size="small" icon="el-icon-edit"
+                       class="filter-item">添加
+            </el-button>
+            <el-button @click="exportExcel" type="primary" size="small" icon="el-icon-share" class="filter-item">导出EXCEL
+            </el-button>
+            <el-dropdown trigger="click" size="medium" class="table-column-filter">
+                <span>
+                  筛选数据<i class="el-icon-arrow-down el-icon--right"></i>
+                </span>
+                <el-dropdown-menu slot="dropdown" class="table-column-filter-wrapper">
+                    <el-checkbox v-for="item in tableColumns" :key="item.value" v-model="item.show">{{item.label}}
+                    </el-checkbox>
+                </el-dropdown-menu>
+            </el-dropdown>
+        </div>
+        <el-table
+                :data="tableData"
+                :height="tableHeight"
+                row-key="id"
+                ref="table">
+            <el-table-column
+                    v-if="multipleMode"
+                    align="center"
+                    type="selection"
+                    width="50">
+            </el-table-column>
+            <el-table-column
+                    type="index"
+                    min-width="50"
+                    align="center">
+            </el-table-column>
+                            
+                                            <el-table-column
+                                v-if="isColumnShow('id')"
+                                prop="id"
+                                label="ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                                                                                                                                                            
+                                            <el-table-column
+                                v-if="isColumnShow('userId')"
+                                prop="userId"
+                                label="用户"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('typeFlag')"
+                                prop="typeFlag"
+                                label="类型"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('money')"
+                                prop="money"
+                                label="金额"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('balance')"
+                                prop="balance"
+                                label="余额"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('outTradeNo')"
+                                prop="outTradeNo"
+                                label="订单号"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('cash')"
+                                prop="cash"
+                                label="现金"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('remark')"
+                                prop="remark"
+                                label="备注"
+                                min-width="100">
+                        </el-table-column>
+                                                            <el-table-column
+                    label="操作"
+                    align="center"
+                    fixed="right"
+                    min-width="150"
+            >
+                <template slot-scope="scope">
+                            <el-button @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
+                    <el-button @click="deleteRow(scope.row)" type="danger" size="mini" plain>删除</el-button>
+                </template>
+            </el-table-column>
+        </el-table>
+        <div class="pagination-wrapper">
+            <div class="multiple-mode-wrapper" v-if="0">
+                <el-button size="small" v-if="!multipleMode" @click="toggleMultipleMode(true)">批量编辑</el-button>
+                <el-button-group v-else>
+                    <el-button size="small" @click="operation1">批量操作1</el-button>
+                    <el-button size="small" @click="operation2">批量操作2</el-button>
+                    <el-button size="small" @click="toggleMultipleMode(false)">取消</el-button>
+                </el-button-group>
+            </div>
+            <el-pagination
+                    background
+                    @size-change="pageSizeChange"
+                    @current-change="currentPageChange"
+                    :current-page="currentPage"
+                    :page-sizes="[10, 20, 30, 40, 50]"
+                    :page-size="pageSize"
+                    layout="total, sizes, prev, pager, next, jumper"
+                    :total="totalNumber">
+            </el-pagination>
+        </div>
+        <el-dialog title="高级查询" :visible.sync="showAdvancedQueryDialog">
+            <el-button @click="addField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="advancedQueryFields">
+
+                <el-table-column prop="link" label="链接符" align="center">
+                    <template slot-scope="{row}">
+                        <el-select placeholder="链接" size="small" v-model="row.link" class="filter-item">
+                            <el-option label="AND" value="AND">
+                            </el-option>
+                            <el-option label="OR" value="OR">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="searchMethod" label="搜索方式" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.searchMethod">
+                            <el-option v-for="item in searchMethods" :label="item" :value="item"
+                                       :key="item"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="value" label="参数" align="center">
+                    <template slot-scope="{row}">
+                        <el-input v-model="row.value"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="advancedQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="排序" :visible.sync="showTableSortDialog">
+            <el-button @click="addSortField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="tableSortFields">
+
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="order" label="排序" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.order">
+                            <el-option label="降序" value="desc">
+                            </el-option>
+                            <el-option label="升序" value="asc">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeSortField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="tableSortQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="查看图片" :visible.sync="imageDialogVisible" size="small">
+            <img width="100%" :src="imgSrc" alt="">
+        </el-dialog>
+
+    </div>
+</template>
+<script>
+    import {mapState} from 'vuex'
+    import {format} from 'date-fns'
+    import zh from 'date-fns/locale/zh_cn'
+
+    export default {
+        created() {
+            this.getData();
+        },
+        data() {
+            return {
+                totalNumber: 0,
+                totalPage: 10,
+                currentPage: 1,
+                pageSize: 20,
+                tableData: [],
+                filter1: '',
+                filter2: '',
+                tableColumns: [
+                                                                        {
+                                label: 'ID',
+                                value: 'id',
+                                show: true
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '用户',
+                                value: 'userId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '类型',
+                                value: 'typeFlag',
+                                show: true
+                            },
+                                                                                                {
+                                label: '金额',
+                                value: 'money',
+                                show: true
+                            },
+                                                                                                {
+                                label: '余额',
+                                value: 'balance',
+                                show: true
+                            },
+                                                                                                {
+                                label: '订单号',
+                                value: 'outTradeNo',
+                                show: true
+                            },
+                                                                                                {
+                                label: '现金',
+                                value: 'cash',
+                                show: true
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark',
+                                show: true
+                            },
+                                                            ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                                                                        {
+                                label: 'ID',
+                                value: 'id'
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '用户',
+                                value: 'user_id'
+                            },
+                                                                                                {
+                                label: '类型',
+                                value: 'type_flag'
+                            },
+                                                                                                {
+                                label: '金额',
+                                value: 'money'
+                            },
+                                                                                                {
+                                label: '余额',
+                                value: 'balance'
+                            },
+                                                                                                {
+                                label: '订单号',
+                                value: 'out_trade_no'
+                            },
+                                                                                                {
+                                label: '现金',
+                                value: 'cash'
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark'
+                            },
+                                                            ],
+                advancedQuerySearchKey: '',
+                orderByStr: '',
+                imgSrc: '',
+                imageDialogVisible: false,
+            }
+        },
+        computed: {
+            ...mapState(['tableHeight']),
+            selection() {
+                return this.$refs.table.selection.map(i => i.id);
+            }
+        },
+        methods: {
+            pageSizeChange(size) {
+                this.currentPage = 1;
+                this.pageSize = size;
+                this.getData();
+            },
+            currentPageChange(page) {
+                this.currentPage = page;
+                this.getData();
+            },
+            getData() {
+
+                var data = {
+                    currentPage: this.currentPage,
+                    pageNumber: this.pageSize,
+                    searchKey: this.filter1,
+                    advancedQuery: this.advancedQuerySearchKey,
+                    orderByStr: this.orderByStr,
+                }
+
+                if (this.$route.query.column) {
+                    var tempColumn = this.$route.query.column;
+                    data[tempColumn.split(',')[1]] = tempColumn.split(',')[0];
+                }
+
+                this.$http.get({
+                    url: '/rechargeRecord/page',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.totalNumber = res.data.page.totalNumber;
+                        this.tableData = res.data.pp;
+                    }
+                })
+            },
+            isColumnShow(column) {
+                var row = this.tableColumns.find(i => i.value === column);
+                return row ? row.show : false;
+            },
+            toggleMultipleMode(multipleMode) {
+                this.multipleMode = multipleMode;
+                if (!multipleMode) {
+                    this.$refs.table.clearSelection();
+                }
+            },
+            editRow(row) {
+                this.$router.push({
+                    path: '/rechargeRecord',
+                    query: {
+                        id: row.id,
+                        column: this.$route.query.column,
+                    }
+                })
+            },
+            operation1() {
+                this.$notify({
+                    title: '提示',
+                    message: this.selection
+                });
+            },
+            operation2() {
+                this.$message('操作2');
+            },
+            addField() {
+                this.advancedQueryFields.push({
+                    link: 'AND',
+                    name: '',
+                    searchMethod: '=',
+                    value: '',
+                });
+            },
+            removeField(i) {
+                if (this.advancedQueryFields.length > 0) {
+                    this.advancedQueryFields.splice(i, 1);
+                }
+            },
+            advancedQuery() {
+
+                this.advancedQuerySearchKey = '';
+
+                if (this.advancedQueryFields.length > 0) {
+
+                    var templist = [];
+
+                    this.advancedQueryFields.forEach(item => {
+                        if (item.link && item.name && item.searchMethod && item.value) {
+                            var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.advancedQuerySearchKey = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showAdvancedQueryDialog = false;
+            },
+            addSortField() {
+                this.tableSortFields.push({
+                    name: '',
+                    order: 'asc',
+                });
+            },
+            removeSortField(i) {
+                if (this.tableSortFields.length > 0) {
+                    this.tableSortFields.splice(i, 1);
+                }
+            },
+            tableSortQuery() {
+
+                this.orderByStr = '';
+
+                if (this.tableSortFields.length > 0) {
+
+                    var templist = [];
+
+                    this.tableSortFields.forEach(item => {
+                        if (item.name && item.order) {
+                            var tempItem = item.name + '_,' + item.order;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.orderByStr = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showTableSortDialog = false;
+            },
+            exportExcel() {
+                window.location.href = this.$baseUrl + "/rechargeRecord/exportExcel?searchKey="
+                        + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey+"&orderByStr=" + this.orderByStr;
+            },
+            searchData() {
+                this.currentPage = 1;
+                this.getData();
+            },
+            deleteRow(row) {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
+                    return this.$http.post({
+                        url: '/rechargeRecord/del',
+                        data: {id: row.id}
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.getData();
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+            DateTimeFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD HH:mm', {locale: zh})
+                }
+
+            },
+            DateFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD', {locale: zh})
+                }
+
+            },
+            showImg(img) {
+                this.imgSrc = img;
+                this.imageDialogVisible = true;
+            },
+
+        }
+    }
+</script>
+<style lang="less" scoped>
+
+</style>

+ 129 - 0
src/main/vue/src/pages/SystemNotice.vue

@@ -0,0 +1,129 @@
+<template>
+    <div>
+        <el-form :model="formData" :rules="rules" ref="form" label-width="80px" label-position="right" size="small"
+                 style="max-width: 500px;">
+                                                                                                                                                                                                                                    <el-form-item prop="gameId" label="游戏">
+                <el-input v-model="formData.gameId" :disabled="'gameId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="houseId" label="房间">
+                <el-input v-model="formData.houseId" :disabled="'houseId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="userId" label="用户">
+                <el-input v-model="formData.userId" :disabled="'userId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="remark" label="备注">
+                <el-input v-model="formData.remark" :disabled="'remark'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="typeFlag" label="类型">
+                <el-input v-model="formData.typeFlag" :disabled="'typeFlag'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="statusFlag" label="状态">
+                <el-input v-model="formData.statusFlag" :disabled="'statusFlag'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="content" label="内容">
+                <el-input v-model="formData.content" :disabled="'content'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="seasonId" label="赛季ID">
+                <el-input v-model="formData.seasonId" :disabled="'seasonId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="playerId" label="选手ID">
+                <el-input v-model="formData.playerId" :disabled="'playerId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                        <el-form-item>
+                <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
+                <el-button @click="onDelete" v-if="formData.id" type="danger">删除</el-button>
+                <el-button @click="$router.go(-1)">取消</el-button>
+            </el-form-item>
+        </el-form>
+    </div>
+</template>
+<script>
+    import formValidator from '../formValidator'
+
+    export default {
+        created() {
+            if (this.$route.query.column) {
+                this.subColumn = this.$route.query.column.split(',')[1];
+                this.subValue = this.$route.query.column.split(',')[0];
+            }
+
+            if (this.$route.query.id) {
+                this.$http.get({
+                    url: '/systemNotice/getOne',
+                    data: {
+                        id: this.$route.query.id
+                    }
+                }).then(res => {
+                    if (res.success) {
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+                        this.formData = res.data;
+
+                    if (this.$route.query.column) {
+                        this.formData[this.subColumn] = this.subValue;
+                    }
+                    }
+                })
+            }else {
+                if (this.$route.query.column) {
+                    this.formData[this.subColumn] = this.subValue;
+                }
+            }
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                        },
+        data() {
+            return {
+                saving: false,
+                formData: {},
+                rules: {
+                                                                                                                                                                                                                                                                                                                                                                                                                                                        },
+                                                                                                                                    subColumn: '',
+            subValue: '',
+        }
+        },
+        methods: {
+            onSave() {
+                this.$refs.form.validate((valid) => {
+                    if (valid) {
+                        this.submit();
+                    } else {
+                        return false;
+                    }
+                });
+            },
+            submit() {
+                var data = JSON.parse(JSON.stringify(this.formData));
+                this.$http.post({
+                    url: this.formData.id ? '/systemNotice/update' : '/systemNotice/save',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.$message.success('成功');
+                        this.$router.go(-1);
+                    } else {
+                        this.$message.warning('失败')
+                    }
+                });
+            },
+            onDelete() {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
+                    return this.$http.post({
+                    url: '/systemNotice/del',
+                    data: { id: this.formData.id }
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.$router.go(-1);
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+        }
+    }
+</script>
+<style lang="less" scoped>
+</style>

+ 551 - 0
src/main/vue/src/pages/SystemNotices.vue

@@ -0,0 +1,551 @@
+<template>
+    <div>
+        <div class="filters-container">
+        
+            <el-input placeholder="关键字" size="small" v-model="filter1" clearable class="filter-item"></el-input>
+            <el-button @click="searchData" type="primary" size="small" icon="el-icon-search" class="filter-item">搜索
+            </el-button>
+            <el-button @click="showAdvancedQueryDialog = !showAdvancedQueryDialog" type="primary" size="small"
+                       icon="el-icon-search" class="filter-item">高级查询
+            </el-button>
+            <el-button @click="showTableSortDialog = !showTableSortDialog" type="primary" size="small"
+                       icon="el-icon-sort" class="filter-item">排序
+            </el-button>
+            <el-button @click="$router.push({path:'/systemNotice',query:{column:$route.query.column}})" type="primary"
+                       size="small" icon="el-icon-edit"
+                       class="filter-item">添加
+            </el-button>
+            <el-button @click="exportExcel" type="primary" size="small" icon="el-icon-share" class="filter-item">导出EXCEL
+            </el-button>
+            <el-dropdown trigger="click" size="medium" class="table-column-filter">
+                <span>
+                  筛选数据<i class="el-icon-arrow-down el-icon--right"></i>
+                </span>
+                <el-dropdown-menu slot="dropdown" class="table-column-filter-wrapper">
+                    <el-checkbox v-for="item in tableColumns" :key="item.value" v-model="item.show">{{item.label}}
+                    </el-checkbox>
+                </el-dropdown-menu>
+            </el-dropdown>
+        </div>
+        <el-table
+                :data="tableData"
+                :height="tableHeight"
+                row-key="id"
+                ref="table">
+            <el-table-column
+                    v-if="multipleMode"
+                    align="center"
+                    type="selection"
+                    width="50">
+            </el-table-column>
+            <el-table-column
+                    type="index"
+                    min-width="50"
+                    align="center">
+            </el-table-column>
+                            
+                                            <el-table-column
+                                v-if="isColumnShow('id')"
+                                prop="id"
+                                label="ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                                                                                                                                                            
+                                            <el-table-column
+                                v-if="isColumnShow('gameId')"
+                                prop="gameId"
+                                label="游戏"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('houseId')"
+                                prop="houseId"
+                                label="房间"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('userId')"
+                                prop="userId"
+                                label="用户"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('remark')"
+                                prop="remark"
+                                label="备注"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('typeFlag')"
+                                prop="typeFlag"
+                                label="类型"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('statusFlag')"
+                                prop="statusFlag"
+                                label="状态"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('content')"
+                                prop="content"
+                                label="内容"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('seasonId')"
+                                prop="seasonId"
+                                label="赛季ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('playerId')"
+                                prop="playerId"
+                                label="选手ID"
+                                min-width="100">
+                        </el-table-column>
+                                                            <el-table-column
+                    label="操作"
+                    align="center"
+                    fixed="right"
+                    min-width="150"
+            >
+                <template slot-scope="scope">
+                            <el-button @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
+                    <el-button @click="deleteRow(scope.row)" type="danger" size="mini" plain>删除</el-button>
+                </template>
+            </el-table-column>
+        </el-table>
+        <div class="pagination-wrapper">
+            <div class="multiple-mode-wrapper" v-if="0">
+                <el-button size="small" v-if="!multipleMode" @click="toggleMultipleMode(true)">批量编辑</el-button>
+                <el-button-group v-else>
+                    <el-button size="small" @click="operation1">批量操作1</el-button>
+                    <el-button size="small" @click="operation2">批量操作2</el-button>
+                    <el-button size="small" @click="toggleMultipleMode(false)">取消</el-button>
+                </el-button-group>
+            </div>
+            <el-pagination
+                    background
+                    @size-change="pageSizeChange"
+                    @current-change="currentPageChange"
+                    :current-page="currentPage"
+                    :page-sizes="[10, 20, 30, 40, 50]"
+                    :page-size="pageSize"
+                    layout="total, sizes, prev, pager, next, jumper"
+                    :total="totalNumber">
+            </el-pagination>
+        </div>
+        <el-dialog title="高级查询" :visible.sync="showAdvancedQueryDialog">
+            <el-button @click="addField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="advancedQueryFields">
+
+                <el-table-column prop="link" label="链接符" align="center">
+                    <template slot-scope="{row}">
+                        <el-select placeholder="链接" size="small" v-model="row.link" class="filter-item">
+                            <el-option label="AND" value="AND">
+                            </el-option>
+                            <el-option label="OR" value="OR">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="searchMethod" label="搜索方式" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.searchMethod">
+                            <el-option v-for="item in searchMethods" :label="item" :value="item"
+                                       :key="item"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="value" label="参数" align="center">
+                    <template slot-scope="{row}">
+                        <el-input v-model="row.value"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="advancedQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="排序" :visible.sync="showTableSortDialog">
+            <el-button @click="addSortField" type="text" icon="el-icon-plus">添加</el-button>
+            <el-table :data="tableSortFields">
+
+                <el-table-column prop="name" label="字段" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.name">
+
+                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value"
+                                       :key="item.value"></el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="order" label="排序" align="center">
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.order">
+                            <el-option label="降序" value="desc">
+                            </el-option>
+                            <el-option label="升序" value="asc">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column width="60" align="center">
+                    <template slot-scope="{ row, column, $index }">
+                        <el-button @click="removeSortField($index)" size="small" type="text">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <span slot="footer" class="dialog-footer">
+
+                <el-button @click="tableSortQuery" :loading="$store.state.fetchingData">确定</el-button>
+            </span>
+        </el-dialog>
+
+        <el-dialog title="查看图片" :visible.sync="imageDialogVisible" size="small">
+            <img width="100%" :src="imgSrc" alt="">
+        </el-dialog>
+
+    </div>
+</template>
+<script>
+    import {mapState} from 'vuex'
+    import {format} from 'date-fns'
+    import zh from 'date-fns/locale/zh_cn'
+
+    export default {
+        created() {
+            this.getData();
+        },
+        data() {
+            return {
+                totalNumber: 0,
+                totalPage: 10,
+                currentPage: 1,
+                pageSize: 20,
+                tableData: [],
+                filter1: '',
+                filter2: '',
+                tableColumns: [
+                                                                        {
+                                label: 'ID',
+                                value: 'id',
+                                show: true
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '游戏',
+                                value: 'gameId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '房间',
+                                value: 'houseId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '用户',
+                                value: 'userId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark',
+                                show: true
+                            },
+                                                                                                {
+                                label: '类型',
+                                value: 'typeFlag',
+                                show: true
+                            },
+                                                                                                {
+                                label: '状态',
+                                value: 'statusFlag',
+                                show: true
+                            },
+                                                                                                {
+                                label: '内容',
+                                value: 'content',
+                                show: true
+                            },
+                                                                                                {
+                                label: '赛季ID',
+                                value: 'seasonId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '选手ID',
+                                value: 'playerId',
+                                show: true
+                            },
+                                                            ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                                                                        {
+                                label: 'ID',
+                                value: 'id'
+                            },
+                                                                                                                                                                                                                                                                                                                            {
+                                label: '游戏',
+                                value: 'game_id'
+                            },
+                                                                                                {
+                                label: '房间',
+                                value: 'house_id'
+                            },
+                                                                                                {
+                                label: '用户',
+                                value: 'user_id'
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark'
+                            },
+                                                                                                {
+                                label: '类型',
+                                value: 'type_flag'
+                            },
+                                                                                                {
+                                label: '状态',
+                                value: 'status_flag'
+                            },
+                                                                                                {
+                                label: '内容',
+                                value: 'content'
+                            },
+                                                                                                {
+                                label: '赛季ID',
+                                value: 'season_id'
+                            },
+                                                                                                {
+                                label: '选手ID',
+                                value: 'player_id'
+                            },
+                                                            ],
+                advancedQuerySearchKey: '',
+                orderByStr: '',
+                imgSrc: '',
+                imageDialogVisible: false,
+            }
+        },
+        computed: {
+            ...mapState(['tableHeight']),
+            selection() {
+                return this.$refs.table.selection.map(i => i.id);
+            }
+        },
+        methods: {
+            pageSizeChange(size) {
+                this.currentPage = 1;
+                this.pageSize = size;
+                this.getData();
+            },
+            currentPageChange(page) {
+                this.currentPage = page;
+                this.getData();
+            },
+            getData() {
+
+                var data = {
+                    currentPage: this.currentPage,
+                    pageNumber: this.pageSize,
+                    searchKey: this.filter1,
+                    advancedQuery: this.advancedQuerySearchKey,
+                    orderByStr: this.orderByStr,
+                }
+
+                if (this.$route.query.column) {
+                    var tempColumn = this.$route.query.column;
+                    data[tempColumn.split(',')[1]] = tempColumn.split(',')[0];
+                }
+
+                this.$http.get({
+                    url: '/systemNotice/page',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.totalNumber = res.data.page.totalNumber;
+                        this.tableData = res.data.pp;
+                    }
+                })
+            },
+            isColumnShow(column) {
+                var row = this.tableColumns.find(i => i.value === column);
+                return row ? row.show : false;
+            },
+            toggleMultipleMode(multipleMode) {
+                this.multipleMode = multipleMode;
+                if (!multipleMode) {
+                    this.$refs.table.clearSelection();
+                }
+            },
+            editRow(row) {
+                this.$router.push({
+                    path: '/systemNotice',
+                    query: {
+                        id: row.id,
+                        column: this.$route.query.column,
+                    }
+                })
+            },
+            operation1() {
+                this.$notify({
+                    title: '提示',
+                    message: this.selection
+                });
+            },
+            operation2() {
+                this.$message('操作2');
+            },
+            addField() {
+                this.advancedQueryFields.push({
+                    link: 'AND',
+                    name: '',
+                    searchMethod: '=',
+                    value: '',
+                });
+            },
+            removeField(i) {
+                if (this.advancedQueryFields.length > 0) {
+                    this.advancedQueryFields.splice(i, 1);
+                }
+            },
+            advancedQuery() {
+
+                this.advancedQuerySearchKey = '';
+
+                if (this.advancedQueryFields.length > 0) {
+
+                    var templist = [];
+
+                    this.advancedQueryFields.forEach(item => {
+                        if (item.link && item.name && item.searchMethod && item.value) {
+                            var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.advancedQuerySearchKey = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showAdvancedQueryDialog = false;
+            },
+            addSortField() {
+                this.tableSortFields.push({
+                    name: '',
+                    order: 'asc',
+                });
+            },
+            removeSortField(i) {
+                if (this.tableSortFields.length > 0) {
+                    this.tableSortFields.splice(i, 1);
+                }
+            },
+            tableSortQuery() {
+
+                this.orderByStr = '';
+
+                if (this.tableSortFields.length > 0) {
+
+                    var templist = [];
+
+                    this.tableSortFields.forEach(item => {
+                        if (item.name && item.order) {
+                            var tempItem = item.name + '_,' + item.order;
+                            templist.push(tempItem);
+                        }
+                    })
+
+                    if (templist.length > 0) {
+
+                        this.orderByStr = templist.join('_;');
+                    }
+                }
+
+                this.getData();
+                this.showTableSortDialog = false;
+            },
+            exportExcel() {
+                window.location.href = this.$baseUrl + "/systemNotice/exportExcel?searchKey="
+                        + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey+"&orderByStr=" + this.orderByStr;
+            },
+            searchData() {
+                this.currentPage = 1;
+                this.getData();
+            },
+            deleteRow(row) {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
+                    return this.$http.post({
+                        url: '/systemNotice/del',
+                        data: {id: row.id}
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.getData();
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+            DateTimeFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD HH:mm', {locale: zh})
+                }
+
+            },
+            DateFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD', {locale: zh})
+                }
+
+            },
+            showImg(img) {
+                this.imgSrc = img;
+                this.imageDialogVisible = true;
+            },
+
+        }
+    }
+</script>
+<style lang="less" scoped>
+
+</style>

+ 120 - 0
src/main/vue/src/router/index.js

@@ -211,6 +211,126 @@ const router = new Router({
                     name: 'MyCanvas',
                     component: () =>
                         import ('../pages/MyCanvas')
+                },
+                {
+                    path: '/houseInfo',
+                    name: 'HouseInfo',
+                    component: () => import('../pages/HouseInfo')
+                },
+                {
+                    path: '/houseInfos',
+                    name: 'HouseInfos',
+                    component: () => import('../pages/HouseInfos')
+                },
+                {
+                    path: '/houseLevel',
+                    name: 'HouseLevel',
+                    component: () => import('../pages/HouseLevel')
+                },
+                {
+                    path: '/houseLevels',
+                    name: 'HouseLevels',
+                    component: () => import('../pages/HouseLevels')
+                },
+                {
+                    path: '/bannerInfo',
+                    name: 'BannerInfo',
+                    component: () => import('../pages/BannerInfo')
+                },
+                {
+                    path: '/bannerInfos',
+                    name: 'BannerInfos',
+                    component: () => import('../pages/BannerInfos')
+                },
+                {
+                    path: '/gameInfo',
+                    name: 'GameInfo',
+                    component: () => import('../pages/GameInfo')
+                },
+                {
+                    path: '/gameInfos',
+                    name: 'GameInfos',
+                    component: () => import('../pages/GameInfos')
+                },
+                {
+                    path: '/playerInfo',
+                    name: 'PlayerInfo',
+                    component: () => import('../pages/PlayerInfo')
+                },
+                {
+                    path: '/playerInfos',
+                    name: 'PlayerInfos',
+                    component: () => import('../pages/PlayerInfos')
+                },
+                {
+                    path: '/memberCoin',
+                    name: 'MemberCoin',
+                    component: () => import('../pages/MemberCoin')
+                },
+                {
+                    path: '/memberCoins',
+                    name: 'MemberCoins',
+                    component: () => import('../pages/MemberCoins')
+                },
+                {
+                    path: '/platformIncomeRecord',
+                    name: 'PlatformIncomeRecord',
+                    component: () => import('../pages/PlatformIncomeRecord')
+                },
+                {
+                    path: '/platformIncomeRecords',
+                    name: 'PlatformIncomeRecords',
+                    component: () => import('../pages/PlatformIncomeRecords')
+                },
+                {
+                    path: '/systemNotice',
+                    name: 'SystemNotice',
+                    component: () => import('../pages/SystemNotice')
+                },
+                {
+                    path: '/systemNotices',
+                    name: 'SystemNotices',
+                    component: () => import('../pages/SystemNotices')
+                },
+                {
+                    path: '/rechargeRecord',
+                    name: 'RechargeRecord',
+                    component: () => import('../pages/RechargeRecord')
+                },
+                {
+                    path: '/rechargeRecords',
+                    name: 'RechargeRecords',
+                    component: () => import('../pages/RechargeRecords')
+                },
+                {
+                    path: '/memberCoinTixian',
+                    name: 'MemberCoinTixian',
+                    component: () => import('../pages/MemberCoinTixian')
+                },
+                {
+                    path: '/memberCoinTixians',
+                    name: 'MemberCoinTixians',
+                    component: () => import('../pages/MemberCoinTixians')
+                },
+                {
+                    path: '/competitionSeason',
+                    name: 'CompetitionSeason',
+                    component: () => import('../pages/CompetitionSeason')
+                },
+                {
+                    path: '/competitionSeasons',
+                    name: 'CompetitionSeasons',
+                    component: () => import('../pages/CompetitionSeasons')
+                },
+                {
+                    path: '/bonusRecord',
+                    name: 'BonusRecord',
+                    component: () => import('../pages/BonusRecord')
+                },
+                {
+                    path: '/bonusRecords',
+                    name: 'BonusRecords',
+                    component: () => import('../pages/BonusRecords')
                 }
                 /**INSERT_LOCATION**/
             ]

Some files were not shown because too many files changed in this diff