Răsfoiți Sursa

图片处理

suochencheng 7 ani în urmă
părinte
comite
2fc1be63a7
100 a modificat fișierele cu 1054 adăugiri și 664 ștergeri
  1. 249 222
      src/main/java/com/izouma/awesomeadmin/dao/ImageUploadLogMapper.xml
  2. 25 0
      src/main/java/com/izouma/awesomeadmin/dao/OrderImageMapper.xml
  3. 89 63
      src/main/java/com/izouma/awesomeadmin/model/ImageUploadLog.java
  4. 25 0
      src/main/java/com/izouma/awesomeadmin/model/OrderImage.java
  5. 127 0
      src/main/java/com/izouma/awesomeadmin/util/ImagesUtil.java
  6. 64 8
      src/main/java/com/izouma/awesomeadmin/web/OrderImageController.java
  7. 13 3
      src/main/vue/src/pages/BannerInfos.vue
  8. 296 332
      src/main/vue/src/pages/MemberCoins.vue
  9. 19 1
      src/main/vue/src/pages/ProductInfo.vue
  10. 22 1
      src/main/vue/src/pages/ProductInfos.vue
  11. 6 8
      src/main/vue/src/pages/StoreInfo.vue
  12. 12 11
      src/main/vue/src/pages/StoreInfos.vue
  13. 104 12
      src/main/vue/src/pages/UserOrders.vue
  14. 1 1
      src/main/webapp/WEB-INF/html/admin.html
  15. 1 1
      src/main/webapp/WEB-INF/html/index.html
  16. 0 0
      src/main/webapp/static/css/index.6224220b6e2f2849327500dc504d1f66.css
  17. 0 0
      src/main/webapp/static/js/10.59a0902bd15ec3121dd4.js
  18. 0 0
      src/main/webapp/static/js/10.b149b39f6702a59910aa.js
  19. 0 0
      src/main/webapp/static/js/102.a0284e2befc9ea54fbd2.js
  20. 0 0
      src/main/webapp/static/js/103.a44c2ef9822430fa1c8b.js
  21. 0 0
      src/main/webapp/static/js/104.f6ad2adb6010517abde4.js
  22. 0 0
      src/main/webapp/static/js/105.d6af042a2de0bed37983.js
  23. 0 0
      src/main/webapp/static/js/106.c8aaa24c7237afea65ca.js
  24. 0 0
      src/main/webapp/static/js/107.830c6d27a7b86b137165.js
  25. 0 0
      src/main/webapp/static/js/108.e43dfc3b011bd9ac5969.js
  26. 0 0
      src/main/webapp/static/js/109.7f9725bfab6c3aeecdc8.js
  27. 0 0
      src/main/webapp/static/js/11.131c9b0dd7e12f11e3da.js
  28. 0 0
      src/main/webapp/static/js/11.db2685fe936f484c4e19.js
  29. 0 0
      src/main/webapp/static/js/110.4bad100dc72730a70e40.js
  30. 0 0
      src/main/webapp/static/js/111.97d6366d6f09b462b630.js
  31. 0 0
      src/main/webapp/static/js/112.8d6572e968285be7e714.js
  32. 0 0
      src/main/webapp/static/js/12.2b3b0bc9def9d279ef40.js
  33. 0 0
      src/main/webapp/static/js/12.af5c1c0d3ce99e7fc791.js
  34. 0 0
      src/main/webapp/static/js/124.cd3e30545717b85bc751.js
  35. 0 0
      src/main/webapp/static/js/125.1de8e29f4d6db66f017a.js
  36. 1 1
      src/main/webapp/static/js/126.815426c1fdbd9ce43507.js
  37. 0 0
      src/main/webapp/static/js/127.0c0287965db9b12711d5.js
  38. 0 0
      src/main/webapp/static/js/128.b46d2bc638be08427df9.js
  39. 0 0
      src/main/webapp/static/js/129.38ecb83b56c88db43519.js
  40. 0 0
      src/main/webapp/static/js/13.a7d93bd9f8d179582dc2.js
  41. 0 0
      src/main/webapp/static/js/13.afe2e200512bf5a9ed2c.js
  42. 0 0
      src/main/webapp/static/js/130.0cdcb193fd1383dacf23.js
  43. 0 0
      src/main/webapp/static/js/131.3eea8ef492e03434c757.js
  44. 0 0
      src/main/webapp/static/js/132.39cbc326421314c1d105.js
  45. 0 0
      src/main/webapp/static/js/133.2af76765605801771840.js
  46. 0 0
      src/main/webapp/static/js/134.112bcd7ea11af0f81dd3.js
  47. 0 0
      src/main/webapp/static/js/135.8fb55cc47a63b86e893c.js
  48. 0 0
      src/main/webapp/static/js/136.d1007a042f82f6660afa.js
  49. 0 0
      src/main/webapp/static/js/137.38177380e703b80537d4.js
  50. 0 0
      src/main/webapp/static/js/138.10b348324acf23a04b57.js
  51. 0 0
      src/main/webapp/static/js/138.2f30083705e4c96d628b.js
  52. 0 0
      src/main/webapp/static/js/14.d4b618481748519112f2.js
  53. 0 0
      src/main/webapp/static/js/14.d5da232cfab2ecca6899.js
  54. 0 0
      src/main/webapp/static/js/140.7344f803eafb47a96b68.js
  55. 0 0
      src/main/webapp/static/js/140.f288f435e12ce7525e43.js
  56. 0 0
      src/main/webapp/static/js/141.9db759f54f98dd2bf67d.js
  57. 0 0
      src/main/webapp/static/js/142.12b2f4342e2f4dcdbe57.js
  58. 0 0
      src/main/webapp/static/js/143.01daf7bae94da68dc2c3.js
  59. 0 0
      src/main/webapp/static/js/144.c0173cf3bcdf8b795f85.js
  60. 0 0
      src/main/webapp/static/js/145.236eff6c597054036e48.js
  61. 0 0
      src/main/webapp/static/js/146.49a25a5fe5752b4699f7.js
  62. 0 0
      src/main/webapp/static/js/147.0f1ee3b4b67b448f176f.js
  63. 0 0
      src/main/webapp/static/js/148.dc65c29ad1fc2b3c859e.js
  64. 0 0
      src/main/webapp/static/js/149.236ab5c182b23198b5cd.js
  65. 0 0
      src/main/webapp/static/js/15.e4f0fc7fea6e2d2b0204.js
  66. 0 0
      src/main/webapp/static/js/150.83fbf64ae051f433a71c.js
  67. 0 0
      src/main/webapp/static/js/151.30af65d0790c13edd550.js
  68. 0 0
      src/main/webapp/static/js/152.51c432be8010c92e3beb.js
  69. 0 0
      src/main/webapp/static/js/153.11b2c36f3851cf13f54f.js
  70. 0 0
      src/main/webapp/static/js/154.0c338b187891cad12543.js
  71. 0 0
      src/main/webapp/static/js/155.58198256d47465f7e4e3.js
  72. 0 0
      src/main/webapp/static/js/156.b560a274409af73b3d60.js
  73. 0 0
      src/main/webapp/static/js/157.b2d43cf009c7f26653fa.js
  74. 0 0
      src/main/webapp/static/js/16.1f870a614ef1fd8051ca.js
  75. 0 0
      src/main/webapp/static/js/16.46bee63bab5fe29634d2.js
  76. 0 0
      src/main/webapp/static/js/17.7faceea18616746d2223.js
  77. 0 0
      src/main/webapp/static/js/17.ba5053f8e54e78370f26.js
  78. 0 0
      src/main/webapp/static/js/18.0a663adb80422fd20274.js
  79. 0 0
      src/main/webapp/static/js/18.4ccc9a369a18d7ffc60e.js
  80. 0 0
      src/main/webapp/static/js/19.43be96fdaf2b96e25528.js
  81. 0 0
      src/main/webapp/static/js/19.4ab8706eb2d26c1a4057.js
  82. 0 0
      src/main/webapp/static/js/20.008fcd2b6ce47000169d.js
  83. 0 0
      src/main/webapp/static/js/21.ad6b51aaebbf724a815f.js
  84. 0 0
      src/main/webapp/static/js/21.f15fd9a693ebbed449ae.js
  85. 0 0
      src/main/webapp/static/js/22.e7fe310abef9c9fd85a5.js
  86. 0 0
      src/main/webapp/static/js/23.58466cd15cbe33e5cb5b.js
  87. 0 0
      src/main/webapp/static/js/23.ca489f85a2ad4f926104.js
  88. 0 0
      src/main/webapp/static/js/24.9b60c0f9c833b91788cc.js
  89. 0 0
      src/main/webapp/static/js/24.c67f4f2ae10377711dba.js
  90. 0 0
      src/main/webapp/static/js/26.84632e26cd5e9403ee48.js
  91. 0 0
      src/main/webapp/static/js/27.47b6169ed4d5ff2cbe63.js
  92. 0 0
      src/main/webapp/static/js/27.5401691327ace0ee94f1.js
  93. 0 0
      src/main/webapp/static/js/28.8ae639bbc695b7543ee0.js
  94. 0 0
      src/main/webapp/static/js/29.b5ec43b0c210a3e10d14.js
  95. 0 0
      src/main/webapp/static/js/30.23a94a10be373d89185e.js
  96. 0 0
      src/main/webapp/static/js/30.2e748eedd06fd5f292d9.js
  97. 0 0
      src/main/webapp/static/js/32.a4a5457d3d327762b902.js
  98. 0 0
      src/main/webapp/static/js/33.4c127ada6b401326267c.js
  99. 0 0
      src/main/webapp/static/js/34.075b5b93ca19058e8a64.js
  100. 0 0
      src/main/webapp/static/js/35.88cba16767f09a9b1ba8.js

+ 249 - 222
src/main/java/com/izouma/awesomeadmin/dao/ImageUploadLogMapper.xml

@@ -1,24 +1,25 @@
 <?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.ImageUploadLogMapper" >
-    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.ImageUploadLog" >
-                <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="image_name" property="imageName" jdbcType="VARCHAR" />
-                                <result column="url" property="url" jdbcType="VARCHAR" />
-                                <result column="store_id" property="storeId" jdbcType="VARCHAR" />
-                                <result column="order_id" property="orderId" jdbcType="VARCHAR" />
-                                <result column="user_id" property="userId" jdbcType="VARCHAR" />
-                                <result column="type_flag" property="typeFlag" jdbcType="VARCHAR" />
-                                <result column="image_size" property="imageSize" jdbcType="DECIMAL" />
-                                <result column="use_flag" property="useFlag" jdbcType="CHAR" />
-            </resultMap>
-    <sql id="Base_Column_List" >
-        <trim  suffixOverrides="," >
+<mapper namespace="com.izouma.awesomeadmin.dao.ImageUploadLogMapper">
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.ImageUploadLog">
+        <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="image_name" property="imageName" jdbcType="VARCHAR"/>
+        <result column="url" property="url" jdbcType="VARCHAR"/>
+        <result column="store_id" property="storeId" jdbcType="VARCHAR"/>
+        <result column="order_id" property="orderId" jdbcType="VARCHAR"/>
+        <result column="user_id" property="userId" jdbcType="VARCHAR"/>
+        <result column="type_flag" property="typeFlag" jdbcType="VARCHAR"/>
+        <result column="image_size" property="imageSize" jdbcType="DECIMAL"/>
+        <result column="use_flag" property="useFlag" jdbcType="CHAR"/>
+        <result column="artwork_url" property="artworkUrl" jdbcType="VARCHAR"/>
+    </resultMap>
+    <sql id="Base_Column_List">
+        <trim suffixOverrides=",">
             id,
 
             del_flag,
@@ -47,155 +48,167 @@
 
             use_flag,
 
-            </trim>
+            artwork_url,
+
+        </trim>
     </sql>
-    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
         select
-        <include refid="Base_Column_List" />
+        <include refid="Base_Column_List"/>
         from image_upload_log
         where id = #{id,jdbcType=INTEGER}
     </select>
-    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
         delete from image_upload_log
         where id = #{id,jdbcType=INTEGER}
     </delete>
-    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.ImageUploadLog" useGeneratedKeys="true" keyProperty="id">
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.ImageUploadLog" useGeneratedKeys="true"
+            keyProperty="id">
         insert into image_upload_log
-        <trim prefix="(" suffix=")" suffixOverrides="," >
-                <if test="id!= null" >
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id!= null">
                 id,
             </if>
-                <if test="delFlag!= null" >
+            <if test="delFlag!= null">
                 del_flag,
             </if>
-                <if test="updateTime!= null" >
+            <if test="updateTime!= null">
                 update_time,
             </if>
-                <if test="updateUser!= null" >
+            <if test="updateUser!= null">
                 update_user,
             </if>
-                <if test="createTime!= null" >
+            <if test="createTime!= null">
                 create_time,
             </if>
-                <if test="createUser!= null" >
+            <if test="createUser!= null">
                 create_user,
             </if>
-                <if test="imageName!= null" >
+            <if test="imageName!= null">
                 image_name,
             </if>
-                <if test="url!= null" >
+            <if test="url!= null">
                 url,
             </if>
-                <if test="storeId!= null" >
+            <if test="storeId!= null">
                 store_id,
             </if>
-                <if test="orderId!= null" >
+            <if test="orderId!= null">
                 order_id,
             </if>
-                <if test="userId!= null" >
+            <if test="userId!= null">
                 user_id,
             </if>
-                <if test="typeFlag!= null" >
+            <if test="typeFlag!= null">
                 type_flag,
             </if>
-                <if test="imageSize!= null" >
+            <if test="imageSize!= null">
                 image_size,
             </if>
-                <if test="useFlag!= null" >
+            <if test="useFlag!= null">
                 use_flag,
             </if>
-            </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides="," >
-                    <if test="id != null" >
+            <if test="artworkUrl!= null">
+                artwork_url,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">
                 #{id,jdbcType=INTEGER},
             </if>
-                    <if test="delFlag != null" >
+            <if test="delFlag != null">
                 #{delFlag,jdbcType=CHAR},
             </if>
-                    <if test="updateTime != null" >
+            <if test="updateTime != null">
                 #{updateTime,jdbcType=TIMESTAMP},
             </if>
-                    <if test="updateUser != null" >
+            <if test="updateUser != null">
                 #{updateUser,jdbcType=VARCHAR},
             </if>
-                    <if test="createTime != null" >
+            <if test="createTime != null">
                 #{createTime,jdbcType=TIMESTAMP},
             </if>
-                    <if test="createUser != null" >
+            <if test="createUser != null">
                 #{createUser,jdbcType=VARCHAR},
             </if>
-                    <if test="imageName != null" >
+            <if test="imageName != null">
                 #{imageName,jdbcType=VARCHAR},
             </if>
-                    <if test="url != null" >
+            <if test="url != null">
                 #{url,jdbcType=VARCHAR},
             </if>
-                    <if test="storeId != null" >
+            <if test="storeId != null">
                 #{storeId,jdbcType=VARCHAR},
             </if>
-                    <if test="orderId != null" >
+            <if test="orderId != null">
                 #{orderId,jdbcType=VARCHAR},
             </if>
-                    <if test="userId != null" >
+            <if test="userId != null">
                 #{userId,jdbcType=VARCHAR},
             </if>
-                    <if test="typeFlag != null" >
+            <if test="typeFlag != null">
                 #{typeFlag,jdbcType=VARCHAR},
             </if>
-                    <if test="imageSize != null" >
+            <if test="imageSize != null">
                 #{imageSize,jdbcType=DECIMAL},
             </if>
-                    <if test="useFlag != null" >
+            <if test="useFlag != null">
                 #{useFlag,jdbcType=CHAR},
             </if>
-                </trim>
+            <if test="artworkUrl != null">
+                #{artworkUrl,jdbcType=VARCHAR},
+            </if>
+        </trim>
     </insert>
-    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.ImageUploadLog" >
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.ImageUploadLog">
         update image_upload_log
-        <set >
-                    <if test="id != null" >
-               id= #{id,jdbcType=INTEGER},
+        <set>
+            <if test="id != null">
+                id= #{id,jdbcType=INTEGER},
+            </if>
+            <if test="delFlag != null">
+                del_flag= #{delFlag,jdbcType=CHAR},
             </if>
-                     <if test="delFlag != null" >
-               del_flag= #{delFlag,jdbcType=CHAR},
+            <if test="updateTime != null">
+                update_time= #{updateTime,jdbcType=TIMESTAMP},
             </if>
-                     <if test="updateTime != null" >
-               update_time= #{updateTime,jdbcType=TIMESTAMP},
+            <if test="updateUser != null">
+                update_user= #{updateUser,jdbcType=VARCHAR},
             </if>
-                     <if test="updateUser != null" >
-               update_user= #{updateUser,jdbcType=VARCHAR},
+            <if test="createTime != null">
+                create_time= #{createTime,jdbcType=TIMESTAMP},
             </if>
-                     <if test="createTime != null" >
-               create_time= #{createTime,jdbcType=TIMESTAMP},
+            <if test="createUser != null">
+                create_user= #{createUser,jdbcType=VARCHAR},
             </if>
-                     <if test="createUser != null" >
-               create_user= #{createUser,jdbcType=VARCHAR},
+            <if test="imageName != null">
+                image_name= #{imageName,jdbcType=VARCHAR},
             </if>
-                     <if test="imageName != null" >
-               image_name= #{imageName,jdbcType=VARCHAR},
+            <if test="url != null">
+                url= #{url,jdbcType=VARCHAR},
             </if>
-                     <if test="url != null" >
-               url= #{url,jdbcType=VARCHAR},
+            <if test="storeId != null">
+                store_id= #{storeId,jdbcType=VARCHAR},
             </if>
-                     <if test="storeId != null" >
-               store_id= #{storeId,jdbcType=VARCHAR},
+            <if test="orderId != null">
+                order_id= #{orderId,jdbcType=VARCHAR},
             </if>
-                     <if test="orderId != null" >
-               order_id= #{orderId,jdbcType=VARCHAR},
+            <if test="userId != null">
+                user_id= #{userId,jdbcType=VARCHAR},
             </if>
-                     <if test="userId != null" >
-               user_id= #{userId,jdbcType=VARCHAR},
+            <if test="typeFlag != null">
+                type_flag= #{typeFlag,jdbcType=VARCHAR},
             </if>
-                     <if test="typeFlag != null" >
-               type_flag= #{typeFlag,jdbcType=VARCHAR},
+            <if test="imageSize != null">
+                image_size= #{imageSize,jdbcType=DECIMAL},
             </if>
-                     <if test="imageSize != null" >
-               image_size= #{imageSize,jdbcType=DECIMAL},
+            <if test="useFlag != null">
+                use_flag= #{useFlag,jdbcType=CHAR},
             </if>
-                     <if test="useFlag != null" >
-               use_flag= #{useFlag,jdbcType=CHAR},
+            <if test="artworkUrl != null">
+                artwork_url= #{artworkUrl,jdbcType=VARCHAR},
             </if>
-                 </set>
+        </set>
         where
         <if test="id != null and !&quot;&quot;.equals(id)">
             id = #{id,jdbcType=INTEGER}
@@ -206,67 +219,70 @@
         </if>
 
     </update>
-    <select id="queryImageUploadLogByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.ImageUploadLog">
-        select <include refid="Base_Column_List"/> from image_upload_log
+    <select id="queryImageUploadLogByPage" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.ImageUploadLog">
+        select
+        <include refid="Base_Column_List"/>
+        from image_upload_log
         <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 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 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 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 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 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 test="record.createUser != null and !&quot;&quot;.equals(record.createUser)">
+                and create_user = #{record.createUser}
             </if>
-                     <if test="record.imageName != null and !&quot;&quot;.equals(record.imageName)">
-                and  image_name = #{record.imageName}
+            <if test="record.imageName != null and !&quot;&quot;.equals(record.imageName)">
+                and image_name = #{record.imageName}
             </if>
-                     <if test="record.url != null and !&quot;&quot;.equals(record.url)">
-                and  url = #{record.url}
+            <if test="record.url != null and !&quot;&quot;.equals(record.url)">
+                and url = #{record.url}
             </if>
-                     <if test="record.storeId != null and !&quot;&quot;.equals(record.storeId)">
-                and  store_id = #{record.storeId}
+            <if test="record.storeId != null and !&quot;&quot;.equals(record.storeId)">
+                and store_id = #{record.storeId}
             </if>
-                     <if test="record.orderId != null and !&quot;&quot;.equals(record.orderId)">
-                and  order_id = #{record.orderId}
+            <if test="record.orderId != null and !&quot;&quot;.equals(record.orderId)">
+                and order_id = #{record.orderId}
             </if>
-                     <if test="record.userId != null and !&quot;&quot;.equals(record.userId)">
-                and  user_id = #{record.userId}
+            <if test="record.userId != null and !&quot;&quot;.equals(record.userId)">
+                and user_id = #{record.userId}
             </if>
-                     <if test="record.typeFlag != null and !&quot;&quot;.equals(record.typeFlag)">
-                and  type_flag = #{record.typeFlag}
+            <if test="record.typeFlag != null and !&quot;&quot;.equals(record.typeFlag)">
+                and type_flag = #{record.typeFlag}
             </if>
-                     <if test="record.imageSize != null and !&quot;&quot;.equals(record.imageSize)">
-                and  image_size = #{record.imageSize}
+            <if test="record.imageSize != null and !&quot;&quot;.equals(record.imageSize)">
+                and image_size = #{record.imageSize}
             </if>
-                     <if test="record.useFlag != null and !&quot;&quot;.equals(record.useFlag)">
-                and  use_flag = #{record.useFlag}
+            <if test="record.useFlag != null and !&quot;&quot;.equals(record.useFlag)">
+                and use_flag = #{record.useFlag}
+            </if>
+            <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR image_name LIKE concat('%',#{record.searchKey},'%')
+                    OR url LIKE concat('%',#{record.searchKey},'%')
+                    OR store_id LIKE concat('%',#{record.searchKey},'%')
+                    OR order_id LIKE concat('%',#{record.searchKey},'%')
+                    OR user_id LIKE concat('%',#{record.searchKey},'%')
+                    OR type_flag LIKE concat('%',#{record.searchKey},'%')
+                    OR image_size LIKE concat('%',#{record.searchKey},'%')
+                    OR use_flag LIKE concat('%',#{record.searchKey},'%')
+                </trim>
             </if>
-                  <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
-             <trim prefix="and (" suffix=")" prefixOverrides="OR" >
-                                                                                                                                                                                                                                                                                                                                                                                                                                    OR  image_name LIKE concat('%',#{record.searchKey},'%')
-                                                                                                    OR  url LIKE concat('%',#{record.searchKey},'%')
-                                                                                                    OR  store_id LIKE concat('%',#{record.searchKey},'%')
-                                                                                                    OR  order_id LIKE concat('%',#{record.searchKey},'%')
-                                                                                                    OR  user_id LIKE concat('%',#{record.searchKey},'%')
-                                                                                                    OR  type_flag LIKE concat('%',#{record.searchKey},'%')
-                                                                                                    OR  image_size LIKE concat('%',#{record.searchKey},'%')
-                                                                                                    OR  use_flag LIKE concat('%',#{record.searchKey},'%')
-                                                             </trim>
-         </if>
 
             <if test="record.advancedQuery != null and !&quot;&quot;.equals(record.advancedQuery)">
                 <foreach item="item" index="index" collection="record.advancedQuery.split('_;')">
@@ -320,101 +336,104 @@
         </if>
         id desc
     </select>
-    <select id="queryAllImageUploadLog" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.ImageUploadLog">
-        select <include refid="Base_Column_List"/> from image_upload_log
+    <select id="queryAllImageUploadLog" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.ImageUploadLog">
+        select
+        <include refid="Base_Column_List"/>
+        from image_upload_log
         <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 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 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 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 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 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 test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
             </if>
-                    <if test="imageName != null and !&quot;&quot;.equals(imageName)">
-                and  image_name = #{imageName}
+            <if test="imageName != null and !&quot;&quot;.equals(imageName)">
+                and image_name = #{imageName}
             </if>
-                    <if test="url != null and !&quot;&quot;.equals(url)">
-                and  url = #{url}
+            <if test="url != null and !&quot;&quot;.equals(url)">
+                and url = #{url}
             </if>
-                    <if test="storeId != null and !&quot;&quot;.equals(storeId)">
-                and  store_id = #{storeId}
+            <if test="storeId != null and !&quot;&quot;.equals(storeId)">
+                and store_id = #{storeId}
             </if>
-                    <if test="orderId != null and !&quot;&quot;.equals(orderId)">
-                and  order_id = #{orderId}
+            <if test="orderId != null and !&quot;&quot;.equals(orderId)">
+                and order_id = #{orderId}
             </if>
-                    <if test="userId != null and !&quot;&quot;.equals(userId)">
-                and  user_id = #{userId}
+            <if test="userId != null and !&quot;&quot;.equals(userId)">
+                and user_id = #{userId}
             </if>
-                    <if test="typeFlag != null and !&quot;&quot;.equals(typeFlag)">
-                and  type_flag = #{typeFlag}
+            <if test="typeFlag != null and !&quot;&quot;.equals(typeFlag)">
+                and type_flag = #{typeFlag}
             </if>
-                    <if test="imageSize != null and !&quot;&quot;.equals(imageSize)">
-                and  image_size = #{imageSize}
+            <if test="imageSize != null and !&quot;&quot;.equals(imageSize)">
+                and image_size = #{imageSize}
             </if>
-                    <if test="useFlag != null and !&quot;&quot;.equals(useFlag)">
-                and  use_flag = #{useFlag}
+            <if test="useFlag != null and !&quot;&quot;.equals(useFlag)">
+                and use_flag = #{useFlag}
             </if>
-                    <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
-                <trim prefix="and (" suffix=")" prefixOverrides="OR" >
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                OR  image_name LIKE concat('%',#{searchKey},'%')
-                                                                                                                                                        OR  url LIKE concat('%',#{searchKey},'%')
-                                                                                                                                                        OR  store_id LIKE concat('%',#{searchKey},'%')
-                                                                                                                                                        OR  order_id LIKE concat('%',#{searchKey},'%')
-                                                                                                                                                        OR  user_id LIKE concat('%',#{searchKey},'%')
-                                                                                                                                                        OR  type_flag LIKE concat('%',#{searchKey},'%')
-                                                                                                                                                        OR  image_size LIKE concat('%',#{searchKey},'%')
-                                                                                                                                                        OR  use_flag LIKE concat('%',#{searchKey},'%')
-                                                                                        </trim>
+            <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR image_name LIKE concat('%',#{searchKey},'%')
+                    OR url LIKE concat('%',#{searchKey},'%')
+                    OR store_id LIKE concat('%',#{searchKey},'%')
+                    OR order_id LIKE concat('%',#{searchKey},'%')
+                    OR user_id LIKE concat('%',#{searchKey},'%')
+                    OR type_flag LIKE concat('%',#{searchKey},'%')
+                    OR image_size LIKE concat('%',#{searchKey},'%')
+                    OR use_flag LIKE concat('%',#{searchKey},'%')
+                </trim>
             </if>
-<if test="advancedQuery != null and !&quot;&quot;.equals(advancedQuery)">
-    <foreach item="item" index="index" collection="advancedQuery.split('_;')">
-        <choose>
-            <when test="item.indexOf('like') != -1">
-                <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
-                    <if test="detailIndex == 3">
-                        concat('%',#{itemDetail},'%')
-                    </if>
+            <if test="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>
+                                <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>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
 
-                </foreach>
-            </otherwise>
-        </choose>
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </otherwise>
+                    </choose>
 
 
-    </foreach>
+                </foreach>
 
 
-</if>
+            </if>
         </where>
         order by
 
@@ -433,53 +452,56 @@
 
         id desc
     </select>
-    <select id="queryImageUploadLog" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.ImageUploadLog">
-        select <include refid="Base_Column_List"/> from image_upload_log
+    <select id="queryImageUploadLog" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.ImageUploadLog">
+        select
+        <include refid="Base_Column_List"/>
+        from image_upload_log
         <where>
             and del_flag = 'N'
-                    <if test="id != null and !&quot;&quot;.equals(id)">
+            <if test="id != null and !&quot;&quot;.equals(id)">
                 and id = #{id}
             </if>
-                     <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
                 and del_flag = #{delFlag}
             </if>
-                     <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+            <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
                 and update_time = #{updateTime}
             </if>
-                     <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+            <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
                 and update_user = #{updateUser}
             </if>
-                     <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+            <if test="createTime != null and !&quot;&quot;.equals(createTime)">
                 and create_time = #{createTime}
             </if>
-                     <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+            <if test="createUser != null and !&quot;&quot;.equals(createUser)">
                 and create_user = #{createUser}
             </if>
-                     <if test="imageName != null and !&quot;&quot;.equals(imageName)">
+            <if test="imageName != null and !&quot;&quot;.equals(imageName)">
                 and image_name = #{imageName}
             </if>
-                     <if test="url != null and !&quot;&quot;.equals(url)">
+            <if test="url != null and !&quot;&quot;.equals(url)">
                 and url = #{url}
             </if>
-                     <if test="storeId != null and !&quot;&quot;.equals(storeId)">
+            <if test="storeId != null and !&quot;&quot;.equals(storeId)">
                 and store_id = #{storeId}
             </if>
-                     <if test="orderId != null and !&quot;&quot;.equals(orderId)">
+            <if test="orderId != null and !&quot;&quot;.equals(orderId)">
                 and order_id = #{orderId}
             </if>
-                     <if test="userId != null and !&quot;&quot;.equals(userId)">
+            <if test="userId != null and !&quot;&quot;.equals(userId)">
                 and user_id = #{userId}
             </if>
-                     <if test="typeFlag != null and !&quot;&quot;.equals(typeFlag)">
+            <if test="typeFlag != null and !&quot;&quot;.equals(typeFlag)">
                 and type_flag = #{typeFlag}
             </if>
-                     <if test="imageSize != null and !&quot;&quot;.equals(imageSize)">
+            <if test="imageSize != null and !&quot;&quot;.equals(imageSize)">
                 and image_size = #{imageSize}
             </if>
-                     <if test="useFlag != null and !&quot;&quot;.equals(useFlag)">
+            <if test="useFlag != null and !&quot;&quot;.equals(useFlag)">
                 and use_flag = #{useFlag}
             </if>
-         
+
         </where>
         LIMIT 1
     </select>
@@ -490,18 +512,23 @@
 
     </update>
     <select id="query" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.ImageUploadLog">
-        select <include refid="Base_Column_List"/> from image_upload_log
+        select
+        <include refid="Base_Column_List"/>
+        from image_upload_log
         <where>
             and del_flag = 'N'
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </where>
+        </where>
         order by id desc
     </select>
 
-    <select id="queryDelOssImage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.ImageUploadLog">
-        select <include refid="Base_Column_List"/> from image_upload_log
+    <select id="queryDelOssImage" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.ImageUploadLog">
+        select
+        <include refid="Base_Column_List"/>
+        from image_upload_log
         <where>
             and del_flag = 'N'
-            and  order_id = #{orderId}
+            and order_id = #{orderId}
             AND url NOT IN (
             SELECT
             original_image AS image_url
@@ -511,7 +538,7 @@
             del_flag = 'N'
             AND original_image IS NOT NULL
             AND original_image != ''
-            and order_id =  #{orderId}
+            and order_id = #{orderId}
             UNION
             SELECT
             finished_image AS image_url
@@ -521,9 +548,9 @@
             del_flag = 'N'
             AND finished_image IS NOT NULL
             AND finished_image != ''
-            and order_id =  #{orderId}
+            and order_id = #{orderId}
             )
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </where>
+        </where>
         order by id desc
     </select>
 </mapper>

+ 25 - 0
src/main/java/com/izouma/awesomeadmin/dao/OrderImageMapper.xml

@@ -19,6 +19,8 @@
         <result column="status_flag" property="statusFlag" jdbcType="INTEGER"/>
         <result column="remark" property="remark" jdbcType="VARCHAR"/>
         <result column="image_name" property="imageName" jdbcType="VARCHAR"/>
+        <result column="original_artwork" property="originalArtwork" jdbcType="VARCHAR"/>
+        <result column="finished_artwork" property="finishedArtwork" jdbcType="VARCHAR"/>
     </resultMap>
     <sql id="Base_Column_List">
         <trim suffixOverrides=",">
@@ -56,6 +58,10 @@
 
             image_name,
 
+            original_artwork,
+
+            finished_artwork,
+
         </trim>
     </sql>
     <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
@@ -123,6 +129,13 @@
             <if test="imageName!= null">
                 image_name,
             </if>
+            <if test="originalArtwork!= null">
+                original_artwork,
+            </if>
+            <if test="finishedArtwork!= null">
+                finished_artwork,
+            </if>
+
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">
@@ -176,6 +189,12 @@
             <if test="imageName != null">
                 #{imageName,jdbcType=VARCHAR},
             </if>
+            <if test="originalArtwork != null">
+                #{originalArtwork,jdbcType=VARCHAR},
+            </if>
+            <if test="finishedArtwork != null">
+                #{finishedArtwork,jdbcType=VARCHAR},
+            </if>
         </trim>
     </insert>
     <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.OrderImage">
@@ -240,6 +259,12 @@
             <if test="imageName != null">
                 image_name= #{imageName,jdbcType=VARCHAR},
             </if>
+            <if test="originalArtwork != null">
+                original_artwork= #{originalArtwork,jdbcType=VARCHAR},
+            </if>
+            <if test="finishedArtwork != null">
+                finished_artwork= #{finishedArtwork,jdbcType=VARCHAR},
+            </if>
         </set>
         where id = #{id,jdbcType=INTEGER}
     </update>

+ 89 - 63
src/main/java/com/izouma/awesomeadmin/model/ImageUploadLog.java

@@ -2,13 +2,14 @@ package com.izouma.awesomeadmin.model;
 
 import java.math.BigDecimal;
 import java.util.*;
+
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonInclude;
 
 
 @JsonAutoDetect
 @JsonInclude(JsonInclude.Include.NON_NULL)
-public class ImageUploadLog{
+public class ImageUploadLog {
     private Integer id;
     private String delFlag;
     private Date updateTime;
@@ -24,150 +25,175 @@ public class ImageUploadLog{
     private BigDecimal imageSize;
     private String useFlag;
 
-private String idStr;
+    /**
+     * 原始图片链接
+     */
+    private String artworkUrl;
+
+    private String idStr;
 
-private String searchKey;
+    private String searchKey;
 
-/**
-* and,test_name,like,value;or,remark,=,123
-*/
-private String advancedQuery;
+    /**
+     * and,test_name,like,value;or,remark,=,123
+     */
+    private String advancedQuery;
 
-/**
-* column_name_,desc_;column_name_,asc
-*/
-private String orderByStr;
+    /**
+     * column_name_,desc_;column_name_,asc
+     */
+    private String orderByStr;
 
-    public Integer getId(){
+    public Integer getId() {
         return this.id;
     }
 
-    public void setId(Integer id){
+    public void setId(Integer id) {
         this.id = id;
     }
-    public String getDelFlag(){
+
+    public String getDelFlag() {
         return this.delFlag;
     }
 
-    public void setDelFlag(String delFlag){
+    public void setDelFlag(String delFlag) {
         this.delFlag = delFlag;
     }
-    public Date getUpdateTime(){
+
+    public Date getUpdateTime() {
         return this.updateTime;
     }
 
-    public void setUpdateTime(Date updateTime){
+    public void setUpdateTime(Date updateTime) {
         this.updateTime = updateTime;
     }
-    public String getUpdateUser(){
+
+    public String getUpdateUser() {
         return this.updateUser;
     }
 
-    public void setUpdateUser(String updateUser){
+    public void setUpdateUser(String updateUser) {
         this.updateUser = updateUser;
     }
-    public Date getCreateTime(){
+
+    public Date getCreateTime() {
         return this.createTime;
     }
 
-    public void setCreateTime(Date createTime){
+    public void setCreateTime(Date createTime) {
         this.createTime = createTime;
     }
-    public String getCreateUser(){
+
+    public String getCreateUser() {
         return this.createUser;
     }
 
-    public void setCreateUser(String createUser){
+    public void setCreateUser(String createUser) {
         this.createUser = createUser;
     }
-    public String getImageName(){
+
+    public String getImageName() {
         return this.imageName;
     }
 
-    public void setImageName(String imageName){
+    public void setImageName(String imageName) {
         this.imageName = imageName;
     }
-    public String getUrl(){
+
+    public String getUrl() {
         return this.url;
     }
 
-    public void setUrl(String url){
+    public void setUrl(String url) {
         this.url = url;
     }
-    public String getStoreId(){
+
+    public String getStoreId() {
         return this.storeId;
     }
 
-    public void setStoreId(String storeId){
+    public void setStoreId(String storeId) {
         this.storeId = storeId;
     }
-    public String getOrderId(){
+
+    public String getOrderId() {
         return this.orderId;
     }
 
-    public void setOrderId(String orderId){
+    public void setOrderId(String orderId) {
         this.orderId = orderId;
     }
-    public String getUserId(){
+
+    public String getUserId() {
         return this.userId;
     }
 
-    public void setUserId(String userId){
+    public void setUserId(String userId) {
         this.userId = userId;
     }
-    public String getTypeFlag(){
+
+    public String getTypeFlag() {
         return this.typeFlag;
     }
 
-    public void setTypeFlag(String typeFlag){
+    public void setTypeFlag(String typeFlag) {
         this.typeFlag = typeFlag;
     }
-    public BigDecimal getImageSize(){
+
+    public BigDecimal getImageSize() {
         return this.imageSize;
     }
 
-    public void setImageSize(BigDecimal imageSize){
+    public void setImageSize(BigDecimal imageSize) {
         this.imageSize = imageSize;
     }
-    public String getUseFlag(){
+
+    public String getUseFlag() {
         return this.useFlag;
     }
 
-    public void setUseFlag(String useFlag){
+    public void setUseFlag(String useFlag) {
         this.useFlag = useFlag;
     }
 
-public String getSearchKey() {
-    return searchKey;
-}
+    public String getSearchKey() {
+        return searchKey;
+    }
 
-public void setSearchKey(String searchKey) {
-    this.searchKey = searchKey;
-}
+    public void setSearchKey(String searchKey) {
+        this.searchKey = searchKey;
+    }
 
-public String getAdvancedQuery() {
-    return advancedQuery;
-}
+    public String getAdvancedQuery() {
+        return advancedQuery;
+    }
 
-public void setAdvancedQuery(String advancedQuery) {
-    this.advancedQuery = advancedQuery;
-}
+    public void setAdvancedQuery(String advancedQuery) {
+        this.advancedQuery = advancedQuery;
+    }
 
-public String getOrderByStr() {
-    return orderByStr;
-}
+    public String getOrderByStr() {
+        return orderByStr;
+    }
 
-public void setOrderByStr(String orderByStr) {
-    this.orderByStr = orderByStr;
-}
+    public void setOrderByStr(String orderByStr) {
+        this.orderByStr = orderByStr;
+    }
 
-public String getIdStr() {
-    return idStr;
-}
+    public String getIdStr() {
+        return idStr;
+    }
 
-public void setIdStr(String idStr) {
-    this.idStr = idStr;
-}
+    public void setIdStr(String idStr) {
+        this.idStr = idStr;
+    }
+
+    public String getArtworkUrl() {
+        return artworkUrl;
+    }
 
+    public void setArtworkUrl(String artworkUrl) {
+        this.artworkUrl = artworkUrl;
+    }
 }
 

+ 25 - 0
src/main/java/com/izouma/awesomeadmin/model/OrderImage.java

@@ -32,6 +32,15 @@ public class OrderImage {
 
     private String unFinished;
 
+    /**
+     * 原片原片
+     */
+    private String originalArtwork;
+
+    /**
+     * 正片原片
+     */
+    private String finishedArtwork;
 
     /**
      * 图片备注
@@ -277,5 +286,21 @@ public class OrderImage {
     public void setUnFinished(String unFinished) {
         this.unFinished = unFinished;
     }
+
+    public String getOriginalArtwork() {
+        return originalArtwork;
+    }
+
+    public void setOriginalArtwork(String originalArtwork) {
+        this.originalArtwork = originalArtwork;
+    }
+
+    public String getFinishedArtwork() {
+        return finishedArtwork;
+    }
+
+    public void setFinishedArtwork(String finishedArtwork) {
+        this.finishedArtwork = finishedArtwork;
+    }
 }
 

+ 127 - 0
src/main/java/com/izouma/awesomeadmin/util/ImagesUtil.java

@@ -1,9 +1,19 @@
 package com.izouma.awesomeadmin.util;
 
+import java.awt.*;
+import java.awt.color.ColorSpace;
+import java.awt.image.*;
 import java.io.*;
+import java.util.Iterator;
 
 import sun.misc.BASE64Decoder;
 
+import javax.imageio.IIOException;
+import javax.imageio.ImageIO;
+import javax.imageio.ImageReader;
+import javax.imageio.stream.ImageInputStream;
+import javax.imageio.stream.ImageOutputStream;
+
 
 public class ImagesUtil {
 
@@ -42,4 +52,121 @@ public class ImagesUtil {
             return null;
         }
     }
+
+    /**
+     * 等比例压缩算法:
+     * 算法思想:根据压缩基数和压缩比来压缩原图,生产一张图片效果最接近原图的缩略图
+     *
+     * @param fin       原图
+     * @param imageType 图片类型
+     * @param comBase   压缩基数
+     * @param scale     压缩限制(宽/高)比例  一般用1:
+     *                  当scale>=1,缩略图height=comBase,width按原图宽高比例;若scale<1,缩略图width=comBase,height按原图宽高比例
+     * @throws Exception
+     */
+    public static InputStream changeMinPhoto(InputStream fin, String imageType, double comBase,
+                                             double scale) {
+        try {
+            // get image format in a file
+            //File file = new File("newimage.jpg");
+
+            // create an image input stream from the specified file
+            ImageInputStream iis = ImageIO.createImageInputStream(fin);
+
+            Iterator<ImageReader> readers = ImageIO.getImageReaders(iis);
+            if (readers == null || !readers.hasNext()) {
+                throw new RuntimeException("1 No ImageReaders found");
+            }
+            ImageReader reader = (ImageReader) readers.next();
+            reader.setInput(iis);
+            String format = reader.getFormatName();
+            BufferedImage image = null;
+
+            if ("JPEG".equalsIgnoreCase(format) || "JPG".equalsIgnoreCase(format)) {
+                try {
+                    // 尝试读取图片 (包括颜色的转换).
+                    image = reader.read(0); //RGB
+                } catch (IIOException e) {
+                    // 读取Raster (没有颜色的转换).
+                    Raster raster = reader.readRaster(0, null);//CMYK
+                    image = createJPEG4(raster);
+                }
+            }
+
+            int srcHeight = image.getHeight();
+            int srcWidth = image.getWidth(null);
+            int deskHeight = 0;// 缩略图高
+            int deskWidth = 0;// 缩略图宽
+            double srcScale = (double) srcHeight / srcWidth;
+            /**缩略图宽高算法*/
+            if ((double) srcHeight > comBase || (double) srcWidth > comBase) {
+                if (srcScale >= scale || 1 / srcScale > scale) {
+                    if (srcScale >= scale) {
+                        deskHeight = (int) comBase;
+                        deskWidth = srcWidth * deskHeight / srcHeight;
+                    } else {
+                        deskWidth = (int) comBase;
+                        deskHeight = srcHeight * deskWidth / srcWidth;
+                    }
+                } else {
+                    if ((double) srcHeight > comBase) {
+                        deskHeight = (int) comBase;
+                        deskWidth = srcWidth * deskHeight / srcHeight;
+                    } else {
+                        deskWidth = (int) comBase;
+                        deskHeight = srcHeight * deskWidth / srcWidth;
+                    }
+                }
+            } else {
+                deskHeight = srcHeight;
+                deskWidth = srcWidth;
+            }
+            BufferedImage tag = new BufferedImage(deskWidth, deskHeight, BufferedImage.TYPE_3BYTE_BGR);
+            tag.getGraphics().drawImage(image, 0, 0, deskWidth, deskHeight, null); //绘制缩小后的图
+
+            //BufferedImage 转 InputStream
+            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+            ImageOutputStream imageOutput = ImageIO.createImageOutputStream(byteArrayOutputStream);
+            ImageIO.write(tag, imageType, imageOutput);
+            InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
+            return inputStream;
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    private static BufferedImage createJPEG4(Raster raster) {
+        int w = raster.getWidth();
+        int h = raster.getHeight();
+        byte[] rgb = new byte[w * h * 3];
+        //彩色空间转换
+        float[] Y = raster.getSamples(0, 0, w, h, 0, (float[]) null);
+        float[] Cb = raster.getSamples(0, 0, w, h, 1, (float[]) null);
+        float[] Cr = raster.getSamples(0, 0, w, h, 2, (float[]) null);
+        float[] K = raster.getSamples(0, 0, w, h, 3, (float[]) null);
+        for (int i = 0, imax = Y.length, base = 0; i < imax; i++, base += 3) {
+            float k = 220 - K[i], y = 255 - Y[i], cb = 255 - Cb[i],
+                    cr = 255 - Cr[i];
+
+            double val = y + 1.402 * (cr - 128) - k;
+            val = (val - 128) * .65f + 128;
+            rgb[base] = val < 0.0 ? (byte) 0 : val > 255.0 ? (byte) 0xff
+                    : (byte) (val + 0.5);
+
+            val = y - 0.34414 * (cb - 128) - 0.71414 * (cr - 128) - k;
+            val = (val - 128) * .65f + 128;
+            rgb[base + 1] = val < 0.0 ? (byte) 0 : val > 255.0 ? (byte) 0xff
+                    : (byte) (val + 0.5);
+
+            val = y + 1.772 * (cb - 128) - k;
+            val = (val - 128) * .65f + 128;
+            rgb[base + 2] = val < 0.0 ? (byte) 0 : val > 255.0 ? (byte) 0xff
+                    : (byte) (val + 0.5);
+        }
+        raster = Raster.createInterleavedRaster(new DataBufferByte(rgb, rgb.length), w, h, w * 3, 3, new int[]{0, 1, 2}, null);
+        ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB);
+        ColorModel cm = new ComponentColorModel(cs, false, true, Transparency.OPAQUE, DataBuffer.TYPE_BYTE);
+        return new BufferedImage(cm, (WritableRaster) raster, true, null);
+    }
 }

+ 64 - 8
src/main/java/com/izouma/awesomeadmin/web/OrderImageController.java

@@ -11,6 +11,7 @@ import com.izouma.awesomeadmin.service.OSSFileService;
 import com.izouma.awesomeadmin.service.OrderImageService;
 import com.izouma.awesomeadmin.service.UserOrderService;
 import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import com.izouma.awesomeadmin.util.ImagesUtil;
 import com.izouma.awesomeadmin.util.PropertiesFileLoader;
 import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
@@ -25,11 +26,16 @@ import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.multipart.commons.CommonsMultipartResolver;
 
+import javax.imageio.ImageIO;
+import javax.imageio.stream.ImageInputStream;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.awt.*;
+import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.util.*;
+import java.util.List;
 
 /**
  * controller类
@@ -225,6 +231,9 @@ public class OrderImageController {
                     try {
                         String originalFilename = file.getOriginalFilename();
 
+                        long srcSize = file.getSize();
+
+
                         String uploadPath = storeId + "/" + orderId + "/" + typeFlag + "/" + originalFilename;
 
 
@@ -238,9 +247,25 @@ public class OrderImageController {
                         imageUploadLog.setUserId(userId);
                         imageUploadLog.setImageName(originalFilename);
                         imageUploadLog.setUrl(path);
+                        imageUploadLog.setArtworkUrl(path);
                         imageUploadLog.setImageSize(BigDecimal.valueOf(file.getSize()));
+
+                        int bigSize = 2 * 1024 * 1024;
+                        if (srcSize > bigSize) {
+
+                            String minPath = storeId + "/" + orderId + "/" + typeFlag + "/" + "min/" + originalFilename;
+
+                            String min = OSSFileService.upload(ImagesUtil.changeMinPhoto(
+                                    file.getInputStream(),
+                                    originalFilename.split("[.]")[1],
+                                    2000, 1), minPath);
+
+                            imageUploadLog.setUrl(min);
+                        }
+
                         imageUploadLogService.createImageUploadLog(imageUploadLog);
 
+
                         paths.add(imageUploadLog);
                     } catch (IOException e) {
                         logger.error("上传订单图片失败", e);
@@ -272,6 +297,11 @@ public class OrderImageController {
             String imageName = imageUploadLog.getUrl().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
             OSSFileService.deleteObject(imageName);
 
+            if (StringUtils.isNotEmpty(imageUploadLog.getArtworkUrl()) && !imageUploadLog.getUrl().equals(imageUploadLog.getArtworkUrl())) {
+                String artwork = imageUploadLog.getArtworkUrl().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
+                OSSFileService.deleteObject(artwork);
+            }
+
         }
 
 
@@ -308,6 +338,7 @@ public class OrderImageController {
                     orderImage.setStatusFlag(0);
                     orderImage.setFinishedImage(imageUploadLog.getUrl());
                     orderImage.setFinishedSize(imageUploadLog.getImageSize());
+                    orderImage.setFinishedArtwork(imageUploadLog.getArtworkUrl());
                     orderImageService.updateOrderImage(orderImage);
                 }
 
@@ -358,13 +389,26 @@ public class OrderImageController {
 
                         if ("original".equals(typeFlag)) {
                             if (StringUtils.isNotEmpty(orderImage.getOriginalImage())) {
-                                String imageName = orderImage.getOriginalImage().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
-                                keyList.add(imageName);
+                                if (StringUtils.isNotEmpty(orderImage.getOriginalArtwork())) {
+                                    String imageName = orderImage.getOriginalArtwork().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
+                                    keyList.add(imageName);
+                                } else {
+
+                                    String imageName = orderImage.getOriginalImage().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
+                                    keyList.add(imageName);
+                                }
                             }
                         } else if ("finished".equals(typeFlag)) {
                             if (StringUtils.isNotEmpty(orderImage.getFinishedImage())) {
-                                String imageName = orderImage.getFinishedImage().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
-                                keyList.add(imageName);
+
+                                if (StringUtils.isNotEmpty(orderImage.getOriginalArtwork())) {
+                                    String imageName = orderImage.getOriginalArtwork().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
+                                    keyList.add(imageName);
+                                } else {
+
+                                    String imageName = orderImage.getFinishedImage().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
+                                    keyList.add(imageName);
+                                }
                             }
                         }
                     }
@@ -406,13 +450,25 @@ public class OrderImageController {
             if (orderImage != null) {
                 if ("original".equals(typeFlag)) {
                     if (StringUtils.isNotEmpty(orderImage.getOriginalImage())) {
-                        String imageName = orderImage.getOriginalImage().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
-                        OSSFileService.singleFileDown(imageName, request, response);
+                        if (StringUtils.isNotEmpty(orderImage.getOriginalArtwork())) {
+
+                            String imageName = orderImage.getOriginalArtwork().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
+                            OSSFileService.singleFileDown(imageName, request, response);
+                        } else {
+                            String imageName = orderImage.getOriginalImage().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
+                            OSSFileService.singleFileDown(imageName, request, response);
+                        }
                     }
                 } else if ("finished".equals(typeFlag)) {
                     if (StringUtils.isNotEmpty(orderImage.getFinishedImage())) {
-                        String imageName = orderImage.getFinishedImage().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
-                        OSSFileService.singleFileDown(imageName, request, response);
+                        if (StringUtils.isNotEmpty(orderImage.getFinishedArtwork())) {
+
+                            String imageName = orderImage.getFinishedArtwork().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
+                            OSSFileService.singleFileDown(imageName, request, response);
+                        } else {
+                            String imageName = orderImage.getFinishedImage().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
+                            OSSFileService.singleFileDown(imageName, request, response);
+                        }
                     }
                 }
             }

+ 13 - 3
src/main/vue/src/pages/BannerInfos.vue

@@ -2,6 +2,10 @@
     <div>
         <div class="filters-container">
 
+            <el-select v-model="slectLocation" clearable filterable placeholder="位置" @change="locationChange">
+                <el-option v-for="item in locationOptions" :key="item.value" :label="item.label" :value="item.value">
+                </el-option>
+            </el-select>
             <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>
@@ -245,8 +249,8 @@ export default {
             imgSrc: '',
             imageDialogVisible: false,
             locationOptions: [
-                { label: '首页banner', value: '1' }, 
-                { label: '首页修图消息', value: '2' }, 
+                { label: '首页banner', value: '1' },
+                { label: '首页修图消息', value: '2' },
                 { label: '首页影楼消息', value: '4' },
                 { label: '首页样片消息', value: '5' },
                 { label: '首页营销消息', value: '6' },
@@ -259,7 +263,8 @@ export default {
                 { label: '关于我们banner', value: '13' },
                 { label: '加入我们banner', value: '14' },
                 { label: '联系我们banner', value: '15' },
-                ],
+            ],
+            slectLocation: '',
         }
     },
     computed: {
@@ -286,6 +291,7 @@ export default {
                 searchKey: this.filter1,
                 advancedQuery: this.advancedQuerySearchKey,
                 orderByStr: this.orderByStr,
+                location: this.slectLocation,
             }
 
             if (this.$route.query.column) {
@@ -458,6 +464,10 @@ export default {
             }
 
         },
+        locationChange() {
+            this.currentPage = 1;
+            this.getData();
+        },
 
     }
 }

+ 296 - 332
src/main/vue/src/pages/MemberCoins.vue

@@ -1,29 +1,29 @@
 <template>
     <div>
         <div class="filters-container">
-        
+
+            <el-select v-model="userId" clearable filterable placeholder="请选择" @change="userIdChange">
+                <el-option v-for="item in userInfos" :key="item.id" :label="item.nickname" :value="item.id">
+                </el-option>
+            </el-select>
+
             <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 @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 @click="showTableSortDialog = !showTableSortDialog" type="primary" size="small" icon="el-icon-sort" class="filter-item">排序
             </el-button>
-            <el-button @click="$router.push({path:'/memberCoin',query:{column:$route.query.column}})" type="primary"
-                       size="small" icon="el-icon-edit"
-                       class="filter-item">添加
+            <el-button @click="$router.push({path:'/memberCoin',query:{column:$route.query.column}})" type="primary" size="small" icon="el-icon-edit" class="filter-item">添加
             </el-button>
             <el-button @click="exportExcel" type="primary" size="small" icon="el-icon-share" class="filter-item">导出EXCEL
             </el-button>
-            <el-button @click="$router.push({path:'/memberCoinSong',query:{column:$route.query.column}})" type="primary"
-                       size="small" icon="el-icon-edit"
-                       class="filter-item">赠送
+            <el-button @click="$router.push({path:'/memberCoinSong',query:{column:$route.query.column}})" type="primary" size="small" icon="el-icon-edit" class="filter-item">赠送
             </el-button>
             <el-dropdown trigger="click" size="medium" class="table-column-filter">
                 <span>
-                  筛选数据<i class="el-icon-arrow-down el-icon--right"></i>
+                    筛选数据
+                    <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}}
@@ -31,72 +31,32 @@
                 </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 :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('userId')" prop="userId" label="用户" min-width="100">
             </el-table-column>
-            <el-table-column
-                    type="index"
-                    min-width="50"
-                    align="center">
+
+            <el-table-column v-if="isColumnShow('orderId')" prop="orderId" label="订单" min-width="100">
+            </el-table-column>
+
+            <el-table-column v-if="isColumnShow('money')" prop="money" label="变动金额" min-width="100">
+            </el-table-column>
+
+            <el-table-column v-if="isColumnShow('balance')" prop="balance" label="剩余金额" min-width="100">
             </el-table-column>
-                                                                                                                                                                                                    
-                                            <el-table-column
-                                v-if="isColumnShow('userId')"
-                                prop="userId"
-                                label="用户"
-                                min-width="100">
-                        </el-table-column>
-                                                                
-                                            <el-table-column
-                                v-if="isColumnShow('orderId')"
-                                prop="orderId"
-                                label="订单"
-                                min-width="100">
-                        </el-table-column>
-                                                                
-                                            <el-table-column
-                                v-if="isColumnShow('money')"
-                                prop="money"
-                                label="变动金额"
-                                min-width="100">
-                        </el-table-column>
-                                                                
-                                            <el-table-column
-                                v-if="isColumnShow('balance')"
-                                prop="balance"
-                                label="剩余金额"
-                                min-width="100">
-                        </el-table-column>
-                                                                
-                                            <el-table-column
-                                v-if="isColumnShow('typeFlag')"
-                                prop="typeFlag"
-                                label="类型"
-                                min-width="100">
-                        </el-table-column>
-                                                                
-                                            <el-table-column
-                                v-if="isColumnShow('remark')"
-                                prop="remark"
-                                label="备注"
-                                min-width="100">
-                        </el-table-column>
-                                                            <el-table-column
-                    label="操作"
-                    align="center"
-                    fixed="right"
-                    min-width="150"
-            >
+
+            <el-table-column v-if="isColumnShow('typeFlag')" prop="typeFlag" label="类型" min-width="100">
+            </el-table-column>
+
+            <el-table-column v-if="isColumnShow('remark')" prop="remark" label="备注" min-width="100">
+            </el-table-column>
+            <el-table-column 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="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>
@@ -110,15 +70,7 @@
                     <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 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">
@@ -139,16 +91,14 @@
                     <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-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-option v-for="item in searchMethods" :label="item" :value="item" :key="item"></el-option>
                         </el-select>
                     </template>
                 </el-table-column>
@@ -178,8 +128,7 @@
                     <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-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value" :key="item.value"></el-option>
                         </el-select>
                     </template>
                 </el-table-column>
@@ -213,279 +162,294 @@
     </div>
 </template>
 <script>
-    import {mapState} from 'vuex'
-    import {format} from 'date-fns'
-    import zh from 'date-fns/locale/zh_cn'
+import { mapState } from 'vuex'
+import { format } from 'date-fns'
+import zh from 'date-fns/locale/zh_cn'
+
+export default {
+    created() {
+        this.$http.get({
+            url: '/userInfo/all'
+        }).then(res => {
+            if (res.success) {
+                this.userInfos = res.data;
 
-    export default {
-        created() {
+            }
+        });
+
+        this.getData();
+    },
+    data() {
+        return {
+            totalNumber: 0,
+            totalPage: 10,
+            currentPage: 1,
+            pageSize: 20,
+            tableData: [],
+            filter1: '',
+            filter2: '',
+            tableColumns: [
+                {
+                    label: '用户',
+                    value: 'userId',
+                    show: true
+                },
+                {
+                    label: '订单',
+                    value: 'orderId',
+                    show: true
+                },
+                {
+                    label: '变动金额',
+                    value: 'money',
+                    show: true
+                },
+                {
+                    label: '剩余金额',
+                    value: 'balance',
+                    show: true
+                },
+                {
+                    label: '类型',
+                    value: 'typeFlag',
+                    show: true
+                },
+                {
+                    label: '备注',
+                    value: 'remark',
+                    show: true
+                },
+            ],
+            multipleMode: false,
+            showAdvancedQueryDialog: false,
+            advancedQueryFields: [],
+            showTableSortDialog: false,
+            tableSortFields: [],
+            searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+            advancedQueryColumns: [
+                {
+                    label: '用户',
+                    value: 'user_id'
+                },
+                {
+                    label: '订单',
+                    value: 'order_id'
+                },
+                {
+                    label: '变动金额',
+                    value: 'money'
+                },
+                {
+                    label: '剩余金额',
+                    value: 'balance'
+                },
+                {
+                    label: '类型',
+                    value: 'type_flag'
+                },
+                {
+                    label: '备注',
+                    value: 'remark'
+                },
+            ],
+            advancedQuerySearchKey: '',
+            orderByStr: '',
+            imgSrc: '',
+            imageDialogVisible: false,
+            userInfos: [],
+            userId:'',
+        }
+    },
+    computed: {
+        ...mapState(['tableHeight']),
+        selection() {
+            return this.$refs.table.selection.map(i => i.id);
+        }
+    },
+    methods: {
+        pageSizeChange(size) {
+            this.currentPage = 1;
+            this.pageSize = size;
             this.getData();
         },
-        data() {
-            return {
-                totalNumber: 0,
-                totalPage: 10,
-                currentPage: 1,
-                pageSize: 20,
-                tableData: [],
-                filter1: '',
-                filter2: '',
-                tableColumns: [
-                                                                                                                                                                                                                                                                                                                                                {
-                                label: '用户',
-                                value: 'userId',
-                                show: true
-                            },
-                                                                                                {
-                                label: '订单',
-                                value: 'orderId',
-                                show: true
-                            },
-                                                                                                {
-                                label: '变动金额',
-                                value: 'money',
-                                show: true
-                            },
-                                                                                                {
-                                label: '剩余金额',
-                                value: 'balance',
-                                show: true
-                            },
-                                                                                                {
-                                label: '类型',
-                                value: 'typeFlag',
-                                show: true
-                            },
-                                                                                                {
-                                label: '备注',
-                                value: 'remark',
-                                show: true
-                            },
-                                                            ],
-                multipleMode: false,
-                showAdvancedQueryDialog: false,
-                advancedQueryFields: [],
-                showTableSortDialog: false,
-                tableSortFields: [],
-                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
-                advancedQueryColumns: [
-                                                                                                                                                                                                                                                                                                                                                {
-                                label: '用户',
-                                value: 'user_id'
-                            },
-                                                                                                {
-                                label: '订单',
-                                value: 'order_id'
-                            },
-                                                                                                {
-                                label: '变动金额',
-                                value: 'money'
-                            },
-                                                                                                {
-                                label: '剩余金额',
-                                value: 'balance'
-                            },
-                                                                                                {
-                                label: '类型',
-                                value: 'type_flag'
-                            },
-                                                                                                {
-                                label: '备注',
-                                value: 'remark'
-                            },
-                                                            ],
-                advancedQuerySearchKey: '',
-                orderByStr: '',
-                imgSrc: '',
-                imageDialogVisible: false,
-            }
+        currentPageChange(page) {
+            this.currentPage = page;
+            this.getData();
         },
-        computed: {
-            ...mapState(['tableHeight']),
-            selection() {
-                return this.$refs.table.selection.map(i => i.id);
+        getData() {
+
+            var data = {
+                currentPage: this.currentPage,
+                pageNumber: this.pageSize,
+                searchKey: this.filter1,
+                advancedQuery: this.advancedQuerySearchKey,
+                orderByStr: this.orderByStr,
+                userId:this.userId,
             }
-        },
-        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.column) {
+                var tempColumn = this.$route.query.column;
+                data[tempColumn.split(',')[1]] = tempColumn.split(',')[0];
+            }
 
-                this.$http.get({
-                    url: '/memberCoin/page',
-                    data: data
-                }).then(res => {
-                    if (res.success) {
-                        this.totalNumber = res.data.page.totalNumber;
-                        this.tableData = res.data.pp;
-                    }
-                })
-            },
-            isColumnShow(column) {
-                var row = this.tableColumns.find(i => i.value === column);
-                return row ? row.show : false;
-            },
-            toggleMultipleMode(multipleMode) {
-                this.multipleMode = multipleMode;
-                if (!multipleMode) {
-                    this.$refs.table.clearSelection();
+            this.$http.get({
+                url: '/memberCoin/page',
+                data: data
+            }).then(res => {
+                if (res.success) {
+                    this.totalNumber = res.data.page.totalNumber;
+                    this.tableData = res.data.pp;
                 }
-            },
-            editRow(row) {
-                this.$router.push({
-                    path: '/memberCoin',
-                    query: {
-                        id: row.id,
-                        column: this.$route.query.column,
-                    }
-                })
-            },
-            operation1() {
-                this.$notify({
-                    title: '提示',
-                    message: this.selection
-                });
-            },
-            operation2() {
-                this.$message('操作2');
-            },
-            addField() {
-                this.advancedQueryFields.push({
-                    link: 'AND',
-                    name: '',
-                    searchMethod: '=',
-                    value: '',
-                });
-            },
-            removeField(i) {
-                if (this.advancedQueryFields.length > 0) {
-                    this.advancedQueryFields.splice(i, 1);
+            })
+        },
+        isColumnShow(column) {
+            var row = this.tableColumns.find(i => i.value === column);
+            return row ? row.show : false;
+        },
+        toggleMultipleMode(multipleMode) {
+            this.multipleMode = multipleMode;
+            if (!multipleMode) {
+                this.$refs.table.clearSelection();
+            }
+        },
+        editRow(row) {
+            this.$router.push({
+                path: '/memberCoin',
+                query: {
+                    id: row.id,
+                    column: this.$route.query.column,
                 }
-            },
-            advancedQuery() {
+            })
+        },
+        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 = '';
+            this.advancedQuerySearchKey = '';
 
-                if (this.advancedQueryFields.length > 0) {
+            if (this.advancedQueryFields.length > 0) {
 
-                    var templist = [];
+                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);
-                        }
-                    })
+                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) {
+                if (templist.length > 0) {
 
-                        this.advancedQuerySearchKey = templist.join('_;');
-                    }
+                    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.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 = '';
+            this.orderByStr = '';
 
-                if (this.tableSortFields.length > 0) {
+            if (this.tableSortFields.length > 0) {
 
-                    var templist = [];
+                var templist = [];
 
-                    this.tableSortFields.forEach(item => {
-                        if (item.name && item.order) {
-                            var tempItem = item.name + '_,' + item.order;
-                            templist.push(tempItem);
-                        }
-                    })
+                this.tableSortFields.forEach(item => {
+                    if (item.name && item.order) {
+                        var tempItem = item.name + '_,' + item.order;
+                        templist.push(tempItem);
+                    }
+                })
 
-                    if (templist.length > 0) {
+                if (templist.length > 0) {
 
-                        this.orderByStr = templist.join('_;');
-                    }
+                    this.orderByStr = templist.join('_;');
                 }
+            }
 
-                this.getData();
-                this.showTableSortDialog = false;
-            },
-            exportExcel() {
-                window.location.href = this.$baseUrl + "/memberCoin/exportExcel?searchKey="
-                        + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey+"&orderByStr=" + this.orderByStr;
-            },
-            searchData() {
-                this.currentPage = 1;
-                this.getData();
-            },
-            deleteRow(row) {
-                this.$alert('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
-                    return this.$http.post({
-                        url: '/memberCoin/del',
-                        data: {id: row.id}
-                    })
-                }).then(() => {
-                    this.$message.success('删除成功');
-                    this.getData();
-                }).catch(action => {
-                    if (action === 'cancel') {
-                        this.$message.info('删除取消');
-                    } else {
-                        this.$message.error('删除失败');
-                    }
+            this.getData();
+            this.showTableSortDialog = false;
+        },
+        exportExcel() {
+            window.location.href = this.$baseUrl + "/memberCoin/exportExcel?searchKey="
+                + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey + "&orderByStr=" + this.orderByStr;
+        },
+        searchData() {
+            this.currentPage = 1;
+            this.getData();
+        },
+        deleteRow(row) {
+            this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
+                return this.$http.post({
+                    url: '/memberCoin/del',
+                    data: { id: row.id }
                 })
-            },
-            DateTimeFormatter(row, column, cellValue) {
-                if (cellValue) {
-                    return format(cellValue, 'YYYY/MM/DD HH:mm', {locale: zh})
+            }).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})
-                }
+        },
+        DateFormatter(row, column, cellValue) {
+            if (cellValue) {
+                return format(cellValue, 'YYYY/MM/DD', { locale: zh })
+            }
 
-            },
-            showImg(img) {
-                this.imgSrc = img;
-                this.imageDialogVisible = true;
-            },
+        },
+        showImg(img) {
+            this.imgSrc = img;
+            this.imageDialogVisible = true;
+        },
+        userIdChange() {
+            this.currentPage = 1;
+            this.getData();
+        },
 
-        }
     }
+}
 </script>
 <style lang="less" scoped>
-
 </style>

+ 19 - 1
src/main/vue/src/pages/ProductInfo.vue

@@ -3,7 +3,13 @@
         <el-form :model="formData" :rules="rules" ref="form" label-width="80px" label-position="right" size="small" style="max-width: 500px;">
 
             <el-form-item prop="storeId" label="店铺">
-                <el-input v-model="formData.storeId" :disabled="'storeId'==subColumn"></el-input>
+                <template>
+                    <el-select v-model="formData.storeId" clearable filterable placeholder="请选择" :disabled="'storeId'==subColumn">
+                        <el-option v-for="item in storeInfos" :key="item.id" :label="item.storeName" :value="item.id">
+                        </el-option>
+                    </el-select>
+                </template>
+
             </el-form-item>
             <el-form-item prop="typeFlag" label="类型">
                 <template>
@@ -125,6 +131,16 @@ export default {
         }
 
 
+        this.$http.get({
+            url: '/storeInfo/all'
+        }).then(res => {
+            if (res.success) {
+                this.storeInfos = res.data;
+
+            }
+        });
+
+
         this.$http.get({
             url: '/serviceType/all'
         }).then(res => {
@@ -151,6 +167,7 @@ export default {
                 useFlag: true,
                 serviceType: 1,
                 onShelf: false,
+                storeId:'',
             },
             rules: {
             },
@@ -159,6 +176,7 @@ export default {
             serviceTypes: [],
             serviceTypeDetails: {},
             typeFlagOptions: [{ label: '修图', value: 0 }, { label: '实体商品', value: 1 }],
+            storeInfos:[],
         }
     },
     methods: {

+ 22 - 1
src/main/vue/src/pages/ProductInfos.vue

@@ -2,6 +2,10 @@
     <div>
         <div class="filters-container">
 
+            <el-select v-model="storeId" clearable filterable placeholder="请选择"  @change="storeIdChange">
+                <el-option v-for="item in storeInfos" :key="item.id" :label="item.storeName" :value="item.id">
+                </el-option>
+            </el-select>
             <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>
@@ -33,7 +37,7 @@
             <el-table-column v-if="isColumnShow('serviceType')" prop="serviceType" label="大类" :formatter="ServiceTypeFormatter" min-width="100">
             </el-table-column>
 
-            <el-table-column v-if="isColumnShow('subclass')" prop="subclass" label="小类" :formatter="ServiceTypeDetailFormatter"  min-width="100">
+            <el-table-column v-if="isColumnShow('subclass')" prop="subclass" label="小类" :formatter="ServiceTypeDetailFormatter" min-width="100">
             </el-table-column>
 
             <el-table-column v-if="isColumnShow('title')" prop="title" label="标题" min-width="100">
@@ -203,6 +207,16 @@ export default {
             }
         });
 
+        this.$http.get({
+            url: '/storeInfo/all'
+        }).then(res => {
+            if (res.success) {
+                this.storeInfos = res.data;
+
+            }
+        });
+
+
         this.getData();
     },
     data() {
@@ -356,6 +370,8 @@ export default {
             imageDialogVisible: false,
             serviceTypes: [],
             serviceTypeDetails: {},
+            storeInfos: [],
+            storeId: '',
         }
     },
     computed: {
@@ -382,6 +398,7 @@ export default {
                 searchKey: this.filter1,
                 advancedQuery: this.advancedQuerySearchKey,
                 orderByStr: this.orderByStr,
+                storeId: this.storeId,
             }
 
             if (this.$route.query.column) {
@@ -590,6 +607,10 @@ export default {
             this.imgSrc = img;
             this.imageDialogVisible = true;
         },
+        storeIdChange() {
+           this.currentPage = 1;
+            this.getData();
+        },
 
     }
 }

+ 6 - 8
src/main/vue/src/pages/StoreInfo.vue

@@ -17,12 +17,11 @@
 
             </el-form-item>
 
-            <el-form-item prop="subclass" label="服务小类">
-                <el-select v-model="formData.subclass" filterable placeholder="请选择" size="small">
+            <el-form-item prop="subclass" label="服务小类" v-if="formData.serviceType">
+                <el-select v-model="formData.subclass" multiple placeholder="请选择" size="small">
                     <el-option v-for="item in serviceTypeDetails[formData.serviceType]" :key="item.id" :label="item.typeName" :value="item.id">
                     </el-option>
                 </el-select>
-
             </el-form-item>
 
             <el-form-item prop="userId" label="用户ID">
@@ -73,7 +72,7 @@
 
             <el-form-item prop="storelabel" label="店铺标签">
                 <template>
-                    <el-select v-model="formData.storelabel" multiple allow-create  placeholder="请选择" style="width: 100%;">
+                    <el-select v-model="formData.storelabel" multiple allow-create placeholder="请选择" style="width: 100%;">
                         <el-option v-for="item in storeLabels" :key="item.labelName" :label="item.labelName" :value="item.labelName">
                         </el-option>
                     </el-select>
@@ -130,14 +129,12 @@ export default {
                 if (res.success) {
 
                     res.data.storelabel = res.data.storelabel ? res.data.storelabel.split(',').map(i => String(i)) : [];
+                    res.data.subclass = res.data.subclass ? res.data.subclass.split(',').map(i => Number(i)) : [];
                     this.formData = res.data;
                     if (this.formData.serviceType) {
 
                         this.formData.serviceType = Number(this.formData.serviceType);
                     }
-                    if (this.formData.subclass) {
-                        this.formData.subclass = Number(this.formData.subclass);
-                    }
                     this.formData.hotFlag = this.formData.hotFlag == 1 ? true : false;
                     this.formData.homeFlag = this.formData.homeFlag == 1 ? true : false;
                     this.formData.useFlag = this.formData.useFlag == 'Y' ? true : false;
@@ -188,7 +185,8 @@ export default {
                 reworkRate: 0,
                 useFlag: true,
                 serviceType: 1,
-                storelabel:[],
+                storelabel: [],
+                subclass: [],
             },
             rules: {
             },

+ 12 - 11
src/main/vue/src/pages/StoreInfos.vue

@@ -35,9 +35,9 @@
 
             <el-table-column v-if="isColumnShow('serviceType')" prop="serviceType" label="服务类型" :formatter="ServiceTypeFormatter" min-width="100">
             </el-table-column>
-
+<!-- 
             <el-table-column v-if="isColumnShow('subclass')" prop="subclass" label="服务小类" :formatter="ServiceTypeDetailFormatter" min-width="100">
-            </el-table-column>
+            </el-table-column> -->
 
             <el-table-column v-if="isColumnShow('description')" prop="description" label="描述" min-width="100">
             </el-table-column>
@@ -347,11 +347,11 @@ export default {
                     value: 'typeFlag',
                     show: true
                 },
-                {
-                    label: '服务小类',
-                    value: 'subclass',
-                    show: true
-                },
+                // {
+                //     label: '服务小类',
+                //     value: 'subclass',
+                //     show: true
+                // },
             ],
             multipleMode: false,
             showAdvancedQueryDialog: false,
@@ -444,10 +444,10 @@ export default {
                     label: '类型',
                     value: 'type_flag'
                 },
-                {
-                    label: '服务小类',
-                    value: 'subclass'
-                },
+                // {
+                //     label: '服务小类',
+                //     value: 'subclass'
+                // },
             ],
             advancedQuerySearchKey: '',
             orderByStr: '',
@@ -654,6 +654,7 @@ export default {
                 var serviceTypeDetail = '';
                 if (this.serviceTypeDetails[row.serviceType]) {
                     this.serviceTypeDetails[row.serviceType].forEach(item => {
+
                         if (item.id == Number(cellValue)) {
                             serviceTypeDetail = item.typeName;
                         }

+ 104 - 12
src/main/vue/src/pages/UserOrders.vue

@@ -2,6 +2,15 @@
     <div>
         <div class="filters-container">
 
+            <el-select v-model="storeId" clearable filterable placeholder="店铺" @change="storeIdChange">
+                <el-option v-for="item in storeInfos" :key="item.id" :label="item.storeName" :value="item.id">
+                </el-option>
+            </el-select>
+            <el-select v-model="userId" clearable filterable placeholder="用户" @change="userIdChange">
+                <el-option v-for="item in userInfos" :key="item.id" :label="item.nickname" :value="item.id">
+                </el-option>
+            </el-select>
+
             <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>
@@ -87,25 +96,33 @@
             <el-table-column v-if="isColumnShow('showFlag')" prop="showFlag" label="显示标识" min-width="100">
             </el-table-column>
 
-            <el-table-column v-if="isColumnShow('statusFlag')" prop="statusFlag" label="状态" min-width="100">
+            <el-table-column v-if="isColumnShow('statusFlag')" prop="statusFlag" :formatter="StatusFlagFormatter" label="状态" min-width="100">
             </el-table-column>
 
             <el-table-column v-if="isColumnShow('fee')" prop="fee" label="手续费" min-width="100">
             </el-table-column>
-            <el-table-column label="操作" align="center" fixed="right" min-width="100">
+            <el-table-column label="操作" align="center" fixed="right" min-width="230">
                 <template slot-scope="scope">
-                    <el-button @click="$router.push({path:'/OrderImages',query:{column:scope.row.id+',orderId'}})" type="primary" size="small" plain>图片
-                    </el-button>
-                    <el-button @click="$router.push({path:'/OrderAddresss',query:{column:scope.row.id+',orderId'}})" type="primary" size="small" plain>地址
-                    </el-button>
-                    <el-button @click="$router.push({path:'/OrderLogisticss',query:{column:scope.row.id+',orderId'}})" type="primary" size="small" plain>物流
-                    </el-button>
-                    <el-button @click="$router.push({path:'/OrderRepairs',query:{column:scope.row.id+',orderId'}})" type="primary" size="small" plain>返修
-                    </el-button>
-                    <el-button @click="$router.push({path:'/OrderInvoices',query:{column:scope.row.id+',orderId'}})" type="primary" size="small" 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>
+                    <el-dropdown>
+                        <el-button type="primary" size="mini" plain>
+                            更多
+                            <i class="el-icon-arrow-down el-icon--right"></i>
+                        </el-button>
+                        <el-dropdown-menu slot="dropdown">
+                            <el-button @click="$router.push({path:'/OrderImages',query:{column:scope.row.id+',orderId'}})" type="primary" size="small" plain>图片
+                            </el-button>
+                            <el-button @click="$router.push({path:'/OrderAddresss',query:{column:scope.row.id+',orderId'}})" type="primary" size="small" plain>地址
+                            </el-button>
+                            <el-button @click="$router.push({path:'/OrderLogisticss',query:{column:scope.row.id+',orderId'}})" type="primary" size="small" plain>物流
+                            </el-button>
+                            <el-button @click="$router.push({path:'/OrderRepairs',query:{column:scope.row.id+',orderId'}})" type="primary" size="small" plain>返修
+                            </el-button>
+                            <el-button @click="$router.push({path:'/OrderInvoices',query:{column:scope.row.id+',orderId'}})" type="primary" size="small" plain>发票
+                            </el-button>
+                        </el-dropdown-menu>
+                    </el-dropdown>
                 </template>
             </el-table-column>
         </el-table>
@@ -216,7 +233,26 @@ import zh from 'date-fns/locale/zh_cn'
 
 export default {
     created() {
+
         this.getData();
+
+        this.$http.get({
+            url: '/storeInfo/all'
+        }).then(res => {
+            if (res.success) {
+                this.storeInfos = res.data;
+
+            }
+        });
+
+        this.$http.get({
+            url: '/userInfo/all'
+        }).then(res => {
+            if (res.success) {
+                this.userInfos = res.data;
+
+            }
+        });
     },
     data() {
         return {
@@ -430,6 +466,10 @@ export default {
             orderByStr: '',
             imgSrc: '',
             imageDialogVisible: false,
+            storeInfos: [],
+            storeId: '',
+            userInfos: [],
+            userId: '',
         }
     },
     computed: {
@@ -456,6 +496,8 @@ export default {
                 searchKey: this.filter1,
                 advancedQuery: this.advancedQuerySearchKey,
                 orderByStr: this.orderByStr,
+                storeId: this.storeId,
+                userId: this.userId,
             }
 
             if (this.$route.query.column) {
@@ -647,6 +689,56 @@ export default {
             return valueStr;
 
         },
+        StatusFlagFormatter(row, column, cellValue) {
+
+            var valueStr = '';
+            switch (cellValue) {
+                case 0:
+                    valueStr = '待付款';
+                    break;
+                case 1:
+                    valueStr = '付款完成';
+                    break
+                case 2:
+                    valueStr = '修图';
+                    break
+                case 3:
+                    valueStr = '验收';
+                    break
+                case 4:
+                    valueStr = '返修';
+                    break
+                case 5:
+                    valueStr = '完成';
+                    break
+                case 6:
+                    valueStr = '结束';
+                    break
+                case 7:
+                    valueStr = '退款中';
+                    break
+                case 8:
+                    valueStr = '取消';
+                    break
+                case 9:
+                    valueStr = '退款失败';
+                    break
+                case 10:
+                    valueStr = '退款完成';
+                    break
+            }
+
+            return valueStr;
+
+        },
+        storeIdChange() {
+            this.currentPage = 1;
+            this.getData();
+        },
+        userIdChange() {
+            this.currentPage = 1;
+            this.getData();
+        },
 
     }
 }

+ 1 - 1
src/main/webapp/WEB-INF/html/admin.html

@@ -1 +1 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>管理后台</title><link rel=icon href=/static/favicon.ico><script src=/static/polyfill.min.js></script><script src=/static/fontawesome-v5.2.0.js></script><link href=/static/css/admin.da4f73e09f989b1618ebd295c1c6c122.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.bbae90170d73baa607fa.js></script><script type=text/javascript src=/static/js/vendor.56194c28c58ef2af2fdb.js></script><script type=text/javascript src=/static/js/admin.12be83e20111b1ad918d.js></script></body></html>
+<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>管理后台</title><link rel=icon href=/static/favicon.ico><script src=/static/polyfill.min.js></script><script src=/static/fontawesome-v5.2.0.js></script><link href=/static/css/admin.da4f73e09f989b1618ebd295c1c6c122.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.7c58273d799602baec23.js></script><script type=text/javascript src=/static/js/vendor.56194c28c58ef2af2fdb.js></script><script type=text/javascript src=/static/js/admin.1dec1632ba5b6c6eec7a.js></script></body></html>

+ 1 - 1
src/main/webapp/WEB-INF/html/index.html

@@ -5,7 +5,7 @@
             position: absolute;
             top: 0;
             left: 0;
-        }</style><link href=/static/css/index.470ccda77c3658c3b2ad63e5c43dac30.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.bbae90170d73baa607fa.js></script><script type=text/javascript src=/static/js/vendor.56194c28c58ef2af2fdb.js></script><script type=text/javascript src=/static/js/index.9acb49ce3db31962e115.js></script></body><script>var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
+        }</style><link href=/static/css/index.6224220b6e2f2849327500dc504d1f66.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.7c58273d799602baec23.js></script><script type=text/javascript src=/static/js/vendor.56194c28c58ef2af2fdb.js></script><script type=text/javascript src=/static/js/index.e25e87913624c6b75a5f.js></script></body><script>var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
     var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
     var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
     var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/css/index.6224220b6e2f2849327500dc504d1f66.css


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/10.59a0902bd15ec3121dd4.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/10.b149b39f6702a59910aa.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/102.a0284e2befc9ea54fbd2.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/103.a44c2ef9822430fa1c8b.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/104.f6ad2adb6010517abde4.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/105.d6af042a2de0bed37983.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/106.c8aaa24c7237afea65ca.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/107.830c6d27a7b86b137165.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/108.e43dfc3b011bd9ac5969.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/109.7f9725bfab6c3aeecdc8.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/11.131c9b0dd7e12f11e3da.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/11.db2685fe936f484c4e19.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/110.4bad100dc72730a70e40.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/111.97d6366d6f09b462b630.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/112.8d6572e968285be7e714.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/12.2b3b0bc9def9d279ef40.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/12.af5c1c0d3ce99e7fc791.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/124.cd3e30545717b85bc751.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/125.1de8e29f4d6db66f017a.js


+ 1 - 1
src/main/webapp/static/js/125.c8a3ef7d70bf525906b2.js → src/main/webapp/static/js/126.815426c1fdbd9ce43507.js

@@ -1 +1 @@
-webpackJsonp([125],{V8wA:function(t,e){},izdZ:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});r("NYxO");var i={created:function(){this.getIframeSrc()},data:function(){return{iframeSrc:"/404"}},computed:{height:function(){return window.innerHeight-104+"px"}},methods:{getIframeSrc:function(){this.iframeSrc=this.$route.query.code}},watch:{$route:function(){this.getIframeSrc()}}},n={render:function(){var t=this.$createElement;return(this._self._c||t)("iframe",{staticClass:"iframe",attrs:{src:this.iframeSrc,height:this.height,width:"100%"}})},staticRenderFns:[]};var c=r("VU/8")(i,n,!1,function(t){r("V8wA")},"data-v-6d20da16",null);e.default=c.exports}});
+webpackJsonp([126],{V8wA:function(t,e){},izdZ:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});r("NYxO");var i={created:function(){this.getIframeSrc()},data:function(){return{iframeSrc:"/404"}},computed:{height:function(){return window.innerHeight-104+"px"}},methods:{getIframeSrc:function(){this.iframeSrc=this.$route.query.code}},watch:{$route:function(){this.getIframeSrc()}}},n={render:function(){var t=this.$createElement;return(this._self._c||t)("iframe",{staticClass:"iframe",attrs:{src:this.iframeSrc,height:this.height,width:"100%"}})},staticRenderFns:[]};var c=r("VU/8")(i,n,!1,function(t){r("V8wA")},"data-v-6d20da16",null);e.default=c.exports}});

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/127.0c0287965db9b12711d5.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/128.b46d2bc638be08427df9.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/129.38ecb83b56c88db43519.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/13.a7d93bd9f8d179582dc2.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/13.afe2e200512bf5a9ed2c.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/130.0cdcb193fd1383dacf23.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/131.3eea8ef492e03434c757.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/132.39cbc326421314c1d105.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/133.2af76765605801771840.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/134.112bcd7ea11af0f81dd3.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/135.8fb55cc47a63b86e893c.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/136.d1007a042f82f6660afa.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/137.38177380e703b80537d4.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/138.10b348324acf23a04b57.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/138.2f30083705e4c96d628b.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/14.d4b618481748519112f2.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/14.d5da232cfab2ecca6899.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/140.7344f803eafb47a96b68.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/140.f288f435e12ce7525e43.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/141.9db759f54f98dd2bf67d.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/142.12b2f4342e2f4dcdbe57.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/143.01daf7bae94da68dc2c3.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/144.c0173cf3bcdf8b795f85.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/145.236eff6c597054036e48.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/146.49a25a5fe5752b4699f7.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/147.0f1ee3b4b67b448f176f.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/148.dc65c29ad1fc2b3c859e.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/149.236ab5c182b23198b5cd.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/15.e4f0fc7fea6e2d2b0204.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/150.83fbf64ae051f433a71c.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/151.30af65d0790c13edd550.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/152.51c432be8010c92e3beb.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/153.11b2c36f3851cf13f54f.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/154.0c338b187891cad12543.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/155.58198256d47465f7e4e3.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/156.b560a274409af73b3d60.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/157.b2d43cf009c7f26653fa.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/16.1f870a614ef1fd8051ca.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/16.46bee63bab5fe29634d2.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/17.7faceea18616746d2223.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/17.ba5053f8e54e78370f26.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/18.0a663adb80422fd20274.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/18.4ccc9a369a18d7ffc60e.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/19.43be96fdaf2b96e25528.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/19.4ab8706eb2d26c1a4057.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/20.008fcd2b6ce47000169d.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/21.ad6b51aaebbf724a815f.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/21.f15fd9a693ebbed449ae.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/22.e7fe310abef9c9fd85a5.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/23.58466cd15cbe33e5cb5b.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/23.ca489f85a2ad4f926104.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/24.9b60c0f9c833b91788cc.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/24.c67f4f2ae10377711dba.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/26.84632e26cd5e9403ee48.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/27.47b6169ed4d5ff2cbe63.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/27.5401691327ace0ee94f1.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/28.8ae639bbc695b7543ee0.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/29.b5ec43b0c210a3e10d14.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/30.23a94a10be373d89185e.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/30.2e748eedd06fd5f292d9.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/32.a4a5457d3d327762b902.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/33.4c127ada6b401326267c.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/34.075b5b93ca19058e8a64.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/main/webapp/static/js/35.88cba16767f09a9b1ba8.js


Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff