zc 7 yıl önce
ebeveyn
işleme
31e08d2d53
100 değiştirilmiş dosya ile 18609 ekleme ve 0 silme
  1. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/ClickHistoryMapper.java
  2. 390 0
      src/main/java/com/izouma/awesomeadmin/dao/ClickHistoryMapper.xml
  3. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/EquipmentInfoMapper.java
  4. 390 0
      src/main/java/com/izouma/awesomeadmin/dao/EquipmentInfoMapper.xml
  5. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/ExhibitionContentMapper.java
  6. 390 0
      src/main/java/com/izouma/awesomeadmin/dao/ExhibitionContentMapper.xml
  7. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/FileInfoMapper.java
  8. 430 0
      src/main/java/com/izouma/awesomeadmin/dao/FileInfoMapper.xml
  9. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/FinancialDataMapper.java
  10. 356 0
      src/main/java/com/izouma/awesomeadmin/dao/FinancialDataMapper.xml
  11. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/ImgInfoMapper.java
  12. 445 0
      src/main/java/com/izouma/awesomeadmin/dao/ImgInfoMapper.xml
  13. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/MemberInfoMapper.java
  14. 431 0
      src/main/java/com/izouma/awesomeadmin/dao/MemberInfoMapper.xml
  15. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/MenuInfoMapper.java
  16. 431 0
      src/main/java/com/izouma/awesomeadmin/dao/MenuInfoMapper.xml
  17. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/PinpaijuzhenMapper.java
  18. 344 0
      src/main/java/com/izouma/awesomeadmin/dao/PinpaijuzhenMapper.xml
  19. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/PinpaimenmianMapper.java
  20. 344 0
      src/main/java/com/izouma/awesomeadmin/dao/PinpaimenmianMapper.xml
  21. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/PlayInfoMapper.java
  22. 505 0
      src/main/java/com/izouma/awesomeadmin/dao/PlayInfoMapper.xml
  23. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/StationInfoMapper.java
  24. 367 0
      src/main/java/com/izouma/awesomeadmin/dao/StationInfoMapper.xml
  25. 33 0
      src/main/java/com/izouma/awesomeadmin/dao/SubItemMapper.java
  26. 383 0
      src/main/java/com/izouma/awesomeadmin/dao/SubItemMapper.xml
  27. 132 0
      src/main/java/com/izouma/awesomeadmin/model/ClickHistory.java
  28. 132 0
      src/main/java/com/izouma/awesomeadmin/model/EquipmentInfo.java
  29. 132 0
      src/main/java/com/izouma/awesomeadmin/model/ExhibitionContent.java
  30. 160 0
      src/main/java/com/izouma/awesomeadmin/model/FileInfo.java
  31. 144 0
      src/main/java/com/izouma/awesomeadmin/model/FinancialData.java
  32. 148 0
      src/main/java/com/izouma/awesomeadmin/model/ImgInfo.java
  33. 168 0
      src/main/java/com/izouma/awesomeadmin/model/MemberInfo.java
  34. 185 0
      src/main/java/com/izouma/awesomeadmin/model/MenuInfo.java
  35. 141 0
      src/main/java/com/izouma/awesomeadmin/model/Pinpaijuzhen.java
  36. 141 0
      src/main/java/com/izouma/awesomeadmin/model/Pinpaimenmian.java
  37. 172 0
      src/main/java/com/izouma/awesomeadmin/model/PlayInfo.java
  38. 124 0
      src/main/java/com/izouma/awesomeadmin/model/StationInfo.java
  39. 144 0
      src/main/java/com/izouma/awesomeadmin/model/SubItem.java
  40. 27 0
      src/main/java/com/izouma/awesomeadmin/service/ClickHistoryService.java
  41. 27 0
      src/main/java/com/izouma/awesomeadmin/service/EquipmentInfoService.java
  42. 27 0
      src/main/java/com/izouma/awesomeadmin/service/ExhibitionContentService.java
  43. 27 0
      src/main/java/com/izouma/awesomeadmin/service/FileInfoService.java
  44. 27 0
      src/main/java/com/izouma/awesomeadmin/service/FinancialDataService.java
  45. 27 0
      src/main/java/com/izouma/awesomeadmin/service/ImgInfoService.java
  46. 27 0
      src/main/java/com/izouma/awesomeadmin/service/MemberInfoService.java
  47. 27 0
      src/main/java/com/izouma/awesomeadmin/service/MenuInfoService.java
  48. 27 0
      src/main/java/com/izouma/awesomeadmin/service/PinpaijuzhenService.java
  49. 27 0
      src/main/java/com/izouma/awesomeadmin/service/PinpaimenmianService.java
  50. 27 0
      src/main/java/com/izouma/awesomeadmin/service/PlayInfoService.java
  51. 27 0
      src/main/java/com/izouma/awesomeadmin/service/StationInfoService.java
  52. 27 0
      src/main/java/com/izouma/awesomeadmin/service/SubItemService.java
  53. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/ClickHistoryServiceImpl.java
  54. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/EquipmentInfoServiceImpl.java
  55. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/ExhibitionContentServiceImpl.java
  56. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/FileInfoServiceImpl.java
  57. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/FinancialDataServiceImpl.java
  58. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/ImgInfoServiceImpl.java
  59. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/MemberInfoServiceImpl.java
  60. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/MenuInfoServiceImpl.java
  61. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/PinpaijuzhenServiceImpl.java
  62. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/PinpaimenmianServiceImpl.java
  63. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/PlayInfoServiceImpl.java
  64. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/StationInfoServiceImpl.java
  65. 137 0
      src/main/java/com/izouma/awesomeadmin/service/impl/SubItemServiceImpl.java
  66. 160 0
      src/main/java/com/izouma/awesomeadmin/web/ClickHistoryController.java
  67. 160 0
      src/main/java/com/izouma/awesomeadmin/web/EquipmentInfoController.java
  68. 160 0
      src/main/java/com/izouma/awesomeadmin/web/ExhibitionContentController.java
  69. 179 0
      src/main/java/com/izouma/awesomeadmin/web/FileInfoController.java
  70. 158 0
      src/main/java/com/izouma/awesomeadmin/web/FinancialDataController.java
  71. 162 0
      src/main/java/com/izouma/awesomeadmin/web/ImgInfoController.java
  72. 181 0
      src/main/java/com/izouma/awesomeadmin/web/MemberInfoController.java
  73. 178 0
      src/main/java/com/izouma/awesomeadmin/web/MenuInfoController.java
  74. 158 0
      src/main/java/com/izouma/awesomeadmin/web/PinpaijuzhenController.java
  75. 158 0
      src/main/java/com/izouma/awesomeadmin/web/PinpaimenmianController.java
  76. 165 0
      src/main/java/com/izouma/awesomeadmin/web/PlayInfoController.java
  77. 159 0
      src/main/java/com/izouma/awesomeadmin/web/StationInfoController.java
  78. 176 0
      src/main/java/com/izouma/awesomeadmin/web/SubItemController.java
  79. 114 0
      src/main/vue/src/pages/ClickHistory.vue
  80. 439 0
      src/main/vue/src/pages/ClickHistorys.vue
  81. 137 0
      src/main/vue/src/pages/EquipmentInfo.vue
  82. 494 0
      src/main/vue/src/pages/EquipmentInfos.vue
  83. 123 0
      src/main/vue/src/pages/ExhibitionContent.vue
  84. 462 0
      src/main/vue/src/pages/ExhibitionContents.vue
  85. 161 0
      src/main/vue/src/pages/FileInfo.vue
  86. 462 0
      src/main/vue/src/pages/FileInfos.vue
  87. 117 0
      src/main/vue/src/pages/FinancialData.vue
  88. 451 0
      src/main/vue/src/pages/FinancialDatas.vue
  89. 125 0
      src/main/vue/src/pages/ImgInfo.vue
  90. 478 0
      src/main/vue/src/pages/ImgInfos.vue
  91. 142 0
      src/main/vue/src/pages/MemberInfo.vue
  92. 505 0
      src/main/vue/src/pages/MemberInfos.vue
  93. 149 0
      src/main/vue/src/pages/MenuInfo.vue
  94. 520 0
      src/main/vue/src/pages/MenuInfos.vue
  95. 126 0
      src/main/vue/src/pages/Pinpaijuzhen.vue
  96. 449 0
      src/main/vue/src/pages/Pinpaijuzhens.vue
  97. 125 0
      src/main/vue/src/pages/Pinpaimenmian.vue
  98. 460 0
      src/main/vue/src/pages/Pinpaimenmians.vue
  99. 166 0
      src/main/vue/src/pages/PlayInfo.vue
  100. 560 0
      src/main/vue/src/pages/PlayInfos.vue

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/ClickHistoryMapper.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.ClickHistory;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.ClickHistoryMapper")
+public interface ClickHistoryMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(ClickHistory record);
+
+    ClickHistory selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(ClickHistory record);
+
+    List<ClickHistory> queryAllClickHistory(ClickHistory record);
+
+    List<ClickHistory> queryClickHistoryByPage(Map<String, Object> parameter);
+
+    int delete(ClickHistory record);
+
+    ClickHistory queryClickHistory(ClickHistory record);
+
+    List<ClickHistory> query(ClickHistory record);
+}
+

+ 390 - 0
src/main/java/com/izouma/awesomeadmin/dao/ClickHistoryMapper.xml

@@ -0,0 +1,390 @@
+<?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.ClickHistoryMapper" >
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.ClickHistory" >
+                <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="station_id" property="stationId" jdbcType="INTEGER" />
+                                <result column="exhibition_id" property="exhibitionId" jdbcType="INTEGER" />
+                                <result column="clicked_id" property="clickedId" jdbcType="INTEGER" />
+            </resultMap>
+    <sql id="Base_Column_List" >
+        <trim  suffixOverrides="," >
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            station_id,
+
+            exhibition_id,
+
+            clicked_id,
+
+            </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+        select
+        <include refid="Base_Column_List" />
+        from click_history
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+        delete from click_history
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.ClickHistory" useGeneratedKeys="true" keyProperty="id">
+        insert into click_history
+        <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="stationId!= null" >
+                station_id,
+            </if>
+                <if test="exhibitionId!= null" >
+                exhibition_id,
+            </if>
+                <if test="clickedId!= null" >
+                clicked_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="stationId != null" >
+                #{stationId,jdbcType=INTEGER},
+            </if>
+                    <if test="exhibitionId != null" >
+                #{exhibitionId,jdbcType=INTEGER},
+            </if>
+                    <if test="clickedId != null" >
+                #{clickedId,jdbcType=INTEGER},
+            </if>
+                </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.ClickHistory" >
+        update click_history
+        <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="stationId != null" >
+               station_id= #{stationId,jdbcType=INTEGER},
+            </if>
+                     <if test="exhibitionId != null" >
+               exhibition_id= #{exhibitionId,jdbcType=INTEGER},
+            </if>
+                     <if test="clickedId != null" >
+               clicked_id= #{clickedId,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="queryClickHistoryByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.ClickHistory">
+        select <include refid="Base_Column_List"/> from click_history
+        <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.stationId != null and !&quot;&quot;.equals(record.stationId)">
+                and  station_id = #{record.stationId}
+            </if>
+                     <if test="record.exhibitionId != null and !&quot;&quot;.equals(record.exhibitionId)">
+                and  exhibition_id = #{record.exhibitionId}
+            </if>
+                     <if test="record.clickedId != null and !&quot;&quot;.equals(record.clickedId)">
+                and  clicked_id = #{record.clickedId}
+            </if>
+                  <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+             <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                    OR  station_id LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  exhibition_id LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  clicked_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="queryAllClickHistory" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.ClickHistory">
+        select <include refid="Base_Column_List"/> from click_history
+        <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="stationId != null and !&quot;&quot;.equals(stationId)">
+                and  station_id = #{stationId}
+            </if>
+                    <if test="exhibitionId != null and !&quot;&quot;.equals(exhibitionId)">
+                and  exhibition_id = #{exhibitionId}
+            </if>
+                    <if test="clickedId != null and !&quot;&quot;.equals(clickedId)">
+                and  clicked_id = #{clickedId}
+            </if>
+                    <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                OR  station_id LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  exhibition_id LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  clicked_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="queryClickHistory" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.ClickHistory">
+        select <include refid="Base_Column_List"/> from click_history
+        <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="stationId != null and !&quot;&quot;.equals(stationId)">
+                and station_id = #{stationId}
+            </if>
+                     <if test="exhibitionId != null and !&quot;&quot;.equals(exhibitionId)">
+                and exhibition_id = #{exhibitionId}
+            </if>
+                     <if test="clickedId != null and !&quot;&quot;.equals(clickedId)">
+                and clicked_id = #{clickedId}
+            </if>
+         
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE click_history 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.ClickHistory">
+        select <include refid="Base_Column_List"/> from click_history
+        <where>
+            and del_flag = 'N'
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </where>
+        order by id desc
+    </select>
+</mapper>
+

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/EquipmentInfoMapper.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.EquipmentInfo;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.EquipmentInfoMapper")
+public interface EquipmentInfoMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(EquipmentInfo record);
+
+    EquipmentInfo selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(EquipmentInfo record);
+
+    List<EquipmentInfo> queryAllEquipmentInfo(EquipmentInfo record);
+
+    List<EquipmentInfo> queryEquipmentInfoByPage(Map<String, Object> parameter);
+
+    int delete(EquipmentInfo record);
+
+    EquipmentInfo queryEquipmentInfo(EquipmentInfo record);
+
+    List<EquipmentInfo> query(EquipmentInfo record);
+}
+

+ 390 - 0
src/main/java/com/izouma/awesomeadmin/dao/EquipmentInfoMapper.xml

@@ -0,0 +1,390 @@
+<?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.EquipmentInfoMapper" >
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.EquipmentInfo" >
+                <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="station_id" property="stationId" jdbcType="INTEGER" />
+                                <result column="exhibition_id" property="exhibitionId" jdbcType="INTEGER" />
+                                <result column="status" property="status" jdbcType="VARCHAR" />
+            </resultMap>
+    <sql id="Base_Column_List" >
+        <trim  suffixOverrides="," >
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            station_id,
+
+            exhibition_id,
+
+            status,
+
+            </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+        select
+        <include refid="Base_Column_List" />
+        from equipment_info
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+        delete from equipment_info
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.EquipmentInfo" useGeneratedKeys="true" keyProperty="id">
+        insert into equipment_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="stationId!= null" >
+                station_id,
+            </if>
+                <if test="exhibitionId!= null" >
+                exhibition_id,
+            </if>
+                <if test="status!= null" >
+                status,
+            </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="stationId != null" >
+                #{stationId,jdbcType=INTEGER},
+            </if>
+                    <if test="exhibitionId != null" >
+                #{exhibitionId,jdbcType=INTEGER},
+            </if>
+                    <if test="status != null" >
+                #{status,jdbcType=VARCHAR},
+            </if>
+                </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.EquipmentInfo" >
+        update equipment_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="stationId != null" >
+               station_id= #{stationId,jdbcType=INTEGER},
+            </if>
+                     <if test="exhibitionId != null" >
+               exhibition_id= #{exhibitionId,jdbcType=INTEGER},
+            </if>
+                     <if test="status != null" >
+               status= #{status,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="queryEquipmentInfoByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.EquipmentInfo">
+        select <include refid="Base_Column_List"/> from equipment_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.stationId != null and !&quot;&quot;.equals(record.stationId)">
+                and  station_id = #{record.stationId}
+            </if>
+                     <if test="record.exhibitionId != null and !&quot;&quot;.equals(record.exhibitionId)">
+                and  exhibition_id = #{record.exhibitionId}
+            </if>
+                     <if test="record.status != null and !&quot;&quot;.equals(record.status)">
+                and  status = #{record.status}
+            </if>
+                  <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+             <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                    OR  station_id LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  exhibition_id LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  status 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="queryAllEquipmentInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.EquipmentInfo">
+        select <include refid="Base_Column_List"/> from equipment_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="stationId != null and !&quot;&quot;.equals(stationId)">
+                and  station_id = #{stationId}
+            </if>
+                    <if test="exhibitionId != null and !&quot;&quot;.equals(exhibitionId)">
+                and  exhibition_id = #{exhibitionId}
+            </if>
+                    <if test="status != null and !&quot;&quot;.equals(status)">
+                and  status = #{status}
+            </if>
+                    <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                OR  station_id LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  exhibition_id LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  status 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="queryEquipmentInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.EquipmentInfo">
+        select <include refid="Base_Column_List"/> from equipment_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="stationId != null and !&quot;&quot;.equals(stationId)">
+                and station_id = #{stationId}
+            </if>
+                     <if test="exhibitionId != null and !&quot;&quot;.equals(exhibitionId)">
+                and exhibition_id = #{exhibitionId}
+            </if>
+                     <if test="status != null and !&quot;&quot;.equals(status)">
+                and status = #{status}
+            </if>
+         
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE equipment_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.EquipmentInfo">
+        select <include refid="Base_Column_List"/> from equipment_info
+        <where>
+            and del_flag = 'N'
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </where>
+        order by id desc
+    </select>
+</mapper>
+

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/ExhibitionContentMapper.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.ExhibitionContent;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.ExhibitionContentMapper")
+public interface ExhibitionContentMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(ExhibitionContent record);
+
+    ExhibitionContent selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(ExhibitionContent record);
+
+    List<ExhibitionContent> queryAllExhibitionContent(ExhibitionContent record);
+
+    List<ExhibitionContent> queryExhibitionContentByPage(Map<String, Object> parameter);
+
+    int delete(ExhibitionContent record);
+
+    ExhibitionContent queryExhibitionContent(ExhibitionContent record);
+
+    List<ExhibitionContent> query(ExhibitionContent record);
+}
+

+ 390 - 0
src/main/java/com/izouma/awesomeadmin/dao/ExhibitionContentMapper.xml

@@ -0,0 +1,390 @@
+<?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.ExhibitionContentMapper" >
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.ExhibitionContent" >
+                <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="name" property="name" jdbcType="VARCHAR" />
+                                <result column="version" property="version" jdbcType="INTEGER" />
+                                <result column="station_id" property="stationId" jdbcType="INTEGER" />
+            </resultMap>
+    <sql id="Base_Column_List" >
+        <trim  suffixOverrides="," >
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            name,
+
+            version,
+
+            station_id,
+
+            </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+        select
+        <include refid="Base_Column_List" />
+        from exhibition_content
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+        delete from exhibition_content
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.ExhibitionContent" useGeneratedKeys="true" keyProperty="id">
+        insert into exhibition_content
+        <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="name!= null" >
+                name,
+            </if>
+                <if test="version!= null" >
+                version,
+            </if>
+                <if test="stationId!= null" >
+                station_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="name != null" >
+                #{name,jdbcType=VARCHAR},
+            </if>
+                    <if test="version != null" >
+                #{version,jdbcType=INTEGER},
+            </if>
+                    <if test="stationId != null" >
+                #{stationId,jdbcType=INTEGER},
+            </if>
+                </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.ExhibitionContent" >
+        update exhibition_content
+        <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="name != null" >
+               name= #{name,jdbcType=VARCHAR},
+            </if>
+                     <if test="version != null" >
+               version= #{version,jdbcType=INTEGER},
+            </if>
+                     <if test="stationId != null" >
+               station_id= #{stationId,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="queryExhibitionContentByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.ExhibitionContent">
+        select <include refid="Base_Column_List"/> from exhibition_content
+        <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.name != null and !&quot;&quot;.equals(record.name)">
+                and  name = #{record.name}
+            </if>
+                     <if test="record.version != null and !&quot;&quot;.equals(record.version)">
+                and  version = #{record.version}
+            </if>
+                     <if test="record.stationId != null and !&quot;&quot;.equals(record.stationId)">
+                and  station_id = #{record.stationId}
+            </if>
+                  <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+             <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                    OR  name LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  version LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  station_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="queryAllExhibitionContent" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.ExhibitionContent">
+        select <include refid="Base_Column_List"/> from exhibition_content
+        <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="name != null and !&quot;&quot;.equals(name)">
+                and  name = #{name}
+            </if>
+                    <if test="version != null and !&quot;&quot;.equals(version)">
+                and  version = #{version}
+            </if>
+                    <if test="stationId != null and !&quot;&quot;.equals(stationId)">
+                and  station_id = #{stationId}
+            </if>
+                    <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                OR  name LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  version LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  station_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="queryExhibitionContent" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.ExhibitionContent">
+        select <include refid="Base_Column_List"/> from exhibition_content
+        <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="name != null and !&quot;&quot;.equals(name)">
+                and name = #{name}
+            </if>
+                     <if test="version != null and !&quot;&quot;.equals(version)">
+                and version = #{version}
+            </if>
+                     <if test="stationId != null and !&quot;&quot;.equals(stationId)">
+                and station_id = #{stationId}
+            </if>
+         
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE exhibition_content 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.ExhibitionContent">
+        select <include refid="Base_Column_List"/> from exhibition_content
+        <where>
+            and del_flag = 'N'
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </where>
+        order by id desc
+    </select>
+</mapper>
+

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/FileInfoMapper.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.FileInfo;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.FileInfoMapper")
+public interface FileInfoMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(FileInfo record);
+
+    FileInfo selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(FileInfo record);
+
+    List<FileInfo> queryAllFileInfo(FileInfo record);
+
+    List<FileInfo> queryFileInfoByPage(Map<String, Object> parameter);
+
+    int delete(FileInfo record);
+
+    FileInfo queryFileInfo(FileInfo record);
+
+    List<FileInfo> query(FileInfo record);
+}
+

+ 430 - 0
src/main/java/com/izouma/awesomeadmin/dao/FileInfoMapper.xml

@@ -0,0 +1,430 @@
+<?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.FileInfoMapper">
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.FileInfo">
+        <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="url" property="url" jdbcType="VARCHAR"/>
+        <result column="upload_time" property="uploadTime" jdbcType="VARCHAR"/>
+        <result column="type" property="type" jdbcType="INTEGER"/>
+        <result column="father_id" property="fatherId" jdbcType="INTEGER"/>
+    </resultMap>
+    <sql id="Base_Column_List">
+        <trim suffixOverrides=",">
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            url,
+
+            upload_time,
+
+            type,
+
+            father_id,
+
+        </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
+        select
+        <include refid="Base_Column_List"/>
+        from file_info
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+        delete from file_info
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.FileInfo" useGeneratedKeys="true"
+            keyProperty="id">
+        insert into file_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="url!= null">
+                url,
+            </if>
+            <if test="uploadTime!= null">
+                upload_time,
+            </if>
+            <if test="type!= null">
+                type,
+            </if>
+            <if test="fatherId!= null">
+                father_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="url != null">
+                #{url,jdbcType=VARCHAR},
+            </if>
+            <if test="uploadTime != null">
+                #{uploadTime,jdbcType=VARCHAR},
+            </if>
+            <if test="type != null">
+                #{type,jdbcType=INTEGER},
+            </if>
+            <if test="fatherId != null">
+                #{fatherId,jdbcType=INTEGER},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.FileInfo">
+        update file_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="url != null">
+                url= #{url,jdbcType=VARCHAR},
+            </if>
+            <if test="uploadTime != null">
+                upload_time= #{uploadTime,jdbcType=VARCHAR},
+            </if>
+            <if test="type != null">
+                type= #{type,jdbcType=INTEGER},
+            </if>
+            <if test="fatherId != null">
+                father_id= #{fatherId,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="queryFileInfoByPage" parameterType="java.util.Map" resultMap="ImgMap">
+        select
+        <include refid="Base_Column_List"/>
+        , 5 as img_type from file_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.url != null and !&quot;&quot;.equals(record.url)">
+                and url = #{record.url}
+            </if>
+            <if test="record.uploadTime != null and !&quot;&quot;.equals(record.uploadTime)">
+                and upload_time = #{record.uploadTime}
+            </if>
+            <if test="record.type != null and !&quot;&quot;.equals(record.type)">
+                and type = #{record.type}
+            </if>
+            <if test="record.fatherId != null and !&quot;&quot;.equals(record.fatherId)">
+                and father_id = #{record.fatherId}
+            </if>
+            <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR url LIKE concat('%',#{record.searchKey},'%')
+                    OR upload_time LIKE concat('%',#{record.searchKey},'%')
+                    OR type LIKE concat('%',#{record.searchKey},'%')
+                    OR father_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="queryAllFileInfo" parameterType="java.util.Map" resultMap="ImgMap">
+        select
+        <include refid="Base_Column_List"/>
+        , 5 as img_type from file_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="url != null and !&quot;&quot;.equals(url)">
+                and url = #{url}
+            </if>
+            <if test="uploadTime != null and !&quot;&quot;.equals(uploadTime)">
+                and upload_time = #{uploadTime}
+            </if>
+            <if test="type != null and !&quot;&quot;.equals(type)">
+                and type = #{type}
+            </if>
+            <if test="fatherId != null and !&quot;&quot;.equals(fatherId)">
+                and father_id = #{fatherId}
+            </if>
+            <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR url LIKE concat('%',#{searchKey},'%')
+                    OR upload_time LIKE concat('%',#{searchKey},'%')
+                    OR type LIKE concat('%',#{searchKey},'%')
+                    OR father_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="queryFileInfo" parameterType="java.util.Map" resultMap="ImgMap">
+        select
+        <include refid="Base_Column_List"/>
+        , 5 as img_type from file_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="url != null and !&quot;&quot;.equals(url)">
+                and url = #{url}
+            </if>
+            <if test="uploadTime != null and !&quot;&quot;.equals(uploadTime)">
+                and upload_time = #{uploadTime}
+            </if>
+            <if test="type != null and !&quot;&quot;.equals(type)">
+                and type = #{type}
+            </if>
+            <if test="fatherId != null and !&quot;&quot;.equals(fatherId)">
+                and father_id = #{fatherId}
+            </if>
+
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE file_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.FileInfo">
+        select
+        <include refid="Base_Column_List"/>
+        from file_info
+        <where>
+            and del_flag = 'N'
+        </where>
+        order by id desc
+    </select>
+
+    <resultMap id="ImgMap" type="com.izouma.awesomeadmin.model.FileInfo" extends="BaseResultMap">
+        <association property="imgInfo" javaType="com.izouma.awesomeadmin.model.ImgInfo"
+                     select="com.izouma.awesomeadmin.dao.ImgInfoMapper.queryImgInfo"
+                     column="{fatherId =  id ,type = img_type }">
+        </association>
+    </resultMap>
+
+</mapper>
+

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/FinancialDataMapper.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.FinancialData;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.FinancialDataMapper")
+public interface FinancialDataMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(FinancialData record);
+
+    FinancialData selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(FinancialData record);
+
+    List<FinancialData> queryAllFinancialData(FinancialData record);
+
+    List<FinancialData> queryFinancialDataByPage(Map<String, Object> parameter);
+
+    int delete(FinancialData record);
+
+    FinancialData queryFinancialData(FinancialData record);
+
+    List<FinancialData> query(FinancialData record);
+}
+

+ 356 - 0
src/main/java/com/izouma/awesomeadmin/dao/FinancialDataMapper.xml

@@ -0,0 +1,356 @@
+<?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.FinancialDataMapper" >
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.FinancialData" >
+                <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="station_id" property="stationId" jdbcType="INTEGER" />
+            </resultMap>
+    <sql id="Base_Column_List" >
+        <trim  suffixOverrides="," >
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            station_id,
+
+            </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+        select
+        <include refid="Base_Column_List" />
+        from financial_data
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+        delete from financial_data
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.FinancialData" useGeneratedKeys="true" keyProperty="id">
+        insert into financial_data
+        <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="stationId!= null" >
+                station_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="stationId != null" >
+                #{stationId,jdbcType=INTEGER},
+            </if>
+                </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.FinancialData" >
+        update financial_data
+        <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="stationId != null" >
+               station_id= #{stationId,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="queryFinancialDataByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.FinancialData">
+        select <include refid="Base_Column_List"/> from financial_data
+        <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.stationId != null and !&quot;&quot;.equals(record.stationId)">
+                and  station_id = #{record.stationId}
+            </if>
+                  <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+             <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                    OR  station_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="queryAllFinancialData" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.FinancialData">
+        select <include refid="Base_Column_List"/> from financial_data
+        <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="stationId != null and !&quot;&quot;.equals(stationId)">
+                and  station_id = #{stationId}
+            </if>
+                    <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                OR  station_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="queryFinancialData" parameterType="java.util.Map" resultMap="dataMap">
+        select <include refid="Base_Column_List"/> , 1 as app_type , 0 as video_type from financial_data
+        <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="stationId != null and !&quot;&quot;.equals(stationId)">
+                and station_id = #{stationId}
+            </if>
+         
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE financial_data 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.FinancialData">
+        select <include refid="Base_Column_List"/> from financial_data
+        <where>
+            and del_flag = 'N'
+                                                                                                                                                                                                                                                                                                                                                                                                                            </where>
+        order by id desc
+    </select>
+
+    <resultMap id="dataMap" type="com.izouma.awesomeadmin.model.FinancialData" extends="BaseResultMap">
+        <association property="app" javaType="com.izouma.awesomeadmin.model.FileInfo"
+                     select="com.izouma.awesomeadmin.dao.FileInfoMapper.queryFileInfo"
+                     column="{fatherId =  id ,type = app_type }">
+     </association>
+
+      <collection property="video" ofType="com.izouma.awesomeadmin.model.FileInfo"
+                select="com.izouma.awesomeadmin.dao.FileInfoMapper.queryAllFileInfo"
+                  column="{fatherId =  id ,type = video_type}">
+        </collection>
+    </resultMap>
+</mapper>
+

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/ImgInfoMapper.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.ImgInfo;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.ImgInfoMapper")
+public interface ImgInfoMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(ImgInfo record);
+
+    ImgInfo selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(ImgInfo record);
+
+    List<ImgInfo> queryAllImgInfo(ImgInfo record);
+
+    List<ImgInfo> queryImgInfoByPage(Map<String, Object> parameter);
+
+    int delete(ImgInfo record);
+
+    ImgInfo queryImgInfo(ImgInfo record);
+
+    List<ImgInfo> query(ImgInfo record);
+}
+

+ 445 - 0
src/main/java/com/izouma/awesomeadmin/dao/ImgInfoMapper.xml

@@ -0,0 +1,445 @@
+<?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.ImgInfoMapper">
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.ImgInfo">
+        <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="url" property="url" jdbcType="VARCHAR"/>
+        <result column="upload_time" property="uploadTime" jdbcType="TIMESTAMP"/>
+        <result column="type" property="type" jdbcType="INTEGER"/>
+        <result column="father_id" property="fatherId" jdbcType="INTEGER"/>
+        <result column="rank" property="rank" jdbcType="INTEGER"/>
+    </resultMap>
+    <sql id="Base_Column_List">
+        <trim suffixOverrides=",">
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            url,
+
+            upload_time,
+
+            type,
+
+            father_id,
+
+            rank,
+
+        </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
+        select
+        <include refid="Base_Column_List"/>
+        from img_info
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+        delete from img_info
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.ImgInfo" useGeneratedKeys="true"
+            keyProperty="id">
+        insert into img_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="url!= null">
+                url,
+            </if>
+            <if test="uploadTime!= null">
+                upload_time,
+            </if>
+            <if test="type!= null">
+                type,
+            </if>
+            <if test="fatherId!= null">
+                father_id,
+            </if>
+            <if test="rank!= null">
+                rank,
+            </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="url != null">
+                #{url,jdbcType=VARCHAR},
+            </if>
+            <if test="uploadTime != null">
+                #{uploadTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="type != null">
+                #{type,jdbcType=INTEGER},
+            </if>
+            <if test="fatherId != null">
+                #{fatherId,jdbcType=INTEGER},
+            </if>
+            <if test="rank != null">
+                #{rank,jdbcType=INTEGER},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.ImgInfo">
+        update img_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="url != null">
+                url= #{url,jdbcType=VARCHAR},
+            </if>
+            <if test="uploadTime != null">
+                upload_time= #{uploadTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="type != null">
+                type= #{type,jdbcType=INTEGER},
+            </if>
+            <if test="fatherId != null">
+                father_id= #{fatherId,jdbcType=INTEGER},
+            </if>
+            <if test="rank != null">
+                rank= #{rank,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="queryImgInfoByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.ImgInfo">
+        select
+        <include refid="Base_Column_List"/>
+        from img_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.url != null and !&quot;&quot;.equals(record.url)">
+                and url = #{record.url}
+            </if>
+            <if test="record.uploadTime != null and !&quot;&quot;.equals(record.uploadTime)">
+                and upload_time = #{record.uploadTime}
+            </if>
+            <if test="record.type != null and !&quot;&quot;.equals(record.type)">
+                and type = #{record.type}
+            </if>
+            <if test="record.fatherId != null and !&quot;&quot;.equals(record.fatherId)">
+                and father_id = #{record.fatherId}
+            </if>
+            <if test="record.rank != null and !&quot;&quot;.equals(record.rank)">
+                and rank = #{record.rank}
+            </if>
+            <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR url LIKE concat('%',#{record.searchKey},'%')
+                    OR upload_time LIKE concat('%',#{record.searchKey},'%')
+                    OR type LIKE concat('%',#{record.searchKey},'%')
+                    OR father_id LIKE concat('%',#{record.searchKey},'%')
+                    OR rank 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="queryAllImgInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.ImgInfo">
+        select
+        <include refid="Base_Column_List"/>
+        from img_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="url != null and !&quot;&quot;.equals(url)">
+                and url = #{url}
+            </if>
+            <if test="uploadTime != null and !&quot;&quot;.equals(uploadTime)">
+                and upload_time = #{uploadTime}
+            </if>
+            <if test="type != null and !&quot;&quot;.equals(type)">
+                and type = #{type}
+            </if>
+            <if test="fatherId != null and !&quot;&quot;.equals(fatherId)">
+                and father_id = #{fatherId}
+            </if>
+            <if test="rank != null and !&quot;&quot;.equals(rank)">
+                and rank = #{rank}
+            </if>
+            <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR url LIKE concat('%',#{searchKey},'%')
+                    OR upload_time LIKE concat('%',#{searchKey},'%')
+                    OR type LIKE concat('%',#{searchKey},'%')
+                    OR father_id LIKE concat('%',#{searchKey},'%')
+                    OR rank 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="queryImgInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.ImgInfo">
+        select
+        <include refid="Base_Column_List"/>
+        from img_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="url != null and !&quot;&quot;.equals(url)">
+                and url = #{url}
+            </if>
+            <if test="uploadTime != null and !&quot;&quot;.equals(uploadTime)">
+                and upload_time = #{uploadTime}
+            </if>
+            <if test="type != null and !&quot;&quot;.equals(type)">
+                and type = #{type}
+            </if>
+            <if test="fatherId != null and !&quot;&quot;.equals(fatherId)">
+                and father_id = #{fatherId}
+            </if>
+            <if test="rank != null and !&quot;&quot;.equals(rank)">
+                and rank = #{rank}
+            </if>
+
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE img_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.ImgInfo">
+        select
+        <include refid="Base_Column_List"/>
+        from img_info
+        <where>
+            and del_flag = 'N'
+        </where>
+        order by id desc
+    </select>
+</mapper>
+

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/MemberInfoMapper.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.MemberInfo;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.MemberInfoMapper")
+public interface MemberInfoMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(MemberInfo record);
+
+    MemberInfo selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(MemberInfo record);
+
+    List<MemberInfo> queryAllMemberInfo(MemberInfo record);
+
+    List<MemberInfo> queryMemberInfoByPage(Map<String, Object> parameter);
+
+    int delete(MemberInfo record);
+
+    MemberInfo queryMemberInfo(MemberInfo record);
+
+    List<MemberInfo> query(MemberInfo record);
+}
+

+ 431 - 0
src/main/java/com/izouma/awesomeadmin/dao/MemberInfoMapper.xml

@@ -0,0 +1,431 @@
+<?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.MemberInfoMapper">
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.MemberInfo">
+        <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="name" property="name" jdbcType="VARCHAR"/>
+        <result column="post" property="post" jdbcType="VARCHAR"/>
+        <result column="certificateNum" property="certificatenum" jdbcType="VARCHAR"/>
+        <result column="qualification" property="qualification" jdbcType="VARCHAR"/>
+    </resultMap>
+    <sql id="Base_Column_List">
+        <trim suffixOverrides=",">
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            name,
+
+            post,
+
+            certificateNum,
+
+            qualification,
+
+        </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
+        select
+        <include refid="Base_Column_List"/>
+        from member_info
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+        delete from member_info
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.MemberInfo" useGeneratedKeys="true"
+            keyProperty="id">
+        insert into member_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="name!= null">
+                name,
+            </if>
+            <if test="post!= null">
+                post,
+            </if>
+            <if test="certificatenum!= null">
+                certificateNum,
+            </if>
+            <if test="qualification!= null">
+                qualification,
+            </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="name != null">
+                #{name,jdbcType=VARCHAR},
+            </if>
+            <if test="post != null">
+                #{post,jdbcType=VARCHAR},
+            </if>
+            <if test="certificatenum != null">
+                #{certificatenum,jdbcType=VARCHAR},
+            </if>
+            <if test="qualification != null">
+                #{qualification,jdbcType=VARCHAR},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.MemberInfo">
+        update member_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="name != null">
+                name= #{name,jdbcType=VARCHAR},
+            </if>
+            <if test="post != null">
+                post= #{post,jdbcType=VARCHAR},
+            </if>
+            <if test="certificatenum != null">
+                certificateNum= #{certificatenum,jdbcType=VARCHAR},
+            </if>
+            <if test="qualification != null">
+                qualification= #{qualification,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="queryMemberInfoByPage" parameterType="java.util.Map" resultMap="memberMap">
+        select
+        <include refid="Base_Column_List"/>
+        , 3 as img_type from member_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.name != null and !&quot;&quot;.equals(record.name)">
+                and name = #{record.name}
+            </if>
+            <if test="record.post != null and !&quot;&quot;.equals(record.post)">
+                and post = #{record.post}
+            </if>
+            <if test="record.certificatenum != null and !&quot;&quot;.equals(record.certificatenum)">
+                and certificateNum = #{record.certificatenum}
+            </if>
+            <if test="record.qualification != null and !&quot;&quot;.equals(record.qualification)">
+                and qualification = #{record.qualification}
+            </if>
+            <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR name LIKE concat('%',#{record.searchKey},'%')
+                    OR post LIKE concat('%',#{record.searchKey},'%')
+                    OR certificateNum LIKE concat('%',#{record.searchKey},'%')
+                    OR qualification 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="queryAllMemberInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.MemberInfo">
+        select
+        <include refid="Base_Column_List"/>
+        from member_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="name != null and !&quot;&quot;.equals(name)">
+                and name = #{name}
+            </if>
+            <if test="post != null and !&quot;&quot;.equals(post)">
+                and post = #{post}
+            </if>
+            <if test="certificatenum != null and !&quot;&quot;.equals(certificatenum)">
+                and certificateNum = #{certificatenum}
+            </if>
+            <if test="qualification != null and !&quot;&quot;.equals(qualification)">
+                and qualification = #{qualification}
+            </if>
+            <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR name LIKE concat('%',#{searchKey},'%')
+                    OR post LIKE concat('%',#{searchKey},'%')
+                    OR certificateNum LIKE concat('%',#{searchKey},'%')
+                    OR qualification 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="queryMemberInfo" parameterType="java.util.Map" resultMap="memberMap">
+        select
+        <include refid="Base_Column_List"/>
+        , 3 as img_type from member_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="name != null and !&quot;&quot;.equals(name)">
+                and name = #{name}
+            </if>
+            <if test="post != null and !&quot;&quot;.equals(post)">
+                and post = #{post}
+            </if>
+            <if test="certificatenum != null and !&quot;&quot;.equals(certificatenum)">
+                and certificateNum = #{certificatenum}
+            </if>
+            <if test="qualification != null and !&quot;&quot;.equals(qualification)">
+                and qualification = #{qualification}
+            </if>
+
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE member_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.MemberInfo">
+        select
+        <include refid="Base_Column_List"/>
+        from member_info
+        <where>
+            and del_flag = 'N'
+        </where>
+        order by id desc
+    </select>
+
+    <resultMap id="memberMap" type="com.izouma.awesomeadmin.model.MemberInfo" extends="BaseResultMap">
+        <association property="photo" javaType="com.izouma.awesomeadmin.model.ImgInfo"
+                     select="com.izouma.awesomeadmin.dao.ImgInfoMapper.queryImgInfo"
+                     column="{fatherId =  id ,type = img_type }">
+        </association>
+    </resultMap>
+
+
+</mapper>
+

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/MenuInfoMapper.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.MenuInfo;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.MenuInfoMapper")
+public interface MenuInfoMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(MenuInfo record);
+
+    MenuInfo selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(MenuInfo record);
+
+    List<MenuInfo> queryAllMenuInfo(MenuInfo record);
+
+    List<MenuInfo> queryMenuInfoByPage(Map<String, Object> parameter);
+
+    int delete(MenuInfo record);
+
+    MenuInfo queryMenuInfo(MenuInfo record);
+
+    List<MenuInfo> query(MenuInfo record);
+}
+

+ 431 - 0
src/main/java/com/izouma/awesomeadmin/dao/MenuInfoMapper.xml

@@ -0,0 +1,431 @@
+<?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.MenuInfoMapper">
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.MenuInfo">
+        <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="menu_name" property="menuName" jdbcType="VARCHAR"/>
+        <result column="abstract_info" property="abstractInfo" jdbcType="VARCHAR"/>
+        <result column="type" property="type" jdbcType="VARCHAR"/>
+        <result column="station_info" property="stationInfo" jdbcType="INTEGER"/>
+    </resultMap>
+    <sql id="Base_Column_List">
+        <trim suffixOverrides=",">
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            menu_name,
+
+            abstract_info,
+
+            type,
+
+            station_info,
+
+        </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
+        select
+        <include refid="Base_Column_List"/>
+        from menu_info
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+        delete from menu_info
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.MenuInfo" useGeneratedKeys="true"
+            keyProperty="id">
+        insert into menu_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="menuName!= null">
+                menu_name,
+            </if>
+            <if test="abstractInfo!= null">
+                abstract_info,
+            </if>
+            <if test="type!= null">
+                type,
+            </if>
+            <if test="stationInfo!= null">
+                station_info,
+            </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="menuName != null">
+                #{menuName,jdbcType=VARCHAR},
+            </if>
+            <if test="abstractInfo != null">
+                #{abstractInfo,jdbcType=VARCHAR},
+            </if>
+            <if test="type != null">
+                #{type,jdbcType=VARCHAR},
+            </if>
+            <if test="stationInfo != null">
+                #{stationInfo,jdbcType=INTEGER},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.MenuInfo">
+        update menu_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="menuName != null">
+                menu_name= #{menuName,jdbcType=VARCHAR},
+            </if>
+            <if test="abstractInfo != null">
+                abstract_info= #{abstractInfo,jdbcType=VARCHAR},
+            </if>
+            <if test="type != null">
+                type= #{type,jdbcType=VARCHAR},
+            </if>
+            <if test="stationInfo != null">
+                station_info= #{stationInfo,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="queryMenuInfoByPage" parameterType="java.util.Map" resultMap="MenuIconMap">
+        select
+        <include refid="Base_Column_List"/>
+        , 0 as img_type from menu_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.menuName != null and !&quot;&quot;.equals(record.menuName)">
+                and menu_name = #{record.menuName}
+            </if>
+            <if test="record.abstractInfo != null and !&quot;&quot;.equals(record.abstractInfo)">
+                and abstract_info = #{record.abstractInfo}
+            </if>
+            <if test="record.type != null and !&quot;&quot;.equals(record.type)">
+                and type = #{record.type}
+            </if>
+            <if test="record.stationInfo != null and !&quot;&quot;.equals(record.stationInfo)">
+                and station_info = #{record.stationInfo}
+            </if>
+            <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR menu_name LIKE concat('%',#{record.searchKey},'%')
+                    OR abstract_info LIKE concat('%',#{record.searchKey},'%')
+                    OR type LIKE concat('%',#{record.searchKey},'%')
+                    OR station_info 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="queryAllMenuInfo" parameterType="java.util.Map" resultMap="MenuIconMap">
+        select
+        <include refid="Base_Column_List"/>
+        , 0 as img_type from menu_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="menuName != null and !&quot;&quot;.equals(menuName)">
+                and menu_name = #{menuName}
+            </if>
+            <if test="abstractInfo != null and !&quot;&quot;.equals(abstractInfo)">
+                and abstract_info = #{abstractInfo}
+            </if>
+            <if test="type != null and !&quot;&quot;.equals(type)">
+                and type = #{type}
+            </if>
+            <if test="stationInfo != null and !&quot;&quot;.equals(stationInfo)">
+                and station_info = #{stationInfo}
+            </if>
+            <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR menu_name LIKE concat('%',#{searchKey},'%')
+                    OR abstract_info LIKE concat('%',#{searchKey},'%')
+                    OR type LIKE concat('%',#{searchKey},'%')
+                    OR station_info 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="queryMenuInfo" parameterType="java.util.Map" resultMap="MenuIconMap">
+        select
+        <include refid="Base_Column_List"/>
+        , 0 as img_type from menu_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="menuName != null and !&quot;&quot;.equals(menuName)">
+                and menu_name = #{menuName}
+            </if>
+            <if test="abstractInfo != null and !&quot;&quot;.equals(abstractInfo)">
+                and abstract_info = #{abstractInfo}
+            </if>
+            <if test="type != null and !&quot;&quot;.equals(type)">
+                and type = #{type}
+            </if>
+            <if test="stationInfo != null and !&quot;&quot;.equals(stationInfo)">
+                and station_info = #{stationInfo}
+            </if>
+
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE menu_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.MenuInfo">
+        select
+        <include refid="Base_Column_List"/>
+        from menu_info
+        <where>
+            and del_flag = 'N'
+        </where>
+        order by id desc
+    </select>
+
+    <resultMap id="MenuIconMap" type="com.izouma.awesomeadmin.model.MenuInfo" extends="BaseResultMap">
+        <association property="menuIco" javaType="com.izouma.awesomeadmin.model.ImgInfo"
+                     select="com.izouma.awesomeadmin.dao.ImgInfoMapper.queryImgInfo"
+                     column="{fatherId =  id ,type = img_type }">
+        </association>
+    </resultMap>
+
+
+</mapper>
+

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/PinpaijuzhenMapper.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.Pinpaijuzhen;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.PinpaijuzhenMapper")
+public interface PinpaijuzhenMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(Pinpaijuzhen record);
+
+    Pinpaijuzhen selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(Pinpaijuzhen record);
+
+    List<Pinpaijuzhen> queryAllPinpaijuzhen(Pinpaijuzhen record);
+
+    List<Pinpaijuzhen> queryPinpaijuzhenByPage(Map<String, Object> parameter);
+
+    int delete(Pinpaijuzhen record);
+
+    Pinpaijuzhen queryPinpaijuzhen(Pinpaijuzhen record);
+
+    List<Pinpaijuzhen> query(Pinpaijuzhen record);
+}
+

+ 344 - 0
src/main/java/com/izouma/awesomeadmin/dao/PinpaijuzhenMapper.xml

@@ -0,0 +1,344 @@
+<?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.PinpaijuzhenMapper" >
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.Pinpaijuzhen" >
+                <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="station_id" property="stationId" jdbcType="INTEGER" />
+            </resultMap>
+    <sql id="Base_Column_List" >
+        <trim  suffixOverrides="," >
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            station_id,
+
+            </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+        select
+        <include refid="Base_Column_List" />
+        from pinpaijuzhen
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+        delete from pinpaijuzhen
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.Pinpaijuzhen" useGeneratedKeys="true" keyProperty="id">
+        insert into pinpaijuzhen
+        <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="stationId!= null" >
+                station_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="stationId != null" >
+                #{stationId,jdbcType=INTEGER},
+            </if>
+                </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.Pinpaijuzhen" >
+        update pinpaijuzhen
+        <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="stationId != null" >
+               station_id= #{stationId,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="queryPinpaijuzhenByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.Pinpaijuzhen">
+        select <include refid="Base_Column_List"/> from pinpaijuzhen
+        <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.stationId != null and !&quot;&quot;.equals(record.stationId)">
+                and  station_id = #{record.stationId}
+            </if>
+                  <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+             <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                    OR  station_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="queryAllPinpaijuzhen" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.Pinpaijuzhen">
+        select <include refid="Base_Column_List"/> from pinpaijuzhen
+        <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="stationId != null and !&quot;&quot;.equals(stationId)">
+                and  station_id = #{stationId}
+            </if>
+                    <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                OR  station_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="queryPinpaijuzhen" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.Pinpaijuzhen">
+        select <include refid="Base_Column_List"/> from pinpaijuzhen
+        <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="stationId != null and !&quot;&quot;.equals(stationId)">
+                and station_id = #{stationId}
+            </if>
+         
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE pinpaijuzhen 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.Pinpaijuzhen">
+        select <include refid="Base_Column_List"/> from pinpaijuzhen
+        <where>
+            and del_flag = 'N'
+                                                                                                                                                                                                                                                                                                                                                                                                                            </where>
+        order by id desc
+    </select>
+</mapper>
+

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/PinpaimenmianMapper.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.Pinpaimenmian;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.PinpaimenmianMapper")
+public interface PinpaimenmianMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(Pinpaimenmian record);
+
+    Pinpaimenmian selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(Pinpaimenmian record);
+
+    List<Pinpaimenmian> queryAllPinpaimenmian(Pinpaimenmian record);
+
+    List<Pinpaimenmian> queryPinpaimenmianByPage(Map<String, Object> parameter);
+
+    int delete(Pinpaimenmian record);
+
+    Pinpaimenmian queryPinpaimenmian(Pinpaimenmian record);
+
+    List<Pinpaimenmian> query(Pinpaimenmian record);
+}
+

+ 344 - 0
src/main/java/com/izouma/awesomeadmin/dao/PinpaimenmianMapper.xml

@@ -0,0 +1,344 @@
+<?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.PinpaimenmianMapper" >
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.Pinpaimenmian" >
+                <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="station_id" property="stationId" jdbcType="INTEGER" />
+            </resultMap>
+    <sql id="Base_Column_List" >
+        <trim  suffixOverrides="," >
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            station_id,
+
+            </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+        select
+        <include refid="Base_Column_List" />
+        from pinpaimenmian
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+        delete from pinpaimenmian
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.Pinpaimenmian" useGeneratedKeys="true" keyProperty="id">
+        insert into pinpaimenmian
+        <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="stationId!= null" >
+                station_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="stationId != null" >
+                #{stationId,jdbcType=INTEGER},
+            </if>
+                </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.Pinpaimenmian" >
+        update pinpaimenmian
+        <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="stationId != null" >
+               station_id= #{stationId,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="queryPinpaimenmianByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.Pinpaimenmian">
+        select <include refid="Base_Column_List"/> from pinpaimenmian
+        <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.stationId != null and !&quot;&quot;.equals(record.stationId)">
+                and  station_id = #{record.stationId}
+            </if>
+                  <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+             <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                    OR  station_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="queryAllPinpaimenmian" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.Pinpaimenmian">
+        select <include refid="Base_Column_List"/> from pinpaimenmian
+        <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="stationId != null and !&quot;&quot;.equals(stationId)">
+                and  station_id = #{stationId}
+            </if>
+                    <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                OR  station_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="queryPinpaimenmian" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.Pinpaimenmian">
+        select <include refid="Base_Column_List"/> from pinpaimenmian
+        <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="stationId != null and !&quot;&quot;.equals(stationId)">
+                and station_id = #{stationId}
+            </if>
+         
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE pinpaimenmian 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.Pinpaimenmian">
+        select <include refid="Base_Column_List"/> from pinpaimenmian
+        <where>
+            and del_flag = 'N'
+                                                                                                                                                                                                                                                                                                                                                                                                                            </where>
+        order by id desc
+    </select>
+</mapper>
+

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/PlayInfoMapper.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.PlayInfo;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.PlayInfoMapper")
+public interface PlayInfoMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(PlayInfo record);
+
+    PlayInfo selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(PlayInfo record);
+
+    List<PlayInfo> queryAllPlayInfo(PlayInfo record);
+
+    List<PlayInfo> queryPlayInfoByPage(Map<String, Object> parameter);
+
+    int delete(PlayInfo record);
+
+    PlayInfo queryPlayInfo(PlayInfo record);
+
+    List<PlayInfo> query(PlayInfo record);
+}
+

+ 505 - 0
src/main/java/com/izouma/awesomeadmin/dao/PlayInfoMapper.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.PlayInfoMapper" >
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.PlayInfo" >
+                <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="loopNum" property="loopnum" jdbcType="INTEGER" />
+                                <result column="url" property="url" jdbcType="VARCHAR" />
+                                <result column="upload_time" property="uploadTime" jdbcType="TIMESTAMP" />
+                                <result column="switch_time" property="switchTime" jdbcType="INTEGER" />
+                                <result column="type" property="type" jdbcType="INTEGER" />
+                                <result column="father_id" property="fatherId" jdbcType="VARCHAR" />
+                                <result column="rank" property="rank" jdbcType="INTEGER" />
+                                <result column="file_type" property="fileType" jdbcType="VARCHAR" />
+            </resultMap>
+    <sql id="Base_Column_List" >
+        <trim  suffixOverrides="," >
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            loopNum,
+
+            url,
+
+            upload_time,
+
+            switch_time,
+
+            type,
+
+            father_id,
+
+            rank,
+
+            file_type,
+
+            </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+        select
+        <include refid="Base_Column_List" />
+        from play_info
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+        delete from play_info
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.PlayInfo" useGeneratedKeys="true" keyProperty="id">
+        insert into play_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="loopnum!= null" >
+                loopNum,
+            </if>
+                <if test="url!= null" >
+                url,
+            </if>
+                <if test="uploadTime!= null" >
+                upload_time,
+            </if>
+                <if test="switchTime!= null" >
+                switch_time,
+            </if>
+                <if test="type!= null" >
+                type,
+            </if>
+                <if test="fatherId!= null" >
+                father_id,
+            </if>
+                <if test="rank!= null" >
+                rank,
+            </if>
+                <if test="fileType!= null" >
+                file_type,
+            </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="loopnum != null" >
+                #{loopnum,jdbcType=INTEGER},
+            </if>
+                    <if test="url != null" >
+                #{url,jdbcType=VARCHAR},
+            </if>
+                    <if test="uploadTime != null" >
+                #{uploadTime,jdbcType=TIMESTAMP},
+            </if>
+                    <if test="switchTime != null" >
+                #{switchTime,jdbcType=INTEGER},
+            </if>
+                    <if test="type != null" >
+                #{type,jdbcType=INTEGER},
+            </if>
+                    <if test="fatherId != null" >
+                #{fatherId,jdbcType=VARCHAR},
+            </if>
+                    <if test="rank != null" >
+                #{rank,jdbcType=INTEGER},
+            </if>
+                    <if test="fileType != null" >
+                #{fileType,jdbcType=VARCHAR},
+            </if>
+                </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.PlayInfo" >
+        update play_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="loopnum != null" >
+               loopNum= #{loopnum,jdbcType=INTEGER},
+            </if>
+                     <if test="url != null" >
+               url= #{url,jdbcType=VARCHAR},
+            </if>
+                     <if test="uploadTime != null" >
+               upload_time= #{uploadTime,jdbcType=TIMESTAMP},
+            </if>
+                     <if test="switchTime != null" >
+               switch_time= #{switchTime,jdbcType=INTEGER},
+            </if>
+                     <if test="type != null" >
+               type= #{type,jdbcType=INTEGER},
+            </if>
+                     <if test="fatherId != null" >
+               father_id= #{fatherId,jdbcType=VARCHAR},
+            </if>
+                     <if test="rank != null" >
+               rank= #{rank,jdbcType=INTEGER},
+            </if>
+                     <if test="fileType != null" >
+               file_type= #{fileType,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="queryPlayInfoByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.PlayInfo">
+        select <include refid="Base_Column_List"/> from play_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.loopnum != null and !&quot;&quot;.equals(record.loopnum)">
+                and  loopNum = #{record.loopnum}
+            </if>
+                     <if test="record.url != null and !&quot;&quot;.equals(record.url)">
+                and  url = #{record.url}
+            </if>
+                     <if test="record.uploadTime != null and !&quot;&quot;.equals(record.uploadTime)">
+                and  upload_time = #{record.uploadTime}
+            </if>
+                     <if test="record.switchTime != null and !&quot;&quot;.equals(record.switchTime)">
+                and  switch_time = #{record.switchTime}
+            </if>
+                     <if test="record.type != null and !&quot;&quot;.equals(record.type)">
+                and  type = #{record.type}
+            </if>
+                     <if test="record.fatherId != null and !&quot;&quot;.equals(record.fatherId)">
+                and  father_id = #{record.fatherId}
+            </if>
+                     <if test="record.rank != null and !&quot;&quot;.equals(record.rank)">
+                and  rank = #{record.rank}
+            </if>
+                     <if test="record.fileType != null and !&quot;&quot;.equals(record.fileType)">
+                and  file_type = #{record.fileType}
+            </if>
+                  <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+             <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                    OR  loopNum LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  url LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  upload_time LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  switch_time LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  type LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  father_id LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  rank LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  file_type 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="queryAllPlayInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.PlayInfo">
+        select <include refid="Base_Column_List"/> from play_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="loopnum != null and !&quot;&quot;.equals(loopnum)">
+                and  loopNum = #{loopnum}
+            </if>
+                    <if test="url != null and !&quot;&quot;.equals(url)">
+                and  url = #{url}
+            </if>
+                    <if test="uploadTime != null and !&quot;&quot;.equals(uploadTime)">
+                and  upload_time = #{uploadTime}
+            </if>
+                    <if test="switchTime != null and !&quot;&quot;.equals(switchTime)">
+                and  switch_time = #{switchTime}
+            </if>
+                    <if test="type != null and !&quot;&quot;.equals(type)">
+                and  type = #{type}
+            </if>
+                    <if test="fatherId != null and !&quot;&quot;.equals(fatherId)">
+                and  father_id = #{fatherId}
+            </if>
+                    <if test="rank != null and !&quot;&quot;.equals(rank)">
+                and  rank = #{rank}
+            </if>
+                    <if test="fileType != null and !&quot;&quot;.equals(fileType)">
+                and  file_type = #{fileType}
+            </if>
+                    <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                OR  loopNum LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  url LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  upload_time LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  switch_time LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  type LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  father_id LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  rank LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  file_type 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="queryPlayInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.PlayInfo">
+        select <include refid="Base_Column_List"/> from play_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="loopnum != null and !&quot;&quot;.equals(loopnum)">
+                and loopNum = #{loopnum}
+            </if>
+                     <if test="url != null and !&quot;&quot;.equals(url)">
+                and url = #{url}
+            </if>
+                     <if test="uploadTime != null and !&quot;&quot;.equals(uploadTime)">
+                and upload_time = #{uploadTime}
+            </if>
+                     <if test="switchTime != null and !&quot;&quot;.equals(switchTime)">
+                and switch_time = #{switchTime}
+            </if>
+                     <if test="type != null and !&quot;&quot;.equals(type)">
+                and type = #{type}
+            </if>
+                     <if test="fatherId != null and !&quot;&quot;.equals(fatherId)">
+                and father_id = #{fatherId}
+            </if>
+                     <if test="rank != null and !&quot;&quot;.equals(rank)">
+                and rank = #{rank}
+            </if>
+                     <if test="fileType != null and !&quot;&quot;.equals(fileType)">
+                and file_type = #{fileType}
+            </if>
+         
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE play_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.PlayInfo">
+        select <include refid="Base_Column_List"/> from play_info
+        <where>
+            and del_flag = 'N'
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </where>
+        order by id desc
+    </select>
+</mapper>
+

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/StationInfoMapper.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.StationInfo;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.StationInfoMapper")
+public interface StationInfoMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(StationInfo record);
+
+    StationInfo selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(StationInfo record);
+
+    List<StationInfo> queryAllStationInfo(StationInfo record);
+
+    List<StationInfo> queryStationInfoByPage(Map<String, Object> parameter);
+
+    int delete(StationInfo record);
+
+    StationInfo queryStationInfo(StationInfo record);
+
+    List<StationInfo> query(StationInfo record);
+}
+

+ 367 - 0
src/main/java/com/izouma/awesomeadmin/dao/StationInfoMapper.xml

@@ -0,0 +1,367 @@
+<?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.StationInfoMapper" >
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.StationInfo" >
+                <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="station_name" property="stationName" jdbcType="VARCHAR" />
+                                <result column="info" property="info" jdbcType="VARCHAR" />
+            </resultMap>
+    <sql id="Base_Column_List" >
+        <trim  suffixOverrides="," >
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            station_name,
+
+            info,
+
+            </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+        select
+        <include refid="Base_Column_List" />
+        from station_info
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+        delete from station_info
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.StationInfo" useGeneratedKeys="true" keyProperty="id">
+        insert into station_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="stationName!= null" >
+                station_name,
+            </if>
+                <if test="info!= null" >
+                info,
+            </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="stationName != null" >
+                #{stationName,jdbcType=VARCHAR},
+            </if>
+                    <if test="info != null" >
+                #{info,jdbcType=VARCHAR},
+            </if>
+                </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.StationInfo" >
+        update station_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="stationName != null" >
+               station_name= #{stationName,jdbcType=VARCHAR},
+            </if>
+                     <if test="info != null" >
+               info= #{info,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="queryStationInfoByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.StationInfo">
+        select <include refid="Base_Column_List"/> from station_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.stationName != null and !&quot;&quot;.equals(record.stationName)">
+                and  station_name = #{record.stationName}
+            </if>
+                     <if test="record.info != null and !&quot;&quot;.equals(record.info)">
+                and  info = #{record.info}
+            </if>
+                  <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+             <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                    OR  station_name LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  info 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="queryAllStationInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.StationInfo">
+        select <include refid="Base_Column_List"/> from station_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="stationName != null and !&quot;&quot;.equals(stationName)">
+                and  station_name = #{stationName}
+            </if>
+                    <if test="info != null and !&quot;&quot;.equals(info)">
+                and  info = #{info}
+            </if>
+                    <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR" >
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                OR  station_name LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  info 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="queryStationInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.StationInfo">
+        select <include refid="Base_Column_List"/> from station_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="stationName != null and !&quot;&quot;.equals(stationName)">
+                and station_name = #{stationName}
+            </if>
+                     <if test="info != null and !&quot;&quot;.equals(info)">
+                and info = #{info}
+            </if>
+         
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE station_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.StationInfo">
+        select <include refid="Base_Column_List"/> from station_info
+        <where>
+            and del_flag = 'N'
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </where>
+        order by id desc
+    </select>
+</mapper>
+

+ 33 - 0
src/main/java/com/izouma/awesomeadmin/dao/SubItemMapper.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.SubItem;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.SubItemMapper")
+public interface SubItemMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(SubItem record);
+
+    SubItem selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(SubItem record);
+
+    List<SubItem> queryAllSubItem(SubItem record);
+
+    List<SubItem> querySubItemByPage(Map<String, Object> parameter);
+
+    int delete(SubItem record);
+
+    SubItem querySubItem(SubItem record);
+
+    List<SubItem> query(SubItem record);
+}
+

+ 383 - 0
src/main/java/com/izouma/awesomeadmin/dao/SubItemMapper.xml

@@ -0,0 +1,383 @@
+<?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.SubItemMapper">
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.SubItem">
+        <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="name" property="name" jdbcType="VARCHAR"/>
+        <result column="menu_info_id" property="menuInfoId" jdbcType="INTEGER"/>
+    </resultMap>
+    <sql id="Base_Column_List">
+        <trim suffixOverrides=",">
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            name,
+
+            menu_info_id,
+
+        </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
+        select
+        <include refid="Base_Column_List"/>
+        from sub_item
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+        delete from sub_item
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.SubItem" useGeneratedKeys="true"
+            keyProperty="id">
+        insert into sub_item
+        <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="name!= null">
+                name,
+            </if>
+            <if test="menuInfoId!= null">
+                menu_info_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="name != null">
+                #{name,jdbcType=VARCHAR},
+            </if>
+            <if test="menuInfoId != null">
+                #{menuInfoId,jdbcType=INTEGER},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.SubItem">
+        update sub_item
+        <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="name != null">
+                name= #{name,jdbcType=VARCHAR},
+            </if>
+            <if test="menuInfoId != null">
+                menu_info_id= #{menuInfoId,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="querySubItemByPage" parameterType="java.util.Map" resultMap="IconMap">
+        select
+        <include refid="Base_Column_List"/>
+        , 4 as img_type from sub_item
+        <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.name != null and !&quot;&quot;.equals(record.name)">
+                and name = #{record.name}
+            </if>
+            <if test="record.menuInfoId != null and !&quot;&quot;.equals(record.menuInfoId)">
+                and menu_info_id = #{record.menuInfoId}
+            </if>
+            <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR name LIKE concat('%',#{record.searchKey},'%')
+                    OR menu_info_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="queryAllSubItem" parameterType="java.util.Map" resultMap="IconMap">
+        select
+        <include refid="Base_Column_List"/>
+        , 4 as img_type from sub_item
+        <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="name != null and !&quot;&quot;.equals(name)">
+                and name = #{name}
+            </if>
+            <if test="menuInfoId != null and !&quot;&quot;.equals(menuInfoId)">
+                and menu_info_id = #{menuInfoId}
+            </if>
+            <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR name LIKE concat('%',#{searchKey},'%')
+                    OR menu_info_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="querySubItem" parameterType="java.util.Map" resultMap="IconMap">
+        select
+        <include refid="Base_Column_List"/>
+        , 4 as img_type from sub_item
+        <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="name != null and !&quot;&quot;.equals(name)">
+                and name = #{name}
+            </if>
+            <if test="menuInfoId != null and !&quot;&quot;.equals(menuInfoId)">
+                and menu_info_id = #{menuInfoId}
+            </if>
+
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE sub_item 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.SubItem">
+        select
+        <include refid="Base_Column_List"/>
+        from sub_item
+        <where>
+            and del_flag = 'N'
+        </where>
+        order by id desc
+    </select>
+
+    <resultMap id="IconMap" type="com.izouma.awesomeadmin.model.SubItem" extends="BaseResultMap">
+        <association property="icon" javaType="com.izouma.awesomeadmin.model.ImgInfo"
+                     select="com.izouma.awesomeadmin.dao.ImgInfoMapper.queryImgInfo"
+                     column="{fatherId =  id ,type = img_type }">
+        </association>
+    </resultMap>
+</mapper>
+

+ 132 - 0
src/main/java/com/izouma/awesomeadmin/model/ClickHistory.java

@@ -0,0 +1,132 @@
+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 ClickHistory{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private Integer stationId;
+    private Integer exhibitionId;
+    private Integer clickedId;
+
+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 getStationId(){
+        return this.stationId;
+    }
+
+    public void setStationId(Integer stationId){
+        this.stationId = stationId;
+    }
+    public Integer getExhibitionId(){
+        return this.exhibitionId;
+    }
+
+    public void setExhibitionId(Integer exhibitionId){
+        this.exhibitionId = exhibitionId;
+    }
+    public Integer getClickedId(){
+        return this.clickedId;
+    }
+
+    public void setClickedId(Integer clickedId){
+        this.clickedId = clickedId;
+    }
+
+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;
+}
+
+}
+

+ 132 - 0
src/main/java/com/izouma/awesomeadmin/model/EquipmentInfo.java

@@ -0,0 +1,132 @@
+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 EquipmentInfo{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private Integer stationId;
+    private Integer exhibitionId;
+    private String status;
+
+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 getStationId(){
+        return this.stationId;
+    }
+
+    public void setStationId(Integer stationId){
+        this.stationId = stationId;
+    }
+    public Integer getExhibitionId(){
+        return this.exhibitionId;
+    }
+
+    public void setExhibitionId(Integer exhibitionId){
+        this.exhibitionId = exhibitionId;
+    }
+    public String getStatus(){
+        return this.status;
+    }
+
+    public void setStatus(String status){
+        this.status = status;
+    }
+
+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;
+}
+
+}
+

+ 132 - 0
src/main/java/com/izouma/awesomeadmin/model/ExhibitionContent.java

@@ -0,0 +1,132 @@
+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 ExhibitionContent{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private String name;
+    private Integer version;
+    private Integer stationId;
+
+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 getName(){
+        return this.name;
+    }
+
+    public void setName(String name){
+        this.name = name;
+    }
+    public Integer getVersion(){
+        return this.version;
+    }
+
+    public void setVersion(Integer version){
+        this.version = version;
+    }
+    public Integer getStationId(){
+        return this.stationId;
+    }
+
+    public void setStationId(Integer stationId){
+        this.stationId = stationId;
+    }
+
+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;
+}
+
+}
+

+ 160 - 0
src/main/java/com/izouma/awesomeadmin/model/FileInfo.java

@@ -0,0 +1,160 @@
+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 FileInfo{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private String url;
+    private String uploadTime;
+    private Integer type;
+    private Integer fatherId;
+    private ImgInfo imgInfo;
+    private String image;
+
+    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 getUrl(){
+        return this.url;
+    }
+
+    public void setUrl(String url){
+        this.url = url;
+    }
+    public String getUploadTime(){
+        return this.uploadTime;
+    }
+
+    public void setUploadTime(String uploadTime){
+        this.uploadTime = uploadTime;
+    }
+    public Integer getType(){
+        return this.type;
+    }
+
+    public void setType(Integer type){
+        this.type = type;
+    }
+    public Integer getFatherId(){
+        return this.fatherId;
+    }
+
+    public void setFatherId(Integer fatherId){
+        this.fatherId = fatherId;
+    }
+
+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;
+}
+
+    public ImgInfo getImgInfo() {
+        return imgInfo;
+    }
+
+    public void setImgInfo(ImgInfo imgInfo) {
+        this.imgInfo = imgInfo;
+
+        this.image = imgInfo.getUrl();
+    }
+
+    public String getImage() {
+        return image;
+    }
+
+    public void setImage(String image) {
+        this.image = image;
+    }
+
+}
+

+ 144 - 0
src/main/java/com/izouma/awesomeadmin/model/FinancialData.java

@@ -0,0 +1,144 @@
+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 FinancialData{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private Integer stationId;
+    private Integer version;
+    private List<FileInfo> video;
+    private FileInfo app;
+
+    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 getVersion() {
+        return version;
+    }
+
+    public void setVersion(Integer version) {
+        this.version = version;
+    }
+
+    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 getStationId(){
+        return this.stationId;
+    }
+
+    public void setStationId(Integer stationId){
+        this.stationId = stationId;
+    }
+
+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;
+}
+
+    public List<FileInfo> getVideo() {
+        return video;
+    }
+
+    public void setVideo(List<FileInfo> video) {
+        this.video = video;
+    }
+
+    public FileInfo getApp() {
+        return app;
+    }
+
+    public void setApp(FileInfo app) {
+        this.app = app;
+    }
+
+
+}
+

+ 148 - 0
src/main/java/com/izouma/awesomeadmin/model/ImgInfo.java

@@ -0,0 +1,148 @@
+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 ImgInfo{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private String url;
+    private Date uploadTime;
+    private Integer type;
+    private Integer fatherId;
+    private Integer rank;
+
+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 getUrl(){
+        return this.url;
+    }
+
+    public void setUrl(String url){
+        this.url = url;
+    }
+    public Date getUploadTime(){
+        return this.uploadTime;
+    }
+
+    public void setUploadTime(Date uploadTime){
+        this.uploadTime = uploadTime;
+    }
+    public Integer getType(){
+        return this.type;
+    }
+
+    public void setType(Integer type){
+        this.type = type;
+    }
+    public Integer getFatherId(){
+        return this.fatherId;
+    }
+
+    public void setFatherId(Integer fatherId){
+        this.fatherId = fatherId;
+    }
+    public Integer getRank(){
+        return this.rank;
+    }
+
+    public void setRank(Integer rank){
+        this.rank = rank;
+    }
+
+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;
+}
+
+}
+

+ 168 - 0
src/main/java/com/izouma/awesomeadmin/model/MemberInfo.java

@@ -0,0 +1,168 @@
+package com.izouma.awesomeadmin.model;
+
+import java.util.*;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import org.apache.fop.image.FopImage;
+
+
+@JsonAutoDetect
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class MemberInfo{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private String name;
+    private String post;
+    private String certificatenum;
+    private String qualification;
+    private ImgInfo photo;
+    private String imgUrl;
+    private Integer stationId;
+
+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 getName(){
+        return this.name;
+    }
+
+    public void setName(String name){
+        this.name = name;
+    }
+    public String getPost(){
+        return this.post;
+    }
+
+    public void setPost(String post){
+        this.post = post;
+    }
+    public String getCertificatenum(){
+        return this.certificatenum;
+    }
+
+    public void setCertificatenum(String certificatenum){
+        this.certificatenum = certificatenum;
+    }
+    public String getQualification(){
+        return this.qualification;
+    }
+
+    public void setQualification(String qualification){
+        this.qualification = qualification;
+    }
+
+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;
+}
+
+    public String getImgUrl() {
+        return imgUrl;
+    }
+
+    public void setImgUrl(String imgUrl) {
+        this.imgUrl = imgUrl;
+    }
+
+    public ImgInfo getPhoto() {
+        return photo;
+    }
+
+    public void setPhoto(ImgInfo photo) {
+        this.photo = photo;
+        this.imgUrl = photo.getUrl();
+    }
+
+    public Integer getStationId() {
+        return stationId;
+    }
+
+    public void setStationId(Integer stationId) {
+        this.stationId = stationId;
+    }
+}
+

+ 185 - 0
src/main/java/com/izouma/awesomeadmin/model/MenuInfo.java

@@ -0,0 +1,185 @@
+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 MenuInfo{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private String menuName;
+    private String abstractInfo;
+    private String type;
+    private Integer stationInfo;
+    private ImgInfo menuIco;
+    private String imgUrl;
+    private List<SubItem> subItem;
+    private List<MemberInfo> members;
+    private List<ImgInfo> images;
+
+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 ImgInfo getMenuIco() {
+        return menuIco;
+    }
+
+    public void setMenuIco(ImgInfo menuIco) {
+        this.menuIco = menuIco;
+        this.imgUrl = menuIco.getUrl();
+    }
+
+    public String getImgUrl() {
+        return imgUrl;
+    }
+
+    public void setImgUrl(String imgUrl) {
+        this.imgUrl = imgUrl;
+    }
+
+    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 getMenuName(){
+        return this.menuName;
+    }
+
+    public void setMenuName(String menuName){
+        this.menuName = menuName;
+    }
+    public String getAbstractInfo(){
+        return this.abstractInfo;
+    }
+
+    public void setAbstractInfo(String abstractInfo){
+        this.abstractInfo = abstractInfo;
+    }
+    public String getType(){
+        return this.type;
+    }
+
+    public void setType(String type){
+        this.type = type;
+    }
+    public Integer getStationInfo(){
+        return this.stationInfo;
+    }
+
+    public void setStationInfo(Integer stationInfo){
+        this.stationInfo = stationInfo;
+    }
+
+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;
+}
+
+    public List<SubItem> getSubItem() {
+        return subItem;
+    }
+
+    public void setSubItem(List<SubItem> subItem) {
+        this.subItem = subItem;
+    }
+
+    public List<MemberInfo> getMembers() {
+        return members;
+    }
+
+    public void setMembers(List<MemberInfo> members) {
+        this.members = members;
+    }
+
+    public List<ImgInfo> getImages() {
+        return images;
+    }
+
+    public void setImages(List<ImgInfo> images) {
+        this.images = images;
+    }
+}
+

+ 141 - 0
src/main/java/com/izouma/awesomeadmin/model/Pinpaijuzhen.java

@@ -0,0 +1,141 @@
+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 Pinpaijuzhen {
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private Integer stationId;
+    private Integer version;
+    private List<PlayInfo> playlist;
+
+    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 getVersion() {
+        return version;
+    }
+
+    public void setVersion(Integer version) {
+        this.version = version;
+    }
+
+    public List<PlayInfo> getPlaylist() {
+        return playlist;
+    }
+
+    public void setPlaylist(List<PlayInfo> playlist) {
+        this.playlist = playlist;
+    }
+
+    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 getStationId() {
+        return this.stationId;
+    }
+
+    public void setStationId(Integer stationId) {
+        this.stationId = stationId;
+    }
+
+    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;
+    }
+
+}
+

+ 141 - 0
src/main/java/com/izouma/awesomeadmin/model/Pinpaimenmian.java

@@ -0,0 +1,141 @@
+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 Pinpaimenmian{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private Integer stationId;
+    private List<PlayInfo> playlist_tm;
+    private List<PlayInfo> playlist_b;
+    private Integer version;
+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 List<PlayInfo> getPlaylist_tm() {
+        return playlist_tm;
+    }
+
+    public void setPlaylist_tm(List<PlayInfo> playlist_tm) {
+        this.playlist_tm = playlist_tm;
+    }
+
+    public List<PlayInfo> getPlaylist_b() {
+        return playlist_b;
+    }
+
+    public void setPlaylist_b(List<PlayInfo> playlist_b) {
+        this.playlist_b = playlist_b;
+    }
+
+    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 getStationId(){
+        return this.stationId;
+    }
+
+    public void setStationId(Integer stationId){
+        this.stationId = stationId;
+    }
+
+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;
+}
+
+    public Integer getVersion() {
+        return version;
+    }
+
+    public void setVersion(Integer version) {
+        this.version = version;
+    }
+}
+

+ 172 - 0
src/main/java/com/izouma/awesomeadmin/model/PlayInfo.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 PlayInfo{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private Integer loopnum;
+    private String url;
+    private Date uploadTime;
+    private Integer switchTime;
+    private Integer type;
+    private String fatherId;
+    private Integer rank;
+    private String fileType;
+
+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 getLoopnum(){
+        return this.loopnum;
+    }
+
+    public void setLoopnum(Integer loopnum){
+        this.loopnum = loopnum;
+    }
+    public String getUrl(){
+        return this.url;
+    }
+
+    public void setUrl(String url){
+        this.url = url;
+    }
+    public Date getUploadTime(){
+        return this.uploadTime;
+    }
+
+    public void setUploadTime(Date uploadTime){
+        this.uploadTime = uploadTime;
+    }
+    public Integer getSwitchTime(){
+        return this.switchTime;
+    }
+
+    public void setSwitchTime(Integer switchTime){
+        this.switchTime = switchTime;
+    }
+    public Integer getType(){
+        return this.type;
+    }
+
+    public void setType(Integer type){
+        this.type = type;
+    }
+    public String getFatherId(){
+        return this.fatherId;
+    }
+
+    public void setFatherId(String fatherId){
+        this.fatherId = fatherId;
+    }
+    public Integer getRank(){
+        return this.rank;
+    }
+
+    public void setRank(Integer rank){
+        this.rank = rank;
+    }
+    public String getFileType(){
+        return this.fileType;
+    }
+
+    public void setFileType(String fileType){
+        this.fileType = fileType;
+    }
+
+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;
+}
+
+}
+

+ 124 - 0
src/main/java/com/izouma/awesomeadmin/model/StationInfo.java

@@ -0,0 +1,124 @@
+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 StationInfo{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private String stationName;
+    private String info;
+
+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 getStationName(){
+        return this.stationName;
+    }
+
+    public void setStationName(String stationName){
+        this.stationName = stationName;
+    }
+    public String getInfo(){
+        return this.info;
+    }
+
+    public void setInfo(String info){
+        this.info = info;
+    }
+
+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;
+}
+
+}
+

+ 144 - 0
src/main/java/com/izouma/awesomeadmin/model/SubItem.java

@@ -0,0 +1,144 @@
+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 SubItem{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private String name;
+    private Integer menuInfoId;
+    private ImgInfo icon;
+    private String imgUrl;
+
+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 getName(){
+        return this.name;
+    }
+
+    public void setName(String name){
+        this.name = name;
+    }
+    public Integer getMenuInfoId(){
+        return this.menuInfoId;
+    }
+
+    public void setMenuInfoId(Integer menuInfoId){
+        this.menuInfoId = menuInfoId;
+    }
+
+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;
+}
+
+    public ImgInfo getIcon() {
+        return icon;
+    }
+
+    public void setIcon(ImgInfo icon) {
+        this.icon = icon;
+
+        this.imgUrl = icon.getUrl();
+
+    }
+
+    public String getImgUrl() {
+        return imgUrl;
+    }
+
+    public void setImgUrl(String imgUrl) {
+        this.imgUrl = imgUrl;
+    }
+}
+

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

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.ClickHistory;
+
+
+/**
+*  service接口类
+*/
+public interface ClickHistoryService{
+
+    List<ClickHistory> getClickHistoryList(ClickHistory record);
+
+    List<ClickHistory> getClickHistoryByPage(Page page, ClickHistory record);
+
+    ClickHistory getClickHistoryById(String id);
+
+    ClickHistory getClickHistory(ClickHistory record);
+
+    boolean createClickHistory(ClickHistory record);
+
+    boolean deleteClickHistory(ClickHistory record);
+
+    boolean updateClickHistory(ClickHistory record);
+}
+

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

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.EquipmentInfo;
+
+
+/**
+*  service接口类
+*/
+public interface EquipmentInfoService{
+
+    List<EquipmentInfo> getEquipmentInfoList(EquipmentInfo record);
+
+    List<EquipmentInfo> getEquipmentInfoByPage(Page page, EquipmentInfo record);
+
+    EquipmentInfo getEquipmentInfoById(String id);
+
+    EquipmentInfo getEquipmentInfo(EquipmentInfo record);
+
+    boolean createEquipmentInfo(EquipmentInfo record);
+
+    boolean deleteEquipmentInfo(EquipmentInfo record);
+
+    boolean updateEquipmentInfo(EquipmentInfo record);
+}
+

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

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.ExhibitionContent;
+
+
+/**
+*  service接口类
+*/
+public interface ExhibitionContentService{
+
+    List<ExhibitionContent> getExhibitionContentList(ExhibitionContent record);
+
+    List<ExhibitionContent> getExhibitionContentByPage(Page page, ExhibitionContent record);
+
+    ExhibitionContent getExhibitionContentById(String id);
+
+    ExhibitionContent getExhibitionContent(ExhibitionContent record);
+
+    boolean createExhibitionContent(ExhibitionContent record);
+
+    boolean deleteExhibitionContent(ExhibitionContent record);
+
+    boolean updateExhibitionContent(ExhibitionContent record);
+}
+

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

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.FileInfo;
+
+
+/**
+*  service接口类
+*/
+public interface FileInfoService{
+
+    List<FileInfo> getFileInfoList(FileInfo record);
+
+    List<FileInfo> getFileInfoByPage(Page page, FileInfo record);
+
+    FileInfo getFileInfoById(String id);
+
+    FileInfo getFileInfo(FileInfo record);
+
+    boolean createFileInfo(FileInfo record);
+
+    boolean deleteFileInfo(FileInfo record);
+
+    boolean updateFileInfo(FileInfo record);
+}
+

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

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.FinancialData;
+
+
+/**
+*  service接口类
+*/
+public interface FinancialDataService{
+
+    List<FinancialData> getFinancialDataList(FinancialData record);
+
+    List<FinancialData> getFinancialDataByPage(Page page, FinancialData record);
+
+    FinancialData getFinancialDataById(String id);
+
+    FinancialData getFinancialData(FinancialData record);
+
+    boolean createFinancialData(FinancialData record);
+
+    boolean deleteFinancialData(FinancialData record);
+
+    boolean updateFinancialData(FinancialData record);
+}
+

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

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.ImgInfo;
+
+
+/**
+*  service接口类
+*/
+public interface ImgInfoService{
+
+    List<ImgInfo> getImgInfoList(ImgInfo record);
+
+    List<ImgInfo> getImgInfoByPage(Page page, ImgInfo record);
+
+    ImgInfo getImgInfoById(String id);
+
+    ImgInfo getImgInfo(ImgInfo record);
+
+    boolean createImgInfo(ImgInfo record);
+
+    boolean deleteImgInfo(ImgInfo record);
+
+    boolean updateImgInfo(ImgInfo record);
+}
+

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

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.MemberInfo;
+
+
+/**
+*  service接口类
+*/
+public interface MemberInfoService{
+
+    List<MemberInfo> getMemberInfoList(MemberInfo record);
+
+    List<MemberInfo> getMemberInfoByPage(Page page, MemberInfo record);
+
+    MemberInfo getMemberInfoById(String id);
+
+    MemberInfo getMemberInfo(MemberInfo record);
+
+    boolean createMemberInfo(MemberInfo record);
+
+    boolean deleteMemberInfo(MemberInfo record);
+
+    boolean updateMemberInfo(MemberInfo record);
+}
+

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

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.MenuInfo;
+
+
+/**
+*  service接口类
+*/
+public interface MenuInfoService{
+
+    List<MenuInfo> getMenuInfoList(MenuInfo record);
+
+    List<MenuInfo> getMenuInfoByPage(Page page, MenuInfo record);
+
+    MenuInfo getMenuInfoById(String id);
+
+    MenuInfo getMenuInfo(MenuInfo record);
+
+    boolean createMenuInfo(MenuInfo record);
+
+    boolean deleteMenuInfo(MenuInfo record);
+
+    boolean updateMenuInfo(MenuInfo record);
+}
+

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

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.Pinpaijuzhen;
+
+
+/**
+*  service接口类
+*/
+public interface PinpaijuzhenService{
+
+    List<Pinpaijuzhen> getPinpaijuzhenList(Pinpaijuzhen record);
+
+    List<Pinpaijuzhen> getPinpaijuzhenByPage(Page page, Pinpaijuzhen record);
+
+    Pinpaijuzhen getPinpaijuzhenById(String id);
+
+    Pinpaijuzhen getPinpaijuzhen(Pinpaijuzhen record);
+
+    boolean createPinpaijuzhen(Pinpaijuzhen record);
+
+    boolean deletePinpaijuzhen(Pinpaijuzhen record);
+
+    boolean updatePinpaijuzhen(Pinpaijuzhen record);
+}
+

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

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.Pinpaimenmian;
+
+
+/**
+*  service接口类
+*/
+public interface PinpaimenmianService{
+
+    List<Pinpaimenmian> getPinpaimenmianList(Pinpaimenmian record);
+
+    List<Pinpaimenmian> getPinpaimenmianByPage(Page page, Pinpaimenmian record);
+
+    Pinpaimenmian getPinpaimenmianById(String id);
+
+    Pinpaimenmian getPinpaimenmian(Pinpaimenmian record);
+
+    boolean createPinpaimenmian(Pinpaimenmian record);
+
+    boolean deletePinpaimenmian(Pinpaimenmian record);
+
+    boolean updatePinpaimenmian(Pinpaimenmian record);
+}
+

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

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.PlayInfo;
+
+
+/**
+*  service接口类
+*/
+public interface PlayInfoService{
+
+    List<PlayInfo> getPlayInfoList(PlayInfo record);
+
+    List<PlayInfo> getPlayInfoByPage(Page page, PlayInfo record);
+
+    PlayInfo getPlayInfoById(String id);
+
+    PlayInfo getPlayInfo(PlayInfo record);
+
+    boolean createPlayInfo(PlayInfo record);
+
+    boolean deletePlayInfo(PlayInfo record);
+
+    boolean updatePlayInfo(PlayInfo record);
+}
+

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

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.StationInfo;
+
+
+/**
+*  service接口类
+*/
+public interface StationInfoService{
+
+    List<StationInfo> getStationInfoList(StationInfo record);
+
+    List<StationInfo> getStationInfoByPage(Page page, StationInfo record);
+
+    StationInfo getStationInfoById(String id);
+
+    StationInfo getStationInfo(StationInfo record);
+
+    boolean createStationInfo(StationInfo record);
+
+    boolean deleteStationInfo(StationInfo record);
+
+    boolean updateStationInfo(StationInfo record);
+}
+

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

@@ -0,0 +1,27 @@
+package com.izouma.awesomeadmin.service;
+
+import java.util.*;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.SubItem;
+
+
+/**
+*  service接口类
+*/
+public interface SubItemService{
+
+    List<SubItem> getSubItemList(SubItem record);
+
+    List<SubItem> getSubItemByPage(Page page, SubItem record);
+
+    SubItem getSubItemById(String id);
+
+    SubItem getSubItem(SubItem record);
+
+    boolean createSubItem(SubItem record);
+
+    boolean deleteSubItem(SubItem record);
+
+    boolean updateSubItem(SubItem record);
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/ClickHistoryServiceImpl.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.ClickHistory;
+import com.izouma.awesomeadmin.service.ClickHistoryService;
+import com.izouma.awesomeadmin.dao.ClickHistoryMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class ClickHistoryServiceImpl implements ClickHistoryService{
+
+    private static Logger logger = Logger.getLogger(ClickHistoryServiceImpl.class);
+
+    @Autowired
+    private ClickHistoryMapper clickHistoryMapper;
+
+    @Override
+    public List<ClickHistory> getClickHistoryList(ClickHistory record) {
+
+        logger.info("getClickHistoryList");
+        try {
+
+        return clickHistoryMapper.queryAllClickHistory(record);
+        } catch (Exception e) {
+        logger.error("getClickHistoryList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<ClickHistory> getClickHistoryByPage(Page page, ClickHistory record) {
+
+        logger.info("getClickHistoryByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return clickHistoryMapper.queryClickHistoryByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getClickHistoryByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public ClickHistory getClickHistoryById(String id) {
+
+        logger.info("getClickHistoryyId");
+        try {
+
+            return clickHistoryMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getClickHistoryById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public ClickHistory getClickHistory(ClickHistory record) {
+
+        logger.info("getClickHistory");
+        try {
+
+            return clickHistoryMapper.queryClickHistory(record);
+        } catch (Exception e) {
+        logger.error("getClickHistory", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createClickHistory(ClickHistory record) {
+
+        logger.info("createClickHistory");
+        try {
+
+            int updates = clickHistoryMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createClickHistory", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteClickHistory(ClickHistory record) {
+
+        logger.info("deleteClickHistory");
+        try {
+
+             int updates = clickHistoryMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteClickHistory", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateClickHistory(ClickHistory record) {
+
+        logger.info("updateClickHistory");
+        try {
+
+            int updates = clickHistoryMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateClickHistory", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/EquipmentInfoServiceImpl.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.EquipmentInfo;
+import com.izouma.awesomeadmin.service.EquipmentInfoService;
+import com.izouma.awesomeadmin.dao.EquipmentInfoMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class EquipmentInfoServiceImpl implements EquipmentInfoService{
+
+    private static Logger logger = Logger.getLogger(EquipmentInfoServiceImpl.class);
+
+    @Autowired
+    private EquipmentInfoMapper equipmentInfoMapper;
+
+    @Override
+    public List<EquipmentInfo> getEquipmentInfoList(EquipmentInfo record) {
+
+        logger.info("getEquipmentInfoList");
+        try {
+
+        return equipmentInfoMapper.queryAllEquipmentInfo(record);
+        } catch (Exception e) {
+        logger.error("getEquipmentInfoList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<EquipmentInfo> getEquipmentInfoByPage(Page page, EquipmentInfo record) {
+
+        logger.info("getEquipmentInfoByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return equipmentInfoMapper.queryEquipmentInfoByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getEquipmentInfoByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public EquipmentInfo getEquipmentInfoById(String id) {
+
+        logger.info("getEquipmentInfoyId");
+        try {
+
+            return equipmentInfoMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getEquipmentInfoById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public EquipmentInfo getEquipmentInfo(EquipmentInfo record) {
+
+        logger.info("getEquipmentInfo");
+        try {
+
+            return equipmentInfoMapper.queryEquipmentInfo(record);
+        } catch (Exception e) {
+        logger.error("getEquipmentInfo", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createEquipmentInfo(EquipmentInfo record) {
+
+        logger.info("createEquipmentInfo");
+        try {
+
+            int updates = equipmentInfoMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createEquipmentInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteEquipmentInfo(EquipmentInfo record) {
+
+        logger.info("deleteEquipmentInfo");
+        try {
+
+             int updates = equipmentInfoMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteEquipmentInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateEquipmentInfo(EquipmentInfo record) {
+
+        logger.info("updateEquipmentInfo");
+        try {
+
+            int updates = equipmentInfoMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateEquipmentInfo", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/ExhibitionContentServiceImpl.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.ExhibitionContent;
+import com.izouma.awesomeadmin.service.ExhibitionContentService;
+import com.izouma.awesomeadmin.dao.ExhibitionContentMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class ExhibitionContentServiceImpl implements ExhibitionContentService{
+
+    private static Logger logger = Logger.getLogger(ExhibitionContentServiceImpl.class);
+
+    @Autowired
+    private ExhibitionContentMapper exhibitionContentMapper;
+
+    @Override
+    public List<ExhibitionContent> getExhibitionContentList(ExhibitionContent record) {
+
+        logger.info("getExhibitionContentList");
+        try {
+
+        return exhibitionContentMapper.queryAllExhibitionContent(record);
+        } catch (Exception e) {
+        logger.error("getExhibitionContentList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<ExhibitionContent> getExhibitionContentByPage(Page page, ExhibitionContent record) {
+
+        logger.info("getExhibitionContentByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return exhibitionContentMapper.queryExhibitionContentByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getExhibitionContentByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public ExhibitionContent getExhibitionContentById(String id) {
+
+        logger.info("getExhibitionContentyId");
+        try {
+
+            return exhibitionContentMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getExhibitionContentById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public ExhibitionContent getExhibitionContent(ExhibitionContent record) {
+
+        logger.info("getExhibitionContent");
+        try {
+
+            return exhibitionContentMapper.queryExhibitionContent(record);
+        } catch (Exception e) {
+        logger.error("getExhibitionContent", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createExhibitionContent(ExhibitionContent record) {
+
+        logger.info("createExhibitionContent");
+        try {
+
+            int updates = exhibitionContentMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createExhibitionContent", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteExhibitionContent(ExhibitionContent record) {
+
+        logger.info("deleteExhibitionContent");
+        try {
+
+             int updates = exhibitionContentMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteExhibitionContent", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateExhibitionContent(ExhibitionContent record) {
+
+        logger.info("updateExhibitionContent");
+        try {
+
+            int updates = exhibitionContentMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateExhibitionContent", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/FileInfoServiceImpl.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.FileInfo;
+import com.izouma.awesomeadmin.service.FileInfoService;
+import com.izouma.awesomeadmin.dao.FileInfoMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class FileInfoServiceImpl implements FileInfoService{
+
+    private static Logger logger = Logger.getLogger(FileInfoServiceImpl.class);
+
+    @Autowired
+    private FileInfoMapper fileInfoMapper;
+
+    @Override
+    public List<FileInfo> getFileInfoList(FileInfo record) {
+
+        logger.info("getFileInfoList");
+        try {
+
+        return fileInfoMapper.queryAllFileInfo(record);
+        } catch (Exception e) {
+        logger.error("getFileInfoList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<FileInfo> getFileInfoByPage(Page page, FileInfo record) {
+
+        logger.info("getFileInfoByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return fileInfoMapper.queryFileInfoByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getFileInfoByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public FileInfo getFileInfoById(String id) {
+
+        logger.info("getFileInfoyId");
+        try {
+
+            return fileInfoMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getFileInfoById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public FileInfo getFileInfo(FileInfo record) {
+
+        logger.info("getFileInfo");
+        try {
+
+            return fileInfoMapper.queryFileInfo(record);
+        } catch (Exception e) {
+        logger.error("getFileInfo", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createFileInfo(FileInfo record) {
+
+        logger.info("createFileInfo");
+        try {
+
+            int updates = fileInfoMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createFileInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteFileInfo(FileInfo record) {
+
+        logger.info("deleteFileInfo");
+        try {
+
+             int updates = fileInfoMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteFileInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateFileInfo(FileInfo record) {
+
+        logger.info("updateFileInfo");
+        try {
+
+            int updates = fileInfoMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateFileInfo", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/FinancialDataServiceImpl.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.FinancialData;
+import com.izouma.awesomeadmin.service.FinancialDataService;
+import com.izouma.awesomeadmin.dao.FinancialDataMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class FinancialDataServiceImpl implements FinancialDataService{
+
+    private static Logger logger = Logger.getLogger(FinancialDataServiceImpl.class);
+
+    @Autowired
+    private FinancialDataMapper financialDataMapper;
+
+    @Override
+    public List<FinancialData> getFinancialDataList(FinancialData record) {
+
+        logger.info("getFinancialDataList");
+        try {
+
+        return financialDataMapper.queryAllFinancialData(record);
+        } catch (Exception e) {
+        logger.error("getFinancialDataList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<FinancialData> getFinancialDataByPage(Page page, FinancialData record) {
+
+        logger.info("getFinancialDataByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return financialDataMapper.queryFinancialDataByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getFinancialDataByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public FinancialData getFinancialDataById(String id) {
+
+        logger.info("getFinancialDatayId");
+        try {
+
+            return financialDataMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getFinancialDataById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public FinancialData getFinancialData(FinancialData record) {
+
+        logger.info("getFinancialData");
+        try {
+
+            return financialDataMapper.queryFinancialData(record);
+        } catch (Exception e) {
+        logger.error("getFinancialData", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createFinancialData(FinancialData record) {
+
+        logger.info("createFinancialData");
+        try {
+
+            int updates = financialDataMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createFinancialData", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteFinancialData(FinancialData record) {
+
+        logger.info("deleteFinancialData");
+        try {
+
+             int updates = financialDataMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteFinancialData", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateFinancialData(FinancialData record) {
+
+        logger.info("updateFinancialData");
+        try {
+
+            int updates = financialDataMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateFinancialData", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/ImgInfoServiceImpl.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.ImgInfo;
+import com.izouma.awesomeadmin.service.ImgInfoService;
+import com.izouma.awesomeadmin.dao.ImgInfoMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class ImgInfoServiceImpl implements ImgInfoService{
+
+    private static Logger logger = Logger.getLogger(ImgInfoServiceImpl.class);
+
+    @Autowired
+    private ImgInfoMapper imgInfoMapper;
+
+    @Override
+    public List<ImgInfo> getImgInfoList(ImgInfo record) {
+
+        logger.info("getImgInfoList");
+        try {
+
+        return imgInfoMapper.queryAllImgInfo(record);
+        } catch (Exception e) {
+        logger.error("getImgInfoList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<ImgInfo> getImgInfoByPage(Page page, ImgInfo record) {
+
+        logger.info("getImgInfoByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return imgInfoMapper.queryImgInfoByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getImgInfoByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public ImgInfo getImgInfoById(String id) {
+
+        logger.info("getImgInfoyId");
+        try {
+
+            return imgInfoMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getImgInfoById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public ImgInfo getImgInfo(ImgInfo record) {
+
+        logger.info("getImgInfo");
+        try {
+
+            return imgInfoMapper.queryImgInfo(record);
+        } catch (Exception e) {
+        logger.error("getImgInfo", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createImgInfo(ImgInfo record) {
+
+        logger.info("createImgInfo");
+        try {
+
+            int updates = imgInfoMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createImgInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteImgInfo(ImgInfo record) {
+
+        logger.info("deleteImgInfo");
+        try {
+
+             int updates = imgInfoMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteImgInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateImgInfo(ImgInfo record) {
+
+        logger.info("updateImgInfo");
+        try {
+
+            int updates = imgInfoMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateImgInfo", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/MemberInfoServiceImpl.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.MemberInfo;
+import com.izouma.awesomeadmin.service.MemberInfoService;
+import com.izouma.awesomeadmin.dao.MemberInfoMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class MemberInfoServiceImpl implements MemberInfoService{
+
+    private static Logger logger = Logger.getLogger(MemberInfoServiceImpl.class);
+
+    @Autowired
+    private MemberInfoMapper memberInfoMapper;
+
+    @Override
+    public List<MemberInfo> getMemberInfoList(MemberInfo record) {
+
+        logger.info("getMemberInfoList");
+        try {
+
+        return memberInfoMapper.queryAllMemberInfo(record);
+        } catch (Exception e) {
+        logger.error("getMemberInfoList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<MemberInfo> getMemberInfoByPage(Page page, MemberInfo record) {
+
+        logger.info("getMemberInfoByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return memberInfoMapper.queryMemberInfoByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getMemberInfoByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public MemberInfo getMemberInfoById(String id) {
+
+        logger.info("getMemberInfoyId");
+        try {
+
+            return memberInfoMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getMemberInfoById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public MemberInfo getMemberInfo(MemberInfo record) {
+
+        logger.info("getMemberInfo");
+        try {
+
+            return memberInfoMapper.queryMemberInfo(record);
+        } catch (Exception e) {
+        logger.error("getMemberInfo", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createMemberInfo(MemberInfo record) {
+
+        logger.info("createMemberInfo");
+        try {
+
+            int updates = memberInfoMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createMemberInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteMemberInfo(MemberInfo record) {
+
+        logger.info("deleteMemberInfo");
+        try {
+
+             int updates = memberInfoMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteMemberInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateMemberInfo(MemberInfo record) {
+
+        logger.info("updateMemberInfo");
+        try {
+
+            int updates = memberInfoMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateMemberInfo", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/MenuInfoServiceImpl.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.MenuInfo;
+import com.izouma.awesomeadmin.service.MenuInfoService;
+import com.izouma.awesomeadmin.dao.MenuInfoMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class MenuInfoServiceImpl implements MenuInfoService{
+
+    private static Logger logger = Logger.getLogger(MenuInfoServiceImpl.class);
+
+    @Autowired
+    private MenuInfoMapper menuInfoMapper;
+
+    @Override
+    public List<MenuInfo> getMenuInfoList(MenuInfo record) {
+
+        logger.info("getMenuInfoList");
+        try {
+
+        return menuInfoMapper.queryAllMenuInfo(record);
+        } catch (Exception e) {
+        logger.error("getMenuInfoList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<MenuInfo> getMenuInfoByPage(Page page, MenuInfo record) {
+
+        logger.info("getMenuInfoByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return menuInfoMapper.queryMenuInfoByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getMenuInfoByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public MenuInfo getMenuInfoById(String id) {
+
+        logger.info("getMenuInfoyId");
+        try {
+
+            return menuInfoMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getMenuInfoById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public MenuInfo getMenuInfo(MenuInfo record) {
+
+        logger.info("getMenuInfo");
+        try {
+
+            return menuInfoMapper.queryMenuInfo(record);
+        } catch (Exception e) {
+        logger.error("getMenuInfo", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createMenuInfo(MenuInfo record) {
+
+        logger.info("createMenuInfo");
+        try {
+
+            int updates = menuInfoMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createMenuInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteMenuInfo(MenuInfo record) {
+
+        logger.info("deleteMenuInfo");
+        try {
+
+             int updates = menuInfoMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteMenuInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateMenuInfo(MenuInfo record) {
+
+        logger.info("updateMenuInfo");
+        try {
+
+            int updates = menuInfoMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateMenuInfo", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/PinpaijuzhenServiceImpl.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.Pinpaijuzhen;
+import com.izouma.awesomeadmin.service.PinpaijuzhenService;
+import com.izouma.awesomeadmin.dao.PinpaijuzhenMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class PinpaijuzhenServiceImpl implements PinpaijuzhenService{
+
+    private static Logger logger = Logger.getLogger(PinpaijuzhenServiceImpl.class);
+
+    @Autowired
+    private PinpaijuzhenMapper pinpaijuzhenMapper;
+
+    @Override
+    public List<Pinpaijuzhen> getPinpaijuzhenList(Pinpaijuzhen record) {
+
+        logger.info("getPinpaijuzhenList");
+        try {
+
+        return pinpaijuzhenMapper.queryAllPinpaijuzhen(record);
+        } catch (Exception e) {
+        logger.error("getPinpaijuzhenList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<Pinpaijuzhen> getPinpaijuzhenByPage(Page page, Pinpaijuzhen record) {
+
+        logger.info("getPinpaijuzhenByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return pinpaijuzhenMapper.queryPinpaijuzhenByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getPinpaijuzhenByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public Pinpaijuzhen getPinpaijuzhenById(String id) {
+
+        logger.info("getPinpaijuzhenyId");
+        try {
+
+            return pinpaijuzhenMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getPinpaijuzhenById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public Pinpaijuzhen getPinpaijuzhen(Pinpaijuzhen record) {
+
+        logger.info("getPinpaijuzhen");
+        try {
+
+            return pinpaijuzhenMapper.queryPinpaijuzhen(record);
+        } catch (Exception e) {
+        logger.error("getPinpaijuzhen", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createPinpaijuzhen(Pinpaijuzhen record) {
+
+        logger.info("createPinpaijuzhen");
+        try {
+
+            int updates = pinpaijuzhenMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createPinpaijuzhen", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deletePinpaijuzhen(Pinpaijuzhen record) {
+
+        logger.info("deletePinpaijuzhen");
+        try {
+
+             int updates = pinpaijuzhenMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deletePinpaijuzhen", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updatePinpaijuzhen(Pinpaijuzhen record) {
+
+        logger.info("updatePinpaijuzhen");
+        try {
+
+            int updates = pinpaijuzhenMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updatePinpaijuzhen", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/PinpaimenmianServiceImpl.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.Pinpaimenmian;
+import com.izouma.awesomeadmin.service.PinpaimenmianService;
+import com.izouma.awesomeadmin.dao.PinpaimenmianMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class PinpaimenmianServiceImpl implements PinpaimenmianService{
+
+    private static Logger logger = Logger.getLogger(PinpaimenmianServiceImpl.class);
+
+    @Autowired
+    private PinpaimenmianMapper pinpaimenmianMapper;
+
+    @Override
+    public List<Pinpaimenmian> getPinpaimenmianList(Pinpaimenmian record) {
+
+        logger.info("getPinpaimenmianList");
+        try {
+
+        return pinpaimenmianMapper.queryAllPinpaimenmian(record);
+        } catch (Exception e) {
+        logger.error("getPinpaimenmianList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<Pinpaimenmian> getPinpaimenmianByPage(Page page, Pinpaimenmian record) {
+
+        logger.info("getPinpaimenmianByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return pinpaimenmianMapper.queryPinpaimenmianByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getPinpaimenmianByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public Pinpaimenmian getPinpaimenmianById(String id) {
+
+        logger.info("getPinpaimenmianyId");
+        try {
+
+            return pinpaimenmianMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getPinpaimenmianById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public Pinpaimenmian getPinpaimenmian(Pinpaimenmian record) {
+
+        logger.info("getPinpaimenmian");
+        try {
+
+            return pinpaimenmianMapper.queryPinpaimenmian(record);
+        } catch (Exception e) {
+        logger.error("getPinpaimenmian", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createPinpaimenmian(Pinpaimenmian record) {
+
+        logger.info("createPinpaimenmian");
+        try {
+
+            int updates = pinpaimenmianMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createPinpaimenmian", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deletePinpaimenmian(Pinpaimenmian record) {
+
+        logger.info("deletePinpaimenmian");
+        try {
+
+             int updates = pinpaimenmianMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deletePinpaimenmian", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updatePinpaimenmian(Pinpaimenmian record) {
+
+        logger.info("updatePinpaimenmian");
+        try {
+
+            int updates = pinpaimenmianMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updatePinpaimenmian", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/PlayInfoServiceImpl.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.PlayInfo;
+import com.izouma.awesomeadmin.service.PlayInfoService;
+import com.izouma.awesomeadmin.dao.PlayInfoMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class PlayInfoServiceImpl implements PlayInfoService{
+
+    private static Logger logger = Logger.getLogger(PlayInfoServiceImpl.class);
+
+    @Autowired
+    private PlayInfoMapper playInfoMapper;
+
+    @Override
+    public List<PlayInfo> getPlayInfoList(PlayInfo record) {
+
+        logger.info("getPlayInfoList");
+        try {
+
+        return playInfoMapper.queryAllPlayInfo(record);
+        } catch (Exception e) {
+        logger.error("getPlayInfoList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<PlayInfo> getPlayInfoByPage(Page page, PlayInfo record) {
+
+        logger.info("getPlayInfoByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return playInfoMapper.queryPlayInfoByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getPlayInfoByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public PlayInfo getPlayInfoById(String id) {
+
+        logger.info("getPlayInfoyId");
+        try {
+
+            return playInfoMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getPlayInfoById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public PlayInfo getPlayInfo(PlayInfo record) {
+
+        logger.info("getPlayInfo");
+        try {
+
+            return playInfoMapper.queryPlayInfo(record);
+        } catch (Exception e) {
+        logger.error("getPlayInfo", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createPlayInfo(PlayInfo record) {
+
+        logger.info("createPlayInfo");
+        try {
+
+            int updates = playInfoMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createPlayInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deletePlayInfo(PlayInfo record) {
+
+        logger.info("deletePlayInfo");
+        try {
+
+             int updates = playInfoMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deletePlayInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updatePlayInfo(PlayInfo record) {
+
+        logger.info("updatePlayInfo");
+        try {
+
+            int updates = playInfoMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updatePlayInfo", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/StationInfoServiceImpl.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.StationInfo;
+import com.izouma.awesomeadmin.service.StationInfoService;
+import com.izouma.awesomeadmin.dao.StationInfoMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class StationInfoServiceImpl implements StationInfoService{
+
+    private static Logger logger = Logger.getLogger(StationInfoServiceImpl.class);
+
+    @Autowired
+    private StationInfoMapper stationInfoMapper;
+
+    @Override
+    public List<StationInfo> getStationInfoList(StationInfo record) {
+
+        logger.info("getStationInfoList");
+        try {
+
+        return stationInfoMapper.queryAllStationInfo(record);
+        } catch (Exception e) {
+        logger.error("getStationInfoList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<StationInfo> getStationInfoByPage(Page page, StationInfo record) {
+
+        logger.info("getStationInfoByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return stationInfoMapper.queryStationInfoByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getStationInfoByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public StationInfo getStationInfoById(String id) {
+
+        logger.info("getStationInfoyId");
+        try {
+
+            return stationInfoMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getStationInfoById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public StationInfo getStationInfo(StationInfo record) {
+
+        logger.info("getStationInfo");
+        try {
+
+            return stationInfoMapper.queryStationInfo(record);
+        } catch (Exception e) {
+        logger.error("getStationInfo", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createStationInfo(StationInfo record) {
+
+        logger.info("createStationInfo");
+        try {
+
+            int updates = stationInfoMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createStationInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteStationInfo(StationInfo record) {
+
+        logger.info("deleteStationInfo");
+        try {
+
+             int updates = stationInfoMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteStationInfo", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateStationInfo(StationInfo record) {
+
+        logger.info("updateStationInfo");
+        try {
+
+            int updates = stationInfoMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateStationInfo", e);
+        }
+
+        return false;
+    }
+}
+

+ 137 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/SubItemServiceImpl.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.SubItem;
+import com.izouma.awesomeadmin.service.SubItemService;
+import com.izouma.awesomeadmin.dao.SubItemMapper;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class SubItemServiceImpl implements SubItemService{
+
+    private static Logger logger = Logger.getLogger(SubItemServiceImpl.class);
+
+    @Autowired
+    private SubItemMapper subItemMapper;
+
+    @Override
+    public List<SubItem> getSubItemList(SubItem record) {
+
+        logger.info("getSubItemList");
+        try {
+
+        return subItemMapper.queryAllSubItem(record);
+        } catch (Exception e) {
+        logger.error("getSubItemList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<SubItem> getSubItemByPage(Page page, SubItem record) {
+
+        logger.info("getSubItemByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return subItemMapper.querySubItemByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getSubItemByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public SubItem getSubItemById(String id) {
+
+        logger.info("getSubItemyId");
+        try {
+
+            return subItemMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getSubItemById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public SubItem getSubItem(SubItem record) {
+
+        logger.info("getSubItem");
+        try {
+
+            return subItemMapper.querySubItem(record);
+        } catch (Exception e) {
+        logger.error("getSubItem", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createSubItem(SubItem record) {
+
+        logger.info("createSubItem");
+        try {
+
+            int updates = subItemMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createSubItem", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteSubItem(SubItem record) {
+
+        logger.info("deleteSubItem");
+        try {
+
+             int updates = subItemMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteSubItem", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateSubItem(SubItem record) {
+
+        logger.info("updateSubItem");
+        try {
+
+            int updates = subItemMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateSubItem", e);
+        }
+
+        return false;
+    }
+}
+

+ 160 - 0
src/main/java/com/izouma/awesomeadmin/web/ClickHistoryController.java

@@ -0,0 +1,160 @@
+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.ClickHistory;
+import com.izouma.awesomeadmin.service.ClickHistoryService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/clickHistory")
+public class ClickHistoryController {
+
+    @Autowired
+    private ClickHistoryService clickHistoryService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(ClickHistory record) {
+        List<ClickHistory> pp = clickHistoryService.getClickHistoryList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getClickHistory", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getClickHistory(@RequestParam(required = false, value = "id") String id) {
+        ClickHistory data = clickHistoryService.getClickHistoryById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(ClickHistory record) {
+        ClickHistory data = clickHistoryService.getClickHistory(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, ClickHistory record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<ClickHistory> pp =clickHistoryService.getClickHistoryByPage(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(ClickHistory record) {
+        boolean num = clickHistoryService.createClickHistory(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateClickHistory(ClickHistory record) {
+        boolean num = clickHistoryService.updateClickHistory(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteClickHistory(ClickHistory record) {
+
+        boolean num = clickHistoryService.deleteClickHistory(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, ClickHistory record) throws Exception {
+
+    List<ClickHistory> clickHistorys = clickHistoryService.getClickHistoryList(record);
+
+
+        String sheetName = "click_history";
+        String titleName = "点击记录数据表";
+        String fileName = "点击记录表";
+        int columnNumber = 9;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "营业厅ID" ,   "展项ID" ,   "被点击栏目的ID"  };
+        String[][] dataList = new String[clickHistorys.size()][9];
+
+        for (int i = 0; i < clickHistorys.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(clickHistorys.get(i).getId());
+                        dataList[i][1] = String.valueOf(clickHistorys.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(clickHistorys.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(clickHistorys.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(clickHistorys.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(clickHistorys.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(clickHistorys.get(i).getStationId());
+                        dataList[i][7] = String.valueOf(clickHistorys.get(i).getExhibitionId());
+                        dataList[i][8] = String.valueOf(clickHistorys.get(i).getClickedId());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 160 - 0
src/main/java/com/izouma/awesomeadmin/web/EquipmentInfoController.java

@@ -0,0 +1,160 @@
+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.EquipmentInfo;
+import com.izouma.awesomeadmin.service.EquipmentInfoService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/equipmentInfo")
+public class EquipmentInfoController {
+
+    @Autowired
+    private EquipmentInfoService equipmentInfoService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(EquipmentInfo record) {
+        List<EquipmentInfo> pp = equipmentInfoService.getEquipmentInfoList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getEquipmentInfo", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getEquipmentInfo(@RequestParam(required = false, value = "id") String id) {
+        EquipmentInfo data = equipmentInfoService.getEquipmentInfoById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(EquipmentInfo record) {
+        EquipmentInfo data = equipmentInfoService.getEquipmentInfo(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, EquipmentInfo record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<EquipmentInfo> pp =equipmentInfoService.getEquipmentInfoByPage(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(EquipmentInfo record) {
+        boolean num = equipmentInfoService.createEquipmentInfo(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateEquipmentInfo(EquipmentInfo record) {
+        boolean num = equipmentInfoService.updateEquipmentInfo(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteEquipmentInfo(EquipmentInfo record) {
+
+        boolean num = equipmentInfoService.deleteEquipmentInfo(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, EquipmentInfo record) throws Exception {
+
+    List<EquipmentInfo> equipmentInfos = equipmentInfoService.getEquipmentInfoList(record);
+
+
+        String sheetName = "equipment_info";
+        String titleName = "设备信息数据表";
+        String fileName = "设备信息表";
+        int columnNumber = 9;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "营业厅ID" ,   "展示ID" ,   "状态"  };
+        String[][] dataList = new String[equipmentInfos.size()][9];
+
+        for (int i = 0; i < equipmentInfos.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(equipmentInfos.get(i).getId());
+                        dataList[i][1] = String.valueOf(equipmentInfos.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(equipmentInfos.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(equipmentInfos.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(equipmentInfos.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(equipmentInfos.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(equipmentInfos.get(i).getStationId());
+                        dataList[i][7] = String.valueOf(equipmentInfos.get(i).getExhibitionId());
+                        dataList[i][8] = String.valueOf(equipmentInfos.get(i).getStatus());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 160 - 0
src/main/java/com/izouma/awesomeadmin/web/ExhibitionContentController.java

@@ -0,0 +1,160 @@
+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.ExhibitionContent;
+import com.izouma.awesomeadmin.service.ExhibitionContentService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/exhibitionContent")
+public class ExhibitionContentController {
+
+    @Autowired
+    private ExhibitionContentService exhibitionContentService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(ExhibitionContent record) {
+        List<ExhibitionContent> pp = exhibitionContentService.getExhibitionContentList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getExhibitionContent", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getExhibitionContent(@RequestParam(required = false, value = "id") String id) {
+        ExhibitionContent data = exhibitionContentService.getExhibitionContentById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(ExhibitionContent record) {
+        ExhibitionContent data = exhibitionContentService.getExhibitionContent(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, ExhibitionContent record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<ExhibitionContent> pp =exhibitionContentService.getExhibitionContentByPage(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(ExhibitionContent record) {
+        boolean num = exhibitionContentService.createExhibitionContent(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateExhibitionContent(ExhibitionContent record) {
+        boolean num = exhibitionContentService.updateExhibitionContent(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteExhibitionContent(ExhibitionContent record) {
+
+        boolean num = exhibitionContentService.deleteExhibitionContent(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, ExhibitionContent record) throws Exception {
+
+    List<ExhibitionContent> exhibitionContents = exhibitionContentService.getExhibitionContentList(record);
+
+
+        String sheetName = "exhibition_content";
+        String titleName = "展示内容管理数据表";
+        String fileName = "展示内容管理表";
+        int columnNumber = 9;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "展示名称" ,   "版本号" ,   "营业厅"  };
+        String[][] dataList = new String[exhibitionContents.size()][9];
+
+        for (int i = 0; i < exhibitionContents.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(exhibitionContents.get(i).getId());
+                        dataList[i][1] = String.valueOf(exhibitionContents.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(exhibitionContents.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(exhibitionContents.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(exhibitionContents.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(exhibitionContents.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(exhibitionContents.get(i).getName());
+                        dataList[i][7] = String.valueOf(exhibitionContents.get(i).getVersion());
+                        dataList[i][8] = String.valueOf(exhibitionContents.get(i).getStationId());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 179 - 0
src/main/java/com/izouma/awesomeadmin/web/FileInfoController.java

@@ -0,0 +1,179 @@
+package com.izouma.awesomeadmin.web;
+
+import java.util.*;
+
+import com.izouma.awesomeadmin.model.ImgInfo;
+import com.izouma.awesomeadmin.service.ImgInfoService;
+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.FileInfo;
+import com.izouma.awesomeadmin.service.FileInfoService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/fileInfo")
+public class FileInfoController {
+
+    @Autowired
+    private FileInfoService fileInfoService;
+
+    @Autowired
+    private ImgInfoService imgInfoService;
+
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(FileInfo record) {
+        List<FileInfo> pp = fileInfoService.getFileInfoList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getFileInfo", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getFileInfo(@RequestParam(required = false, value = "id") String id) {
+        FileInfo data = fileInfoService.getFileInfoById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(FileInfo record) {
+        FileInfo data = fileInfoService.getFileInfo(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, FileInfo record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<FileInfo> pp =fileInfoService.getFileInfoByPage(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(FileInfo record) {
+        boolean num = fileInfoService.createFileInfo(record);
+        if (num) {
+
+            ImgInfo img = new ImgInfo();
+            img.setFatherId(record.getId());
+            img.setType(5);
+            img.setUrl(record.getImage());
+            imgInfoService.createImgInfo(img);
+            return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateFileInfo(FileInfo record) {
+        boolean num = fileInfoService.updateFileInfo(record);
+        if (num) {
+
+            ImgInfo img = new ImgInfo();
+            img.setFatherId(record.getId());
+            img.setType(5);
+            img.setUrl(record.getImage());
+            imgInfoService.createImgInfo(img);
+            return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteFileInfo(FileInfo record) {
+
+        boolean num = fileInfoService.deleteFileInfo(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, FileInfo record) throws Exception {
+
+    List<FileInfo> fileInfos = fileInfoService.getFileInfoList(record);
+
+
+        String sheetName = "file_info";
+        String titleName = "资源文件管理数据表";
+        String fileName = "资源文件管理表";
+        int columnNumber = 10;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "文件地址" ,   "上传时间" ,   "类型:0:data_video  1:data_app" ,   "父类id"  };
+        String[][] dataList = new String[fileInfos.size()][10];
+
+        for (int i = 0; i < fileInfos.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(fileInfos.get(i).getId());
+                        dataList[i][1] = String.valueOf(fileInfos.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(fileInfos.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(fileInfos.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(fileInfos.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(fileInfos.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(fileInfos.get(i).getUrl());
+                        dataList[i][7] = String.valueOf(fileInfos.get(i).getUploadTime());
+                        dataList[i][8] = String.valueOf(fileInfos.get(i).getType());
+                        dataList[i][9] = String.valueOf(fileInfos.get(i).getFatherId());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 158 - 0
src/main/java/com/izouma/awesomeadmin/web/FinancialDataController.java

@@ -0,0 +1,158 @@
+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.FinancialData;
+import com.izouma.awesomeadmin.service.FinancialDataService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/financialData")
+public class FinancialDataController {
+
+    @Autowired
+    private FinancialDataService financialDataService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(FinancialData record) {
+        List<FinancialData> pp = financialDataService.getFinancialDataList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getFinancialData", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getFinancialData(@RequestParam(required = false, value = "id") String id) {
+        FinancialData data = financialDataService.getFinancialDataById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(FinancialData record) {
+        FinancialData data = financialDataService.getFinancialData(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, FinancialData record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<FinancialData> pp =financialDataService.getFinancialDataByPage(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(FinancialData record) {
+        boolean num = financialDataService.createFinancialData(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateFinancialData(FinancialData record) {
+        boolean num = financialDataService.updateFinancialData(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteFinancialData(FinancialData record) {
+
+        boolean num = financialDataService.deleteFinancialData(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, FinancialData record) throws Exception {
+
+    List<FinancialData> financialDatas = financialDataService.getFinancialDataList(record);
+
+
+        String sheetName = "financial_data";
+        String titleName = "金融大数据数据表";
+        String fileName = "金融大数据表";
+        int columnNumber = 7;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "运营点ID"  };
+        String[][] dataList = new String[financialDatas.size()][7];
+
+        for (int i = 0; i < financialDatas.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(financialDatas.get(i).getId());
+                        dataList[i][1] = String.valueOf(financialDatas.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(financialDatas.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(financialDatas.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(financialDatas.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(financialDatas.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(financialDatas.get(i).getStationId());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 162 - 0
src/main/java/com/izouma/awesomeadmin/web/ImgInfoController.java

@@ -0,0 +1,162 @@
+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.ImgInfo;
+import com.izouma.awesomeadmin.service.ImgInfoService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/imgInfo")
+public class ImgInfoController {
+
+    @Autowired
+    private ImgInfoService imgInfoService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(ImgInfo record) {
+        List<ImgInfo> pp = imgInfoService.getImgInfoList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getImgInfo", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getImgInfo(@RequestParam(required = false, value = "id") String id) {
+        ImgInfo data = imgInfoService.getImgInfoById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(ImgInfo record) {
+        ImgInfo data = imgInfoService.getImgInfo(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, ImgInfo record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<ImgInfo> pp =imgInfoService.getImgInfoByPage(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(ImgInfo record) {
+        boolean num = imgInfoService.createImgInfo(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateImgInfo(ImgInfo record) {
+        boolean num = imgInfoService.updateImgInfo(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteImgInfo(ImgInfo record) {
+
+        boolean num = imgInfoService.deleteImgInfo(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, ImgInfo record) throws Exception {
+
+    List<ImgInfo> imgInfos = imgInfoService.getImgInfoList(record);
+
+
+        String sheetName = "img_info";
+        String titleName = "图片信息数据表";
+        String fileName = "图片信息表";
+        int columnNumber = 11;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "图片地址" ,   "更新时间" ,   "0:menu_ico  1:subItem   2:menu_info  3:member" ,   "父级id" ,   "图片集合排序"  };
+        String[][] dataList = new String[imgInfos.size()][11];
+
+        for (int i = 0; i < imgInfos.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(imgInfos.get(i).getId());
+                        dataList[i][1] = String.valueOf(imgInfos.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(imgInfos.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(imgInfos.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(imgInfos.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(imgInfos.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(imgInfos.get(i).getUrl());
+                        dataList[i][7] = String.valueOf(imgInfos.get(i).getUploadTime());
+                        dataList[i][8] = String.valueOf(imgInfos.get(i).getType());
+                        dataList[i][9] = String.valueOf(imgInfos.get(i).getFatherId());
+                        dataList[i][10] = String.valueOf(imgInfos.get(i).getRank());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 181 - 0
src/main/java/com/izouma/awesomeadmin/web/MemberInfoController.java

@@ -0,0 +1,181 @@
+package com.izouma.awesomeadmin.web;
+
+import java.util.*;
+
+import com.izouma.awesomeadmin.model.ImgInfo;
+import com.izouma.awesomeadmin.service.ImgInfoService;
+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.MemberInfo;
+import com.izouma.awesomeadmin.service.MemberInfoService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/memberInfo")
+public class MemberInfoController {
+
+    @Autowired
+    private MemberInfoService memberInfoService;
+
+    @Autowired
+    private ImgInfoService imgInfoService;
+
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(MemberInfo record) {
+        List<MemberInfo> pp = memberInfoService.getMemberInfoList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getMemberInfo", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getMemberInfo(@RequestParam(required = false, value = "id") String id) {
+        MemberInfo data = memberInfoService.getMemberInfoById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(MemberInfo record) {
+        MemberInfo data = memberInfoService.getMemberInfo(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, MemberInfo record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<MemberInfo> pp =memberInfoService.getMemberInfoByPage(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(MemberInfo record) {
+        boolean num = memberInfoService.createMemberInfo(record);
+        if (num) {
+
+            ImgInfo img = new ImgInfo();
+            img.setFatherId(record.getId());
+            img.setType(3);
+            img.setUrl(record.getImgUrl());
+            imgInfoService.createImgInfo(img);
+
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateMemberInfo(MemberInfo record) {
+        boolean num = memberInfoService.updateMemberInfo(record);
+        if (num) {
+
+            ImgInfo img = new ImgInfo();
+            img.setFatherId(record.getId());
+            img.setType(3);
+            img.setUrl(record.getImgUrl());
+            imgInfoService.createImgInfo(img);
+
+            return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteMemberInfo(MemberInfo record) {
+
+        boolean num = memberInfoService.deleteMemberInfo(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, MemberInfo record) throws Exception {
+
+    List<MemberInfo> memberInfos = memberInfoService.getMemberInfoList(record);
+
+
+        String sheetName = "member_info";
+        String titleName = "成员信息数据表";
+        String fileName = "成员信息表";
+        int columnNumber = 10;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "成员姓名" ,   "职位" ,   "证书编号" ,   "资格"  };
+        String[][] dataList = new String[memberInfos.size()][10];
+
+        for (int i = 0; i < memberInfos.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(memberInfos.get(i).getId());
+                        dataList[i][1] = String.valueOf(memberInfos.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(memberInfos.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(memberInfos.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(memberInfos.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(memberInfos.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(memberInfos.get(i).getName());
+                        dataList[i][7] = String.valueOf(memberInfos.get(i).getPost());
+                        dataList[i][8] = String.valueOf(memberInfos.get(i).getCertificatenum());
+                        dataList[i][9] = String.valueOf(memberInfos.get(i).getQualification());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

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

@@ -0,0 +1,178 @@
+package com.izouma.awesomeadmin.web;
+
+import java.util.*;
+
+import com.izouma.awesomeadmin.model.ImgInfo;
+import com.izouma.awesomeadmin.service.ImgInfoService;
+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.MenuInfo;
+import com.izouma.awesomeadmin.service.MenuInfoService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/menuInfo")
+public class MenuInfoController {
+
+    @Autowired
+    private MenuInfoService menuInfoService;
+
+    @Autowired
+    private ImgInfoService imgInfoService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(MenuInfo record) {
+        List<MenuInfo> pp = menuInfoService.getMenuInfoList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getMenuInfo", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getMenuInfo(@RequestParam(required = false, value = "id") String id) {
+        MenuInfo data = menuInfoService.getMenuInfoById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(MenuInfo record) {
+        MenuInfo data = menuInfoService.getMenuInfo(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, MenuInfo record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<MenuInfo> pp =menuInfoService.getMenuInfoByPage(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(MenuInfo record) {
+        boolean num = menuInfoService.createMenuInfo(record);
+        if (num) {
+
+            ImgInfo img = new ImgInfo();
+            img.setFatherId(record.getId());
+            img.setType(0);
+            img.setUrl(record.getImgUrl());
+            imgInfoService.createImgInfo(img);
+            return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateMenuInfo(MenuInfo record) {
+        boolean num = menuInfoService.updateMenuInfo(record);
+        if (num) {
+
+            ImgInfo img = new ImgInfo();
+            img.setFatherId(record.getId());
+            img.setType(0);
+            img.setUrl(record.getImgUrl());
+            imgInfoService.createImgInfo(img);
+             return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteMenuInfo(MenuInfo record) {
+
+        boolean num = menuInfoService.deleteMenuInfo(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, MenuInfo record) throws Exception {
+
+    List<MenuInfo> menuInfos = menuInfoService.getMenuInfoList(record);
+
+
+        String sheetName = "menu_info";
+        String titleName = "栏目管理数据表";
+        String fileName = "栏目管理表";
+        int columnNumber = 10;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "栏目名称" ,   "公司介绍" ,   "栏目类型" ,   "营业厅ID"  };
+        String[][] dataList = new String[menuInfos.size()][10];
+
+        for (int i = 0; i < menuInfos.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(menuInfos.get(i).getId());
+                        dataList[i][1] = String.valueOf(menuInfos.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(menuInfos.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(menuInfos.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(menuInfos.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(menuInfos.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(menuInfos.get(i).getMenuName());
+                        dataList[i][7] = String.valueOf(menuInfos.get(i).getAbstractInfo());
+                        dataList[i][8] = String.valueOf(menuInfos.get(i).getType());
+                        dataList[i][9] = String.valueOf(menuInfos.get(i).getStationInfo());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 158 - 0
src/main/java/com/izouma/awesomeadmin/web/PinpaijuzhenController.java

@@ -0,0 +1,158 @@
+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.Pinpaijuzhen;
+import com.izouma.awesomeadmin.service.PinpaijuzhenService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/pinpaijuzhen")
+public class PinpaijuzhenController {
+
+    @Autowired
+    private PinpaijuzhenService pinpaijuzhenService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(Pinpaijuzhen record) {
+        List<Pinpaijuzhen> pp = pinpaijuzhenService.getPinpaijuzhenList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getPinpaijuzhen", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getPinpaijuzhen(@RequestParam(required = false, value = "id") String id) {
+        Pinpaijuzhen data = pinpaijuzhenService.getPinpaijuzhenById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(Pinpaijuzhen record) {
+        Pinpaijuzhen data = pinpaijuzhenService.getPinpaijuzhen(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, Pinpaijuzhen record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<Pinpaijuzhen> pp =pinpaijuzhenService.getPinpaijuzhenByPage(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(Pinpaijuzhen record) {
+        boolean num = pinpaijuzhenService.createPinpaijuzhen(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updatePinpaijuzhen(Pinpaijuzhen record) {
+        boolean num = pinpaijuzhenService.updatePinpaijuzhen(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deletePinpaijuzhen(Pinpaijuzhen record) {
+
+        boolean num = pinpaijuzhenService.deletePinpaijuzhen(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, Pinpaijuzhen record) throws Exception {
+
+    List<Pinpaijuzhen> pinpaijuzhens = pinpaijuzhenService.getPinpaijuzhenList(record);
+
+
+        String sheetName = "pinpaijuzhen";
+        String titleName = "品牌矩阵数据表";
+        String fileName = "品牌矩阵表";
+        int columnNumber = 7;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "营业厅ID"  };
+        String[][] dataList = new String[pinpaijuzhens.size()][7];
+
+        for (int i = 0; i < pinpaijuzhens.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(pinpaijuzhens.get(i).getId());
+                        dataList[i][1] = String.valueOf(pinpaijuzhens.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(pinpaijuzhens.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(pinpaijuzhens.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(pinpaijuzhens.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(pinpaijuzhens.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(pinpaijuzhens.get(i).getStationId());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 158 - 0
src/main/java/com/izouma/awesomeadmin/web/PinpaimenmianController.java

@@ -0,0 +1,158 @@
+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.Pinpaimenmian;
+import com.izouma.awesomeadmin.service.PinpaimenmianService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/pinpaimenmian")
+public class PinpaimenmianController {
+
+    @Autowired
+    private PinpaimenmianService pinpaimenmianService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(Pinpaimenmian record) {
+        List<Pinpaimenmian> pp = pinpaimenmianService.getPinpaimenmianList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getPinpaimenmian", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getPinpaimenmian(@RequestParam(required = false, value = "id") String id) {
+        Pinpaimenmian data = pinpaimenmianService.getPinpaimenmianById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(Pinpaimenmian record) {
+        Pinpaimenmian data = pinpaimenmianService.getPinpaimenmian(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, Pinpaimenmian record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<Pinpaimenmian> pp =pinpaimenmianService.getPinpaimenmianByPage(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(Pinpaimenmian record) {
+        boolean num = pinpaimenmianService.createPinpaimenmian(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updatePinpaimenmian(Pinpaimenmian record) {
+        boolean num = pinpaimenmianService.updatePinpaimenmian(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deletePinpaimenmian(Pinpaimenmian record) {
+
+        boolean num = pinpaimenmianService.deletePinpaimenmian(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, Pinpaimenmian record) throws Exception {
+
+    List<Pinpaimenmian> pinpaimenmians = pinpaimenmianService.getPinpaimenmianList(record);
+
+
+        String sheetName = "pinpaimenmian";
+        String titleName = "品牌门面数据表";
+        String fileName = "品牌门面表";
+        int columnNumber = 7;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "营业厅ID"  };
+        String[][] dataList = new String[pinpaimenmians.size()][7];
+
+        for (int i = 0; i < pinpaimenmians.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(pinpaimenmians.get(i).getId());
+                        dataList[i][1] = String.valueOf(pinpaimenmians.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(pinpaimenmians.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(pinpaimenmians.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(pinpaimenmians.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(pinpaimenmians.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(pinpaimenmians.get(i).getStationId());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 165 - 0
src/main/java/com/izouma/awesomeadmin/web/PlayInfoController.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.PlayInfo;
+import com.izouma.awesomeadmin.service.PlayInfoService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/playInfo")
+public class PlayInfoController {
+
+    @Autowired
+    private PlayInfoService playInfoService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(PlayInfo record) {
+        List<PlayInfo> pp = playInfoService.getPlayInfoList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getPlayInfo", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getPlayInfo(@RequestParam(required = false, value = "id") String id) {
+        PlayInfo data = playInfoService.getPlayInfoById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(PlayInfo record) {
+        PlayInfo data = playInfoService.getPlayInfo(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, PlayInfo record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<PlayInfo> pp =playInfoService.getPlayInfoByPage(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(PlayInfo record) {
+        boolean num = playInfoService.createPlayInfo(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updatePlayInfo(PlayInfo record) {
+        boolean num = playInfoService.updatePlayInfo(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deletePlayInfo(PlayInfo record) {
+
+        boolean num = playInfoService.deletePlayInfo(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, PlayInfo record) throws Exception {
+
+    List<PlayInfo> playInfos = playInfoService.getPlayInfoList(record);
+
+
+        String sheetName = "play_info";
+        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 = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "循环次数" ,   "播放地址" ,   "上传时间" ,   "切换间隔描述" ,   "播放类型:0:品牌矩阵   1:品牌门面上中/屏    2:品牌门面下屏" ,   "父级分类的id" ,   "排序" ,   "文件类型:0:video   1:photo"  };
+        String[][] dataList = new String[playInfos.size()][14];
+
+        for (int i = 0; i < playInfos.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(playInfos.get(i).getId());
+                        dataList[i][1] = String.valueOf(playInfos.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(playInfos.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(playInfos.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(playInfos.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(playInfos.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(playInfos.get(i).getLoopnum());
+                        dataList[i][7] = String.valueOf(playInfos.get(i).getUrl());
+                        dataList[i][8] = String.valueOf(playInfos.get(i).getUploadTime());
+                        dataList[i][9] = String.valueOf(playInfos.get(i).getSwitchTime());
+                        dataList[i][10] = String.valueOf(playInfos.get(i).getType());
+                        dataList[i][11] = String.valueOf(playInfos.get(i).getFatherId());
+                        dataList[i][12] = String.valueOf(playInfos.get(i).getRank());
+                        dataList[i][13] = String.valueOf(playInfos.get(i).getFileType());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 159 - 0
src/main/java/com/izouma/awesomeadmin/web/StationInfoController.java

@@ -0,0 +1,159 @@
+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.StationInfo;
+import com.izouma.awesomeadmin.service.StationInfoService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/stationInfo")
+public class StationInfoController {
+
+    @Autowired
+    private StationInfoService stationInfoService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(StationInfo record) {
+        List<StationInfo> pp = stationInfoService.getStationInfoList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getStationInfo", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getStationInfo(@RequestParam(required = false, value = "id") String id) {
+        StationInfo data = stationInfoService.getStationInfoById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(StationInfo record) {
+        StationInfo data = stationInfoService.getStationInfo(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, StationInfo record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<StationInfo> pp =stationInfoService.getStationInfoByPage(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(StationInfo record) {
+        boolean num = stationInfoService.createStationInfo(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateStationInfo(StationInfo record) {
+        boolean num = stationInfoService.updateStationInfo(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteStationInfo(StationInfo record) {
+
+        boolean num = stationInfoService.deleteStationInfo(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, StationInfo record) throws Exception {
+
+    List<StationInfo> stationInfos = stationInfoService.getStationInfoList(record);
+
+
+        String sheetName = "station_info";
+        String titleName = "营业厅管理数据表";
+        String fileName = "营业厅管理表";
+        int columnNumber = 8;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "营业厅名称" ,   "营业厅信息"  };
+        String[][] dataList = new String[stationInfos.size()][8];
+
+        for (int i = 0; i < stationInfos.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(stationInfos.get(i).getId());
+                        dataList[i][1] = String.valueOf(stationInfos.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(stationInfos.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(stationInfos.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(stationInfos.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(stationInfos.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(stationInfos.get(i).getStationName());
+                        dataList[i][7] = String.valueOf(stationInfos.get(i).getInfo());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 176 - 0
src/main/java/com/izouma/awesomeadmin/web/SubItemController.java

@@ -0,0 +1,176 @@
+package com.izouma.awesomeadmin.web;
+
+import java.util.*;
+
+import com.izouma.awesomeadmin.model.ImgInfo;
+import com.izouma.awesomeadmin.service.ImgInfoService;
+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.SubItem;
+import com.izouma.awesomeadmin.service.SubItemService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/subItem")
+public class SubItemController {
+
+    @Autowired
+    private SubItemService subItemService;
+
+    @Autowired
+    private ImgInfoService imgInfoService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(SubItem record) {
+        List<SubItem> pp = subItemService.getSubItemList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getSubItem", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getSubItem(@RequestParam(required = false, value = "id") String id) {
+        SubItem data = subItemService.getSubItemById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(SubItem record) {
+        SubItem data = subItemService.getSubItem(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, SubItem record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<SubItem> pp =subItemService.getSubItemByPage(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(SubItem record) {
+        boolean num = subItemService.createSubItem(record);
+        if (num) {
+
+            ImgInfo img = new ImgInfo();
+            img.setFatherId(record.getId());
+            img.setType(4);
+            img.setUrl(record.getImgUrl());
+            imgInfoService.createImgInfo(img);
+            return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateSubItem(SubItem record) {
+        boolean num = subItemService.updateSubItem(record);
+        if (num) {
+
+            ImgInfo img = new ImgInfo();
+            img.setFatherId(record.getId());
+            img.setType(4);
+            img.setUrl(record.getImgUrl());
+            imgInfoService.createImgInfo(img);
+            return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteSubItem(SubItem record) {
+
+        boolean num = subItemService.deleteSubItem(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, SubItem record) throws Exception {
+
+    List<SubItem> subItems = subItemService.getSubItemList(record);
+
+
+        String sheetName = "sub_item";
+        String titleName = "子项锚点模板信息数据表";
+        String fileName = "子项锚点模板信息表";
+        int columnNumber = 8;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "子项名称" ,   "栏目ID"  };
+        String[][] dataList = new String[subItems.size()][8];
+
+        for (int i = 0; i < subItems.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(subItems.get(i).getId());
+                        dataList[i][1] = String.valueOf(subItems.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(subItems.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(subItems.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(subItems.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(subItems.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(subItems.get(i).getName());
+                        dataList[i][7] = String.valueOf(subItems.get(i).getMenuInfoId());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 114 - 0
src/main/vue/src/pages/ClickHistory.vue

@@ -0,0 +1,114 @@
+<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="stationId" label="营业厅ID">
+                <el-input v-model="formData.stationId" :disabled="'stationId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="exhibitionId" label="展项ID">
+                <el-input v-model="formData.exhibitionId" :disabled="'exhibitionId'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="clickedId" label="被点击栏目的ID">
+                <el-input v-model="formData.clickedId" :disabled="'clickedId'==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: "/clickHistory/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 ? "/clickHistory/update" : "/clickHistory/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: "/clickHistory/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>

+ 439 - 0
src/main/vue/src/pages/ClickHistorys.vue

@@ -0,0 +1,439 @@
+<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:'/clickHistory',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('stationId')"
+                                prop="stationId"
+                                label="营业厅ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('exhibitionId')"
+                                prop="exhibitionId"
+                                label="展项ID"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('clickedId')"
+                                prop="clickedId"
+                                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: 'stationId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '展项ID',
+                                value: 'exhibitionId',
+                                show: true
+                            },
+                                                                                                {
+                                label: '被点击栏目的ID',
+                                value: 'clickedId',
+                                show: true
+                            },
+                                                            ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                                                                                                                                                                                                                                                                                                                                                {
+                                label: '营业厅ID',
+                                value: 'station_id'
+                            },
+                                                                                                {
+                                label: '展项ID',
+                                value: 'exhibition_id'
+                            },
+                                                                                                {
+                                label: '被点击栏目的ID',
+                                value: 'clicked_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: '/clickHistory/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: '/clickHistory',
+                    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 + "/clickHistory/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: '/clickHistory/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>

+ 137 - 0
src/main/vue/src/pages/EquipmentInfo.vue

@@ -0,0 +1,137 @@
+<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="stationId" label="营业厅">
+                <el-select v-model="formData.stationId" filterable placeholder="请选择" size="small">
+                    <el-option v-for="item in stations" :key="item.id" :label="item.stationName" :value="item.id">
+                    </el-option>
+                </el-select>
+
+            </el-form-item>
+            <el-form-item prop="exhibitionId" label="展示项目">
+                <el-select v-model="formData.exhibitionId" filterable placeholder="请选择" size="small">
+                    <el-option v-for="item in exhibitons" :key="item.id" :label="item.name" :value="item.id">
+                    </el-option>
+                </el-select>
+
+            </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: '/equipmentInfo/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;
+                }
+            }
+
+            this.$http
+                .get({
+                    url: "/stationInfo/all"
+                })
+                .then(res => {
+                    if (res.success) {
+                        this.stations = res.data;
+                    }
+                });
+
+                 this.$http
+                .get({
+                    url: "/exhibitionContent/all"
+                })
+                .then(res => {
+                    if (res.success) {
+                        this.exhibitons = res.data;
+                    }
+                });
+
+        },
+        data() {
+            return {
+                saving: false,
+                formData: {},
+                rules: {},
+                stations: [],
+                exhibitons:[],
+                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 ? '/equipmentInfo/update' : '/equipmentInfo/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: '/equipmentInfo/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>

+ 494 - 0
src/main/vue/src/pages/EquipmentInfos.vue

@@ -0,0 +1,494 @@
+<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:'/equipmentInfo',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('stationId')"
+                prop="stationId"
+                label="营业厅"
+                :formatter="stationFormatter"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('exhibitionId')"
+                prop="exhibitionId"
+                label="展示项目"
+                :formatter="exhibitionFormatter"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('status')"
+                prop="status"
+                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();
+
+    this.$http
+      .get({
+        url: "/stationInfo/all"
+      })
+      .then(res => {
+        if (res.success) {
+          this.stations = res.data;
+        }
+      });
+
+    this.$http
+      .get({
+        url: "/exhibitionContent/all"
+      })
+      .then(res => {
+        if (res.success) {
+          this.exhibitons = res.data;
+        }
+      });
+  },
+  data() {
+    return {
+      totalNumber: 0,
+      totalPage: 10,
+      stations: [],
+      exhibitons:[],
+      currentPage: 1,
+      pageSize: 20,
+      tableData: [],
+      filter1: "",
+      filter2: "",
+      tableColumns: [
+        {
+          label: "营业厅ID",
+          value: "stationId",
+          show: true
+        },
+        {
+          label: "展示ID",
+          value: "exhibitionId",
+          show: true
+        },
+        {
+          label: "状态",
+          value: "status",
+          show: true
+        }
+      ],
+      multipleMode: false,
+      showAdvancedQueryDialog: false,
+      advancedQueryFields: [],
+      showTableSortDialog: false,
+      tableSortFields: [],
+      searchMethods: ["=", "!=", ">", ">=", "<", "<=", "like"],
+      advancedQueryColumns: [
+        {
+          label: "营业厅ID",
+          value: "station_id"
+        },
+        {
+          label: "展示ID",
+          value: "exhibition_id"
+        },
+        {
+          label: "状态",
+          value: "status"
+        }
+      ],
+      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: "/equipmentInfo/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: "/equipmentInfo",
+        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 +
+        "/equipmentInfo/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: "/equipmentInfo/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 });
+      }
+    },
+    stationFormatter(row, column, cellValue) {
+      if (cellValue) {
+        var stationId = "";
+        this.stations.forEach(item => {
+          if (item.id == Number(cellValue)) {
+            stationId = item.stationName;
+          }
+        });
+
+        return stationId;
+      }
+    },
+    exhibitionFormatter(row, column, cellValue) {
+      if (cellValue) {
+        var exhibitionId = "";
+        this.exhibitons.forEach(item => {
+          if (item.id == Number(cellValue)) {
+            exhibitionId = item.name;
+          }
+        });
+
+        return exhibitionId;
+      }
+    },
+    showImg(img) {
+      this.imgSrc = img;
+      this.imageDialogVisible = true;
+    }
+  }
+};
+</script>
+<style lang="less" scoped>
+</style>

+ 123 - 0
src/main/vue/src/pages/ExhibitionContent.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="name" label="展示名称">
+                <el-input v-model="formData.name" :disabled="'name'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="version" label="版本号">
+                <el-input v-model="formData.version" :disabled="'version'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="stationId" label="营业厅">
+                <el-select v-model="formData.stationId" filterable placeholder="请选择" size="small">
+                    <el-option v-for="item in stations" :key="item.id" :label="item.stationName" :value="item.id">
+                    </el-option>
+                </el-select>
+
+            </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: '/exhibitionContent/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;
+                }
+            }
+
+            this.$http.get({
+                url: '/stationInfo/all'
+            }).then(res => {
+                if (res.success) {
+                    this.stations = res.data;
+                }
+            });
+
+        },
+        data() {
+            return {
+                saving: false,
+                formData: {},
+                rules: {},
+                subColumn: '',
+                stations: [],
+                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 ? '/exhibitionContent/update' : '/exhibitionContent/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: '/exhibitionContent/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>

+ 462 - 0
src/main/vue/src/pages/ExhibitionContents.vue

@@ -0,0 +1,462 @@
+<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:'/exhibitionContent',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('name')"
+                prop="name"
+                label="展示名称"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('version')"
+                prop="version"
+                label="版本号"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('stationId')"
+                prop="stationId"
+                label="营业厅"
+                :formatter="stationFormatter"
+                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();
+
+            this.$http.get({
+                url: '/stationInfo/all'
+            }).then(res => {
+                if (res.success) {
+                    this.stations = res.data;
+                }
+            });
+        },
+        data() {
+            return {
+                totalNumber: 0,
+                totalPage: 10,
+                currentPage: 1,
+                pageSize: 20,
+                tableData: [],
+                filter1: '',
+                filter2: '',
+                stations: [],
+                tableColumns: [
+                    {
+                        label: '展示名称',
+                        value: 'name',
+                        show: true
+                    },
+                    {
+                        label: '版本号',
+                        value: 'version',
+                        show: true
+                    },
+                    {
+                        label: '营业厅',
+                        value: 'stationId',
+                        show: true
+                    },
+                ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                    {
+                        label: '展示名称',
+                        value: 'name'
+                    },
+                    {
+                        label: '版本号',
+                        value: 'version'
+                    },
+                    {
+                        label: '营业厅',
+                        value: 'station_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: '/exhibitionContent/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: '/exhibitionContent',
+                    query: {
+                        id: row.id,
+                        column: this.$route.query.column,
+                    }
+                })
+            },
+            operation1() {
+                this.$notify({
+                    title: '提示',
+                    message: this.selection
+                });
+            },
+            stationFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    var stationId = '';
+                    this.stations.forEach(item => {
+                        if (item.id == Number(cellValue)) {
+                            stationId = item.stationName;
+                        }
+                    })
+
+                    return stationId;
+                }
+            },
+            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 + "/exhibitionContent/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: '/exhibitionContent/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>

+ 161 - 0
src/main/vue/src/pages/FileInfo.vue

@@ -0,0 +1,161 @@
+<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="url" label="资源上传">
+                <el-input v-model="formData.url" ></el-input>
+            </el-form-item>
+            <el-form-item prop="url" label="资源上传">
+                <el-upload class="upload-demo" :file-list="fileList" :multiple="false" :action="$baseUrl+'/assets/uploadFile'" :on-success='haleSuccess'>
+                    <el-button size="small" type="primary">点击上传</el-button>
+                    <div slot="tip" class="el-upload__tip">文件大小限制 </div>
+                </el-upload>
+            </el-form-item>
+            <el-form-item prop="type" label="类型:0:data_video  1:data_app">
+                <template>
+                    <el-select v-model="formData.type" clearable placeholder="请选择" :disabled="subType!=''">
+                        <el-option
+                            v-for="item in typeOptions"
+                            :key="item.value"
+                            :label="item.label"
+                            :value="item.value">
+                        </el-option>
+                    </el-select>
+                </template>
+            </el-form-item>
+             <el-form-item v-if="formData.type==0" prop="image" label="video配图">
+                <single-upload v-model="formData.image" :disabled="'imgUrl'==subColumn"></single-upload>
+            </el-form-item>
+            <el-form-item prop="fatherId" label="父类id">
+                <el-input type="number" v-model="formData.fatherId" :disabled="'fatherId'==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.type>=0) {
+                this.subType = this.$route.query.type;
+            }
+
+            if (this.$route.query.id) {
+                this.$http.get({
+                    url: '/fileInfo/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;
+                        }
+                        var nameList = res.data.url.split('/')
+                        var jsonp = {
+                            name: nameList[nameList.length - 1],
+                            url: res.data.url
+                        }
+                        this.fileList.push(jsonp)
+
+                        if (this.$route.query.type>=0) {
+                            this.formData.type = Number(this.subType);
+                        }
+                    }
+                })
+            } else {
+                if (this.$route.query.column) {
+                    this.formData[this.subColumn] = this.subValue;
+                }
+
+                if (this.$route.query.type>=0) {
+                    this.formData.type = Number(this.subType);
+                }
+            }
+
+        },
+        data() {
+            return {
+                saving: false,
+                formData: {},
+                rules: {},
+                typeOptions:[{ value: 0, label: 'video' }, { value: 1, label: 'app' }],
+                subColumn: '',
+                subValue: '',
+                fileList: [],
+                subType: '',
+            }
+        },
+        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 ? '/fileInfo/update' : '/fileInfo/save',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.$message.success('成功');
+                        this.$router.go(-1);
+                    } else {
+                        this.$message.warning('失败')
+                    }
+                });
+            },
+            haleSuccess(file) {
+                // console.log(file)
+                file.data.forEach(item => {
+                    var nameList = item.split('/')
+                    var jsonp = {
+                        name: nameList[nameList.length - 1],
+                        url: item
+                    }
+                    this.fileList.splice(0, 1, jsonp)
+                    this.formData.url = item
+                })
+            },
+            onDelete() {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
+                    return this.$http.post({
+                        url: '/fileInfo/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>

+ 462 - 0
src/main/vue/src/pages/FileInfos.vue

@@ -0,0 +1,462 @@
+<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:'/fileInfo',query:{column:$route.query.column,type:$route.query.type}})"
+                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('url')"
+                prop="url"
+                label="文件地址"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('uploadTime')"
+                prop="uploadTime"
+                label="上传时间"
+                :formatter="DateFormatter"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('type')"
+                prop="type"
+                label="类型:0:data_video  1:data_app"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('fatherId')"
+                prop="fatherId"
+                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: 'url',
+                        show: true
+                    },
+                    {
+                        label: '上传时间',
+                        value: 'uploadTime',
+                        show: true
+                    },
+                    {
+                        label: '类型:0:data_video  1:data_app',
+                        value: 'type',
+                        show: true
+                    },
+                    {
+                        label: '父类id',
+                        value: 'fatherId',
+                        show: true
+                    },
+                ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                    {
+                        label: '文件地址',
+                        value: 'url'
+                    },
+                    {
+                        label: '上传时间',
+                        value: 'upload_time'
+                    },
+                    {
+                        label: '类型:0:data_video  1:data_app',
+                        value: 'type'
+                    },
+                    {
+                        label: '父类id',
+                        value: 'father_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];
+                }
+
+                if (this.$route.query.type >= 0) {
+                    data.type = Number(this.$route.query.type);
+                }
+
+                this.$http.get({
+                    url: '/fileInfo/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: '/fileInfo',
+                    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 + "/fileInfo/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: '/fileInfo/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>

+ 117 - 0
src/main/vue/src/pages/FinancialData.vue

@@ -0,0 +1,117 @@
+<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="stationId" label="营业厅">
+                <el-select v-model="formData.stationId" filterable placeholder="请选择" size="small">
+                    <el-option v-for="item in stations" :key="item.id" :label="item.stationName" :value="item.id">
+                    </el-option>
+                </el-select>
+
+            </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: '/financialData/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;
+                }
+            }
+
+            this.$http.get({
+                url: '/stationInfo/all'
+            }).then(res => {
+                if (res.success) {
+                    this.stations = res.data;
+                }
+            });
+
+        },
+        data() {
+            return {
+                saving: false,
+                formData: {},
+                rules: {},
+                subColumn: '',
+                stations: [],
+                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 ? '/financialData/update' : '/financialData/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: '/financialData/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>

+ 451 - 0
src/main/vue/src/pages/FinancialDatas.vue

@@ -0,0 +1,451 @@
+<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:'/financialData',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('stationId')"
+                prop="stationId"
+                label="营业厅"
+                :formatter="stationFormatter"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                label="操作"
+                align="center"
+                fixed="right"
+                min-width="150"
+            >
+                <template slot-scope="scope">
+                    <el-button @click="editApp(scope.row)" type="primary" size="mini" plain>APP管理</el-button>
+                    <el-button @click="editVideo(scope.row)" type="primary" size="mini" plain>video管理</el-button>
+                    <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();
+
+            this.$http.get({
+                url: '/stationInfo/all'
+            }).then(res => {
+                if (res.success) {
+                    this.stations = res.data;
+                }
+            });
+        },
+        data() {
+            return {
+                totalNumber: 0,
+                totalPage: 10,
+                currentPage: 1,
+                stations:[],
+                pageSize: 20,
+                tableData: [],
+                filter1: '',
+                filter2: '',
+                tableColumns: [
+                    {
+                        label: '运营点ID',
+                        value: 'stationId',
+                        show: true
+                    },
+                ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                    {
+                        label: '运营点ID',
+                        value: 'station_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: '/financialData/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: '/financialData',
+                    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 + "/financialData/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: '/financialData/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})
+                }
+
+            },
+            editApp(row) {
+                this.$router.push({
+                    path: '/fileInfo',
+                    query: {
+                        id: row.id,
+                        column: row.id + ',fatherId',
+                        type: 1,
+                    }
+                })
+            },
+            editVideo(row) {
+                this.$router.push({
+                    path: '/fileInfos',
+                    query: {
+                        id: row.id,
+                        column: row.id + ',fatherId',
+                        type: 0,
+                    }
+                })
+            },
+            DateFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    return format(cellValue, 'YYYY/MM/DD', {locale: zh})
+                }
+
+            },
+            stationFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    var stationId = '';
+                    this.stations.forEach(item => {
+                        if (item.id == Number(cellValue)) {
+                            stationId = item.stationName;
+                        }
+                    })
+
+                    return stationId;
+                }
+            },
+            showImg(img) {
+                this.imgSrc = img;
+                this.imageDialogVisible = true;
+            },
+
+        }
+    }
+</script>
+<style lang="less" scoped>
+
+</style>

+ 125 - 0
src/main/vue/src/pages/ImgInfo.vue

@@ -0,0 +1,125 @@
+<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="imgUrl" label="图片">
+                <single-upload v-model="formData.url" :disabled="'imgUrl'==subColumn"></single-upload>
+            </el-form-item>
+            <el-form-item prop="type" label="分类">
+                <el-input v-model="formData.type" :disabled="subType!=''"></el-input>
+            </el-form-item>
+            <el-form-item prop="fatherId" label="父级id">
+            <el-input v-model="formData.fatherId" :disabled="'fatherId'==subColumn"></el-input>
+        </el-form-item>
+            <el-form-item prop="rank" label="图片排序">
+                <el-input v-model="formData.rank" :disabled="'rank'==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.type) {
+                this.subType = this.$route.query.type;
+            }
+
+            if (this.$route.query.id) {
+                this.$http.get({
+                    url: '/imgInfo/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;
+                        }
+
+                        if (this.$route.query.type) {
+                            this.formData.type = Number(this.subType);
+                        }
+                    }
+                })
+            } else {
+                if (this.$route.query.column) {
+                    this.formData[this.subColumn] = this.subValue;
+                }
+
+                if (this.$route.query.type) {
+                    this.formData.type = Number(this.subType);
+                }
+            }
+
+        },
+        data() {
+            return {
+                saving: false,
+                formData: {},
+                rules: {},
+                subColumn: '',
+                subValue: '',
+                subType: '',
+            }
+        },
+        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 ? '/imgInfo/update' : '/imgInfo/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: '/imgInfo/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>

+ 478 - 0
src/main/vue/src/pages/ImgInfos.vue

@@ -0,0 +1,478 @@
+<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:'/imgInfo',query:{column:$route.query.column,type:$route.query.type}})"
+                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('url')" prop="url" label="图片" min-width="100">
+                <template slot-scope="{row}">
+                    <img :src="row.url" @click="showImg(row.url)"
+                         style="width: 100px;height: 100px;vertical-align: middle;"/>
+                </template>
+
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('uploadTime')"
+                prop="uploadTime"
+                label="更新时间"
+                :formatter="DateTimeFormatter"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('type')"
+                prop="type"
+                label="分类 :0:menu_ico  1:subItem   2:menu_info  3:member"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('fatherId')"
+                prop="fatherId"
+                label="父级id"
+                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
+                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: 'url',
+                        show: true
+                    },
+                    {
+                        label: '更新时间',
+                        value: 'uploadTime',
+                        show: true
+                    },
+                    {
+                        label: '0:menu_ico  1:subItem   2:menu_info  3:member',
+                        value: 'type',
+                        show: true
+                    },
+                    {
+                        label: '父级id',
+                        value: 'fatherId',
+                        show: true
+                    },
+                    {
+                        label: '图片集合排序',
+                        value: 'rank',
+                        show: true
+                    },
+                ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                    {
+                        label: '图片地址',
+                        value: 'url'
+                    },
+                    {
+                        label: '更新时间',
+                        value: 'upload_time'
+                    },
+                    {
+                        label: '0:menu_ico  1:subItem   2:menu_info  3:member',
+                        value: 'type'
+                    },
+                    {
+                        label: '父级id',
+                        value: 'father_id'
+                    },
+                    {
+                        label: '图片集合排序',
+                        value: 'rank'
+                    },
+                ],
+                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];
+                }
+                if (this.$route.query.type) {
+                    data.type = this.$route.query.type;
+                }
+
+                this.$http.get({
+                    url: '/imgInfo/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: '/imgInfo',
+                    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 + "/imgInfo/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: '/imgInfo/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>

+ 142 - 0
src/main/vue/src/pages/MemberInfo.vue

@@ -0,0 +1,142 @@
+<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="name" label="成员姓名">
+                <el-input v-model="formData.name" :disabled="'name'==subColumn"></el-input>
+            </el-form-item>
+
+            <el-form-item prop="post" label="职位">
+                <el-input v-model="formData.post" :disabled="'post'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="certificatenum" label="证书编号">
+                <el-input v-model="formData.certificatenum" :disabled="'certificatenum'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="qualification" label="资格">
+                <el-input v-model="formData.qualification" :disabled="'qualification'==subColumn"></el-input>
+            </el-form-item>
+
+            <el-form-item prop="imgUrl" label="照片">
+                <single-upload v-model="formData.imgUrl" :disabled="'imgUrl'==subColumn"></single-upload>
+            </el-form-item>
+
+<el-form-item prop="stationId" label="营业厅">
+                <el-select v-model="formData.stationId" filterable placeholder="请选择" size="small">
+                    <el-option v-for="item in stations" :key="item.id" :label="item.stationName" :value="item.id">
+                    </el-option>
+                </el-select>
+
+            </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];
+    }
+
+    this.$http
+      .get({
+        url: "/stationInfo/all"
+      })
+      .then(res => {
+        if (res.success) {
+          this.stations = res.data;
+        }
+      });
+
+    if (this.$route.query.id) {
+      this.$http
+        .get({
+          url: "/memberInfo/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: {},
+      stations: [],
+      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 ? "/memberInfo/update" : "/memberInfo/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: "/memberInfo/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>

+ 505 - 0
src/main/vue/src/pages/MemberInfos.vue

@@ -0,0 +1,505 @@
+<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:'/memberInfo',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
+                prop="stationId"
+                label="营业厅"
+                :formatter="stationFormatter"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('name')"
+                prop="name"
+                label="成员姓名"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column v-if="isColumnShow('imgUrl')" prop="imgUrl" label="图片" min-width="100">
+                <template slot-scope="{row}">
+                    <img :src="row.imgUrl" @click="showImg(row.imgUrl)"
+                         style="width: 100px;height: 100px;vertical-align: middle;"/>
+                </template>
+
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('post')"
+                prop="post"
+                label="职位"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('certificatenum')"
+                prop="certificatenum"
+                label="证书编号"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('qualification')"
+                prop="qualification"
+                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();
+
+    this.$http
+      .get({
+        url: "/stationInfo/all"
+      })
+      .then(res => {
+        if (res.success) {
+          this.stations = res.data;
+        }
+      });
+  },
+  data() {
+    return {
+      totalNumber: 0,
+      stations: [],
+      totalPage: 10,
+      currentPage: 1,
+      pageSize: 20,
+      tableData: [],
+      filter1: "",
+      filter2: "",
+      tableColumns: [
+        {
+          label: "成员姓名",
+          value: "name",
+          show: true
+        },
+        {
+          label: "图片",
+          value: "imgUrl",
+          show: true
+        },
+        {
+          label: "职位",
+          value: "post",
+          show: true
+        },
+        {
+          label: "证书编号",
+          value: "certificatenum",
+          show: true
+        },
+        {
+          label: "资格",
+          value: "qualification",
+          show: true
+        }
+      ],
+      multipleMode: false,
+      showAdvancedQueryDialog: false,
+      advancedQueryFields: [],
+      showTableSortDialog: false,
+      tableSortFields: [],
+      searchMethods: ["=", "!=", ">", ">=", "<", "<=", "like"],
+      advancedQueryColumns: [
+        {
+          label: "成员姓名",
+          value: "name"
+        },
+        {
+          label: "职位",
+          value: "post"
+        },
+        {
+          label: "证书编号",
+          value: "certificateNum"
+        },
+        {
+          label: "资格",
+          value: "qualification"
+        }
+      ],
+      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: "/memberInfo/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: "/memberInfo",
+        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 +
+        "/memberInfo/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: "/memberInfo/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 });
+      }
+    },
+    stationFormatter(row, column, cellValue) {
+      if (cellValue) {
+        var stationId = "";
+        this.stations.forEach(item => {
+          if (item.id == Number(cellValue)) {
+            stationId = item.stationName;
+          }
+        });
+
+        return stationId;
+      }
+    },
+    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>

+ 149 - 0
src/main/vue/src/pages/MenuInfo.vue

@@ -0,0 +1,149 @@
+<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="menuName" label="栏目名称">
+                <el-input v-model="formData.menuName" :disabled="'menuName'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="imgUrl" label="栏目图标">
+                <single-upload v-model="formData.imgUrl" :disabled="'imgUrl'==subColumn"></single-upload>
+            </el-form-item>
+                    <el-form-item prop="abstractInfo" label="栏目概要">
+                        <el-input v-model="formData.abstractInfo" :disabled="'abstractInfo'==subColumn"></el-input>
+                    </el-form-item>
+                    <el-form-item prop="statusFlag" label="栏目类型">
+                        <template>
+                    <el-select v-model="formData.type" clearable placeholder="请选择"
+                               :disabled="'type'==subColumn">
+                        <el-option
+                            v-for="item in types"
+                            :key="item.value"
+                            :label="item.label"
+                            :value="item.value">
+                        </el-option>
+                    </el-select>
+                </template>
+            </el-form-item>
+
+            <el-form-item prop="stationInfo" label="营业厅">
+                <el-select v-model="formData.stationInfo" filterable placeholder="请选择" size="small">
+                    <el-option v-for="item in stations" :key="item.id" :label="item.stationName" :value="item.id">
+                    </el-option>
+                </el-select>
+
+            </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: '/menuInfo/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;
+                }
+            }
+
+            this.$http.get({
+                url: '/stationInfo/all'
+            }).then(res => {
+                if (res.success) {
+                    this.stations = res.data;
+                }
+            });
+
+
+        },
+        data() {
+            return {
+                saving: false,
+                formData: {},
+                rules: {},
+                types: [{label: '子栏目', value: '1'}, {label: '长图模式', value: '2'}, {label: '从业人员', value: '3'}],
+                stations: [],
+                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 ? '/menuInfo/update' : '/menuInfo/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: '/menuInfo/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>

+ 520 - 0
src/main/vue/src/pages/MenuInfos.vue

@@ -0,0 +1,520 @@
+<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:'/menuInfo',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('menuName')"
+                prop="menuName"
+                label="栏目名称"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('abstractInfo')"
+                prop="abstractInfo"
+                label="公司介绍"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('type')"
+                prop="type"
+                label="栏目类型"
+                :formatter="TypeFlagFormatter"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('stationInfo')"
+                prop="stationInfo"
+                label="营业厅"
+                :formatter="stationFormatter"
+                min-width="100">
+            </el-table-column>
+            <el-table-column
+                label="操作"
+                align="center"
+                fixed="right"
+                min-width="150"
+            >
+                <template slot-scope="scope">
+                    <el-button v-if="scope.row.type==2" @click="editImg(scope.row)" type="primary" size="mini" plain>图片管理</el-button>
+                    <el-button v-if="scope.row.type==1" @click="editSubItems(scope.row)" type="primary" size="mini" plain>子栏目管理</el-button>
+                    <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();
+
+            this.$http.get({
+                url: '/stationInfo/all'
+            }).then(res => {
+                if (res.success) {
+                    this.stations = res.data;
+                }
+            });
+
+        },
+        data() {
+            return {
+                totalNumber: 0,
+                totalPage: 10,
+                currentPage: 1,
+                pageSize: 20,
+                tableData: [],
+                filter1: '',
+                filter2: '',
+                tableColumns: [
+                    {
+                        label: '栏目名称',
+                        value: 'menuName',
+                        show: true
+                    },
+                    {
+                        label: '公司介绍',
+                        value: 'abstractInfo',
+                        show: true
+                    },
+                    {
+                        label: '栏目类型',
+                        value: 'type',
+                        show: true
+                    },
+                    {
+                        label: '营业厅ID',
+                        value: 'stationInfo',
+                        show: true
+                    },
+                ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                advancedQueryColumns: [
+                    {
+                        label: '栏目名称',
+                        value: 'menu_name'
+                    },
+                    {
+                        label: '公司介绍',
+                        value: 'abstract_info'
+                    },
+                    {
+                        label: '栏目类型',
+                        value: 'type'
+                    },
+                    {
+                        label: '营业厅ID',
+                        value: 'station_info'
+                    },
+                ],
+                advancedQuerySearchKey: '',
+                orderByStr: '',
+                imgSrc: '',
+                stations:[],
+                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: '/menuInfo/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: '/menuInfo',
+                    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',
+                });
+            },
+            editImg(row) {
+                this.$router.push({
+                    path: '/imgInfos',
+                    query: {
+                        id: row.id,
+                        column: row.id + ',fatherId',
+                        type: 2,
+                    }
+                })
+            },
+            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 + "/menuInfo/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: '/menuInfo/del',
+                        data: {id: row.id}
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.getData();
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            },
+            editSubItems(row)
+            {
+                this.$router.push({
+                    path: '/subItems',
+                    query: {
+                        id: row.id,
+                        column: row.id+',menuInfoId'
+                    }
+                })
+            }
+            ,
+            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;
+            },
+
+            TypeFlagFormatter(row, column, cellValue) {
+
+                var valueStr = '';
+                switch (cellValue) {
+                    case '1':
+                        valueStr = '子栏目';
+                        break;
+                    case '2':
+                        valueStr = '长图模式';
+                        break
+                    case '3':
+                        valueStr = '从业人员';
+                        break
+                }
+                return valueStr;
+            },
+
+            stationFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    var stationInfo = '';
+                    this.stations.forEach(item => {
+                        if (item.id == Number(cellValue)) {
+                            stationInfo = item.stationName;
+                        }
+                    })
+
+                    return stationInfo;
+                }
+            },
+
+        }
+    }
+</script>
+<style lang="less" scoped>
+
+</style>

+ 126 - 0
src/main/vue/src/pages/Pinpaijuzhen.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="stationId" label="营业厅">
+                <el-select v-model="formData.stationId" filterable placeholder="请选择" size="small">
+                    <el-option v-for="item in stations" :key="item.id" :label="item.stationName" :value="item.id">
+                    </el-option>
+                </el-select>
+
+            </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: "/pinpaijuzhen/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;
+                }
+            }
+
+            this.$http
+                .get({
+                    url: "/stationInfo/all"
+                })
+                .then(res => {
+                    if (res.success) {
+                        this.stations = res.data;
+                    }
+                });
+        },
+        data() {
+            return {
+                saving: false,
+                formData: {},
+                rules: {},
+                subColumn: "",
+                stations: [],
+                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 ? "/pinpaijuzhen/update" : "/pinpaijuzhen/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: "/pinpaijuzhen/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>

+ 449 - 0
src/main/vue/src/pages/Pinpaijuzhens.vue

@@ -0,0 +1,449 @@
+<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:'/pinpaijuzhen',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('stationId')"
+                prop="stationId"
+                label="营业厅"
+                :formatter="stationFormatter"
+                min-width="100">
+            </el-table-column>
+            <el-table-column
+                label="操作"
+                align="center"
+                fixed="right"
+                min-width="150"
+            >
+                <template slot-scope="scope">
+                    <el-button @click="editPlay(scope.row)" type="primary" size="mini" plain>播放管理</el-button>
+                    <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();
+
+            this.$http
+                .get({
+                    url: "/stationInfo/all"
+                })
+                .then(res => {
+                    if (res.success) {
+                        this.stations = res.data;
+                    }
+                });
+        },
+        data() {
+            return {
+                totalNumber: 0,
+                totalPage: 10,
+                currentPage: 1,
+                pageSize: 20,
+                tableData: [],
+                filter1: "",
+                stations: [],
+                filter2: "",
+                tableColumns: [
+                    {
+                        label: "营业厅ID",
+                        value: "stationId",
+                        show: true
+                    }
+                ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ["=", "!=", ">", ">=", "<", "<=", "like"],
+                advancedQueryColumns: [
+                    {
+                        label: "营业厅ID",
+                        value: "station_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: "/pinpaijuzhen/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: "/pinpaijuzhen",
+                    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 +
+                    "/pinpaijuzhen/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: "/pinpaijuzhen/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});
+                }
+            },
+            stationFormatter(row, column, cellValue) {
+                if (cellValue) {
+                    var stationId = "";
+                    this.stations.forEach(item => {
+                        if (item.id == Number(cellValue)) {
+                            stationId = item.stationName;
+                        }
+                    });
+
+                    return stationId;
+                }
+            },
+            editPlay(row) {
+                this.$router.push({
+                    path: '/playInfos',
+                    query: {
+                        id: row.id,
+                        column: row.id + ',fatherId',
+                        type: 0,
+                    }
+                })
+            },
+            showImg(img) {
+                this.imgSrc = img;
+                this.imageDialogVisible = true;
+            }
+        }
+    };
+</script>
+<style lang="less" scoped>
+</style>

+ 125 - 0
src/main/vue/src/pages/Pinpaimenmian.vue

@@ -0,0 +1,125 @@
+<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="stationId" label="营业厅">
+                <el-select v-model="formData.stationId" filterable placeholder="请选择" size="small">
+                    <el-option v-for="item in stations" :key="item.id" :label="item.stationName" :value="item.id">
+                    </el-option>
+                </el-select>
+
+            </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: "/pinpaimenmian/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;
+      }
+    }
+
+     this.$http
+                .get({
+                    url: "/stationInfo/all"
+                })
+                .then(res => {
+                    if (res.success) {
+                        this.stations = res.data;
+                    }
+                });
+  },
+  data() {
+    return {
+      saving: false,
+      formData: {},
+      rules: {},
+      stations: [],
+      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
+            ? "/pinpaimenmian/update"
+            : "/pinpaimenmian/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: "/pinpaimenmian/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>

+ 460 - 0
src/main/vue/src/pages/Pinpaimenmians.vue

@@ -0,0 +1,460 @@
+<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:'/pinpaimenmian',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('stationId')"
+                prop="stationId"
+                label="营业厅"
+                :formatter="stationFormatter"
+                min-width="100">
+            </el-table-column>
+            <el-table-column
+                label="操作"
+                align="center"
+                fixed="right"
+                min-width="150"
+            >
+                <template slot-scope="scope">
+                    <el-button @click="editPlay1(scope.row)" type="primary" size="mini" plain>上/中屏播放管理</el-button>
+                    <el-button @click="editPlay2(scope.row)" type="primary" size="mini" plain>下屏播放管理</el-button>
+                    <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();
+
+     this.$http
+      .get({
+        url: "/stationInfo/all"
+      })
+      .then(res => {
+        if (res.success) {
+          this.stations = res.data;
+        }
+      });
+  },
+  data() {
+    return {
+      totalNumber: 0,
+      totalPage: 10,
+      stations: [],
+      currentPage: 1,
+      pageSize: 20,
+      tableData: [],
+      filter1: "",
+      filter2: "",
+      tableColumns: [
+        {
+          label: "营业厅ID",
+          value: "stationId",
+          show: true
+        }
+      ],
+      multipleMode: false,
+      showAdvancedQueryDialog: false,
+      advancedQueryFields: [],
+      showTableSortDialog: false,
+      tableSortFields: [],
+      searchMethods: ["=", "!=", ">", ">=", "<", "<=", "like"],
+      advancedQueryColumns: [
+        {
+          label: "营业厅ID",
+          value: "station_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: "/pinpaimenmian/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: "/pinpaimenmian",
+        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 +
+        "/pinpaimenmian/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: "/pinpaimenmian/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 });
+      }
+    },
+    stationFormatter(row, column, cellValue) {
+      if (cellValue) {
+        var stationId = "";
+        this.stations.forEach(item => {
+          if (item.id == Number(cellValue)) {
+            stationId = item.stationName;
+          }
+        });
+
+        return stationId;
+      }
+    },
+    editPlay1(row) {
+                this.$router.push({
+                    path: '/playInfos',
+                    query: {
+                        id: row.id,
+                        column: row.id + ',fatherId',
+                        type: 1,
+                    }
+                })
+            },
+    editPlay2(row) {
+                this.$router.push({
+                    path: '/playInfos',
+                    query: {
+                        id: row.id,
+                        column: row.id + ',fatherId',
+                        type: 2,
+                    }
+                })
+            },
+    showImg(img) {
+      this.imgSrc = img;
+      this.imageDialogVisible = true;
+    }
+  }
+};
+</script>
+<style lang="less" scoped>
+</style>

+ 166 - 0
src/main/vue/src/pages/PlayInfo.vue

@@ -0,0 +1,166 @@
+<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="url" label="资源上传">
+                <el-upload class="upload-demo" :file-list="fileList" :multiple="false" :action="$baseUrl+'/assets/uploadFile'" :on-success='haleSuccess'>
+                    <el-button size="small" type="primary">点击上传</el-button>
+                    <div slot="tip" class="el-upload__tip">文件大小限制 </div>
+                </el-upload>
+            </el-form-item>
+
+             <el-form-item prop="url" label="播放地址">
+                <el-input v-model="formData.url" :disabled="'url'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="loopnum" label="循环次数">
+                <el-input v-model="formData.loopnum" :disabled="'loopnum'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="switchTime" label="切换间隔描述">
+                <el-input v-model="formData.switchTime" :disabled="'switchTime'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="type" label="分类">
+                <template>
+                    <el-select v-model="formData.type" clearable placeholder="请选择" >
+                        <el-option
+                            v-for="item in typeOptions"
+                            :key="item.value"
+                            :label="item.label"
+                            :value="item.value">
+                        </el-option>
+                    </el-select>
+                </template>
+            </el-form-item>
+             <el-form-item prop="fileType" label="文件类型">
+                <template>
+                    <el-select v-model="formData.fileType" clearable placeholder="请选择" >
+                        <el-option
+                            v-for="item in typeOptions1"
+                            :key="item.value"
+                            :label="item.label"
+                            :value="item.value">
+                        </el-option>
+                    </el-select>
+                </template>
+            </el-form-item>
+            <el-form-item prop="fatherId" label="父级分类的id">
+                <el-input v-model="formData.fatherId" :disabled="'fatherId'==subColumn"></el-input>
+            </el-form-item>
+            <el-form-item prop="rank" label="排序">
+                <el-input v-model="formData.rank" :disabled="'rank'==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: "/playInfo/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: "",
+                 fileList: [],
+                 typeOptions:[{ value: 0, label: '品牌矩阵' }, { value: 1, label: '品牌门面上中/屏' }, { value: 2, label: '品牌门面下屏' }],
+                 typeOptions1:[{ value: '0', label: 'video' }, { value: '1', label: 'photo' }],
+                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 ? "/playInfo/update" : "/playInfo/save",
+                        data: data
+                    })
+                    .then(res => {
+                        if (res.success) {
+                            this.$message.success("成功");
+                            this.$router.go(-1);
+                        } else {
+                            this.$message.warning("失败");
+                        }
+                    });
+            },
+             haleSuccess(file) {
+                // console.log(file)
+                file.data.forEach(item => {
+                    var nameList = item.split('/')
+                    var jsonp = {
+                        name: nameList[nameList.length - 1],
+                        url: item
+                    }
+                    this.fileList.splice(0, 1, jsonp)
+                    this.formData.url = item
+                })
+            },
+            onDelete() {
+                this.$alert("删除将无法恢复,确认要删除么?", "警告", {type: "error"})
+                    .then(() => {
+                        return this.$http.post({
+                            url: "/playInfo/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>

+ 560 - 0
src/main/vue/src/pages/PlayInfos.vue

@@ -0,0 +1,560 @@
+<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:'/playInfo',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('loopnum')"
+                prop="loopnum"
+                label="循环次数"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('url')"
+                prop="url"
+                label="播放地址"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('uploadTime')"
+                prop="uploadTime"
+                label="上传时间"
+                :formatter="DateTimeFormatter"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('switchTime')"
+                prop="switchTime"
+                label="切换间隔描述"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('type')"
+                prop="type"
+                label="类型:"
+                :formatter="TypeFlagFormatter"
+                min-width="100">
+            </el-table-column>
+
+             <el-table-column
+                prop="fileType"
+                label="文件类型:"
+                :formatter="FileTypeFlagFormatter"
+                min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                v-if="isColumnShow('fatherId')"
+                prop="fatherId"
+                label="父级分类的id"
+                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
+                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: "loopnum",
+                        show: true
+                    },
+                    {
+                        label: "播放地址",
+                        value: "url",
+                        show: true
+                    },
+                    {
+                        label: "上传时间",
+                        value: "uploadTime",
+                        show: true
+                    },
+                    {
+                        label: "切换间隔描述",
+                        value: "switchTime",
+                        show: true
+                    },
+                    {
+                        label:
+                            "播放类型:0:video(矩阵)    1:photo(矩阵) 2:video(门面)   3:photo(门面)",
+                        value: "type",
+                        show: true
+                    },
+                    {
+                        label: "父级分类的id",
+                        value: "fatherId",
+                        show: true
+                    },
+                    {
+                        label: "排序",
+                        value: "rank",
+                        show: true
+                    }
+                ],
+                multipleMode: false,
+                showAdvancedQueryDialog: false,
+                advancedQueryFields: [],
+                showTableSortDialog: false,
+                tableSortFields: [],
+                searchMethods: ["=", "!=", ">", ">=", "<", "<=", "like"],
+                advancedQueryColumns: [
+                    {
+                        label: "循环次数",
+                        value: "loopNum"
+                    },
+                    {
+                        label: "播放地址",
+                        value: "url"
+                    },
+                    {
+                        label: "上传时间",
+                        value: "upload_time"
+                    },
+                    {
+                        label: "切换间隔描述",
+                        value: "switch_time"
+                    },
+                    {
+                        label:
+                            "播放类型:0:video(矩阵)    1:photo(矩阵) 2:video(门面)   3:photo(门面)",
+                        value: "type"
+                    },
+                    {
+                        label: "父级分类的id",
+                        value: "father_id"
+                    },
+                    {
+                        label: "排序",
+                        value: "rank"
+                    }
+                ],
+                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];
+                }
+
+                if (this.$route.query.type >= 0) {
+                    var tempColumn = this.$route.query.column;
+                    data.type = this.$route.query.type;
+                }
+
+
+                this.$http
+                    .get({
+                        url: "/playInfo/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: "/playInfo",
+                    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 +
+                    "/playInfo/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: "/playInfo/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});
+                }
+            },
+            TypeFlagFormatter(row, column, cellValue) {
+
+                var valueStr = '';
+                switch (cellValue) {
+                    case 0:
+                        valueStr = '品牌矩阵';
+                        break;
+                    case 1:
+                        valueStr = '品牌门面上中/屏';
+                        break
+                    case 2:
+                        valueStr = '品牌门面下屏';
+                        break
+                }
+
+                return valueStr;
+
+            },
+             FileTypeFlagFormatter(row, column, cellValue) {
+
+                var valueStr = '';
+                switch (cellValue) {
+                    case '0':
+                        valueStr = 'video';
+                        break;
+                    case '1':
+                        valueStr = 'photo';
+                        break
+                }
+
+                return valueStr;
+
+            },
+            showImg(img) {
+                this.imgSrc = img;
+                this.imageDialogVisible = true;
+            }
+        }
+    };
+</script>
+<style lang="less" scoped>
+</style>

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor