Browse Source

店铺服务类型添加字段

suochencheng 6 years ago
parent
commit
36d47a683b
37 changed files with 8451 additions and 493 deletions
  1. 34 0
      src/main/java/com/izouma/awesomeadmin/dao/ImageDownLogMapper.java
  2. 519 0
      src/main/java/com/izouma/awesomeadmin/dao/ImageDownLogMapper.xml
  3. 36 0
      src/main/java/com/izouma/awesomeadmin/dao/ImageUploadLogMapper.java
  4. 605 0
      src/main/java/com/izouma/awesomeadmin/dao/ImageUploadLogMapper.xml
  5. 52 0
      src/main/java/com/izouma/awesomeadmin/dao/OrderImageMapper.java
  6. 1238 0
      src/main/java/com/izouma/awesomeadmin/dao/OrderImageMapper.xml
  7. 36 0
      src/main/java/com/izouma/awesomeadmin/dao/OrderRepairDetailMapper.java
  8. 395 0
      src/main/java/com/izouma/awesomeadmin/dao/OrderRepairDetailMapper.xml
  9. 36 0
      src/main/java/com/izouma/awesomeadmin/dao/OrderRepairMapper.java
  10. 465 0
      src/main/java/com/izouma/awesomeadmin/dao/OrderRepairMapper.xml
  11. 172 0
      src/main/java/com/izouma/awesomeadmin/model/ImageDownLog.java
  12. 199 0
      src/main/java/com/izouma/awesomeadmin/model/ImageUploadLog.java
  13. 502 0
      src/main/java/com/izouma/awesomeadmin/model/OrderImage.java
  14. 147 0
      src/main/java/com/izouma/awesomeadmin/model/OrderRepair.java
  15. 150 0
      src/main/java/com/izouma/awesomeadmin/model/OrderRepairDetail.java
  16. 6 0
      src/main/java/com/izouma/awesomeadmin/service/ActivityInfoService.java
  17. 28 0
      src/main/java/com/izouma/awesomeadmin/service/ImageDownLogService.java
  18. 30 0
      src/main/java/com/izouma/awesomeadmin/service/ImageUploadLogService.java
  19. 180 6
      src/main/java/com/izouma/awesomeadmin/service/OSSFileService.java
  20. 60 0
      src/main/java/com/izouma/awesomeadmin/service/OrderImageService.java
  21. 30 0
      src/main/java/com/izouma/awesomeadmin/service/OrderRepairDetailService.java
  22. 28 0
      src/main/java/com/izouma/awesomeadmin/service/OrderRepairService.java
  23. 69 0
      src/main/java/com/izouma/awesomeadmin/service/impl/ActivityInfoServiceImpl.java
  24. 140 0
      src/main/java/com/izouma/awesomeadmin/service/impl/ImageDownLogServiceImpl.java
  25. 158 0
      src/main/java/com/izouma/awesomeadmin/service/impl/ImageUploadLogServiceImpl.java
  26. 473 0
      src/main/java/com/izouma/awesomeadmin/service/impl/OrderImageServiceImpl.java
  27. 154 0
      src/main/java/com/izouma/awesomeadmin/service/impl/OrderRepairDetailServiceImpl.java
  28. 140 0
      src/main/java/com/izouma/awesomeadmin/service/impl/OrderRepairServiceImpl.java
  29. 16 0
      src/main/java/com/izouma/awesomeadmin/service/impl/UserOrderServiceImpl.java
  30. 106 9
      src/main/java/com/izouma/awesomeadmin/util/ImagesUtil.java
  31. 169 0
      src/main/java/com/izouma/awesomeadmin/web/ImageDownLogController.java
  32. 169 0
      src/main/java/com/izouma/awesomeadmin/web/ImageUploadLogController.java
  33. 890 0
      src/main/java/com/izouma/awesomeadmin/web/OrderImageController.java
  34. 167 0
      src/main/java/com/izouma/awesomeadmin/web/OrderRepairController.java
  35. 211 0
      src/main/java/com/izouma/awesomeadmin/web/OrderRepairDetailController.java
  36. 125 69
      src/main/vue/src/pages/ActivityInfo.vue
  37. 516 409
      src/main/vue/src/pages/ActivityLogs.vue

+ 34 - 0
src/main/java/com/izouma/awesomeadmin/dao/ImageDownLogMapper.java

@@ -0,0 +1,34 @@
+package com.izouma.awesomeadmin.dao;
+
+import com.izouma.awesomeadmin.model.ImageDownLog;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.ImageDownLogMapper")
+public interface ImageDownLogMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(ImageDownLog record);
+
+    ImageDownLog selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(ImageDownLog record);
+
+    List<ImageDownLog> queryAllImageDownLog(ImageDownLog record);
+
+    List<ImageDownLog> queryImageDownLogByPage(Map<String, Object> parameter);
+
+    int delete(ImageDownLog record);
+
+    ImageDownLog queryImageDownLog(ImageDownLog record);
+
+    List<ImageDownLog> query(ImageDownLog record);
+}
+

+ 519 - 0
src/main/java/com/izouma/awesomeadmin/dao/ImageDownLogMapper.xml

@@ -0,0 +1,519 @@
+<?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.ImageDownLogMapper">
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.ImageDownLog">
+        <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="order_id" property="orderId" jdbcType="VARCHAR"/>
+        <result column="type_flag" property="typeFlag" jdbcType="VARCHAR"/>
+        <result column="image_name" property="imageName" jdbcType="VARCHAR"/>
+        <result column="status_flag" property="statusFlag" jdbcType="INTEGER"/>
+        <result column="image_size" property="imageSize" jdbcType="DECIMAL"/>
+        <result column="image_code" property="imageCode" jdbcType="VARCHAR"/>
+        <result column="total_num" property="totalNum" jdbcType="INTEGER"/>
+        <result column="now_num" property="nowNum" jdbcType="INTEGER"/>
+    </resultMap>
+    <sql id="Base_Column_List">
+        <trim suffixOverrides=",">
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            order_id,
+
+            type_flag,
+
+            image_name,
+
+            status_flag,
+
+            image_size,
+
+            image_code,
+
+            total_num,
+
+            now_num,
+
+        </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
+        select
+        <include refid="Base_Column_List"/>
+        from image_down_log
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+        delete from image_down_log
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.ImageDownLog" useGeneratedKeys="true"
+            keyProperty="id">
+        insert into image_down_log
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id!= null">
+                id,
+            </if>
+            <if test="delFlag!= null">
+                del_flag,
+            </if>
+            <if test="updateTime!= null">
+                update_time,
+            </if>
+            <if test="updateUser!= null">
+                update_user,
+            </if>
+            <if test="createTime!= null">
+                create_time,
+            </if>
+            <if test="createUser!= null">
+                create_user,
+            </if>
+            <if test="orderId!= null">
+                order_id,
+            </if>
+            <if test="typeFlag!= null">
+                type_flag,
+            </if>
+            <if test="imageName!= null">
+                image_name,
+            </if>
+            <if test="statusFlag!= null">
+                status_flag,
+            </if>
+            <if test="imageSize!= null">
+                image_size,
+            </if>
+            <if test="imageCode!= null">
+                image_code,
+            </if>
+            <if test="totalNum!= null">
+                total_num,
+            </if>
+            <if test="nowNum!= null">
+                now_num,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">
+                #{id,jdbcType=INTEGER},
+            </if>
+            <if test="delFlag != null">
+                #{delFlag,jdbcType=CHAR},
+            </if>
+            <if test="updateTime != null">
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUser != null">
+                #{updateUser,jdbcType=VARCHAR},
+            </if>
+            <if test="createTime != null">
+                #{createTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="createUser != null">
+                #{createUser,jdbcType=VARCHAR},
+            </if>
+            <if test="orderId != null">
+                #{orderId,jdbcType=VARCHAR},
+            </if>
+            <if test="typeFlag != null">
+                #{typeFlag,jdbcType=VARCHAR},
+            </if>
+            <if test="imageName != null">
+                #{imageName,jdbcType=VARCHAR},
+            </if>
+            <if test="statusFlag != null">
+                #{statusFlag,jdbcType=INTEGER},
+            </if>
+            <if test="imageSize != null">
+                #{imageSize,jdbcType=DECIMAL},
+            </if>
+            <if test="imageCode != null">
+                #{imageCode,jdbcType=VARCHAR},
+            </if>
+            <if test="totalNum != null">
+                #{totalNum,jdbcType=INTEGER},
+            </if>
+            <if test="nowNum != null">
+                #{nowNum,jdbcType=INTEGER},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.ImageDownLog">
+        update image_down_log
+        <set>
+            <if test="id != null">
+                id= #{id,jdbcType=INTEGER},
+            </if>
+            <if test="delFlag != null">
+                del_flag= #{delFlag,jdbcType=CHAR},
+            </if>
+            <if test="updateTime != null">
+                update_time= #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUser != null">
+                update_user= #{updateUser,jdbcType=VARCHAR},
+            </if>
+            <if test="createTime != null">
+                create_time= #{createTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="createUser != null">
+                create_user= #{createUser,jdbcType=VARCHAR},
+            </if>
+            <if test="orderId != null">
+                order_id= #{orderId,jdbcType=VARCHAR},
+            </if>
+            <if test="typeFlag != null">
+                type_flag= #{typeFlag,jdbcType=VARCHAR},
+            </if>
+            <if test="imageName != null">
+                image_name= #{imageName,jdbcType=VARCHAR},
+            </if>
+            <if test="statusFlag != null">
+                status_flag= #{statusFlag,jdbcType=INTEGER},
+            </if>
+            <if test="imageSize != null">
+                image_size= #{imageSize,jdbcType=DECIMAL},
+            </if>
+            <if test="imageCode != null">
+                image_code= #{imageCode,jdbcType=VARCHAR},
+            </if>
+            <if test="totalNum != null">
+                total_num= #{totalNum,jdbcType=INTEGER},
+            </if>
+            <if test="nowNum != null">
+                now_num= #{nowNum,jdbcType=INTEGER},
+            </if>
+        </set>
+        where
+        <if test="id != null and !&quot;&quot;.equals(id)">
+            id = #{id,jdbcType=INTEGER}
+        </if>
+
+        <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+            id in (${idStr})
+        </if>
+
+    </update>
+    <select id="queryImageDownLogByPage" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.ImageDownLog">
+        select
+        <include refid="Base_Column_List"/>
+        from image_down_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>
+            <if test="record.delFlag != null and !&quot;&quot;.equals(record.delFlag)">
+                and del_flag = #{record.delFlag}
+            </if>
+            <if test="record.updateTime != null and !&quot;&quot;.equals(record.updateTime)">
+                and update_time = #{record.updateTime}
+            </if>
+            <if test="record.updateUser != null and !&quot;&quot;.equals(record.updateUser)">
+                and update_user = #{record.updateUser}
+            </if>
+            <if test="record.createTime != null and !&quot;&quot;.equals(record.createTime)">
+                and create_time = #{record.createTime}
+            </if>
+            <if test="record.createUser != null and !&quot;&quot;.equals(record.createUser)">
+                and create_user = #{record.createUser}
+            </if>
+            <if test="record.orderId != null and !&quot;&quot;.equals(record.orderId)">
+                and order_id = #{record.orderId}
+            </if>
+            <if test="record.typeFlag != null and !&quot;&quot;.equals(record.typeFlag)">
+                and type_flag = #{record.typeFlag}
+            </if>
+            <if test="record.imageName != null and !&quot;&quot;.equals(record.imageName)">
+                and image_name = #{record.imageName}
+            </if>
+            <if test="record.statusFlag != null and !&quot;&quot;.equals(record.statusFlag)">
+                and status_flag = #{record.statusFlag}
+            </if>
+            <if test="record.imageSize != null and !&quot;&quot;.equals(record.imageSize)">
+                and image_size = #{record.imageSize}
+            </if>
+            <if test="record.imageCode != null and !&quot;&quot;.equals(record.imageCode)">
+                and image_code = #{record.imageCode}
+            </if>
+            <if test="record.totalNum != null and !&quot;&quot;.equals(record.totalNum)">
+                and total_num = #{record.totalNum}
+            </if>
+            <if test="record.nowNum != null and !&quot;&quot;.equals(record.nowNum)">
+                and now_num = #{record.nowNum}
+            </if>
+            <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR order_id LIKE concat('%',#{record.searchKey},'%')
+                    OR type_flag LIKE concat('%',#{record.searchKey},'%')
+                    OR image_name LIKE concat('%',#{record.searchKey},'%')
+                    OR status_flag LIKE concat('%',#{record.searchKey},'%')
+                    OR image_size LIKE concat('%',#{record.searchKey},'%')
+                    OR image_code LIKE concat('%',#{record.searchKey},'%')
+                    OR total_num LIKE concat('%',#{record.searchKey},'%')
+                    OR now_num LIKE concat('%',#{record.searchKey},'%')
+                </trim>
+            </if>
+
+            <if test="record.advancedQuery != null and !&quot;&quot;.equals(record.advancedQuery)">
+                <foreach item="item" index="index" collection="record.advancedQuery.split('_;')">
+                    <choose>
+                        <when test="item.indexOf('like') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    concat('%',#{itemDetail},'%')
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </otherwise>
+                    </choose>
+
+
+                </foreach>
+
+
+            </if>
+
+        </where>
+        order by
+
+        <if test="record.orderByStr != null and !&quot;&quot;.equals(record.orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="record.orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+        id desc
+    </select>
+    <select id="queryAllImageDownLog" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.ImageDownLog">
+        select
+        <include refid="Base_Column_List"/>
+        from image_down_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>
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+            <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+            <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+            <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+            <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+            <if test="orderId != null and !&quot;&quot;.equals(orderId)">
+                and order_id = #{orderId}
+            </if>
+            <if test="typeFlag != null and !&quot;&quot;.equals(typeFlag)">
+                and type_flag = #{typeFlag}
+            </if>
+            <if test="imageName != null and !&quot;&quot;.equals(imageName)">
+                and image_name = #{imageName}
+            </if>
+            <if test="statusFlag != null and !&quot;&quot;.equals(statusFlag)">
+                and status_flag = #{statusFlag}
+            </if>
+            <if test="imageSize != null and !&quot;&quot;.equals(imageSize)">
+                and image_size = #{imageSize}
+            </if>
+            <if test="imageCode != null and !&quot;&quot;.equals(imageCode)">
+                and image_code = #{imageCode}
+            </if>
+            <if test="totalNum != null and !&quot;&quot;.equals(totalNum)">
+                and total_num = #{totalNum}
+            </if>
+            <if test="nowNum != null and !&quot;&quot;.equals(nowNum)">
+                and now_num = #{nowNum}
+            </if>
+            <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR order_id LIKE concat('%',#{searchKey},'%')
+                    OR type_flag LIKE concat('%',#{searchKey},'%')
+                    OR image_name LIKE concat('%',#{searchKey},'%')
+                    OR status_flag LIKE concat('%',#{searchKey},'%')
+                    OR image_size LIKE concat('%',#{searchKey},'%')
+                    OR image_code LIKE concat('%',#{searchKey},'%')
+                    OR total_num LIKE concat('%',#{searchKey},'%')
+                    OR now_num LIKE concat('%',#{searchKey},'%')
+                </trim>
+            </if>
+            <if test="advancedQuery != null and !&quot;&quot;.equals(advancedQuery)">
+                <foreach item="item" index="index" collection="advancedQuery.split('_;')">
+                    <choose>
+                        <when test="item.indexOf('like') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    concat('%',#{itemDetail},'%')
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </otherwise>
+                    </choose>
+
+
+                </foreach>
+
+
+            </if>
+        </where>
+        order by
+
+        <if test="orderByStr != null and !&quot;&quot;.equals(orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+
+        id desc
+    </select>
+    <select id="queryImageDownLog" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.ImageDownLog">
+        select
+        <include refid="Base_Column_List"/>
+        from image_down_log
+        <where>
+            and del_flag = 'N'
+            <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+            <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+            <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+            <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+            <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+            <if test="orderId != null and !&quot;&quot;.equals(orderId)">
+                and order_id = #{orderId}
+            </if>
+            <if test="typeFlag != null and !&quot;&quot;.equals(typeFlag)">
+                and type_flag = #{typeFlag}
+            </if>
+            <if test="imageName != null and !&quot;&quot;.equals(imageName)">
+                and image_name = #{imageName}
+            </if>
+            <if test="statusFlag != null and !&quot;&quot;.equals(statusFlag)">
+                and status_flag = #{statusFlag}
+            </if>
+            <if test="imageSize != null and !&quot;&quot;.equals(imageSize)">
+                and image_size = #{imageSize}
+            </if>
+            <if test="imageCode != null and !&quot;&quot;.equals(imageCode)">
+                and image_code = #{imageCode}
+            </if>
+            <if test="totalNum != null and !&quot;&quot;.equals(totalNum)">
+                and total_num = #{totalNum}
+            </if>
+            <if test="nowNum != null and !&quot;&quot;.equals(nowNum)">
+                and now_num = #{nowNum}
+            </if>
+
+        </where>
+        order by id desc
+        LIMIT 1
+
+    </select>
+    <update id="delete">
+        UPDATE image_down_log SET del_flag = 'Y'
+        where
+        <if test="id != null and !&quot;&quot;.equals(id)">
+            id = #{id,jdbcType=INTEGER}
+        </if>
+
+        <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+            id in (${idStr})
+        </if>
+    </update>
+    <select id="query" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.ImageDownLog">
+        select
+        <include refid="Base_Column_List"/>
+        from image_down_log
+        <where>
+            and del_flag = 'N'
+        </where>
+        order by id desc
+    </select>
+</mapper>
+

+ 36 - 0
src/main/java/com/izouma/awesomeadmin/dao/ImageUploadLogMapper.java

@@ -0,0 +1,36 @@
+package com.izouma.awesomeadmin.dao;
+
+import com.izouma.awesomeadmin.model.ImageUploadLog;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.ImageUploadLogMapper")
+public interface ImageUploadLogMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(ImageUploadLog record);
+
+    ImageUploadLog selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(ImageUploadLog record);
+
+    List<ImageUploadLog> queryAllImageUploadLog(ImageUploadLog record);
+
+    List<ImageUploadLog> queryImageUploadLogByPage(Map<String, Object> parameter);
+
+    int delete(String id);
+
+    ImageUploadLog queryImageUploadLog(ImageUploadLog record);
+
+    List<ImageUploadLog> query(ImageUploadLog record);
+
+    List<ImageUploadLog> queryDelOssImage(Map<String, Object> parameter);
+}
+

+ 605 - 0
src/main/java/com/izouma/awesomeadmin/dao/ImageUploadLogMapper.xml

@@ -0,0 +1,605 @@
+<?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"/>
+        <result column="artwork_url" property="artworkUrl" jdbcType="VARCHAR"/>
+    </resultMap>
+    <sql id="Base_Column_List">
+        <trim suffixOverrides=",">
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            image_name,
+
+            url,
+
+            store_id,
+
+            order_id,
+
+            user_id,
+
+            type_flag,
+
+            image_size,
+
+            use_flag,
+
+            artwork_url,
+
+        </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
+        select
+        <include refid="Base_Column_List"/>
+        from image_upload_log
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <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 into image_upload_log
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id!= null">
+                id,
+            </if>
+            <if test="delFlag!= null">
+                del_flag,
+            </if>
+            <if test="updateTime!= null">
+                update_time,
+            </if>
+            <if test="updateUser!= null">
+                update_user,
+            </if>
+            <if test="createTime!= null">
+                create_time,
+            </if>
+            <if test="createUser!= null">
+                create_user,
+            </if>
+            <if test="imageName!= null">
+                image_name,
+            </if>
+            <if test="url!= null">
+                url,
+            </if>
+            <if test="storeId!= null">
+                store_id,
+            </if>
+            <if test="orderId!= null">
+                order_id,
+            </if>
+            <if test="userId!= null">
+                user_id,
+            </if>
+            <if test="typeFlag!= null">
+                type_flag,
+            </if>
+            <if test="imageSize!= null">
+                image_size,
+            </if>
+            <if test="useFlag!= null">
+                use_flag,
+            </if>
+            <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">
+                #{delFlag,jdbcType=CHAR},
+            </if>
+            <if test="updateTime != null">
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUser != null">
+                #{updateUser,jdbcType=VARCHAR},
+            </if>
+            <if test="createTime != null">
+                #{createTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="createUser != null">
+                #{createUser,jdbcType=VARCHAR},
+            </if>
+            <if test="imageName != null">
+                #{imageName,jdbcType=VARCHAR},
+            </if>
+            <if test="url != null">
+                #{url,jdbcType=VARCHAR},
+            </if>
+            <if test="storeId != null">
+                #{storeId,jdbcType=VARCHAR},
+            </if>
+            <if test="orderId != null">
+                #{orderId,jdbcType=VARCHAR},
+            </if>
+            <if test="userId != null">
+                #{userId,jdbcType=VARCHAR},
+            </if>
+            <if test="typeFlag != null">
+                #{typeFlag,jdbcType=VARCHAR},
+            </if>
+            <if test="imageSize != null">
+                #{imageSize,jdbcType=DECIMAL},
+            </if>
+            <if test="useFlag != null">
+                #{useFlag,jdbcType=CHAR},
+            </if>
+            <if test="artworkUrl != null">
+                #{artworkUrl,jdbcType=VARCHAR},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.ImageUploadLog">
+        update image_upload_log
+        <set>
+            <if test="id != null">
+                id= #{id,jdbcType=INTEGER},
+            </if>
+            <if test="delFlag != null">
+                del_flag= #{delFlag,jdbcType=CHAR},
+            </if>
+            <if test="updateTime != null">
+                update_time= #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUser != null">
+                update_user= #{updateUser,jdbcType=VARCHAR},
+            </if>
+            <if test="createTime != null">
+                create_time= #{createTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="createUser != null">
+                create_user= #{createUser,jdbcType=VARCHAR},
+            </if>
+            <if test="imageName != null">
+                image_name= #{imageName,jdbcType=VARCHAR},
+            </if>
+            <if test="url != null">
+                url= #{url,jdbcType=VARCHAR},
+            </if>
+            <if test="storeId != null">
+                store_id= #{storeId,jdbcType=VARCHAR},
+            </if>
+            <if test="orderId != null">
+                order_id= #{orderId,jdbcType=VARCHAR},
+            </if>
+            <if test="userId != null">
+                user_id= #{userId,jdbcType=VARCHAR},
+            </if>
+            <if test="typeFlag != null">
+                type_flag= #{typeFlag,jdbcType=VARCHAR},
+            </if>
+            <if test="imageSize != null">
+                image_size= #{imageSize,jdbcType=DECIMAL},
+            </if>
+            <if test="useFlag != null">
+                use_flag= #{useFlag,jdbcType=CHAR},
+            </if>
+            <if test="artworkUrl != null">
+                artwork_url= #{artworkUrl,jdbcType=VARCHAR},
+            </if>
+        </set>
+        where
+        <if test="id != null and !&quot;&quot;.equals(id)">
+            id = #{id,jdbcType=INTEGER}
+        </if>
+
+        <if test="idStr != null and !&quot;&quot;.equals(idStr)">
+            id in (${idStr})
+        </if>
+
+    </update>
+    <select id="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>
+            <if test="record.delFlag != null and !&quot;&quot;.equals(record.delFlag)">
+                and del_flag = #{record.delFlag}
+            </if>
+            <if test="record.updateTime != null and !&quot;&quot;.equals(record.updateTime)">
+                and update_time = #{record.updateTime}
+            </if>
+            <if test="record.updateUser != null and !&quot;&quot;.equals(record.updateUser)">
+                and update_user = #{record.updateUser}
+            </if>
+            <if test="record.createTime != null and !&quot;&quot;.equals(record.createTime)">
+                and create_time = #{record.createTime}
+            </if>
+            <if test="record.createUser != null and !&quot;&quot;.equals(record.createUser)">
+                and create_user = #{record.createUser}
+            </if>
+            <if test="record.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>
+            <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>
+            <if test="record.userId != null and !&quot;&quot;.equals(record.userId)">
+                and user_id = #{record.userId}
+            </if>
+            <if test="record.typeFlag != null and !&quot;&quot;.equals(record.typeFlag)">
+                and type_flag = #{record.typeFlag}
+            </if>
+            <if test="record.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>
+            <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('_;')">
+                    <choose>
+                        <when test="item.indexOf('like') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    concat('%',#{itemDetail},'%')
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </otherwise>
+                    </choose>
+
+
+                </foreach>
+
+
+            </if>
+
+        </where>
+        order by
+
+        <if test="record.orderByStr != null and !&quot;&quot;.equals(record.orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="record.orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+        id desc
+    </select>
+    <select id="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>
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+            <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+            <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+            <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+            <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+            <if test="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>
+            <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>
+            <if test="userId != null and !&quot;&quot;.equals(userId)">
+                and user_id = #{userId}
+            </if>
+            <if test="typeFlag != null and !&quot;&quot;.equals(typeFlag)">
+                and type_flag = #{typeFlag}
+            </if>
+            <if test="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>
+            <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="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </otherwise>
+                    </choose>
+
+
+                </foreach>
+
+
+            </if>
+        </where>
+        order by
+
+        <if test="orderByStr != null and !&quot;&quot;.equals(orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+
+        id desc
+    </select>
+    <select id="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)">
+                and id = #{id}
+            </if>
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+            <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+            <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+            <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+            <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+            <if test="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>
+            <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>
+            <if test="userId != null and !&quot;&quot;.equals(userId)">
+                and user_id = #{userId}
+            </if>
+            <if test="typeFlag != null and !&quot;&quot;.equals(typeFlag)">
+                and type_flag = #{typeFlag}
+            </if>
+            <if test="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>
+
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE image_upload_log SET del_flag = 'Y'
+        where
+            id = #{id}
+
+    </update>
+    <select id="query" 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'
+        </where>
+        order by id desc
+    </select>
+
+    <select id="queryDelOssImage" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.ImageUploadLog">
+       SELECT
+	url AS url
+FROM
+	`image_upload_log`
+WHERE
+	del_flag = 'N'
+AND order_id = #{orderId}
+AND url NOT IN (
+	SELECT
+		original_image AS image_url
+	FROM
+		order_image
+	WHERE
+		del_flag = 'N'
+	AND original_image IS NOT NULL
+	AND original_image != ''
+	AND order_id = #{orderId}
+	UNION
+		SELECT
+			finished_image AS image_url
+		FROM
+			order_image
+		WHERE
+			del_flag = 'N'
+		AND finished_image IS NOT NULL
+		AND finished_image != ''
+		AND order_id = #{orderId}
+	UNION
+		SELECT
+			finished_image AS image_url
+		FROM
+			order_album
+		WHERE
+			del_flag = 'N'
+		AND finished_image IS NOT NULL
+		AND finished_image != ''
+		AND order_id = #{orderId}
+)
+UNION
+	SELECT
+		artwork_url AS url
+	FROM
+		`image_upload_log`
+	WHERE
+		del_flag = 'N'
+	AND order_id = #{orderId}
+	AND artwork_url NOT IN (
+		SELECT
+			original_artwork AS image_url
+		FROM
+			order_image
+		WHERE
+			del_flag = 'N'
+		AND original_artwork IS NOT NULL
+		AND original_artwork != ''
+		AND order_id = #{orderId}
+		UNION
+			SELECT
+				finished_artwork AS image_url
+			FROM
+				order_image
+			WHERE
+				del_flag = 'N'
+			AND finished_artwork IS NOT NULL
+			AND finished_artwork != ''
+			AND order_id = #{orderId}
+		UNION
+			SELECT
+				finished_artwork AS image_url
+			FROM
+				order_album
+			WHERE
+				del_flag = 'N'
+			AND finished_artwork IS NOT NULL
+			AND finished_artwork != ''
+			AND order_id = #{orderId}
+	)
+    </select>
+</mapper>
+

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

@@ -0,0 +1,52 @@
+package com.izouma.awesomeadmin.dao;
+
+import com.izouma.awesomeadmin.model.OrderImage;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * Dao接口
+ */
+@Repository("com.zoumaframe.dao.OrderImageMapper")
+public interface OrderImageMapper {
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(OrderImage record);
+
+    OrderImage selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(OrderImage record);
+
+    List<OrderImage> queryAllOrderImage(OrderImage record);
+
+    List<OrderImage> queryOrderImageByPage(Map<String, Object> parameter);
+
+    int delete(String id);
+
+    OrderImage queryOrderImage(OrderImage record);
+
+    List<OrderImage> query(OrderImage record);
+
+    OrderImage getMemorySize(OrderImage record);
+
+    List<OrderImage> queryAutoCleanOrderImage(OrderImage record);
+
+    OrderImage getOrderImageTotalNum(OrderImage record);
+
+    List<OrderImage> countMemorySize(OrderImage record);
+
+    int passBatch(OrderImage record);
+
+    OrderImage checkImageNum(OrderImage record);
+
+    OrderImage checkRepairImageNum(OrderImage record);
+
+    int pass(OrderImage record);
+
+    List allImageName(OrderImage record);
+}
+

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

@@ -0,0 +1,1238 @@
+<?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.OrderImageMapper">
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.OrderImage">
+        <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="order_id" property="orderId" jdbcType="VARCHAR"/>
+        <result column="user_id" property="userId" jdbcType="VARCHAR"/>
+        <result column="store_id" property="storeId" jdbcType="VARCHAR"/>
+        <result column="original_image" property="originalImage" jdbcType="VARCHAR"/>
+        <result column="original_size" property="originalSize" jdbcType="DECIMAL"/>
+        <result column="finished_image" property="finishedImage" jdbcType="VARCHAR"/>
+        <result column="finished_size" property="finishedSize" jdbcType="DECIMAL"/>
+        <result column="deal_user" property="dealUser" jdbcType="VARCHAR"/>
+        <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"/>
+        <result column="download_flag" property="downloadFlag" jdbcType="CHAR"/>
+        <result column="clean_flag" property="cleanFlag" jdbcType="CHAR"/>
+        <result column="client_order_id" property="clientOrderId" jdbcType="INTEGER"/>
+        <result column="client_flag" property="clientFlag" jdbcType="CHAR"/>
+        <result column="client_order_image_id" property="clientOrderImageId" jdbcType="INTEGER"/>
+        <result column="select_flag" property="selectFlag" jdbcType="CHAR"/>
+
+    </resultMap>
+    <sql id="Base_Column_List">
+        <trim suffixOverrides=",">
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            order_id,
+
+            user_id,
+
+            store_id,
+
+            original_image,
+
+            original_size,
+
+            finished_image,
+
+            finished_size,
+
+            deal_user,
+
+            status_flag,
+
+            remark,
+
+            image_name,
+
+            original_artwork,
+
+            finished_artwork,
+
+            download_flag,
+
+            clean_flag,
+            client_order_id,
+            client_flag,
+            client_order_image_id,
+            select_flag,
+
+        </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
+        select
+        <include refid="Base_Column_List"/>
+        from order_image
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+        delete from order_image
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.OrderImage" useGeneratedKeys="true"
+            keyProperty="id">
+        insert into order_image
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id!= null">
+                id,
+            </if>
+            <if test="delFlag!= null">
+                del_flag,
+            </if>
+            <if test="updateTime!= null">
+                update_time,
+            </if>
+            <if test="updateUser!= null">
+                update_user,
+            </if>
+            <if test="createTime!= null">
+                create_time,
+            </if>
+            <if test="createUser!= null">
+                create_user,
+            </if>
+            <if test="orderId!= null">
+                order_id,
+            </if>
+            <if test="userId!= null">
+                user_id,
+            </if>
+            <if test="storeId!= null">
+                store_id,
+            </if>
+            <if test="originalImage!= null">
+                original_image,
+            </if>
+            <if test="originalSize!= null">
+                original_size,
+            </if>
+            <if test="finishedImage!= null">
+                finished_image,
+            </if>
+            <if test="finishedSize!= null">
+                finished_size,
+            </if>
+            <if test="dealUser!= null">
+                deal_user,
+            </if>
+            <if test="statusFlag!= null">
+                status_flag,
+            </if>
+            <if test="remark!= null">
+                remark,
+            </if>
+            <if test="imageName!= null">
+                image_name,
+            </if>
+            <if test="originalArtwork!= null">
+                original_artwork,
+            </if>
+            <if test="finishedArtwork!= null">
+                finished_artwork,
+            </if>
+            <if test="clientOrderId!= null">
+                client_order_id,
+            </if>
+            <if test="clientFlag!= null">
+                client_flag,
+            </if>
+            <if test="clientOrderImageId!= null">
+                client_order_image_id,
+            </if>
+            <if test="selectFlag!= null">
+                select_flag,
+            </if>
+
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">
+                #{id,jdbcType=INTEGER},
+            </if>
+            <if test="delFlag != null">
+                #{delFlag,jdbcType=CHAR},
+            </if>
+            <if test="updateTime != null">
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUser != null">
+                #{updateUser,jdbcType=VARCHAR},
+            </if>
+            <if test="createTime != null">
+                #{createTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="createUser != null">
+                #{createUser,jdbcType=VARCHAR},
+            </if>
+            <if test="orderId != null">
+                #{orderId,jdbcType=VARCHAR},
+            </if>
+            <if test="userId != null">
+                #{userId,jdbcType=VARCHAR},
+            </if>
+            <if test="storeId != null">
+                #{storeId,jdbcType=VARCHAR},
+            </if>
+            <if test="originalImage != null">
+                #{originalImage,jdbcType=VARCHAR},
+            </if>
+            <if test="originalSize != null">
+                #{originalSize,jdbcType=DECIMAL},
+            </if>
+            <if test="finishedImage != null">
+                #{finishedImage,jdbcType=VARCHAR},
+            </if>
+            <if test="finishedSize != null">
+                #{finishedSize,jdbcType=DECIMAL},
+            </if>
+            <if test="dealUser != null">
+                #{dealUser,jdbcType=VARCHAR},
+            </if>
+            <if test="statusFlag != null">
+                #{statusFlag,jdbcType=INTEGER},
+            </if>
+            <if test="remark != null">
+                #{remark,jdbcType=VARCHAR},
+            </if>
+            <if test="imageName != null">
+                #{imageName,jdbcType=VARCHAR},
+            </if>
+            <if test="originalArtwork != null">
+                #{originalArtwork,jdbcType=VARCHAR},
+            </if>
+            <if test="finishedArtwork != null">
+                #{finishedArtwork,jdbcType=VARCHAR},
+            </if>
+            <if test="clientOrderId != null">
+                #{clientOrderId},
+            </if>
+            <if test="clientFlag != null">
+                #{clientFlag},
+            </if>
+            <if test="clientOrderImageId != null">
+                #{clientOrderImageId},
+            </if>
+            <if test="selectFlag != null">
+                #{selectFlag},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.OrderImage">
+        update order_image
+        <set>
+            <if test="id != null">
+                id= #{id,jdbcType=INTEGER},
+            </if>
+            <if test="delFlag != null">
+                del_flag= #{delFlag,jdbcType=CHAR},
+            </if>
+            <if test="updateTime != null">
+                update_time= #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUser != null">
+                update_user= #{updateUser,jdbcType=VARCHAR},
+            </if>
+            <if test="createTime != null">
+                create_time= #{createTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="createUser != null">
+                create_user= #{createUser,jdbcType=VARCHAR},
+            </if>
+            <if test="orderId != null">
+                order_id= #{orderId,jdbcType=VARCHAR},
+            </if>
+            <if test="userId != null">
+                user_id= #{userId,jdbcType=VARCHAR},
+            </if>
+            <if test="storeId != null">
+                store_id= #{storeId,jdbcType=VARCHAR},
+            </if>
+            <if test="originalImage != null">
+                original_image= #{originalImage,jdbcType=VARCHAR},
+            </if>
+            <if test="originalSize != null">
+                original_size= #{originalSize,jdbcType=DECIMAL},
+            </if>
+            <if test="finishedImage != null">
+                <choose>
+                    <when test="'null'.toString()==finishedImage">
+                        finished_image = null,
+                    </when>
+                    <otherwise>
+                        finished_image= #{finishedImage,jdbcType=VARCHAR},
+                    </otherwise>
+                </choose>
+
+            </if>
+            <if test="finishedSize != null">
+                finished_size= #{finishedSize,jdbcType=DECIMAL},
+            </if>
+            <if test="dealUser != null">
+                deal_user= #{dealUser,jdbcType=VARCHAR},
+            </if>
+            <if test="statusFlag != null">
+                status_flag= #{statusFlag,jdbcType=INTEGER},
+            </if>
+            <if test="remark != null">
+                remark= #{remark,jdbcType=VARCHAR},
+            </if>
+            <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>
+            <if test="downloadFlag != null">
+                download_flag= #{downloadFlag,jdbcType=CHAR},
+            </if>
+            <if test="cleanFlag != null">
+                clean_flag= #{cleanFlag,jdbcType=CHAR},
+            </if>
+            <if test="clientOrderId != null">
+                client_order_id= #{clientOrderId},
+            </if>
+            <if test="clientFlag != null">
+                client_flag= #{clientFlag},
+            </if>
+            <if test="clientOrderImageId != null">
+                client_order_image_id = #{clientOrderImageId},
+            </if>
+            <if test="selectFlag != null">
+                select_flag = #{selectFlag},
+            </if>
+        </set>
+        where id = #{id,jdbcType=INTEGER}
+    </update>
+    <select id="queryOrderImageByPage" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.OrderImage">
+        select
+        <include refid="Base_Column_List"/>
+
+        <if test="record.repairId != null and !&quot;&quot;.equals(record.repairId)">
+            ,
+            (
+            SELECT
+            order_repair_detail.remark
+            FROM
+            order_repair_detail
+            WHERE
+            order_repair_detail.del_flag = 'N'
+            and order_repair_detail.image_id = order_image.id
+            ORDER BY order_repair_detail.id DESC
+            LIMIT 1
+            )
+
+            as detail_remark
+
+
+        </if>
+
+        from order_image
+        <where>
+            and del_flag = 'N'
+            <if test="record.baseRepairId != null and !&quot;&quot;.equals(record.baseRepairId)">
+                and id in ( SELECT image_id FROM order_repair_detail WHERE del_flag='N' and repair_id =
+                #{record.baseRepairId})
+            </if>
+            <if test="record.id != null and !&quot;&quot;.equals(record.id)">
+                and id = #{record.id}
+            </if>
+            <if test="record.delFlag != null and !&quot;&quot;.equals(record.delFlag)">
+                and del_flag = #{record.delFlag}
+            </if>
+            <if test="record.delFlag != null and !&quot;&quot;.equals(record.delFlag)">
+                and del_flag = #{record.delFlag}
+            </if>
+            <if test="record.updateTime != null and !&quot;&quot;.equals(record.updateTime)">
+                and update_time = #{record.updateTime}
+            </if>
+            <if test="record.updateUser != null and !&quot;&quot;.equals(record.updateUser)">
+                and update_user = #{record.updateUser}
+            </if>
+            <if test="record.createTime != null and !&quot;&quot;.equals(record.createTime)">
+                and create_time = #{record.createTime}
+            </if>
+            <if test="record.createUser != null and !&quot;&quot;.equals(record.createUser)">
+                and create_user = #{record.createUser}
+            </if>
+            <if test="record.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>
+            <if test="record.storeId != null and !&quot;&quot;.equals(record.storeId)">
+                and store_id = #{record.storeId}
+            </if>
+            <if test="record.originalImage != null and !&quot;&quot;.equals(record.originalImage)">
+                and original_image = #{record.originalImage}
+            </if>
+            <if test="record.originalSize != null and !&quot;&quot;.equals(record.originalSize)">
+                and original_size = #{record.originalSize}
+            </if>
+            <if test="record.finishedImage != null and !&quot;&quot;.equals(record.finishedImage)">
+                and finished_image = #{record.finishedImage}
+            </if>
+            <if test="record.finishedSize != null and !&quot;&quot;.equals(record.finishedSize)">
+                and finished_size = #{record.finishedSize}
+            </if>
+            <if test="record.dealUser != null and !&quot;&quot;.equals(record.dealUser)">
+                and deal_user = #{record.dealUser}
+            </if>
+            <if test="record.statusFlag != null and !&quot;&quot;.equals(record.statusFlag)">
+                and status_flag = #{record.statusFlag}
+            </if>
+            <if test="record.remark != null and !&quot;&quot;.equals(record.remark)">
+                and remark = #{record.remark}
+            </if>
+            <if test="record.imageName != null and !&quot;&quot;.equals(record.imageName)">
+                and image_name = #{record.imageName}
+            </if>
+            <if test="record.unFinished != null and !&quot;&quot;.equals(record.unFinished)">
+                <if test="'1'.toString()==record.unFinished">
+                    and (finished_image is null or finished_image = '')
+                </if>
+                <if test="'0'.toString()==record.unFinished">
+                    and (finished_image is not null and finished_image != '')
+                </if>
+            </if>
+            <if test="record.downloadFlag != null and !&quot;&quot;.equals(record.downloadFlag)">
+                and download_flag = #{record.downloadFlag}
+            </if>
+            <if test="record.cleanFlag != null and !&quot;&quot;.equals(record.cleanFlag)">
+                and clean_flag = #{record.cleanFlag}
+            </if>
+            <if test="record.clientOrderId != null and !&quot;&quot;.equals(record.clientOrderId)">
+                and client_order_id = #{record.clientOrderId}
+            </if>
+            <if test="record.clientFlag != null and !&quot;&quot;.equals(record.clientFlag)">
+                and client_flag = #{record.clientFlag}
+            </if>
+            <if test="record.clientOrderImageId != null and !&quot;&quot;.equals(record.clientOrderImageId)">
+                and client_order_image_id = #{record.clientOrderIamgeId}
+            </if>
+            <if test="record.selectFlag != null and !&quot;&quot;.equals(record.selectFlag)">
+                and select_flag = #{record.selectFlag}
+            </if>
+            <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR order_id LIKE concat('%',#{record.searchKey},'%')
+                    OR user_id LIKE concat('%',#{record.searchKey},'%')
+                    OR store_id LIKE concat('%',#{record.searchKey},'%')
+                    OR original_image LIKE concat('%',#{record.searchKey},'%')
+                    OR original_size LIKE concat('%',#{record.searchKey},'%')
+                    OR finished_image LIKE concat('%',#{record.searchKey},'%')
+                    OR finished_size LIKE concat('%',#{record.searchKey},'%')
+                    OR deal_user LIKE concat('%',#{record.searchKey},'%')
+                    OR status_flag LIKE concat('%',#{record.searchKey},'%')
+                    OR remark LIKE concat('%',#{record.searchKey},'%')
+                </trim>
+            </if>
+
+            <if test="record.advancedQuery != null and !&quot;&quot;.equals(record.advancedQuery)">
+                <foreach item="item" index="index" collection="record.advancedQuery.split('_;')">
+                    <choose>
+                        <when test="item.indexOf('like') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    concat('%',#{itemDetail},'%')
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </otherwise>
+                    </choose>
+
+
+                </foreach>
+
+
+            </if>
+
+        </where>
+        order by
+
+        <if test="record.orderByStr != null and !&quot;&quot;.equals(record.orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="record.orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+        id desc
+    </select>
+    <select id="queryAllOrderImage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.OrderImage">
+        select
+        <include refid="Base_Column_List"/>
+        from order_image
+        <where>
+            and del_flag = 'N'
+            <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+            <if test="baseRepairId != null and !&quot;&quot;.equals(baseRepairId)">
+                and id in ( SELECT image_id FROM order_repair_detail WHERE del_flag='N' and repair_id = #{baseRepairId})
+            </if>
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+            <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+            <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+            <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+            <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+            <if test="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>
+            <if test="storeId != null and !&quot;&quot;.equals(storeId)">
+                and store_id = #{storeId}
+            </if>
+            <if test="originalImage != null and !&quot;&quot;.equals(originalImage)">
+                and original_image = #{originalImage}
+            </if>
+            <if test="originalSize != null and !&quot;&quot;.equals(originalSize)">
+                and original_size = #{originalSize}
+            </if>
+            <if test="finishedImage != null and !&quot;&quot;.equals(finishedImage)">
+                and finished_image = #{finishedImage}
+            </if>
+            <if test="finishedSize != null and !&quot;&quot;.equals(finishedSize)">
+                and finished_size = #{finishedSize}
+            </if>
+            <if test="dealUser != null and !&quot;&quot;.equals(dealUser)">
+                and deal_user = #{dealUser}
+            </if>
+            <if test="statusFlag != null and !&quot;&quot;.equals(statusFlag)">
+                and status_flag = #{statusFlag}
+            </if>
+            <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and remark = #{remark}
+            </if>
+            <if test="imageName != null and !&quot;&quot;.equals(imageName)">
+                and image_name = #{imageName}
+            </if>
+            <if test="unFinished != null and !&quot;&quot;.equals(unFinished)">
+                <if test="'1'.toString()==unFinished">
+                    and (finished_image is null or finished_image = '')
+                </if>
+                <if test="'0'.toString()==unFinished">
+                    and (finished_image is not null and finished_image != '')
+                </if>
+            </if>
+            <if test="downloadFlag != null and !&quot;&quot;.equals(downloadFlag)">
+                and download_flag = #{downloadFlag}
+            </if>
+            <if test="cleanFlag != null and !&quot;&quot;.equals(cleanFlag)">
+                and clean_flag = #{cleanFlag}
+            </if>
+
+            <if test="clientOrderId != null and !&quot;&quot;.equals(clientOrderId)">
+                and client_order_id = #{clientOrderId}
+            </if>
+            <if test="clientFlag != null and !&quot;&quot;.equals(clientFlag)">
+                and client_flag = #{clientFlag}
+            </if>
+            <if test="clientOrderImageId != null and !&quot;&quot;.equals(clientOrderImageId)">
+                and client_order_image_id = #{clientOrderIamgeId}
+            </if>
+
+            <if test="selectFlag != null and !&quot;&quot;.equals(selectFlag)">
+                and select_flag = #{selectFlag}
+            </if>
+
+            <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR order_id LIKE concat('%',#{searchKey},'%')
+                    OR user_id LIKE concat('%',#{searchKey},'%')
+                    OR store_id LIKE concat('%',#{searchKey},'%')
+                    OR original_image LIKE concat('%',#{searchKey},'%')
+                    OR original_size LIKE concat('%',#{searchKey},'%')
+                    OR finished_image LIKE concat('%',#{searchKey},'%')
+                    OR finished_size LIKE concat('%',#{searchKey},'%')
+                    OR deal_user LIKE concat('%',#{searchKey},'%')
+                    OR status_flag LIKE concat('%',#{searchKey},'%')
+                    OR remark LIKE concat('%',#{searchKey},'%')
+                </trim>
+            </if>
+            <if test="advancedQuery != null and !&quot;&quot;.equals(advancedQuery)">
+                <foreach item="item" index="index" collection="advancedQuery.split('_;')">
+                    <choose>
+                        <when test="item.indexOf('like') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    concat('%',#{itemDetail},'%')
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </otherwise>
+                    </choose>
+
+
+                </foreach>
+
+
+            </if>
+        </where>
+        order by
+
+        <if test="orderByStr != null and !&quot;&quot;.equals(orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+
+        id desc
+    </select>
+    <select id="queryOrderImage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.OrderImage">
+        select
+        <include refid="Base_Column_List"/>
+
+        <if test="repairId != null and !&quot;&quot;.equals(repairId)">
+            ,
+            (
+            SELECT
+            order_repair_detail.remark
+            FROM
+            order_repair_detail
+            WHERE
+            order_repair_detail.del_flag = 'N'
+            and order_repair_detail.image_id = order_image.id
+            ORDER BY order_repair_detail.id DESC
+            LIMIT 1
+            )
+
+            as detail_remark
+
+
+        </if>
+
+        from order_image
+        <where>
+            and del_flag = 'N'
+            <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+            <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+            <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+            <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+            <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+            <if test="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>
+            <if test="storeId != null and !&quot;&quot;.equals(storeId)">
+                and store_id = #{storeId}
+            </if>
+            <if test="originalImage != null and !&quot;&quot;.equals(originalImage)">
+                and original_image = #{originalImage}
+            </if>
+            <if test="originalSize != null and !&quot;&quot;.equals(originalSize)">
+                and original_size = #{originalSize}
+            </if>
+            <if test="finishedImage != null and !&quot;&quot;.equals(finishedImage)">
+                and finished_image = #{finishedImage}
+            </if>
+            <if test="finishedSize != null and !&quot;&quot;.equals(finishedSize)">
+                and finished_size = #{finishedSize}
+            </if>
+            <if test="dealUser != null and !&quot;&quot;.equals(dealUser)">
+                and deal_user = #{dealUser}
+            </if>
+            <if test="statusFlag != null and !&quot;&quot;.equals(statusFlag)">
+                and status_flag = #{statusFlag}
+            </if>
+            <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and remark = #{remark}
+            </if>
+            <if test="imageName != null and !&quot;&quot;.equals(imageName)">
+                and image_name = #{imageName}
+            </if>
+
+            <if test="clientOrderId != null and !&quot;&quot;.equals(clientOrderId)">
+                and client_order_id = #{clientOrderId}
+            </if>
+            <if test="clientFlag != null and !&quot;&quot;.equals(clientFlag)">
+                and client_flag = #{clientFlag}
+            </if>
+            <if test="clientOrderImageId != null and !&quot;&quot;.equals(clientOrderImageId)">
+                and client_order_image_id = #{clientOrderImageId}
+            </if>
+
+            <if test="selectFlag != null and !&quot;&quot;.equals(selectFlag)">
+                and select_flag = #{selectFlag}
+            </if>
+        </where>
+        LIMIT 1
+    </select>
+    <select id="getOrderImageTotalNum" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.OrderImage">
+        select
+        COUNT(1) AS total_num
+        <if test="orderId != null and !&quot;&quot;.equals(orderId)">
+            ,
+            (
+            SELECT
+            user_order_detail.photo_amount
+            FROM
+            user_order_detail
+            WHERE
+            user_order_detail.del_flag = 'N'
+            AND user_order_detail.id = #{orderId}
+            ) order_num
+        </if>
+
+
+        from order_image
+        <where>
+            and del_flag = 'N'
+            <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+            <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+            <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+            <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+            <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+            <if test="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>
+            <if test="storeId != null and !&quot;&quot;.equals(storeId)">
+                and store_id = #{storeId}
+            </if>
+            <if test="originalImage != null and !&quot;&quot;.equals(originalImage)">
+                and original_image = #{originalImage}
+            </if>
+            <if test="originalSize != null and !&quot;&quot;.equals(originalSize)">
+                and original_size = #{originalSize}
+            </if>
+            <if test="finishedImage != null and !&quot;&quot;.equals(finishedImage)">
+                and finished_image = #{finishedImage}
+            </if>
+            <if test="finishedSize != null and !&quot;&quot;.equals(finishedSize)">
+                and finished_size = #{finishedSize}
+            </if>
+            <if test="dealUser != null and !&quot;&quot;.equals(dealUser)">
+                and deal_user = #{dealUser}
+            </if>
+            <if test="statusFlag != null and !&quot;&quot;.equals(statusFlag)">
+                and status_flag = #{statusFlag}
+            </if>
+            <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and remark = #{remark}
+            </if>
+            <if test="imageName != null and !&quot;&quot;.equals(imageName)">
+                and image_name = #{imageName}
+            </if>
+
+            <if test="clientOrderId != null and !&quot;&quot;.equals(clientOrderId)">
+                and client_order_id = #{clientOrderId}
+            </if>
+            <if test="clientFlag != null and !&quot;&quot;.equals(clientFlag)">
+                and client_flag = #{clientFlag}
+            </if>
+            <if test="clientOrderImageId != null and !&quot;&quot;.equals(clientOrderImageId)">
+                and client_order_image_id = #{clientOrderIamgeId}
+            </if>
+
+            <if test="selectFlag != null and !&quot;&quot;.equals(selectFlag)">
+                and select_flag = #{selectFlag}
+            </if>
+
+        </where>
+    </select>
+
+    <select id="checkImageNum" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.OrderImage">
+        SELECT (select
+        COUNT(1) AS total_num
+        from order_image
+        where
+        del_flag = 'N'
+        and select_flag = 'Y'
+        and order_id = #{orderId}
+        <choose>
+            <when test="baseRepairId != null and !&quot;&quot;.equals(baseRepairId)">
+                AND status_flag = 2
+                and id in ( SELECT image_id FROM order_repair_detail WHERE del_flag='N' and repair_id = #{baseRepairId})
+            </when>
+            <otherwise>
+                AND (
+                finished_image IS NULL
+                OR finished_image = ''
+                )
+            </otherwise>
+        </choose>
+        ) as need_num,
+        (select
+        COUNT(1) AS total_num
+        from order_image
+        where
+        del_flag = 'N'
+        and select_flag = 'Y'
+        and order_id = #{orderId}
+        <if test="baseRepairId != null and !&quot;&quot;.equals(baseRepairId)">
+            and id in ( SELECT image_id FROM order_repair_detail WHERE del_flag='N' and repair_id = #{baseRepairId})
+        </if>
+        ) as total_num
+
+    </select>
+    <select id="checkRepairImageNum" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.OrderImage">
+        SELECT (select
+        COUNT(1) AS total_num
+        from order_image
+        where
+        del_flag = 'N'
+        and select_flag = 'Y'
+        and order_id = #{orderId}
+        AND status_flag = 0
+        ) as need_num,
+        (select
+        COUNT(1) AS total_num
+        from order_image
+        where
+        del_flag = 'N'
+        and select_flag = 'Y'
+        and order_id = #{orderId}
+        AND status_flag = 2
+        ) as fail_num,
+        (select
+        COUNT(1) AS total_num
+        from order_image
+        where
+        del_flag = 'N'
+        and select_flag = 'Y'
+        and order_id = #{orderId}
+        <if test="baseRepairId != null and !&quot;&quot;.equals(baseRepairId)">
+            and id in ( SELECT image_id FROM order_repair_detail WHERE del_flag='N' and repair_id = #{baseRepairId})
+        </if>
+        ) as total_num
+
+    </select>
+    <select id="getMemorySize" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.OrderImage">
+        SELECT
+        store_id,
+        ROUND(SUM(original_size) / 1024 / 1024) AS original_size,
+        ROUND(SUM(finished_size) / 1024 / 1024) AS finished_size,
+        ROUND(
+        SUM(original_size) / 1024 / 1024 + SUM(finished_size) / 1024 / 1024
+        ) AS total_size
+        FROM
+        order_image
+        <where>
+            and del_flag = 'N'
+            <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+            <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+            <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+            <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+            <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+            <if test="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>
+            <if test="storeId != null and !&quot;&quot;.equals(storeId)">
+                and store_id = #{storeId}
+            </if>
+            <if test="originalImage != null and !&quot;&quot;.equals(originalImage)">
+                and original_image = #{originalImage}
+            </if>
+            <if test="originalSize != null and !&quot;&quot;.equals(originalSize)">
+                and original_size = #{originalSize}
+            </if>
+            <if test="finishedImage != null and !&quot;&quot;.equals(finishedImage)">
+                and finished_image = #{finishedImage}
+            </if>
+            <if test="finishedSize != null and !&quot;&quot;.equals(finishedSize)">
+                and finished_size = #{finishedSize}
+            </if>
+            <if test="dealUser != null and !&quot;&quot;.equals(dealUser)">
+                and deal_user = #{dealUser}
+            </if>
+            <if test="statusFlag != null and !&quot;&quot;.equals(statusFlag)">
+                and status_flag = #{statusFlag}
+            </if>
+            <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and remark = #{remark}
+            </if>
+            <if test="imageName != null and !&quot;&quot;.equals(imageName)">
+                and image_name = #{imageName}
+            </if>
+            <if test="downloadFlag != null and !&quot;&quot;.equals(downloadFlag)">
+                and download_flag = #{downloadFlag}
+            </if>
+            <if test="cleanFlag != null and !&quot;&quot;.equals(cleanFlag)">
+                and clean_flag = #{cleanFlag}
+            </if>
+
+        </where>
+        GROUP BY
+        store_id
+    </select>
+    <select id="countMemorySize" parameterType="java.util.Map" resultMap="Top10MemorySizeResult">
+        SELECT
+        <if test="topFlag != null and !&quot;&quot;.equals(topFlag)">
+            <if test="topFlag == 'store'.toString() ">
+                store_id,
+            </if>
+            <if test="topFlag == 'all'.toString() ">
+                0 as store_id ,
+            </if>
+
+        </if>
+
+        ROUND(SUM(original_size) / 1024 / 1024) AS original_size,
+        ROUND(SUM(finished_size) / 1024 / 1024) AS finished_size,
+        ROUND(
+        SUM(original_size) / 1024 / 1024 + SUM(finished_size) / 1024 / 1024
+        ) AS total_size
+        FROM
+        order_image
+        <where>
+            and del_flag = 'N'
+            <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+            <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+            <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+            <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+            <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+            <if test="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>
+            <if test="storeId != null and !&quot;&quot;.equals(storeId)">
+                and store_id = #{storeId}
+            </if>
+            <if test="originalImage != null and !&quot;&quot;.equals(originalImage)">
+                and original_image = #{originalImage}
+            </if>
+            <if test="originalSize != null and !&quot;&quot;.equals(originalSize)">
+                and original_size = #{originalSize}
+            </if>
+            <if test="finishedImage != null and !&quot;&quot;.equals(finishedImage)">
+                and finished_image = #{finishedImage}
+            </if>
+            <if test="finishedSize != null and !&quot;&quot;.equals(finishedSize)">
+                and finished_size = #{finishedSize}
+            </if>
+            <if test="dealUser != null and !&quot;&quot;.equals(dealUser)">
+                and deal_user = #{dealUser}
+            </if>
+            <if test="statusFlag != null and !&quot;&quot;.equals(statusFlag)">
+                and status_flag = #{statusFlag}
+            </if>
+            <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and remark = #{remark}
+            </if>
+            <if test="imageName != null and !&quot;&quot;.equals(imageName)">
+                and image_name = #{imageName}
+            </if>
+            <if test="downloadFlag != null and !&quot;&quot;.equals(downloadFlag)">
+                and download_flag = #{downloadFlag}
+            </if>
+            <if test="cleanFlag != null and !&quot;&quot;.equals(cleanFlag)">
+                and clean_flag = #{cleanFlag}
+            </if>
+
+            <if test="searchBeginTime != null and !&quot;&quot;.equals(searchBeginTime)">
+                and create_time  <![CDATA[ >= ]]> #{searchBeginTime}
+            </if>
+            <if test="searchEndTime != null and !&quot;&quot;.equals(searchEndTime)">
+                and create_time  <![CDATA[ <= ]]> #{searchEndTime}
+            </if>
+
+        </where>
+        <if test="topFlag != null and !&quot;&quot;.equals(topFlag)">
+            <if test="topFlag == 'store'.toString() ">
+                GROUP BY
+                store_id
+            </if>
+
+        </if>
+
+        order by total_size desc
+        <if test="limitNum != null and !&quot;&quot;.equals(limitNum)">
+            LIMIT #{limitNum}
+        </if>
+
+    </select>
+    <update id="delete">
+        UPDATE order_image SET del_flag = 'Y'
+        <where>
+            AND id = #{id}
+        </where>
+    </update>
+    <update id="passBatch" parameterType="com.izouma.awesomeadmin.model.OrderImage">
+        UPDATE order_image SET status_flag = 1
+        <where>
+            and del_flag = 'N'
+            and status_flag = 0
+            and order_id = #{orderId}
+            <if test="userId != null and !&quot;&quot;.equals(userId)">
+                and user_id = #{userId}
+            </if>
+            <if test="storeId != null and !&quot;&quot;.equals(storeId)">
+                and store_id = #{storeId}
+            </if>
+        </where>
+    </update>
+    <update id="pass" parameterType="com.izouma.awesomeadmin.model.OrderImage">
+        UPDATE order_image SET status_flag = 1
+        <where>
+            and del_flag = 'N'
+
+            and id = #{id}
+            and order_id = #{orderId}
+            <if test="userId != null and !&quot;&quot;.equals(userId)">
+                and user_id = #{userId}
+            </if>
+            <if test="storeId != null and !&quot;&quot;.equals(storeId)">
+                and store_id = #{storeId}
+            </if>
+        </where>
+        ;
+        UPDATE order_repair_detail,
+        order_repair
+        SET order_repair_detail.del_flag = 'Y',
+        order_repair_detail.update_user = '改为通过'
+        WHERE
+        order_repair.del_flag = 'N'
+        AND order_repair_detail.del_flag = 'N'
+        AND order_repair.status_flag = 0
+        and order_repair.order_id = #{orderId}
+        AND order_repair.id = order_repair_detail.repair_id
+        AND order_repair_detail.image_id = #{id};
+        UPDATE order_repair
+        SET order_repair.del_flag = 'Y'
+        WHERE
+        order_repair.del_flag = 'N'
+        AND order_repair.status_flag = 0
+        AND order_repair.order_id = #{orderId}
+        AND ((
+        SELECT
+        COUNT(order_repair_detail.id)
+        FROM
+        order_repair_detail
+        WHERE
+        order_repair_detail.del_flag = 'N'
+        AND order_repair_detail.repair_id = order_repair.id
+        )  <![CDATA[ <= 0 ]]> )
+    </update>
+    <select id="query" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.OrderImage">
+        select
+        <include refid="Base_Column_List"/>
+        from order_image
+        <where>
+            and del_flag = 'N'
+        </where>
+        order by id desc
+    </select>
+
+    <select id="queryAutoCleanOrderImage" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.OrderImage">
+        select
+        <include refid="Base_Column_List"/>
+        from order_image
+        <where>
+            and del_flag = 'N'
+            and clean_flag = 'N'
+            and order_id in (
+            SELECT
+            id
+            FROM
+            user_order
+            WHERE
+            del_flag = 'N'
+
+            AND ((status_flag >= 5
+            <![CDATA[AND confirm_time < DATE_ADD(NOW(), INTERVAL - (SELECT extra FROM system_config WHERE id=1) DAY)]]>
+            )
+            or
+            (
+            status_flag in (8,10)
+            )
+            )
+
+            )
+            <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>
+            <if test="storeId != null and !&quot;&quot;.equals(storeId)">
+                and store_id = #{storeId}
+            </if>
+            <if test="statusFlag != null and !&quot;&quot;.equals(statusFlag)">
+                and status_flag = #{statusFlag}
+            </if>
+            <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and remark = #{remark}
+            </if>
+        </where>
+    </select>
+    <select id="allImageName" parameterType="java.util.Map"
+            resultType="String">
+        SELECT image_name FROM order_image
+        <where>
+            and del_flag = 'N'
+            <if test="baseRepairId != null and !&quot;&quot;.equals(baseRepairId)">
+                and id in ( SELECT image_id FROM order_repair_detail WHERE del_flag='N' and repair_id = #{baseRepairId})
+            </if>
+            <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>
+            <if test="storeId != null and !&quot;&quot;.equals(storeId)">
+                and store_id = #{storeId}
+            </if>
+            <if test="statusFlag != null and !&quot;&quot;.equals(statusFlag)">
+                and status_flag = #{statusFlag}
+            </if>
+            <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and remark = #{remark}
+            </if>
+        </where>
+    </select>
+
+    <resultMap id="Top10MemorySizeResult" type="com.izouma.awesomeadmin.model.OrderImage" extends="BaseResultMap">
+
+        <association property="storeInfo"
+                     javaType="com.izouma.awesomeadmin.model.StoreInfo"
+                     select="com.izouma.awesomeadmin.dao.StoreInfoMapper.queryStoreInfo"
+                     column="{ id = store_id }"/>
+
+    </resultMap>
+</mapper>
+

+ 36 - 0
src/main/java/com/izouma/awesomeadmin/dao/OrderRepairDetailMapper.java

@@ -0,0 +1,36 @@
+package com.izouma.awesomeadmin.dao;
+
+import com.izouma.awesomeadmin.model.OrderRepairDetail;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+*  Dao接口
+*/
+@Repository("com.zoumaframe.dao.OrderRepairDetailMapper")
+public interface OrderRepairDetailMapper{
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(OrderRepairDetail record);
+
+    OrderRepairDetail selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(OrderRepairDetail record);
+
+    List<OrderRepairDetail> queryAllOrderRepairDetail(OrderRepairDetail record);
+
+    List<OrderRepairDetail> queryOrderRepairDetailByPage(Map<String, Object> parameter);
+
+    int delete(String id);
+
+    OrderRepairDetail queryOrderRepairDetail(OrderRepairDetail record);
+
+    List<OrderRepairDetail> query(OrderRepairDetail record);
+
+    List<OrderRepairDetail> queryAllOrderRepairDetailExportRemark(OrderRepairDetail record);
+}
+

+ 395 - 0
src/main/java/com/izouma/awesomeadmin/dao/OrderRepairDetailMapper.xml

@@ -0,0 +1,395 @@
+<?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.OrderRepairDetailMapper">
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.OrderRepairDetail">
+        <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="repair_id" property="repairId" jdbcType="VARCHAR"/>
+        <result column="image_id" property="imageId" jdbcType="VARCHAR"/>
+        <result column="remark" property="remark" jdbcType="VARCHAR"/>
+    </resultMap>
+    <sql id="Base_Column_List">
+        <trim suffixOverrides=",">
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            repair_id,
+
+            image_id,
+
+            remark,
+
+        </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
+        select
+        <include refid="Base_Column_List"/>
+        from order_repair_detail
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+        delete from order_repair_detail
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.OrderRepairDetail" useGeneratedKeys="true"
+            keyProperty="id">
+        insert into order_repair_detail
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id!= null">
+                id,
+            </if>
+            <if test="delFlag!= null">
+                del_flag,
+            </if>
+            <if test="updateTime!= null">
+                update_time,
+            </if>
+            <if test="updateUser!= null">
+                update_user,
+            </if>
+            <if test="createTime!= null">
+                create_time,
+            </if>
+            <if test="createUser!= null">
+                create_user,
+            </if>
+            <if test="repairId!= null">
+                repair_id,
+            </if>
+            <if test="imageId!= null">
+                image_id,
+            </if>
+            <if test="remark!= null">
+                remark,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">
+                #{id,jdbcType=INTEGER},
+            </if>
+            <if test="delFlag != null">
+                #{delFlag,jdbcType=CHAR},
+            </if>
+            <if test="updateTime != null">
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUser != null">
+                #{updateUser,jdbcType=VARCHAR},
+            </if>
+            <if test="createTime != null">
+                #{createTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="createUser != null">
+                #{createUser,jdbcType=VARCHAR},
+            </if>
+            <if test="repairId != null">
+                #{repairId,jdbcType=VARCHAR},
+            </if>
+            <if test="imageId != null">
+                #{imageId,jdbcType=VARCHAR},
+            </if>
+            <if test="remark != null">
+                #{remark,jdbcType=VARCHAR},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.OrderRepairDetail">
+        update order_repair_detail
+        <set>
+            <if test="id != null">
+                id= #{id,jdbcType=INTEGER},
+            </if>
+            <if test="delFlag != null">
+                del_flag= #{delFlag,jdbcType=CHAR},
+            </if>
+            <if test="updateTime != null">
+                update_time= #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUser != null">
+                update_user= #{updateUser,jdbcType=VARCHAR},
+            </if>
+            <if test="createTime != null">
+                create_time= #{createTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="createUser != null">
+                create_user= #{createUser,jdbcType=VARCHAR},
+            </if>
+            <if test="repairId != null">
+                repair_id= #{repairId,jdbcType=VARCHAR},
+            </if>
+            <if test="imageId != null">
+                image_id= #{imageId,jdbcType=VARCHAR},
+            </if>
+            <if test="remark != null">
+                remark= #{remark,jdbcType=VARCHAR},
+            </if>
+        </set>
+        where id = #{id,jdbcType=INTEGER}
+    </update>
+    <select id="queryOrderRepairDetailByPage" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.OrderRepairDetail">
+        select
+        <include refid="Base_Column_List"/>
+        from order_repair_detail
+        <where>
+            and del_flag = 'N'
+            <if test="record.id != null and !&quot;&quot;.equals(record.id)">
+                and id = #{record.id}
+            </if>
+            <if test="record.delFlag != null and !&quot;&quot;.equals(record.delFlag)">
+                and del_flag = #{record.delFlag}
+            </if>
+            <if test="record.updateTime != null and !&quot;&quot;.equals(record.updateTime)">
+                and update_time = #{record.updateTime}
+            </if>
+            <if test="record.updateUser != null and !&quot;&quot;.equals(record.updateUser)">
+                and update_user = #{record.updateUser}
+            </if>
+            <if test="record.createTime != null and !&quot;&quot;.equals(record.createTime)">
+                and create_time = #{record.createTime}
+            </if>
+            <if test="record.createUser != null and !&quot;&quot;.equals(record.createUser)">
+                and create_user = #{record.createUser}
+            </if>
+            <if test="record.repairId != null and !&quot;&quot;.equals(record.repairId)">
+                and repair_id = #{record.repairId}
+            </if>
+            <if test="record.imageId != null and !&quot;&quot;.equals(record.imageId)">
+                and image_id = #{record.imageId}
+            </if>
+            <if test="record.remark != null and !&quot;&quot;.equals(record.remark)">
+                and remark = #{record.remark}
+            </if>
+            <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR repair_id LIKE concat('%',#{record.searchKey},'%')
+                    OR image_id LIKE concat('%',#{record.searchKey},'%')
+                    OR remark LIKE concat('%',#{record.searchKey},'%')
+                </trim>
+            </if>
+
+            <if test="record.advancedQuery != null and !&quot;&quot;.equals(record.advancedQuery)">
+                <foreach item="item" index="index" collection="record.advancedQuery.split('_;')">
+                    <choose>
+                        <when test="item.indexOf('like') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    concat('%',#{itemDetail},'%')
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </otherwise>
+                    </choose>
+
+
+                </foreach>
+
+
+            </if>
+
+        </where>
+        order by
+
+        <if test="record.orderByStr != null and !&quot;&quot;.equals(record.orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="record.orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+        id desc
+    </select>
+    <select id="queryAllOrderRepairDetail" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.OrderRepairDetail">
+        select
+        <include refid="Base_Column_List"/>
+        from order_repair_detail
+        <where>
+            and del_flag = 'N'
+            <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+            <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+            <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+            <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+            <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+            <if test="repairId != null and !&quot;&quot;.equals(repairId)">
+                and repair_id = #{repairId}
+            </if>
+            <if test="imageId != null and !&quot;&quot;.equals(imageId)">
+                and image_id = #{imageId}
+            </if>
+            <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and remark = #{remark}
+            </if>
+            <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR repair_id LIKE concat('%',#{searchKey},'%')
+                    OR image_id LIKE concat('%',#{searchKey},'%')
+                    OR remark LIKE concat('%',#{searchKey},'%')
+                </trim>
+            </if>
+            <if test="advancedQuery != null and !&quot;&quot;.equals(advancedQuery)">
+                <foreach item="item" index="index" collection="advancedQuery.split('_;')">
+                    <choose>
+                        <when test="item.indexOf('like') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    concat('%',#{itemDetail},'%')
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </otherwise>
+                    </choose>
+
+
+                </foreach>
+
+
+            </if>
+        </where>
+        order by
+
+        <if test="orderByStr != null and !&quot;&quot;.equals(orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+
+        id desc
+    </select>
+    <select id="queryOrderRepairDetail" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.OrderRepairDetail">
+        select
+        <include refid="Base_Column_List"/>
+        from order_repair_detail
+        <where>
+            and del_flag = 'N'
+            <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+            <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+            <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+            <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+            <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+            <if test="repairId != null and !&quot;&quot;.equals(repairId)">
+                and repair_id = #{repairId}
+            </if>
+            <if test="imageId != null and !&quot;&quot;.equals(imageId)">
+                and image_id = #{imageId}
+            </if>
+            <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and remark = #{remark}
+            </if>
+
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE order_repair_detail SET del_flag = 'Y'
+        <where>
+            AND id = #{id}
+        </where>
+    </update>
+    <select id="query" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.OrderRepairDetail">
+        select
+        <include refid="Base_Column_List"/>
+        from order_repair_detail
+        <where>
+            and del_flag = 'N'
+        </where>
+        order by id desc
+    </select>
+    <select id="queryAllOrderRepairDetailExportRemark" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.OrderRepairDetail">
+        SELECT
+            order_repair_detail.*, order_image.image_name
+        FROM
+            order_repair_detail
+        LEFT JOIN order_image ON order_image.del_flag = 'N'
+        AND order_repair_detail.image_id = order_image.id
+        WHERE
+            order_repair_detail.del_flag = 'N'
+        AND repair_id = #{repairId}
+    </select>
+</mapper>
+

+ 36 - 0
src/main/java/com/izouma/awesomeadmin/dao/OrderRepairMapper.java

@@ -0,0 +1,36 @@
+package com.izouma.awesomeadmin.dao;
+
+import com.izouma.awesomeadmin.model.OrderRepair;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * Dao接口
+ */
+@Repository("com.zoumaframe.dao.OrderRepairMapper")
+public interface OrderRepairMapper {
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(OrderRepair record);
+
+    OrderRepair selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(OrderRepair record);
+
+    List<OrderRepair> queryAllOrderRepair(OrderRepair record);
+
+    List<OrderRepair> queryOrderRepairByPage(Map<String, Object> parameter);
+
+    int delete(String id);
+
+    OrderRepair queryOrderRepair(OrderRepair record);
+
+    List<OrderRepair> query(OrderRepair record);
+
+    int repairByOrderId(OrderRepair orderRepair);
+}
+

+ 465 - 0
src/main/java/com/izouma/awesomeadmin/dao/OrderRepairMapper.xml

@@ -0,0 +1,465 @@
+<?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.OrderRepairMapper">
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.OrderRepair">
+        <id column="id" property="id" jdbcType="INTEGER"/>
+        <result column="del_flag" property="delFlag" jdbcType="CHAR"/>
+        <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
+        <result column="update_user" property="updateUser" jdbcType="VARCHAR"/>
+        <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
+        <result column="create_user" property="createUser" jdbcType="VARCHAR"/>
+        <result column="user_id" property="userId" jdbcType="VARCHAR"/>
+        <result column="order_id" property="orderId" jdbcType="VARCHAR"/>
+        <result column="store_id" property="storeId" jdbcType="VARCHAR"/>
+        <result column="status_flag" property="statusFlag" jdbcType="INTEGER"/>
+        <result column="remark" property="remark" jdbcType="VARCHAR"/>
+        <result column="type_flag" property="typeFlag" jdbcType="INTEGER"/>
+    </resultMap>
+    <sql id="Base_Column_List">
+        <trim suffixOverrides=",">
+            id,
+
+            del_flag,
+
+            update_time,
+
+            update_user,
+
+            create_time,
+
+            create_user,
+
+            user_id,
+
+            order_id,
+
+            store_id,
+
+            status_flag,
+
+            remark,
+
+            type_flag,
+
+        </trim>
+    </sql>
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
+        select
+        <include refid="Base_Column_List"/>
+        from order_repair
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+        delete from order_repair
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.OrderRepair" useGeneratedKeys="true"
+            keyProperty="id">
+        insert into order_repair
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id!= null">
+                id,
+            </if>
+            <if test="delFlag!= null">
+                del_flag,
+            </if>
+            <if test="updateTime!= null">
+                update_time,
+            </if>
+            <if test="updateUser!= null">
+                update_user,
+            </if>
+            <if test="createTime!= null">
+                create_time,
+            </if>
+            <if test="createUser!= null">
+                create_user,
+            </if>
+            <if test="userId!= null">
+                user_id,
+            </if>
+            <if test="orderId!= null">
+                order_id,
+            </if>
+            <if test="storeId!= null">
+                store_id,
+            </if>
+            <if test="statusFlag!= null">
+                status_flag,
+            </if>
+            <if test="remark!= null">
+                remark,
+            </if>
+            <if test="typeFlag!= null">
+                type_flag,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">
+                #{id,jdbcType=INTEGER},
+            </if>
+            <if test="delFlag != null">
+                #{delFlag,jdbcType=CHAR},
+            </if>
+            <if test="updateTime != null">
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUser != null">
+                #{updateUser,jdbcType=VARCHAR},
+            </if>
+            <if test="createTime != null">
+                #{createTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="createUser != null">
+                #{createUser,jdbcType=VARCHAR},
+            </if>
+            <if test="userId != null">
+                #{userId,jdbcType=VARCHAR},
+            </if>
+            <if test="orderId != null">
+                #{orderId,jdbcType=VARCHAR},
+            </if>
+            <if test="storeId != null">
+                #{storeId,jdbcType=VARCHAR},
+            </if>
+            <if test="statusFlag != null">
+                #{statusFlag,jdbcType=INTEGER},
+            </if>
+            <if test="remark != null">
+                #{remark,jdbcType=VARCHAR},
+            </if>
+            <if test="typeFlag != null">
+                #{typeFlag,jdbcType=INTEGER},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.OrderRepair">
+        update order_repair
+        <set>
+            <if test="id != null">
+                id= #{id,jdbcType=INTEGER},
+            </if>
+            <if test="delFlag != null">
+                del_flag= #{delFlag,jdbcType=CHAR},
+            </if>
+            <if test="updateTime != null">
+                update_time= #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUser != null">
+                update_user= #{updateUser,jdbcType=VARCHAR},
+            </if>
+            <if test="createTime != null">
+                create_time= #{createTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="createUser != null">
+                create_user= #{createUser,jdbcType=VARCHAR},
+            </if>
+            <if test="userId != null">
+                user_id= #{userId,jdbcType=VARCHAR},
+            </if>
+            <if test="orderId != null">
+                order_id= #{orderId,jdbcType=VARCHAR},
+            </if>
+            <if test="storeId != null">
+                store_id= #{storeId,jdbcType=VARCHAR},
+            </if>
+            <if test="statusFlag != null">
+                status_flag= #{statusFlag,jdbcType=INTEGER},
+            </if>
+            <if test="remark != null">
+                remark= #{remark,jdbcType=VARCHAR},
+            </if>
+            <if test="typeFlag != null">
+                type_flag= #{typeFlag,jdbcType=INTEGER},
+            </if>
+        </set>
+        where id = #{id,jdbcType=INTEGER}
+    </update>
+    <select id="queryOrderRepairByPage" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.OrderRepair">
+        select
+        <include refid="Base_Column_List"/>
+        from order_repair
+        <where>
+            and del_flag = 'N'
+            <if test="record.id != null and !&quot;&quot;.equals(record.id)">
+                and id = #{record.id}
+            </if>
+            <if test="record.delFlag != null and !&quot;&quot;.equals(record.delFlag)">
+                and del_flag = #{record.delFlag}
+            </if>
+            <if test="record.updateTime != null and !&quot;&quot;.equals(record.updateTime)">
+                and update_time = #{record.updateTime}
+            </if>
+            <if test="record.updateUser != null and !&quot;&quot;.equals(record.updateUser)">
+                and update_user = #{record.updateUser}
+            </if>
+            <if test="record.createTime != null and !&quot;&quot;.equals(record.createTime)">
+                and create_time = #{record.createTime}
+            </if>
+            <if test="record.createUser != null and !&quot;&quot;.equals(record.createUser)">
+                and create_user = #{record.createUser}
+            </if>
+            <if test="record.userId != null and !&quot;&quot;.equals(record.userId)">
+                and user_id = #{record.userId}
+            </if>
+            <if test="record.orderId != null and !&quot;&quot;.equals(record.orderId)">
+                and order_id = #{record.orderId}
+            </if>
+            <if test="record.storeId != null and !&quot;&quot;.equals(record.storeId)">
+                and store_id = #{record.storeId}
+            </if>
+            <if test="record.statusFlag != null and !&quot;&quot;.equals(record.statusFlag)">
+                and status_flag = #{record.statusFlag}
+            </if>
+            <if test="record.remark != null and !&quot;&quot;.equals(record.remark)">
+                and remark = #{record.remark}
+            </if>
+            <if test="record.typeFlag != null and !&quot;&quot;.equals(record.typeFlag)">
+                and type_flag = #{record.typeFlag}
+            </if>
+            <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR user_id LIKE concat('%',#{record.searchKey},'%')
+                    OR order_id LIKE concat('%',#{record.searchKey},'%')
+                    OR store_id LIKE concat('%',#{record.searchKey},'%')
+                    OR status_flag LIKE concat('%',#{record.searchKey},'%')
+                    OR remark LIKE concat('%',#{record.searchKey},'%')
+                    OR type_flag LIKE concat('%',#{record.searchKey},'%')
+                </trim>
+            </if>
+
+            <if test="record.advancedQuery != null and !&quot;&quot;.equals(record.advancedQuery)">
+                <foreach item="item" index="index" collection="record.advancedQuery.split('_;')">
+                    <choose>
+                        <when test="item.indexOf('like') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    concat('%',#{itemDetail},'%')
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </otherwise>
+                    </choose>
+
+
+                </foreach>
+
+
+            </if>
+
+        </where>
+        order by
+
+        <if test="record.orderByStr != null and !&quot;&quot;.equals(record.orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="record.orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+        type_flag, id desc
+    </select>
+    <select id="queryAllOrderRepair" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.OrderRepair">
+        select
+        <include refid="Base_Column_List"/>
+        from order_repair
+        <where>
+            and del_flag = 'N'
+            <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+            <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+            <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+            <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+            <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+            <if test="userId != null and !&quot;&quot;.equals(userId)">
+                and user_id = #{userId}
+            </if>
+            <if test="orderId != null and !&quot;&quot;.equals(orderId)">
+                and order_id = #{orderId}
+            </if>
+            <if test="storeId != null and !&quot;&quot;.equals(storeId)">
+                and store_id = #{storeId}
+            </if>
+            <if test="statusFlag != null and !&quot;&quot;.equals(statusFlag)">
+                and status_flag = #{statusFlag}
+            </if>
+            <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and remark = #{remark}
+            </if>
+            <if test="typeFlag != null and !&quot;&quot;.equals(typeFlag)">
+                and type_flag = #{typeFlag}
+            </if>
+            <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR user_id LIKE concat('%',#{searchKey},'%')
+                    OR order_id LIKE concat('%',#{searchKey},'%')
+                    OR store_id LIKE concat('%',#{searchKey},'%')
+                    OR status_flag LIKE concat('%',#{searchKey},'%')
+                    OR remark LIKE concat('%',#{searchKey},'%')
+                    OR type_flag LIKE concat('%',#{searchKey},'%')
+                </trim>
+            </if>
+            <if test="advancedQuery != null and !&quot;&quot;.equals(advancedQuery)">
+                <foreach item="item" index="index" collection="advancedQuery.split('_;')">
+                    <choose>
+                        <when test="item.indexOf('like') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    concat('%',#{itemDetail},'%')
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </otherwise>
+                    </choose>
+
+
+                </foreach>
+
+
+            </if>
+        </where>
+        order by
+
+        <if test="orderByStr != null and !&quot;&quot;.equals(orderByStr)">
+
+
+            <trim suffixOverrides=",">
+                <foreach item="item" index="index" separator="," collection="orderByStr.split('_;')">
+                    <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                        ${itemDetail}
+                    </foreach>
+                </foreach>
+            </trim>
+            ,
+        </if>
+
+        type_flag, id desc
+    </select>
+    <select id="queryOrderRepair" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.OrderRepair">
+        select
+        <include refid="Base_Column_List"/>
+        from order_repair
+        <where>
+            and del_flag = 'N'
+            <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+            <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+            <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+            <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+            <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+            <if test="userId != null and !&quot;&quot;.equals(userId)">
+                and user_id = #{userId}
+            </if>
+            <if test="orderId != null and !&quot;&quot;.equals(orderId)">
+                and order_id = #{orderId}
+            </if>
+            <if test="storeId != null and !&quot;&quot;.equals(storeId)">
+                and store_id = #{storeId}
+            </if>
+            <if test="statusFlag != null and !&quot;&quot;.equals(statusFlag)">
+                and status_flag = #{statusFlag}
+            </if>
+            <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and remark = #{remark}
+            </if>
+            <if test="typeFlag != null and !&quot;&quot;.equals(typeFlag)">
+                and type_flag = #{typeFlag}
+            </if>
+
+        </where>
+        LIMIT 1
+    </select>
+    <update id="delete">
+        UPDATE order_repair SET del_flag = 'Y'
+        <where>
+            AND id = #{id}
+        </where>
+    </update>
+    <update id="repairByOrderId">
+        UPDATE order_repair
+            SET status_flag = CASE
+            WHEN status_flag = 2 THEN
+                3
+            WHEN status_flag = 0 THEN
+                1
+            ELSE
+                status_flag
+            END
+        WHERE
+            del_flag = 'N'
+            AND order_id = #{orderId}
+    </update>
+    <select id="query" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.OrderRepair">
+        select
+        <include refid="Base_Column_List"/>
+        from order_repair
+        <where>
+            and del_flag = 'N'
+        </where>
+        order by id desc
+    </select>
+</mapper>
+

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

@@ -0,0 +1,172 @@
+package com.izouma.awesomeadmin.model;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+import java.math.BigDecimal;
+import java.util.Date;
+@JsonAutoDetect
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class ImageDownLog{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private String orderId;
+    private String typeFlag;
+    private String imageName;
+    private Integer statusFlag;
+    private BigDecimal imageSize;
+    private String imageCode;
+    private Integer totalNum;
+    private Integer nowNum;
+
+private String idStr;
+
+private String searchKey;
+
+/**
+* and,test_name,like,value;or,remark,=,123
+*/
+private String advancedQuery;
+
+/**
+* column_name_,desc_;column_name_,asc
+*/
+private String orderByStr;
+
+    public Integer getId(){
+        return this.id;
+    }
+
+    public void setId(Integer id){
+        this.id = id;
+    }
+    public String getDelFlag(){
+        return this.delFlag;
+    }
+
+    public void setDelFlag(String delFlag){
+        this.delFlag = delFlag;
+    }
+    public Date getUpdateTime(){
+        return this.updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime){
+        this.updateTime = updateTime;
+    }
+    public String getUpdateUser(){
+        return this.updateUser;
+    }
+
+    public void setUpdateUser(String updateUser){
+        this.updateUser = updateUser;
+    }
+    public Date getCreateTime(){
+        return this.createTime;
+    }
+
+    public void setCreateTime(Date createTime){
+        this.createTime = createTime;
+    }
+    public String getCreateUser(){
+        return this.createUser;
+    }
+
+    public void setCreateUser(String createUser){
+        this.createUser = createUser;
+    }
+    public String getOrderId(){
+        return this.orderId;
+    }
+
+    public void setOrderId(String orderId){
+        this.orderId = orderId;
+    }
+    public String getTypeFlag(){
+        return this.typeFlag;
+    }
+
+    public void setTypeFlag(String typeFlag){
+        this.typeFlag = typeFlag;
+    }
+    public String getImageName(){
+        return this.imageName;
+    }
+
+    public void setImageName(String imageName){
+        this.imageName = imageName;
+    }
+    public Integer getStatusFlag(){
+        return this.statusFlag;
+    }
+
+    public void setStatusFlag(Integer statusFlag){
+        this.statusFlag = statusFlag;
+    }
+    public BigDecimal getImageSize(){
+        return this.imageSize;
+    }
+
+    public void setImageSize(BigDecimal imageSize){
+        this.imageSize = imageSize;
+    }
+    public String getImageCode(){
+        return this.imageCode;
+    }
+
+    public void setImageCode(String imageCode){
+        this.imageCode = imageCode;
+    }
+    public Integer getTotalNum(){
+        return this.totalNum;
+    }
+
+    public void setTotalNum(Integer totalNum){
+        this.totalNum = totalNum;
+    }
+    public Integer getNowNum(){
+        return this.nowNum;
+    }
+
+    public void setNowNum(Integer nowNum){
+        this.nowNum = nowNum;
+    }
+
+public String getSearchKey() {
+    return searchKey;
+}
+
+public void setSearchKey(String searchKey) {
+    this.searchKey = searchKey;
+}
+
+public String getAdvancedQuery() {
+    return advancedQuery;
+}
+
+public void setAdvancedQuery(String advancedQuery) {
+    this.advancedQuery = advancedQuery;
+}
+
+public String getOrderByStr() {
+    return orderByStr;
+}
+
+public void setOrderByStr(String orderByStr) {
+    this.orderByStr = orderByStr;
+}
+
+public String getIdStr() {
+    return idStr;
+}
+
+public void setIdStr(String idStr) {
+    this.idStr = idStr;
+}
+
+}
+

+ 199 - 0
src/main/java/com/izouma/awesomeadmin/model/ImageUploadLog.java

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

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

@@ -0,0 +1,502 @@
+package com.izouma.awesomeadmin.model;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+
+@JsonAutoDetect
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class OrderImage {
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private String orderId;
+    private String userId;
+    private String storeId;
+    private String originalImage;
+    private BigDecimal originalSize;
+    private String finishedImage;
+    private BigDecimal finishedSize;
+    private String dealUser;
+    private Integer statusFlag;
+
+    /**
+     * 上传总数量
+     */
+    private Integer totalNum;
+
+    /**
+     * 订单数量
+     */
+    private Integer orderNum;
+
+    private String imageName;
+
+    private BigDecimal totalSize;
+
+    private String unFinished;
+
+    /**
+     * 原片原片
+     */
+    private String originalArtwork;
+
+    /**
+     * 正片原片
+     */
+    private String finishedArtwork;
+
+    /**
+     * 下载标识
+     */
+    private String downloadFlag;
+
+    /**
+     * 清理OSS标识
+     */
+    private String cleanFlag;
+
+    /**
+     * 图片备注
+     */
+    private String remark;
+
+    /**
+     * 返修备注
+     */
+    private String repairRemark;
+
+    /**
+     * 返修详细备注
+     */
+    private String detailRemark;
+
+    /**
+     * 修改备注状态标注
+     */
+    private String detailRemarkFlag;
+
+    /**
+     * 目标返修ID
+     */
+    private String repairId;
+
+    /**
+     * 基础返修ID
+     */
+    private String baseRepairId;
+
+    private String searchKey;
+
+    /**
+     * and,test_name,like,value;or,remark,=,123
+     */
+    private String advancedQuery;
+
+    /**
+     * column_name_,desc_;column_name_,asc
+     */
+    private String orderByStr;
+
+
+    private Date searchBeginTime;
+
+    private Date searchEndTime;
+
+
+    private StoreInfo storeInfo;
+
+    /**
+     * 数据统计标识
+     */
+    private String topFlag;
+
+    private Integer limitNum;
+
+    /**
+     * 客户端订单
+     */
+    private Integer clientOrderId;
+
+    /**
+     * 客户端标识
+     */
+    private String clientFlag;
+
+    /**
+     * 客户端订单图片ID
+     */
+    private Integer clientOrderImageId;
+
+    /**
+     * 需要上传数量
+     */
+    private Integer needNum;
+
+    private Integer failNum;
+
+    /**
+     * 选择标识
+     */
+    private String selectFlag;
+
+    public Integer getId() {
+        return this.id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getDelFlag() {
+        return this.delFlag;
+    }
+
+    public void setDelFlag(String delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public Date getUpdateTime() {
+        return this.updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getUpdateUser() {
+        return this.updateUser;
+    }
+
+    public void setUpdateUser(String updateUser) {
+        this.updateUser = updateUser;
+    }
+
+    public Date getCreateTime() {
+        return this.createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getCreateUser() {
+        return this.createUser;
+    }
+
+    public void setCreateUser(String createUser) {
+        this.createUser = createUser;
+    }
+
+    public String getOrderId() {
+        return this.orderId;
+    }
+
+    public void setOrderId(String orderId) {
+        this.orderId = orderId;
+    }
+
+    public String getUserId() {
+        return this.userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getStoreId() {
+        return this.storeId;
+    }
+
+    public void setStoreId(String storeId) {
+        this.storeId = storeId;
+    }
+
+    public String getOriginalImage() {
+        return this.originalImage;
+    }
+
+    public void setOriginalImage(String originalImage) {
+        this.originalImage = originalImage;
+    }
+
+    public BigDecimal getOriginalSize() {
+        return this.originalSize;
+    }
+
+    public void setOriginalSize(BigDecimal originalSize) {
+        this.originalSize = originalSize;
+    }
+
+    public String getFinishedImage() {
+        return this.finishedImage;
+    }
+
+    public void setFinishedImage(String finishedImage) {
+        this.finishedImage = finishedImage;
+    }
+
+    public BigDecimal getFinishedSize() {
+        return this.finishedSize;
+    }
+
+    public void setFinishedSize(BigDecimal finishedSize) {
+        this.finishedSize = finishedSize;
+    }
+
+    public String getDealUser() {
+        return this.dealUser;
+    }
+
+    public void setDealUser(String dealUser) {
+        this.dealUser = dealUser;
+    }
+
+    public Integer getStatusFlag() {
+        return this.statusFlag;
+    }
+
+    public void setStatusFlag(Integer statusFlag) {
+        this.statusFlag = statusFlag;
+    }
+
+    public String getRemark() {
+        return this.remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getSearchKey() {
+        return searchKey;
+    }
+
+    public void setSearchKey(String searchKey) {
+        this.searchKey = searchKey;
+    }
+
+    public String getAdvancedQuery() {
+        return advancedQuery;
+    }
+
+    public void setAdvancedQuery(String advancedQuery) {
+        this.advancedQuery = advancedQuery;
+    }
+
+    public String getOrderByStr() {
+        return orderByStr;
+    }
+
+    public void setOrderByStr(String orderByStr) {
+        this.orderByStr = orderByStr;
+    }
+
+    public String getRepairRemark() {
+        return repairRemark;
+    }
+
+    public void setRepairRemark(String repairRemark) {
+        this.repairRemark = repairRemark;
+    }
+
+    public String getDetailRemark() {
+        return detailRemark;
+    }
+
+    public void setDetailRemark(String detailRemark) {
+        this.detailRemark = detailRemark;
+    }
+
+    public String getRepairId() {
+        return repairId;
+    }
+
+    public void setRepairId(String repairId) {
+        this.repairId = repairId;
+    }
+
+    public String getBaseRepairId() {
+        return baseRepairId;
+    }
+
+    public void setBaseRepairId(String baseRepairId) {
+        this.baseRepairId = baseRepairId;
+    }
+
+    public String getImageName() {
+        return imageName;
+    }
+
+    public void setImageName(String imageName) {
+        this.imageName = imageName;
+    }
+
+    public BigDecimal getTotalSize() {
+        return totalSize;
+    }
+
+    public void setTotalSize(BigDecimal totalSize) {
+        this.totalSize = totalSize;
+    }
+
+    public String getUnFinished() {
+        return unFinished;
+    }
+
+    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;
+    }
+
+    public String getDownloadFlag() {
+        return downloadFlag;
+    }
+
+    public void setDownloadFlag(String downloadFlag) {
+        this.downloadFlag = downloadFlag;
+    }
+
+    public String getCleanFlag() {
+        return cleanFlag;
+    }
+
+    public void setCleanFlag(String cleanFlag) {
+        this.cleanFlag = cleanFlag;
+    }
+
+    public String getDetailRemarkFlag() {
+        return detailRemarkFlag;
+    }
+
+    public void setDetailRemarkFlag(String detailRemarkFlag) {
+        this.detailRemarkFlag = detailRemarkFlag;
+    }
+
+    public Integer getTotalNum() {
+        return totalNum;
+    }
+
+    public void setTotalNum(Integer totalNum) {
+        this.totalNum = totalNum;
+    }
+
+    public Integer getOrderNum() {
+        return orderNum;
+    }
+
+    public void setOrderNum(Integer orderNum) {
+        this.orderNum = orderNum;
+    }
+
+
+    public Date getSearchBeginTime() {
+        return searchBeginTime;
+    }
+
+    public void setSearchBeginTime(Date searchBeginTime) {
+        this.searchBeginTime = searchBeginTime;
+    }
+
+    public Date getSearchEndTime() {
+        return searchEndTime;
+    }
+
+    public void setSearchEndTime(Date searchEndTime) {
+        this.searchEndTime = searchEndTime;
+    }
+
+    public StoreInfo getStoreInfo() {
+        return storeInfo;
+    }
+
+    public void setStoreInfo(StoreInfo storeInfo) {
+        this.storeInfo = storeInfo;
+    }
+
+    public String getTopFlag() {
+        return topFlag;
+    }
+
+    public void setTopFlag(String topFlag) {
+        this.topFlag = topFlag;
+    }
+
+    public Integer getLimitNum() {
+        return limitNum;
+    }
+
+    public void setLimitNum(Integer limitNum) {
+        this.limitNum = limitNum;
+    }
+
+    public Integer getClientOrderId() {
+        return clientOrderId;
+    }
+
+    public void setClientOrderId(Integer clientOrderId) {
+        this.clientOrderId = clientOrderId;
+    }
+
+    public String getClientFlag() {
+        return clientFlag;
+    }
+
+    public void setClientFlag(String clientFlag) {
+        this.clientFlag = clientFlag;
+    }
+
+    public Integer getClientOrderImageId() {
+        return clientOrderImageId;
+    }
+
+    public void setClientOrderImageId(Integer clientOrderImageId) {
+        this.clientOrderImageId = clientOrderImageId;
+    }
+
+    public Integer getNeedNum() {
+        return needNum;
+    }
+
+    public void setNeedNum(Integer needNum) {
+        this.needNum = needNum;
+    }
+
+    public Integer getFailNum() {
+        return failNum;
+    }
+
+    public void setFailNum(Integer failNum) {
+        this.failNum = failNum;
+    }
+
+    public String getSelectFlag() {
+        return selectFlag;
+    }
+
+    public void setSelectFlag(String selectFlag) {
+        this.selectFlag = selectFlag;
+    }
+}
+

+ 147 - 0
src/main/java/com/izouma/awesomeadmin/model/OrderRepair.java

@@ -0,0 +1,147 @@
+package com.izouma.awesomeadmin.model;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+import java.util.Date;
+
+
+@JsonAutoDetect
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class OrderRepair{
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private String userId;
+    private String orderId;
+    private String storeId;
+    private Integer statusFlag;
+    private String remark;
+    private Integer typeFlag;
+
+private String searchKey;
+
+/**
+* and,test_name,like,value;or,remark,=,123
+*/
+private String advancedQuery;
+
+/**
+* column_name_,desc_;column_name_,asc
+*/
+private String orderByStr;
+
+    public Integer getId(){
+        return this.id;
+    }
+
+    public void setId(Integer id){
+        this.id = id;
+    }
+    public String getDelFlag(){
+        return this.delFlag;
+    }
+
+    public void setDelFlag(String delFlag){
+        this.delFlag = delFlag;
+    }
+    public Date getUpdateTime(){
+        return this.updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime){
+        this.updateTime = updateTime;
+    }
+    public String getUpdateUser(){
+        return this.updateUser;
+    }
+
+    public void setUpdateUser(String updateUser){
+        this.updateUser = updateUser;
+    }
+    public Date getCreateTime(){
+        return this.createTime;
+    }
+
+    public void setCreateTime(Date createTime){
+        this.createTime = createTime;
+    }
+    public String getCreateUser(){
+        return this.createUser;
+    }
+
+    public void setCreateUser(String createUser){
+        this.createUser = createUser;
+    }
+    public String getUserId(){
+        return this.userId;
+    }
+
+    public void setUserId(String userId){
+        this.userId = userId;
+    }
+    public String getOrderId(){
+        return this.orderId;
+    }
+
+    public void setOrderId(String orderId){
+        this.orderId = orderId;
+    }
+    public String getStoreId(){
+        return this.storeId;
+    }
+
+    public void setStoreId(String storeId){
+        this.storeId = storeId;
+    }
+    public Integer getStatusFlag(){
+        return this.statusFlag;
+    }
+
+    public void setStatusFlag(Integer statusFlag){
+        this.statusFlag = statusFlag;
+    }
+    public String getRemark(){
+        return this.remark;
+    }
+
+    public void setRemark(String remark){
+        this.remark = remark;
+    }
+    public Integer getTypeFlag(){
+        return this.typeFlag;
+    }
+
+    public void setTypeFlag(Integer typeFlag){
+        this.typeFlag = typeFlag;
+    }
+
+public String getSearchKey() {
+    return searchKey;
+}
+
+public void setSearchKey(String searchKey) {
+    this.searchKey = searchKey;
+}
+
+public String getAdvancedQuery() {
+    return advancedQuery;
+}
+
+public void setAdvancedQuery(String advancedQuery) {
+    this.advancedQuery = advancedQuery;
+}
+
+public String getOrderByStr() {
+    return orderByStr;
+}
+
+public void setOrderByStr(String orderByStr) {
+    this.orderByStr = orderByStr;
+}
+
+}
+

+ 150 - 0
src/main/java/com/izouma/awesomeadmin/model/OrderRepairDetail.java

@@ -0,0 +1,150 @@
+package com.izouma.awesomeadmin.model;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+import java.util.Date;
+
+
+@JsonAutoDetect
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class OrderRepairDetail {
+    private Integer id;
+    private String delFlag;
+    private Date updateTime;
+    private String updateUser;
+    private Date createTime;
+    private String createUser;
+    private String repairId;
+    private String imageId;
+    private String remark;
+
+    private String imageName;
+
+    private String searchKey;
+
+    /**
+     * and,test_name,like,value;or,remark,=,123
+     */
+    private String advancedQuery;
+
+    /**
+     * column_name_,desc_;column_name_,asc
+     */
+    private String orderByStr;
+
+    private String albumRepairId;
+
+    public Integer getId() {
+        return this.id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getDelFlag() {
+        return this.delFlag;
+    }
+
+    public void setDelFlag(String delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public Date getUpdateTime() {
+        return this.updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getUpdateUser() {
+        return this.updateUser;
+    }
+
+    public void setUpdateUser(String updateUser) {
+        this.updateUser = updateUser;
+    }
+
+    public Date getCreateTime() {
+        return this.createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getCreateUser() {
+        return this.createUser;
+    }
+
+    public void setCreateUser(String createUser) {
+        this.createUser = createUser;
+    }
+
+    public String getRepairId() {
+        return this.repairId;
+    }
+
+    public void setRepairId(String repairId) {
+        this.repairId = repairId;
+    }
+
+    public String getImageId() {
+        return this.imageId;
+    }
+
+    public void setImageId(String imageId) {
+        this.imageId = imageId;
+    }
+
+    public String getRemark() {
+        return this.remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getSearchKey() {
+        return searchKey;
+    }
+
+    public void setSearchKey(String searchKey) {
+        this.searchKey = searchKey;
+    }
+
+    public String getAdvancedQuery() {
+        return advancedQuery;
+    }
+
+    public void setAdvancedQuery(String advancedQuery) {
+        this.advancedQuery = advancedQuery;
+    }
+
+    public String getOrderByStr() {
+        return orderByStr;
+    }
+
+    public void setOrderByStr(String orderByStr) {
+        this.orderByStr = orderByStr;
+    }
+
+    public String getImageName() {
+        return imageName;
+    }
+
+    public void setImageName(String imageName) {
+        this.imageName = imageName;
+    }
+
+    public String getAlbumRepairId() {
+        return albumRepairId;
+    }
+
+    public void setAlbumRepairId(String albumRepairId) {
+        this.albumRepairId = albumRepairId;
+    }
+}
+

+ 6 - 0
src/main/java/com/izouma/awesomeadmin/service/ActivityInfoService.java

@@ -6,6 +6,7 @@ import com.izouma.awesomeadmin.model.RechargeRecord;
 import com.izouma.awesomeadmin.model.UserInfo;
 import com.izouma.awesomeadmin.model.UserOrder;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 
@@ -58,9 +59,14 @@ public interface ActivityInfoService {
 
     /**
      * 众筹送积分
+     *
      * @param record
      * @return
      */
     boolean zhongchouSongMoney(ActivityInfo record);
+
+    BigDecimal manjianActivity(BigDecimal orderMoney);
+
+    boolean manjianActivityLog(UserOrder record);
 }
 

+ 28 - 0
src/main/java/com/izouma/awesomeadmin/service/ImageDownLogService.java

@@ -0,0 +1,28 @@
+package com.izouma.awesomeadmin.service;
+
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.ImageDownLog;
+
+import java.util.List;
+
+
+/**
+*  service接口类
+*/
+public interface ImageDownLogService{
+
+    List<ImageDownLog> getImageDownLogList(ImageDownLog record);
+
+    List<ImageDownLog> getImageDownLogByPage(Page page, ImageDownLog record);
+
+    ImageDownLog getImageDownLogById(String id);
+
+    ImageDownLog getImageDownLog(ImageDownLog record);
+
+    boolean createImageDownLog(ImageDownLog record);
+
+    boolean deleteImageDownLog(ImageDownLog record);
+
+    boolean updateImageDownLog(ImageDownLog record);
+}
+

+ 30 - 0
src/main/java/com/izouma/awesomeadmin/service/ImageUploadLogService.java

@@ -0,0 +1,30 @@
+package com.izouma.awesomeadmin.service;
+
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.ImageUploadLog;
+
+import java.util.List;
+
+
+/**
+ * service接口类
+ */
+public interface ImageUploadLogService {
+
+    List<ImageUploadLog> getImageUploadLogList(ImageUploadLog record);
+
+    List<ImageUploadLog> getImageUploadLogByPage(Page page, ImageUploadLog record);
+
+    ImageUploadLog getImageUploadLogById(String id);
+
+    ImageUploadLog getImageUploadLog(ImageUploadLog record);
+
+    boolean createImageUploadLog(ImageUploadLog record);
+
+    boolean deleteImageUploadLog(String id);
+
+    boolean updateImageUploadLog(ImageUploadLog record);
+
+    List<ImageUploadLog> queryDelOssImage(String orderId);
+}
+

+ 180 - 6
src/main/java/com/izouma/awesomeadmin/service/OSSFileService.java

@@ -33,24 +33,26 @@ public class OSSFileService {
     private static Logger logger = Logger.getLogger(OSSFileService.class);
     private static final String projectName = PropertiesFileLoader.getProperties("projectname");
 
-    String aliid = PropertiesFileLoader.getDefaultProperties("aliossid", "");
-    String alikey = PropertiesFileLoader.getDefaultProperties("aliosskey", "");
-    String aliossendpoit = PropertiesFileLoader.getDefaultProperties("aliossendpoit", "");
-    String bucketname = PropertiesFileLoader.getDefaultProperties("alibucketname", "");
-
     public String upload(InputStream fin, String path) {
         if (path.startsWith("/")) {
             path = path.replaceFirst("\\\\/", "");
         }
         path = projectName + "/" + path;
 
-
+        String aliid = PropertiesFileLoader.getDefaultProperties("aliossid", "");
+        String alikey = PropertiesFileLoader.getDefaultProperties("aliosskey", "");
+        String aliossendpoit = "Y".equals(PropertiesFileLoader.getDefaultProperties("alioss_internal_flag", "")) ?
+                PropertiesFileLoader.getDefaultProperties("aliossendpoitinternal", "") :
+                PropertiesFileLoader.getDefaultProperties("aliossendpoit", "");
+        String bucketname = PropertiesFileLoader.getDefaultProperties("alibucketname", "");
         logger.info(String.format("OSS上传:\naliid: %s\nalikey: %s\naliossendpoit: %s\nbucketname: %s\npath: %s", aliid, alikey, aliossendpoit, bucketname, path));
 
         OSSClient client = new OSSClient(aliossendpoit, aliid, alikey);
+        OSSObject object = null;
         boolean found = false;
         try {
             PutObjectResult result = client.putObject(bucketname, path, fin, new ObjectMetadata());
+            //object = client.getObject(bucketname, path);
 
             // 判断文件是否存在。doesObjectExist还有一个参数isOnlyInOSS,如果为true则忽略302重定向或镜像;如果为false,则考虑302重定向或镜像。
             found = client.doesObjectExist(bucketname, path);
@@ -120,6 +122,10 @@ public class OSSFileService {
     public void deleteObject(String objectName) {
 
         if (StringUtils.isNotEmpty(objectName)) {
+            String aliid = PropertiesFileLoader.getDefaultProperties("aliossid", "");
+            String alikey = PropertiesFileLoader.getDefaultProperties("aliosskey", "");
+            String aliossendpoit = PropertiesFileLoader.getDefaultProperties("aliossendpoit", "");
+            String bucketname = PropertiesFileLoader.getDefaultProperties("alibucketname", "");
             logger.info(String.format("OSS 删除:\naliid: %s\nalikey: %s\naliossendpoit: %s\nbucketname: %s\npath: %s", aliid, alikey, aliossendpoit, bucketname, objectName));
 
             OSSClient client = new OSSClient(aliossendpoit, aliid, alikey);
@@ -132,8 +138,176 @@ public class OSSFileService {
     }
 
 
+    /**
+     * 批量下载图片
+     *
+     * @param keyList  ossfileName 逗号分隔。
+     * @param zipName  压缩包名称
+     * @param request
+     * @param response
+     * @return
+     */
+    public HttpServletResponse zipFilesDown(List<String> keyList, String zipName, HttpServletRequest request, HttpServletResponse response) {
+
+        String accessKeyId = PropertiesFileLoader.getDefaultProperties("aliossid", "");
+        String accessKeySecret = PropertiesFileLoader.getDefaultProperties("aliosskey", "");
+        String endpoint = "Y".equals(PropertiesFileLoader.getDefaultProperties("alioss_internal_flag", "")) ?
+                PropertiesFileLoader.getDefaultProperties("aliossendpoitinternal", "") :
+                PropertiesFileLoader.getDefaultProperties("aliossendpoit", "");
+        String bucketName = PropertiesFileLoader.getDefaultProperties("alibucketname", "");
+
+        // endpoint以杭州为例,其它region请按实际情况填写
+        // 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建
+        try {
+            // 初始化
+            OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
+            String fileName = zipName + ".zip";
+            // 创建临时文件
+            File zipFile = File.createTempFile(zipName, ".zip");
+            FileOutputStream f = new FileOutputStream(zipFile);
+            /**
+             * 作用是为任何OutputStream产生校验和
+             * 第一个参数是制定产生校验和的输出流,第二个参数是指定Checksum的类型 (Adler32(较快)和CRC32两种)
+             */
+            CheckedOutputStream csum = new CheckedOutputStream(f, new Adler32());
+            // 用于将数据压缩成Zip文件格式
+            ZipOutputStream zos = new ZipOutputStream(csum);
+
+            for (String ossfile : keyList) {
+                try {
+                    // 获取Object,返回结果为OSSObject对象
+                    OSSObject ossObject = ossClient.getObject(bucketName, ossfile);
+                    // 读去Object内容  返回
+                    InputStream inputStream = ossObject.getObjectContent();
+                    // 对于每一个要被存放到压缩包的文件,都必须调用ZipOutputStream对象的putNextEntry()方法,确保压缩包里面文件不同名
+
+                    zos.putNextEntry(new ZipEntry(ossfile.split("/")[ossfile.split("/").length - 1]));
+                    int bytesRead = 0;
+                    // 向压缩文件中输出数据
+                    while ((bytesRead = inputStream.read()) != -1) {
+                        zos.write(bytesRead);
+                    }
+                    inputStream.close();
+                    zos.closeEntry(); // 当前文件写完,定位为写入下一条项目
+                } catch (Exception e) {
+                    logger.error("ossfile, 压缩失败", e);
+                }
+            }
+            zos.close();
+            String header = request.getHeader("User-Agent").toUpperCase();
+            if (header.contains("MSIE") || header.contains("TRIDENT") || header.contains("EDGE")) {
+                fileName = URLEncoder.encode(fileName, "utf-8");
+                fileName = fileName.replace("+", "%20");    //IE下载文件名空格变+号问题
+            } else {
+                fileName = new String(fileName.getBytes(), "ISO8859-1");
+            }
+            response.reset();
+            response.setContentType("text/plain");
+            response.setContentType("application/octet-stream; charset=utf-8");
+            response.setHeader("Location", fileName);
+            response.setHeader("Cache-Control", "max-age=0");
+            response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
+
+            FileInputStream fis = new FileInputStream(zipFile);
+            BufferedInputStream buff = new BufferedInputStream(fis);
+            BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
+            byte[] car = new byte[1024];
+            int l = 0;
+            while (l < zipFile.length()) {
+                int j = buff.read(car, 0, 1024);
+                l += j;
+                out.write(car, 0, j);
+            }
+            // 关闭流
+            fis.close();
+            buff.close();
+            out.close();
+
+            ossClient.shutdown();
+            // 删除临时文件
+            zipFile.delete();
+        } catch (Exception e) {
+            logger.error("压缩失败", e);
+        }
+        return response;
+    }
+
+    /**
+     * 单张图片下载
+     *
+     * @param key
+     * @param request
+     * @param response
+     * @return
+     */
+    public HttpServletResponse singleFileDown(String key, HttpServletRequest request, HttpServletResponse response) {
+
+        String accessKeyId = PropertiesFileLoader.getDefaultProperties("aliossid", "");
+        String accessKeySecret = PropertiesFileLoader.getDefaultProperties("aliosskey", "");
+        String endpoint = "Y".equals(PropertiesFileLoader.getDefaultProperties("alioss_internal_flag", "")) ?
+                PropertiesFileLoader.getDefaultProperties("aliossendpoitinternal", "") :
+                PropertiesFileLoader.getDefaultProperties("aliossendpoit", "");
+        String bucketName = PropertiesFileLoader.getDefaultProperties("alibucketname", "");
+
+        // endpoint以杭州为例,其它region请按实际情况填写
+        // 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建
+        try {
+            // 初始化
+            OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
+
+            // 获取Object,返回结果为OSSObject对象
+            OSSObject ossObject = ossClient.getObject(bucketName, key);
+            // 读去Object内容  返回
+            InputStream inputStream = ossObject.getObjectContent();
+            // 对于每一个要被存放到压缩包的文件,都必须调用ZipOutputStream对象的putNextEntry()方法,确保压缩包里面文件不同名
+            String fileName = key.split("/")[key.split("/").length - 1];
+
+            String header = request.getHeader("User-Agent").toUpperCase();
+            if (header.contains("MSIE") || header.contains("TRIDENT") || header.contains("EDGE")) {
+                fileName = URLEncoder.encode(fileName, "utf-8");
+                fileName = fileName.replace("+", "%20");    //IE下载文件名空格变+号问题
+            } else {
+                fileName = new String(fileName.getBytes(), "ISO8859-1");
+            }
+            response.reset();
+            response.setContentType("text/plain");
+            response.setContentType("application/octet-stream; charset=utf-8");
+            response.setHeader("Location", fileName);
+            response.setHeader("Cache-Control", "max-age=0");
+            response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
+
+            BufferedInputStream buff = new BufferedInputStream(inputStream);
+            BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
+            byte[] car = new byte[1024];
+            int l = 0;
+
+            while ((l = inputStream.read(car)) != -1) {
+                if (car.length != 0) {
+                    out.write(car, 0, l);
+                }
+            }
+
+            // 关闭流
+            inputStream.close();
+            buff.close();
+            out.close();
+
+            ossClient.shutdown();
+        } catch (Exception e) {
+            logger.error("下载图片失败", e);
+        }
+        return response;
+    }
+
+
     public boolean doesObjectExist(String path) {
 
+        String aliid = PropertiesFileLoader.getDefaultProperties("aliossid", "");
+        String alikey = PropertiesFileLoader.getDefaultProperties("aliosskey", "");
+        String aliossendpoit = "Y".equals(PropertiesFileLoader.getDefaultProperties("alioss_internal_flag", "")) ?
+                PropertiesFileLoader.getDefaultProperties("aliossendpoitinternal", "") :
+                PropertiesFileLoader.getDefaultProperties("aliossendpoit", "");
+        String bucketname = PropertiesFileLoader.getDefaultProperties("alibucketname", "");
         logger.info(String.format("OSS上传:\naliid: %s\nalikey: %s\naliossendpoit: %s\nbucketname: %s\npath: %s", aliid, alikey, aliossendpoit, bucketname, path));
 
         OSSClient client = new OSSClient(aliossendpoit, aliid, alikey);

+ 60 - 0
src/main/java/com/izouma/awesomeadmin/service/OrderImageService.java

@@ -0,0 +1,60 @@
+package com.izouma.awesomeadmin.service;
+
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.OrderImage;
+
+import java.util.List;
+
+
+/**
+ * service接口类
+ */
+public interface OrderImageService {
+
+    List<OrderImage> getOrderImageList(OrderImage record);
+
+    List<OrderImage> getOrderImageByPage(Page page, OrderImage record);
+
+    OrderImage getOrderImageById(String id);
+
+    OrderImage getOrderImage(OrderImage record);
+
+    boolean createOrderImage(OrderImage record);
+
+    boolean deleteOrderImage(String id);
+
+    boolean updateOrderImage(OrderImage record);
+
+    /**
+     * 返修
+     *
+     * @param record
+     * @return
+     */
+    boolean repair(OrderImage record);
+
+    OrderImage getMemorySize(OrderImage record);
+
+    Result autoCleanOrderImage(OrderImage record);
+
+    OrderImage getOrderImageTotalNum(OrderImage param);
+
+    List<OrderImage> countMemorySize(OrderImage record);
+
+    boolean repairBatch(OrderImage record);
+
+    boolean passBatch(OrderImage record);
+
+
+    void testAsync(int testNum);
+
+    OrderImage checkImageNum(String orderId, String repairId);
+
+    OrderImage checkRepairImageNum(String orderId, String repairId);
+
+    boolean pass(OrderImage record);
+
+    List<String> allImageName(OrderImage record);
+}
+

+ 30 - 0
src/main/java/com/izouma/awesomeadmin/service/OrderRepairDetailService.java

@@ -0,0 +1,30 @@
+package com.izouma.awesomeadmin.service;
+
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.OrderRepairDetail;
+
+import java.util.List;
+
+
+/**
+*  service接口类
+*/
+public interface OrderRepairDetailService{
+
+    List<OrderRepairDetail> getOrderRepairDetailList(OrderRepairDetail record);
+
+    List<OrderRepairDetail> getOrderRepairDetailByPage(Page page, OrderRepairDetail record);
+
+    OrderRepairDetail getOrderRepairDetailById(String id);
+
+    OrderRepairDetail getOrderRepairDetail(OrderRepairDetail record);
+
+    boolean createOrderRepairDetail(OrderRepairDetail record);
+
+    boolean deleteOrderRepairDetail(String id);
+
+    boolean updateOrderRepairDetail(OrderRepairDetail record);
+
+    List<OrderRepairDetail> getOrderRepairDetailExportRemark(OrderRepairDetail record);
+}
+

+ 28 - 0
src/main/java/com/izouma/awesomeadmin/service/OrderRepairService.java

@@ -0,0 +1,28 @@
+package com.izouma.awesomeadmin.service;
+
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.OrderRepair;
+
+import java.util.List;
+
+
+/**
+*  service接口类
+*/
+public interface OrderRepairService{
+
+    List<OrderRepair> getOrderRepairList(OrderRepair record);
+
+    List<OrderRepair> getOrderRepairByPage(Page page, OrderRepair record);
+
+    OrderRepair getOrderRepairById(String id);
+
+    OrderRepair getOrderRepair(OrderRepair record);
+
+    boolean createOrderRepair(OrderRepair record);
+
+    boolean deleteOrderRepair(String id);
+
+    boolean updateOrderRepair(OrderRepair record);
+}
+

+ 69 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/ActivityInfoServiceImpl.java

@@ -9,6 +9,7 @@ import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -251,6 +252,74 @@ public class ActivityInfoServiceImpl implements ActivityInfoService {
         return false;
     }
 
+    @Override
+    public boolean manjianActivityLog(UserOrder userOrder) {
+
+        logger.info("manjianActivityLog");
+
+        try {
+
+            ActivityInfo activityInfo = new ActivityInfo();
+            activityInfo.setTypeId(6);
+            activityInfo = activityInfoMapper.queryUsedActivityInfo(activityInfo);
+
+            if (activityInfo != null) {
+
+
+                ActivityLog activityLog = new ActivityLog();
+                activityLog.setActivityId(String.valueOf(activityInfo.getId()));
+                activityLog.setTypeId(String.valueOf(activityInfo.getTypeId()));
+                activityLog.setUserId(String.valueOf(userOrder.getUserId()));
+                activityLog.setTotalPrice(String.valueOf(userOrder.getTotlePrice()));
+                activityLog.setOrderId(String.valueOf(userOrder.getId()));
+                activityLog.setStoreId(String.valueOf(userOrder.getStoreId()));
+                activityLog.setProductId(String.valueOf(userOrder.getProductId()));
+                activityLog.setCreateUser("消费满减活动");
+
+                activityLogMapper.insertSelective(activityLog);
+            }
+
+
+            return true;
+        } catch (Exception e) {
+            logger.error("消费满减log异常", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public BigDecimal manjianActivity(BigDecimal orderMoney) {
+
+        logger.info("manjianActivity");
+
+        try {
+
+            ActivityInfo activityInfo = new ActivityInfo();
+            activityInfo.setTypeId(6);
+            activityInfo = activityInfoMapper.queryUsedActivityInfo(activityInfo);
+
+            if (activityInfo != null) {
+
+                //减免金额
+                BigDecimal minValue = BigDecimal.valueOf(Double.valueOf(activityInfo.getMinValue()));
+
+                BigDecimal maxValue = BigDecimal.valueOf(Double.valueOf(activityInfo.getMaxValue()));
+
+                if (orderMoney.compareTo(maxValue) > 0) {//如果消费金额大于要求,可用减免
+
+                    return orderMoney.subtract(minValue);
+
+                }
+            }
+
+        } catch (Exception e) {
+            logger.error("消费满减异常", e);
+        }
+
+        return orderMoney;
+    }
+
     @Override
     public boolean rechargeSongMoney(RechargeRecord rechargeRecord) {
 

+ 140 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/ImageDownLogServiceImpl.java

@@ -0,0 +1,140 @@
+package com.izouma.awesomeadmin.service.impl;
+
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dao.ImageDownLogMapper;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.ImageDownLog;
+import com.izouma.awesomeadmin.service.ImageDownLogService;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class ImageDownLogServiceImpl implements ImageDownLogService {
+
+    private static Logger logger = Logger.getLogger(ImageDownLogServiceImpl.class);
+
+    @Autowired
+    private ImageDownLogMapper imageDownLogMapper;
+
+    @Override
+    public List<ImageDownLog> getImageDownLogList(ImageDownLog record) {
+
+        logger.info("getImageDownLogList");
+        try {
+
+        return imageDownLogMapper.queryAllImageDownLog(record);
+        } catch (Exception e) {
+        logger.error("getImageDownLogList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<ImageDownLog> getImageDownLogByPage(Page page, ImageDownLog record) {
+
+        logger.info("getImageDownLogByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return imageDownLogMapper.queryImageDownLogByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getImageDownLogByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public ImageDownLog getImageDownLogById(String id) {
+
+        logger.info("getImageDownLogyId");
+        try {
+
+            return imageDownLogMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getImageDownLogById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public ImageDownLog getImageDownLog(ImageDownLog record) {
+
+        logger.info("getImageDownLog");
+        try {
+
+            return imageDownLogMapper.queryImageDownLog(record);
+        } catch (Exception e) {
+        logger.error("getImageDownLog", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createImageDownLog(ImageDownLog record) {
+
+        logger.info("createImageDownLog");
+        try {
+
+            int updates = imageDownLogMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createImageDownLog", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteImageDownLog(ImageDownLog record) {
+
+        logger.info("deleteImageDownLog");
+        try {
+
+             int updates = imageDownLogMapper.delete(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteImageDownLog", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateImageDownLog(ImageDownLog record) {
+
+        logger.info("updateImageDownLog");
+        try {
+
+            int updates = imageDownLogMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateImageDownLog", e);
+        }
+
+        return false;
+    }
+}
+

+ 158 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/ImageUploadLogServiceImpl.java

@@ -0,0 +1,158 @@
+package com.izouma.awesomeadmin.service.impl;
+
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dao.ImageUploadLogMapper;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.ImageUploadLog;
+import com.izouma.awesomeadmin.service.ImageUploadLogService;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * service接口实现类
+ */
+@Service
+public class ImageUploadLogServiceImpl implements ImageUploadLogService {
+
+    private static Logger logger = Logger.getLogger(ImageUploadLogServiceImpl.class);
+
+    @Autowired
+    private ImageUploadLogMapper imageUploadLogMapper;
+
+    @Override
+    public List<ImageUploadLog> getImageUploadLogList(ImageUploadLog record) {
+
+        logger.info("getImageUploadLogList");
+        try {
+
+            return imageUploadLogMapper.queryAllImageUploadLog(record);
+        } catch (Exception e) {
+            logger.error("getImageUploadLogList", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public List<ImageUploadLog> getImageUploadLogByPage(Page page, ImageUploadLog record) {
+
+        logger.info("getImageUploadLogByPage");
+        try {
+
+            Map<String, Object> parameter = new HashMap<String, Object>();
+            parameter.put("record", record);
+            parameter.put(AppConstant.PAGE, page);
+
+            return imageUploadLogMapper.queryImageUploadLogByPage(parameter);
+        } catch (Exception e) {
+            logger.error("getImageUploadLogByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public ImageUploadLog getImageUploadLogById(String id) {
+
+        logger.info("getImageUploadLogyId");
+        try {
+
+            return imageUploadLogMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+            logger.error("getImageUploadLogById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public ImageUploadLog getImageUploadLog(ImageUploadLog record) {
+
+        logger.info("getImageUploadLog");
+        try {
+
+            return imageUploadLogMapper.queryImageUploadLog(record);
+        } catch (Exception e) {
+            logger.error("getImageUploadLog", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createImageUploadLog(ImageUploadLog record) {
+
+        logger.info("createImageUploadLog");
+        try {
+
+            int updates = imageUploadLogMapper.insertSelective(record);
+
+            if (updates > 0) {
+                return true;
+            }
+        } catch (Exception e) {
+            logger.error("createImageUploadLog", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteImageUploadLog(String id) {
+
+        logger.info("deleteImageUploadLog");
+        try {
+
+            int updates = imageUploadLogMapper.delete(id);
+
+            if (updates > 0) {
+                return true;
+            }
+        } catch (Exception e) {
+            logger.error("deleteImageUploadLog", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateImageUploadLog(ImageUploadLog record) {
+
+        logger.info("updateImageUploadLog");
+        try {
+
+            int updates = imageUploadLogMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                return true;
+            }
+        } catch (Exception e) {
+            logger.error("updateImageUploadLog", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public List<ImageUploadLog> queryDelOssImage(String orderId) {
+
+        logger.info("queryDelOssImage");
+        try {
+
+            Map<String, Object> parameter = new HashMap<String, Object>();
+            parameter.put("orderId", orderId);
+
+            return imageUploadLogMapper.queryDelOssImage(parameter);
+        } catch (Exception e) {
+            logger.error("queryDelOssImage", e);
+        }
+
+        return null;
+    }
+}
+

+ 473 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/OrderImageServiceImpl.java

@@ -0,0 +1,473 @@
+package com.izouma.awesomeadmin.service.impl;
+
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dao.OrderImageMapper;
+import com.izouma.awesomeadmin.dao.OrderRepairDetailMapper;
+import com.izouma.awesomeadmin.dao.OrderRepairMapper;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.OrderImage;
+import com.izouma.awesomeadmin.model.OrderRepair;
+import com.izouma.awesomeadmin.model.OrderRepairDetail;
+import com.izouma.awesomeadmin.service.OrderImageService;
+import com.izouma.awesomeadmin.util.PropertiesFileLoader;
+import org.apache.commons.lang.StringUtils;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.dao.DataIntegrityViolationException;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+
+/**
+ * service接口实现类
+ */
+@Service
+public class OrderImageServiceImpl implements OrderImageService {
+
+    private static Logger logger = Logger.getLogger(OrderImageServiceImpl.class);
+
+    @Autowired
+    @Lazy
+    private OrderImageMapper orderImageMapper;
+
+    @Autowired
+    @Lazy
+    private OrderRepairMapper orderRepairMapper;
+
+    @Autowired
+    @Lazy
+    private OrderRepairDetailMapper orderRepairDetailMapper;
+
+    @Autowired
+    @Lazy
+    private com.izouma.awesomeadmin.service.OSSFileService OSSFileService;
+
+
+
+    @Override
+    public List<OrderImage> getOrderImageList(OrderImage record) {
+
+        logger.info("getOrderImageList");
+        try {
+
+            return orderImageMapper.queryAllOrderImage(record);
+        } catch (Exception e) {
+            logger.error("getOrderImageList", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public List<String> allImageName(OrderImage record) {
+
+        logger.info("allImageName");
+        try {
+
+            return orderImageMapper.allImageName(record);
+        } catch (Exception e) {
+            logger.error("allImageName", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public List<OrderImage> getOrderImageByPage(Page page, OrderImage record) {
+
+        logger.info("getOrderImageByPage");
+        try {
+
+            Map<String, Object> parameter = new HashMap<String, Object>();
+            parameter.put("record", record);
+            parameter.put(AppConstant.PAGE, page);
+
+            return orderImageMapper.queryOrderImageByPage(parameter);
+        } catch (Exception e) {
+            logger.error("getOrderImageByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public OrderImage getOrderImageById(String id) {
+
+        logger.info("getOrderImageyId");
+        try {
+
+            return orderImageMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+            logger.error("getOrderImageById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public OrderImage getOrderImage(OrderImage record) {
+
+        logger.info("getOrderImage");
+        try {
+
+            return orderImageMapper.queryOrderImage(record);
+        } catch (Exception e) {
+            logger.error("getOrderImage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createOrderImage(OrderImage record) {
+
+        logger.info("createOrderImage");
+        try {
+
+            int updates = orderImageMapper.insertSelective(record);
+
+            if (updates > 0) {
+                return true;
+            }
+        } catch (Exception e) {
+            logger.error("createOrderImage", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteOrderImage(String id) {
+
+        logger.info("deleteOrderImage");
+        try {
+
+            int updates = orderImageMapper.delete(id);
+
+            if (updates > 0) {
+                return true;
+            }
+        } catch (Exception e) {
+            logger.error("deleteOrderImage", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateOrderImage(OrderImage record) {
+
+        logger.info("updateOrderImage");
+        try {
+
+            int updates = orderImageMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                return true;
+            }
+
+
+        } catch (Exception e) {
+            logger.error("updateOrderImage", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean passBatch(OrderImage record) {
+
+        logger.info("passBatch");
+        try {
+
+            int updates = orderImageMapper.passBatch(record);
+
+            if (updates > 0) {
+                return true;
+            }
+
+
+        } catch (Exception e) {
+            logger.error("passBatch", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean pass(OrderImage record) {
+
+        logger.info("pass");
+        try {
+
+            int updates = orderImageMapper.pass(record);
+
+            if (updates > 0) {
+                return true;
+            }
+
+
+        } catch (DataIntegrityViolationException dive) {
+            logger.error("pass", dive);
+            return true;
+        } catch (Exception e) {
+            logger.error("pass", e);
+        }
+
+        return false;
+    }
+
+
+    /**
+     * 返修
+     *
+     * @param record
+     * @return
+     */
+    @Override
+    public boolean repair(OrderImage record) {
+
+        logger.info("repair");
+        try {
+            int updates = orderImageMapper.updateByPrimaryKeySelective(record);
+
+            OrderRepair orderRepair = new OrderRepair();
+            orderRepair.setOrderId(record.getOrderId());
+            List<OrderRepair> orderRepairList = orderRepairMapper.queryAllOrderRepair(orderRepair);
+
+            //当前返修订单。
+            OrderRepair nowOrderRepair = new OrderRepair();
+
+            if (orderRepairList.size() > 0) {
+                OrderRepair lastRepair = orderRepairList.get(orderRepairList.size() - 1);
+
+                //如果状态为已结束
+                if (lastRepair.getStatusFlag() >= 1
+                        && lastRepair.getTypeFlag() < 2
+                        && !StringUtils.isNotEmpty(record.getDetailRemarkFlag())) {
+                    nowOrderRepair.setOrderId(record.getOrderId());
+                    nowOrderRepair.setUserId(record.getUserId());
+                    nowOrderRepair.setStoreId(record.getStoreId());
+                    nowOrderRepair.setTypeFlag(lastRepair.getTypeFlag() + 1);
+
+                    orderRepairMapper.insertSelective(nowOrderRepair);
+
+                } else if (lastRepair.getStatusFlag() == 0) {
+                    nowOrderRepair = lastRepair;
+                }
+
+
+            } else {
+                nowOrderRepair.setOrderId(record.getOrderId());
+                nowOrderRepair.setUserId(record.getUserId());
+                nowOrderRepair.setStoreId(record.getStoreId());
+
+                orderRepairMapper.insertSelective(nowOrderRepair);
+            }
+
+
+            OrderRepairDetail orderRepairDetail = new OrderRepairDetail();
+            orderRepairDetail.setRepairId(nowOrderRepair.getId() + "");
+            orderRepairDetail.setImageId(record.getId() + "");
+
+            orderRepairDetail = orderRepairDetailMapper.queryOrderRepairDetail(orderRepairDetail);
+            if (orderRepairDetail != null) {
+                orderRepairDetail.setRemark(record.getDetailRemark());
+                orderRepairDetailMapper.updateByPrimaryKeySelective(orderRepairDetail);
+            } else {
+
+                orderRepairDetail = new OrderRepairDetail();
+                orderRepairDetail.setRepairId(nowOrderRepair.getId() + "");
+                orderRepairDetail.setImageId(record.getId() + "");
+
+                orderRepairDetail.setRemark(record.getDetailRemark());
+
+                orderRepairDetailMapper.insertSelective(orderRepairDetail);
+            }
+
+
+            if (updates >= 0) {
+                return true;
+            }
+
+        } catch (Exception e) {
+            logger.error("repair", e);
+        }
+
+        return false;
+    }
+
+    /**
+     * 全部返修
+     *
+     * @param record
+     * @return
+     */
+    @Override
+    public boolean repairBatch(OrderImage record) {
+
+        logger.info("repair");
+        try {
+            record.setStatusFlag(0);
+
+
+            List<OrderImage> orderImageList = orderImageMapper.queryAllOrderImage(record);
+
+            for (OrderImage orderImage : orderImageList) {
+                record.setId(orderImage.getId());
+                record.setStatusFlag(2);
+                record.setDetailRemark("批量失败");
+
+                repair(record);
+            }
+
+            return true;
+        } catch (Exception e) {
+            logger.error("repair", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public OrderImage getMemorySize(OrderImage record) {
+
+        logger.info("getMemorySize");
+        try {
+
+            return orderImageMapper.getMemorySize(record);
+        } catch (Exception e) {
+            logger.error("getMemorySize", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public List<OrderImage> countMemorySize(OrderImage record) {
+
+        logger.info("countMemorySize");
+        try {
+
+            return orderImageMapper.countMemorySize(record);
+        } catch (Exception e) {
+            logger.error("countMemorySize", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public OrderImage getOrderImageTotalNum(OrderImage record) {
+
+        logger.info("getOrderImageTotalNum");
+        try {
+
+            return orderImageMapper.getOrderImageTotalNum(record);
+        } catch (Exception e) {
+            logger.error("getOrderImageTotalNum", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public Result autoCleanOrderImage(OrderImage record) {
+
+        logger.info("autoCleanOrderImage");
+        try {
+
+            List<OrderImage> orderImageList = orderImageMapper.queryAutoCleanOrderImage(record);
+
+            for (OrderImage orderImage : orderImageList) {
+                orderImage.setCleanFlag("Y");
+
+                if (StringUtils.isNotEmpty(orderImage.getOriginalImage())) {
+                    String artwork = orderImage.getOriginalImage().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
+                    OSSFileService.deleteObject(artwork);
+                }
+                if (StringUtils.isNotEmpty(orderImage.getOriginalArtwork())) {
+                    String artwork = orderImage.getOriginalArtwork().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
+                    OSSFileService.deleteObject(artwork);
+                }
+                if (StringUtils.isNotEmpty(orderImage.getFinishedImage())) {
+                    String artwork = orderImage.getFinishedImage().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
+                    OSSFileService.deleteObject(artwork);
+                }
+                if (StringUtils.isNotEmpty(orderImage.getFinishedArtwork())) {
+                    String artwork = orderImage.getFinishedArtwork().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
+                    OSSFileService.deleteObject(artwork);
+                }
+
+                orderImageMapper.updateByPrimaryKeySelective(orderImage);
+            }
+
+            return new Result(true, "成功");
+        } catch (Exception e) {
+            logger.error("autoCleanOrderImage", e);
+        }
+
+        return null;
+    }
+
+
+    @Async
+    @Override
+    public void testAsync(int testNum) {
+
+
+        try {
+            for (int i = 0; i < testNum; i++) {
+                System.out.println("第" + (i + 1) + "次:" + new Date());
+                Thread.sleep(5000);
+            }
+            System.out.println("testAsync结束");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public OrderImage checkImageNum(String orderId, String repairId) {
+        logger.info("checkImageNum");
+        try {
+
+            OrderImage record = new OrderImage();
+            record.setOrderId(orderId);
+            record.setBaseRepairId(repairId);
+
+            return orderImageMapper.checkImageNum(record);
+
+        } catch (Exception e) {
+            logger.error("checkImageNum", e);
+        }
+
+        return null;
+
+    }
+
+    @Override
+    public OrderImage checkRepairImageNum(String orderId, String repairId) {
+        logger.info("checkRepairImageNum");
+        try {
+
+            OrderImage record = new OrderImage();
+            record.setOrderId(orderId);
+            record.setBaseRepairId(repairId);
+
+            return orderImageMapper.checkRepairImageNum(record);
+
+        } catch (Exception e) {
+            logger.error("checkRepairImageNum", e);
+        }
+
+        return null;
+
+    }
+
+
+}
+

+ 154 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/OrderRepairDetailServiceImpl.java

@@ -0,0 +1,154 @@
+package com.izouma.awesomeadmin.service.impl;
+
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dao.OrderRepairDetailMapper;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.OrderRepairDetail;
+import com.izouma.awesomeadmin.service.OrderRepairDetailService;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class OrderRepairDetailServiceImpl implements OrderRepairDetailService {
+
+    private static Logger logger = Logger.getLogger(OrderRepairDetailServiceImpl.class);
+
+    @Autowired
+    private OrderRepairDetailMapper orderRepairDetailMapper;
+
+    @Override
+    public List<OrderRepairDetail> getOrderRepairDetailList(OrderRepairDetail record) {
+
+        logger.info("getOrderRepairDetailList");
+        try {
+
+        return orderRepairDetailMapper.queryAllOrderRepairDetail(record);
+        } catch (Exception e) {
+        logger.error("getOrderRepairDetailList", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public List<OrderRepairDetail> getOrderRepairDetailExportRemark(OrderRepairDetail record) {
+
+        logger.info("getOrderRepairDetailExportRemark");
+        try {
+
+        return orderRepairDetailMapper.queryAllOrderRepairDetailExportRemark(record);
+        } catch (Exception e) {
+        logger.error("getOrderRepairDetailExportRemark", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<OrderRepairDetail> getOrderRepairDetailByPage(Page page, OrderRepairDetail record) {
+
+        logger.info("getOrderRepairDetailByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return orderRepairDetailMapper.queryOrderRepairDetailByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getOrderRepairDetailByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public OrderRepairDetail getOrderRepairDetailById(String id) {
+
+        logger.info("getOrderRepairDetailyId");
+        try {
+
+            return orderRepairDetailMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getOrderRepairDetailById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public OrderRepairDetail getOrderRepairDetail(OrderRepairDetail record) {
+
+        logger.info("getOrderRepairDetail");
+        try {
+
+            return orderRepairDetailMapper.queryOrderRepairDetail(record);
+        } catch (Exception e) {
+        logger.error("getOrderRepairDetail", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createOrderRepairDetail(OrderRepairDetail record) {
+
+        logger.info("createOrderRepairDetail");
+        try {
+
+            int updates = orderRepairDetailMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createOrderRepairDetail", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteOrderRepairDetail(String id) {
+
+        logger.info("deleteOrderRepairDetail");
+        try {
+
+             int updates = orderRepairDetailMapper.delete(id);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteOrderRepairDetail", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateOrderRepairDetail(OrderRepairDetail record) {
+
+        logger.info("updateOrderRepairDetail");
+        try {
+
+            int updates = orderRepairDetailMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateOrderRepairDetail", e);
+        }
+
+        return false;
+    }
+}
+

+ 140 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/OrderRepairServiceImpl.java

@@ -0,0 +1,140 @@
+package com.izouma.awesomeadmin.service.impl;
+
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dao.OrderRepairMapper;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.model.OrderRepair;
+import com.izouma.awesomeadmin.service.OrderRepairService;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+*  service接口实现类
+*/
+@Service
+public class OrderRepairServiceImpl implements OrderRepairService {
+
+    private static Logger logger = Logger.getLogger(OrderRepairServiceImpl.class);
+
+    @Autowired
+    private OrderRepairMapper orderRepairMapper;
+
+    @Override
+    public List<OrderRepair> getOrderRepairList(OrderRepair record) {
+
+        logger.info("getOrderRepairList");
+        try {
+
+        return orderRepairMapper.queryAllOrderRepair(record);
+        } catch (Exception e) {
+        logger.error("getOrderRepairList", e);
+        }
+
+        return null;
+    }
+    @Override
+    public List<OrderRepair> getOrderRepairByPage(Page page, OrderRepair record) {
+
+        logger.info("getOrderRepairByPage");
+        try {
+
+        Map<String, Object> parameter = new HashMap<String, Object>();
+        parameter.put("record", record);
+        parameter.put(AppConstant.PAGE, page);
+
+        return orderRepairMapper.queryOrderRepairByPage(parameter);
+        } catch (Exception e) {
+        logger.error("getOrderRepairByPage", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public OrderRepair getOrderRepairById(String id) {
+
+        logger.info("getOrderRepairyId");
+        try {
+
+            return orderRepairMapper.selectByPrimaryKey(Integer.valueOf(id));
+        } catch (Exception e) {
+        logger.error("getOrderRepairById", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public OrderRepair getOrderRepair(OrderRepair record) {
+
+        logger.info("getOrderRepair");
+        try {
+
+            return orderRepairMapper.queryOrderRepair(record);
+        } catch (Exception e) {
+        logger.error("getOrderRepair", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public boolean createOrderRepair(OrderRepair record) {
+
+        logger.info("createOrderRepair");
+        try {
+
+            int updates = orderRepairMapper.insertSelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+            logger.error("createOrderRepair", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean deleteOrderRepair(String id) {
+
+        logger.info("deleteOrderRepair");
+        try {
+
+             int updates = orderRepairMapper.delete(id);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("deleteOrderRepair", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean updateOrderRepair(OrderRepair record) {
+
+        logger.info("updateOrderRepair");
+        try {
+
+            int updates = orderRepairMapper.updateByPrimaryKeySelective(record);
+
+            if (updates > 0) {
+                 return true;
+            }
+        } catch (Exception e) {
+             logger.error("updateOrderRepair", e);
+        }
+
+        return false;
+    }
+}
+

+ 16 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/UserOrderServiceImpl.java

@@ -300,6 +300,8 @@ public class UserOrderServiceImpl implements UserOrderService {
             record.setOrderCode(MbappUtil.getOrderIdByUUId());
             if (CollectionUtils.isNotEmpty(record.getUserOrderDetailList())) {
 
+                StoreInfo storeInfo = storeInfoService.getStoreInfoById(record.getStoreId() + "");
+
                 /**
                  * 计算价格结束
                  */
@@ -337,6 +339,11 @@ public class UserOrderServiceImpl implements UserOrderService {
                                 }
                             }
 
+                            //相片价格 = 相片单价* 订单相片数量
+                            BigDecimal photosPrice = BigDecimal.valueOf(storeInfo.getPhotoPrice() * userOrderDetail.getPhotoAmount());
+
+                            totalServicesPrice = totalServicesPrice.add(photosPrice);//服务价格加上 相片价格
+
                             if (userOrderDetail.getTypeFlag() == AppConstant.OrderType.ALL_PAY) {
                                 totalPrice = quantity.multiply(totalServicesPrice);
                                 userOrderDetail.setUnitPrice(totalServicesPrice);
@@ -379,6 +386,7 @@ public class UserOrderServiceImpl implements UserOrderService {
                             }
 
                             userOrderDetail.setProductName(productInfo.getTitle());
+                            userOrderDetail.setPhotoAmount(productInfo.getAmount());//订单照片数量为套餐内照片数量
 
                         }
 
@@ -430,6 +438,9 @@ public class UserOrderServiceImpl implements UserOrderService {
 
                 }
 
+                BigDecimal baseDealPrice = dealPrice;
+                dealPrice = activityInfoService.manjianActivity(dealPrice);
+
                 record.setDealPrice(dealPrice);
                 record.setTotlePrice(totlePrice);
                 record.setOffPrice(totlePrice.subtract(dealPrice));
@@ -439,6 +450,11 @@ public class UserOrderServiceImpl implements UserOrderService {
 
                 if (updates > 0) {
 
+                    if (dealPrice.compareTo(baseDealPrice) < 0) {//如果满减了,保存记录。
+                        activityInfoService.manjianActivityLog(record);
+                    }
+
+
                     for (UserOrderDetail userOrderDetail : userOrderDetails) {
                         userOrderDetail.setOrderCode(MbappUtil.getOrderIdByUUId());
                         userOrderDetail.setOrderId(record.getId());

+ 106 - 9
src/main/java/com/izouma/awesomeadmin/util/ImagesUtil.java

@@ -1,11 +1,6 @@
 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 org.apache.commons.io.FileUtils;
 import sun.misc.BASE64Decoder;
 
 import javax.imageio.IIOException;
@@ -13,6 +8,11 @@ import javax.imageio.ImageIO;
 import javax.imageio.ImageReader;
 import javax.imageio.stream.ImageInputStream;
 import javax.imageio.stream.ImageOutputStream;
+import java.awt.*;
+import java.awt.color.ColorSpace;
+import java.awt.image.*;
+import java.io.*;
+import java.util.Iterator;
 
 
 public class ImagesUtil {
@@ -64,8 +64,8 @@ public class ImagesUtil {
      *                  当scale>=1,缩略图height=comBase,width按原图宽高比例;若scale<1,缩略图width=comBase,height按原图宽高比例
      * @throws Exception
      */
-    public static InputStream changeMinPhoto(InputStream fin, String imageType, double comBase,
-                                             double scale) {
+    public static InputStream changeMinPhotoOld(InputStream fin, String imageType, double comBase,
+                                                double scale) {
         try {
             // get image format in a file
             //File file = new File("newimage.jpg");
@@ -82,7 +82,7 @@ public class ImagesUtil {
             String format = reader.getFormatName();
             BufferedImage image = null;
 
-            if ("JPEG".equalsIgnoreCase(format) || "JPG".equalsIgnoreCase(format)|| "PNG".equalsIgnoreCase(format)) {
+            if ("JPEG".equalsIgnoreCase(format) || "JPG".equalsIgnoreCase(format) || "PNG".equalsIgnoreCase(format) || "CR2".equalsIgnoreCase(format)) {
                 try {
                     // 尝试读取图片 (包括颜色的转换).
                     image = reader.read(0); //RGB
@@ -136,6 +136,78 @@ public class ImagesUtil {
         return null;
     }
 
+    /**
+     * 图片压缩
+     *
+     * @param fin
+     * @param imageType
+     * @return
+     */
+    public static InputStream changeMinPhoto(InputStream fin, String imageType) {
+        try {
+            ByteArrayOutputStream baos = cloneInputStream(fin);
+
+
+            String tmpImagename = "CMYK_" + MbappUtil.create_nonce_str() + "." + imageType;
+            File src = new File("/var/www/tmp/" + tmpImagename);
+            FileUtils.copyInputStreamToFile(new ByteArrayInputStream(baos.toByteArray()), src);
+            String[] cmd = {"sh", "-c", "convert -resize '4000000@>' -quality 60 /var/www/tmp/" + tmpImagename + " /var/www/tmp/RGB" + tmpImagename};
+            //System.out.println("1xxxx:" + new Date());
+            Process p = Runtime.getRuntime().exec(cmd);
+            //System.out.println("2xxxx:" + new Date());
+            printMessage(p.getInputStream());
+            printMessage(p.getErrorStream());
+            p.waitFor();
+            //System.out.println("3xxxx:" + new Date());
+            InputStream inputStream = new FileInputStream(new File("/var/www/tmp/RGB" + tmpImagename));
+            //System.out.println("4xxxx:" + new Date());
+            if (!"".equals(tmpImagename)) {//清楚临时文件
+                deleteFile("/var/www/tmp/" + tmpImagename);
+                deleteFile("/var/www/tmp/RGB" + tmpImagename);
+            }
+
+            return inputStream;
+        } catch (Exception ee) {
+            ee.printStackTrace();
+        }
+        return null;
+    }
+
+
+    private static void printMessage(final InputStream input) {
+        new Thread(new Runnable() {
+            public void run() {
+                Reader reader = new InputStreamReader(input);
+                BufferedReader bf = new BufferedReader(reader);
+                String line = null;
+                try {
+                    while ((line = bf.readLine()) != null) {
+                        System.out.println(line);
+                    }
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }).start();
+    }
+
+
+    private static ByteArrayOutputStream cloneInputStream(InputStream input) {
+        try {
+            ByteArrayOutputStream baos = new ByteArrayOutputStream();
+            byte[] buffer = new byte[1024];
+            int len;
+            while ((len = input.read(buffer)) > -1) {
+                baos.write(buffer, 0, len);
+            }
+            baos.flush();
+            return baos;
+        } catch (IOException e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
     private static BufferedImage createJPEG4(Raster raster) {
         int w = raster.getWidth();
         int h = raster.getHeight();
@@ -169,4 +241,29 @@ public class ImagesUtil {
         ColorModel cm = new ComponentColorModel(cs, false, true, Transparency.OPAQUE, DataBuffer.TYPE_BYTE);
         return new BufferedImage(cm, (WritableRaster) raster, true, null);
     }
+
+
+    /**
+     * 删除单个文件
+     *
+     * @param fileName 要删除的文件的文件名
+     * @return 单个文件删除成功返回true,否则返回false
+     */
+    public static boolean deleteFile(String fileName) {
+        File file = new File(fileName);
+        // 如果文件路径所对应的文件存在,并且是一个文件,则直接删除
+        if (file.exists() && file.isFile()) {
+            if (file.delete()) {
+                System.out.println("删除单个文件" + fileName + "成功!");
+                return true;
+            } else {
+                System.out.println("删除单个文件" + fileName + "失败!");
+                return false;
+            }
+        } else {
+            System.out.println("删除单个文件失败:" + fileName + "不存在!");
+            return false;
+        }
+    }
+
 }

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

@@ -0,0 +1,169 @@
+package com.izouma.awesomeadmin.web;
+
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.ImageDownLog;
+import com.izouma.awesomeadmin.service.ImageDownLogService;
+import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import org.apache.shiro.authz.annotation.RequiresAuthentication;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/imageDownLog")
+@RequiresAuthentication
+public class ImageDownLogController {
+
+    @Autowired
+    private ImageDownLogService imageDownLogService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(ImageDownLog record) {
+        List<ImageDownLog> pp = imageDownLogService.getImageDownLogList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getImageDownLog", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getImageDownLog(@RequestParam(required = false, value = "id") String id) {
+        ImageDownLog data = imageDownLogService.getImageDownLogById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(ImageDownLog record) {
+        ImageDownLog data = imageDownLogService.getImageDownLog(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, ImageDownLog record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<ImageDownLog> pp =imageDownLogService.getImageDownLogByPage(page, record);
+
+        result.put(AppConstant.PAGE, page);
+        result.put("pp", pp);
+        return new Result(true, result);
+    }
+
+
+    /**
+    * <p>保存。</p>
+    */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ResponseBody
+    public Result save(ImageDownLog record) {
+        boolean num = imageDownLogService.createImageDownLog(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateImageDownLog(ImageDownLog record) {
+        boolean num = imageDownLogService.updateImageDownLog(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteImageDownLog(ImageDownLog record) {
+
+        boolean num = imageDownLogService.deleteImageDownLog(record);
+        if (num) {
+        return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+    /**
+    * 导出Excel
+    * @param request
+    * @param response
+    * @param record
+    * @throws Exception
+    */
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportExcel(HttpServletRequest request, HttpServletResponse response, ImageDownLog record) throws Exception {
+
+    List<ImageDownLog> imageDownLogs = imageDownLogService.getImageDownLogList(record);
+
+
+        String sheetName = "image_down_log";
+        String titleName = "图片下载日志数据表";
+        String fileName = "图片下载日志表";
+        int columnNumber = 14;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "订单" ,   "类型" ,   "图片名" ,   "状态" ,   "大小" ,   "下载编号" ,   "总数量" ,   "当前数量"  };
+        String[][] dataList = new String[imageDownLogs.size()][14];
+
+        for (int i = 0; i < imageDownLogs.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(imageDownLogs.get(i).getId());
+                        dataList[i][1] = String.valueOf(imageDownLogs.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(imageDownLogs.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(imageDownLogs.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(imageDownLogs.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(imageDownLogs.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(imageDownLogs.get(i).getOrderId());
+                        dataList[i][7] = String.valueOf(imageDownLogs.get(i).getTypeFlag());
+                        dataList[i][8] = String.valueOf(imageDownLogs.get(i).getImageName());
+                        dataList[i][9] = String.valueOf(imageDownLogs.get(i).getStatusFlag());
+                        dataList[i][10] = String.valueOf(imageDownLogs.get(i).getImageSize());
+                        dataList[i][11] = String.valueOf(imageDownLogs.get(i).getImageCode());
+                        dataList[i][12] = String.valueOf(imageDownLogs.get(i).getTotalNum());
+                        dataList[i][13] = String.valueOf(imageDownLogs.get(i).getNowNum());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

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

@@ -0,0 +1,169 @@
+package com.izouma.awesomeadmin.web;
+
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.ImageUploadLog;
+import com.izouma.awesomeadmin.service.ImageUploadLogService;
+import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import org.apache.shiro.authz.annotation.RequiresAuthentication;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/imageUploadLog")
+@RequiresAuthentication
+public class ImageUploadLogController {
+
+    @Autowired
+    private ImageUploadLogService imageUploadLogService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(ImageUploadLog record) {
+        List<ImageUploadLog> pp = imageUploadLogService.getImageUploadLogList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getImageUploadLog", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getImageUploadLog(@RequestParam(required = false, value = "id") String id) {
+        ImageUploadLog data = imageUploadLogService.getImageUploadLogById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(ImageUploadLog record) {
+        ImageUploadLog data = imageUploadLogService.getImageUploadLog(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, ImageUploadLog record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<ImageUploadLog> pp =imageUploadLogService.getImageUploadLogByPage(page, record);
+
+        result.put(AppConstant.PAGE, page);
+        result.put("pp", pp);
+        return new Result(true, result);
+    }
+
+
+    /**
+    * <p>保存。</p>
+    */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ResponseBody
+    public Result save(ImageUploadLog record) {
+        boolean num = imageUploadLogService.createImageUploadLog(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateImageUploadLog(ImageUploadLog record) {
+        boolean num = imageUploadLogService.updateImageUploadLog(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteImageUploadLog(@RequestParam(required = true, value = "id") String id) {
+
+        boolean num = imageUploadLogService.deleteImageUploadLog(id);
+        if (num) {
+        return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+    /**
+    * 导出Excel
+    * @param request
+    * @param response
+    * @param record
+    * @throws Exception
+    */
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportExcel(HttpServletRequest request, HttpServletResponse response, ImageUploadLog record) throws Exception {
+
+    List<ImageUploadLog> imageUploadLogs = imageUploadLogService.getImageUploadLogList(record);
+
+
+        String sheetName = "image_upload_log";
+        String titleName = "图片上传日志数据表";
+        String fileName = "图片上传日志表";
+        int columnNumber = 14;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "名称" ,   "地址" ,   "店铺" ,   "订单" ,   "用户" ,   "类型" ,   "大小" ,   "使用"  };
+        String[][] dataList = new String[imageUploadLogs.size()][14];
+
+        for (int i = 0; i < imageUploadLogs.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(imageUploadLogs.get(i).getId());
+                        dataList[i][1] = String.valueOf(imageUploadLogs.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(imageUploadLogs.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(imageUploadLogs.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(imageUploadLogs.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(imageUploadLogs.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(imageUploadLogs.get(i).getImageName());
+                        dataList[i][7] = String.valueOf(imageUploadLogs.get(i).getUrl());
+                        dataList[i][8] = String.valueOf(imageUploadLogs.get(i).getStoreId());
+                        dataList[i][9] = String.valueOf(imageUploadLogs.get(i).getOrderId());
+                        dataList[i][10] = String.valueOf(imageUploadLogs.get(i).getUserId());
+                        dataList[i][11] = String.valueOf(imageUploadLogs.get(i).getTypeFlag());
+                        dataList[i][12] = String.valueOf(imageUploadLogs.get(i).getImageSize());
+                        dataList[i][13] = String.valueOf(imageUploadLogs.get(i).getUseFlag());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 890 - 0
src/main/java/com/izouma/awesomeadmin/web/OrderImageController.java

@@ -0,0 +1,890 @@
+package com.izouma.awesomeadmin.web;
+
+import com.aliyun.oss.OSSClient;
+import com.aliyun.oss.model.OSSObject;
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.*;
+import com.izouma.awesomeadmin.service.*;
+import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import com.izouma.awesomeadmin.util.ImagesUtil;
+import com.izouma.awesomeadmin.util.MbappUtil;
+import com.izouma.awesomeadmin.util.PropertiesFileLoader;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.log4j.Logger;
+import org.apache.shiro.authz.annotation.RequiresAuthentication;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.multipart.commons.CommonsMultipartResolver;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.*;
+import java.math.BigDecimal;
+import java.net.URLEncoder;
+import java.nio.file.Paths;
+import java.util.*;
+import java.util.zip.Adler32;
+import java.util.zip.CheckedOutputStream;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
+
+/**
+ * controller类
+ */
+@Controller
+@RequestMapping("/orderImage")
+public class OrderImageController {
+
+
+    /**
+     * 日志对象zipFilesDown
+     */
+    private static Logger logger = Logger.getLogger(OrderImageController.class);
+
+
+    @Autowired
+    private OrderImageService orderImageService;
+
+
+    @Autowired
+    private UserOrderDetailService userOrderDetailService;
+
+    @Autowired
+    private com.izouma.awesomeadmin.service.OSSFileService OSSFileService;
+
+    @Autowired
+    private ImageUploadLogService imageUploadLogService;
+
+    @Autowired
+    private ImageDownLogService imageDownLogService;
+
+    /**
+     * <p>获取全部记录。</p>
+     */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(OrderImage record) {
+        List<OrderImage> pp = orderImageService.getOrderImageList(record);
+        return new Result(true, pp);
+    }
+
+    @RequiresAuthentication
+    @RequestMapping(value = "/allImageName", method = RequestMethod.GET)
+    @ResponseBody
+    public Result allImageName(OrderImage record) {
+        List pp = orderImageService.allImageName(record);
+        return new Result(true, pp);
+    }
+
+    /**
+     * <p>根据Id。</p>
+     */
+    @RequestMapping(value = "/getOrderImage", method = RequestMethod.GET)
+    @ResponseBody
+    @RequiresAuthentication
+    public Result getOrderImage(@RequestParam(required = false, value = "id") String id) {
+        OrderImage data = orderImageService.getOrderImageById(id);
+        return new Result(true, data);
+    }
+
+    /**
+     * <p>根据条件获取。</p>
+     */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    @RequiresAuthentication
+    public Result getOne(OrderImage record) {
+        OrderImage data = orderImageService.getOrderImage(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+     * <p>分页查询。</p>
+     */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    @RequiresAuthentication
+    public Result page(Page page, OrderImage record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<OrderImage> pp = orderImageService.getOrderImageByPage(page, record);
+
+        result.put(AppConstant.PAGE, page);
+        result.put("pp", pp);
+        return new Result(true, result);
+    }
+
+
+    /**
+     * <p>保存。</p>
+     */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ResponseBody
+    @RequiresAuthentication
+    public Result save(OrderImage record) {
+
+        boolean num = orderImageService.createOrderImage(record);
+        if (num) {
+            return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+     * <p>更新信息。</p>
+     */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    @RequiresAuthentication
+    public Result updateOrderImage(OrderImage record) {
+
+        boolean num = orderImageService.updateOrderImage(record);
+        if (num) {
+            return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+     * <p>删除。</p>
+     */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    @RequiresAuthentication
+    public Result deleteOrderImage(@RequestParam(required = true, value = "id") String id) {
+
+        boolean num = orderImageService.deleteOrderImage(id);
+        if (num) {
+            return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+    /**
+     * 导出Excel
+     *
+     * @param request
+     * @param response
+     * @param record
+     * @throws Exception
+     */
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportExcel(HttpServletRequest request, HttpServletResponse response, OrderImage record) throws Exception {
+
+        List<OrderImage> orderImages = orderImageService.getOrderImageList(record);
+
+
+        String sheetName = "order_image";
+        String titleName = "订单图片数据表";
+        String fileName = "订单图片表";
+        int columnNumber = 16;
+        int[] columnWidth = {20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20};
+        String[] columnName = {"", "删除标识", "更新时间", "更新人", "创建时间", "创建人", "订单", "用户", "店铺", "原片地址", "原片大小", "成片地址", "成片大小", "修图人", "状态", "备注"};
+        String[][] dataList = new String[orderImages.size()][16];
+
+        for (int i = 0; i < orderImages.size(); i++) {
+
+            dataList[i][0] = String.valueOf(orderImages.get(i).getId());
+            dataList[i][1] = String.valueOf(orderImages.get(i).getDelFlag());
+            dataList[i][2] = String.valueOf(orderImages.get(i).getUpdateTime());
+            dataList[i][3] = String.valueOf(orderImages.get(i).getUpdateUser());
+            dataList[i][4] = String.valueOf(orderImages.get(i).getCreateTime());
+            dataList[i][5] = String.valueOf(orderImages.get(i).getCreateUser());
+            dataList[i][6] = String.valueOf(orderImages.get(i).getOrderId());
+            dataList[i][7] = String.valueOf(orderImages.get(i).getUserId());
+            dataList[i][8] = String.valueOf(orderImages.get(i).getStoreId());
+            dataList[i][9] = String.valueOf(orderImages.get(i).getOriginalImage());
+            dataList[i][10] = String.valueOf(orderImages.get(i).getOriginalSize());
+            dataList[i][11] = String.valueOf(orderImages.get(i).getFinishedImage());
+            dataList[i][12] = String.valueOf(orderImages.get(i).getFinishedSize());
+            dataList[i][13] = String.valueOf(orderImages.get(i).getDealUser());
+            dataList[i][14] = String.valueOf(orderImages.get(i).getStatusFlag());
+            dataList[i][15] = String.valueOf(orderImages.get(i).getRemark());
+        }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+                columnNumber, columnWidth, columnName, dataList, response);
+
+
+    }
+
+
+    /**
+     * <p>返修。</p>
+     */
+    @RequestMapping(value = "/repair", method = RequestMethod.POST)
+    @ResponseBody
+    @RequiresAuthentication
+    public Result repair(OrderImage record) {
+        boolean num = orderImageService.repair(record);
+        if (num) {
+            return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+     * 审核通过
+     *
+     * @param record 必填 id , orderId
+     * @return
+     */
+    @RequestMapping(value = "/pass", method = RequestMethod.POST)
+    @ResponseBody
+    @RequiresAuthentication
+    public Result pass(OrderImage record) {
+        boolean num = orderImageService.pass(record);
+        if (num) {
+            return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    @RequestMapping(value = "/passBatch", method = RequestMethod.POST)
+    @ResponseBody
+    @RequiresAuthentication
+    public Result passBatch(OrderImage record) {
+        boolean num = orderImageService.passBatch(record);
+        if (num) {
+            return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    @RequestMapping(value = "/repairBatch", method = RequestMethod.POST)
+    @ResponseBody
+    @RequiresAuthentication
+    public Result repairBatch(OrderImage record) {
+        boolean num = orderImageService.repairBatch(record);
+        if (num) {
+            return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    @RequestMapping(value = "/uploadFileForOrder")
+    @ResponseBody
+    public Result uploadFile(HttpServletRequest request, String storeId, String orderId, String userId, String typeFlag) {
+
+
+        CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
+        if (multipartResolver.isMultipart(request)) {
+            MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
+            Iterator it = multiRequest.getFileNames();
+            List<OrderImage> paths = new ArrayList<>();
+            while (it.hasNext()) {
+                MultipartFile file = multiRequest.getFile(it.next().toString());
+                if (file != null) {
+                    try {
+
+
+                        String originalFilename = file.getOriginalFilename();
+
+                        //不带后缀名的文件名
+                        String singleFileName = originalFilename.substring(0, originalFilename.lastIndexOf("."));
+
+                        OrderImage orderImage = new OrderImage();
+                        orderImage.setOrderId(orderId);
+                        //orderImage.setImageName(originalFilename);
+                        orderImage.setImageName(singleFileName);
+                        orderImage = orderImageService.getOrderImage(orderImage);
+
+                        if (orderImage == null) {
+                            if ("finished".equals(typeFlag)) {
+                                return new Result(false, originalFilename + "不在原图中");
+                            }
+                        } else {
+                            if ("finished".equals(typeFlag) && orderImage.getStatusFlag() == 1) {
+                                return new Result(false, originalFilename + "已经审核通过");
+                            }
+                        }
+
+                        String fileType = originalFilename.split("[.]")[originalFilename.split("[.]").length - 1];
+
+                        long srcSize = file.getSize();
+
+
+                        String uploadPath = storeId + "/" + orderId + "/" + typeFlag + "/" + originalFilename;
+
+
+                        String path = OSSFileService.upload(file.getInputStream(), uploadPath);
+
+                        ImageUploadLog imageUploadLog = new ImageUploadLog();
+
+                        imageUploadLog.setStoreId(storeId);
+                        imageUploadLog.setOrderId(orderId);
+                        imageUploadLog.setTypeFlag(typeFlag);
+                        imageUploadLog.setUserId(userId);
+                        //imageUploadLog.setImageName(originalFilename);
+                        imageUploadLog.setImageName(singleFileName);
+                        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;
+
+
+                            InputStream in = file.getInputStream();
+
+                            String srcName = "";
+
+                            if ("CR2".equalsIgnoreCase(fileType) || "NEF".equalsIgnoreCase(fileType) || "RAW".equalsIgnoreCase(fileType)) {
+
+                                try {
+
+                                    srcName = storeId + "_" + orderId + "_" + typeFlag + "_" + MbappUtil.create_nonce_str() + "." + fileType;
+                                    File src = new File("/var/www/tmp/" + srcName);
+                                    FileUtils.copyInputStreamToFile(file.getInputStream(), src);
+
+                                    try {
+
+                                        ProcessBuilder builder = new ProcessBuilder("dcraw", "-v", "-e", "-c", Paths.get("/var", "www", "tmp", srcName).toAbsolutePath().toString());
+                                        builder.redirectOutput(new File(Paths.get("/var", "www", "tmp", srcName + ".jpg").toAbsolutePath().toString()));
+                                        Process p = builder.start();
+                                        p.waitFor();
+                                        //System.out.println(p.waitFor());
+                                    } catch (IOException | InterruptedException e) {
+
+                                        String[] cmd = {"sh", "-c", "dcraw -v -e -c  /var/www/tmp/" + srcName + " > /var/www/tmp/" + srcName + ".jpg"};
+                                        //System.out.println("1xxxx:" + new Date());
+                                        Process p = Runtime.getRuntime().exec(cmd);
+                                        //System.out.println("2xxxx:" + new Date());
+                                        p.waitFor();
+                                        e.printStackTrace();
+                                    }
+
+
+//                                    //System.out.println("3xxxx:" + new Date());
+                                    in = new FileInputStream(new File("/var/www/tmp/" + srcName + ".jpg"));
+                                    //System.out.println("4xxxx:" + new Date());
+                                    fileType = "jpg";
+                                    minPath += ".jpg";
+                                } catch (Exception e) {
+                                    e.printStackTrace();
+                                }
+
+                            }
+                            //System.out.println("5xxxx:" + new Date());
+                            String min = OSSFileService.upload(ImagesUtil.changeMinPhoto(
+                                    in,
+                                    fileType), minPath);
+
+
+                            imageUploadLog.setUrl(min);
+
+                            if (!"".equals(srcName)) {//清楚临时文件
+                                ImagesUtil.deleteFile("/var/www/tmp/" + srcName);
+                                ImagesUtil.deleteFile("/var/www/tmp/" + srcName + ".jpg");
+                            }
+
+                            in.close();
+                        }
+
+                        imageUploadLogService.createImageUploadLog(imageUploadLog);
+
+
+                        if (orderImage != null) {
+
+                            //orderImage.setImageName(originalFilename);
+                            orderImage.setImageName(singleFileName);
+
+                            if ("original".equals(typeFlag)) {
+                                orderImage.setOriginalSize(imageUploadLog.getImageSize());
+                                orderImage.setOriginalImage(imageUploadLog.getUrl());
+                                orderImage.setOriginalArtwork(imageUploadLog.getArtworkUrl());
+
+                            } else if ("finished".equals(typeFlag)) {
+
+                                if (orderImage.getStatusFlag() != 1) {
+                                    orderImage.setStatusFlag(0);
+                                }
+
+                                orderImage.setFinishedSize(imageUploadLog.getImageSize());
+                                orderImage.setFinishedImage(imageUploadLog.getUrl());
+                                orderImage.setFinishedArtwork(imageUploadLog.getArtworkUrl());
+                            }
+
+                            orderImageService.updateOrderImage(orderImage);
+
+                        } else {
+                            if ("original".equals(typeFlag)) {
+
+                                OrderImage param = new OrderImage();
+                                param.setOrderId(orderId);
+                                param = orderImageService.getOrderImageTotalNum(param);
+
+                                if (param != null) {
+                                    if (param.getTotalNum() >= param.getOrderNum()) {
+                                        return new Result(false, "订单上传" + param.getTotalNum() + "张图片。不能再传了");
+                                    }
+                                }
+
+                                orderImage = new OrderImage();
+
+                                orderImage.setOrderId(orderId);
+                                orderImage.setUserId(userId);
+                                orderImage.setStoreId(storeId);
+                                //orderImage.setImageName(originalFilename);
+                                orderImage.setImageName(singleFileName);
+
+
+                                orderImage.setOriginalSize(imageUploadLog.getImageSize());
+                                orderImage.setOriginalImage(imageUploadLog.getUrl());
+                                orderImage.setOriginalArtwork(imageUploadLog.getArtworkUrl());
+
+
+                                orderImageService.createOrderImage(orderImage);
+                            }
+
+                        }
+
+                        paths.add(orderImage);
+
+
+                    } catch (IOException e) {
+                        logger.error("上传订单图片失败", e);
+                        return new Result(false, "上传失败");
+                    }
+                }
+            }
+            return new Result(true, paths);
+        }
+        return new Result(false, "上传失败");
+    }
+
+
+    /**
+     * 清空未使用图片
+     *
+     * @param orderId
+     * @return
+     */
+    @RequestMapping(value = "/delOssImage", method = RequestMethod.POST)
+    @ResponseBody
+    public Result delOssImage(@RequestParam(required = true, value = "orderId") String orderId) {
+
+
+        List<ImageUploadLog> imageUploadLogs = imageUploadLogService.queryDelOssImage(orderId);
+
+        for (ImageUploadLog imageUploadLog : imageUploadLogs) {
+
+            try {
+
+                if (StringUtils.isNotEmpty(imageUploadLog.getUrl())) {
+                    String artwork = imageUploadLog.getUrl().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
+                    OSSFileService.deleteObject(artwork);
+                }
+            } catch (Exception e) {
+                logger.error("删除图片异常", e);
+            }
+
+
+        }
+
+
+        return new Result(true, "删除成功");
+    }
+
+
+    /**
+     * 批量更新成片
+     *
+     * @param orderId
+     * @param imageIds
+     * @return
+     */
+    @RequestMapping(value = "/updateFinishedImages", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateFinishedImages(@RequestParam(required = true, value = "orderId") String orderId, @RequestParam(required = true, value = "imageIds") String imageIds) {
+        ImageUploadLog record = new ImageUploadLog();
+        record.setOrderId(orderId);
+        record.setIdStr(imageIds);
+        List<ImageUploadLog> imageUploadLogs = imageUploadLogService.getImageUploadLogList(record);
+
+        for (ImageUploadLog imageUploadLog : imageUploadLogs) {
+            OrderImage orderImage = new OrderImage();
+
+            orderImage.setOrderId(orderId);
+            orderImage.setImageName(imageUploadLog.getImageName());
+            orderImage = orderImageService.getOrderImage(orderImage);
+
+            if (orderImage != null) {
+
+                if (orderImage.getStatusFlag() != 1) {
+
+                    orderImage.setStatusFlag(0);
+                    orderImage.setFinishedImage(imageUploadLog.getUrl());
+                    orderImage.setFinishedSize(imageUploadLog.getImageSize());
+                    orderImage.setFinishedArtwork(imageUploadLog.getArtworkUrl());
+                    orderImageService.updateOrderImage(orderImage);
+                }
+
+            }
+
+
+        }
+
+        return new Result(true, "保存成功");
+    }
+
+    /**
+     * 获取店铺存储情况
+     *
+     * @param record
+     * @return
+     */
+    @RequestMapping(value = "/getMemorySize", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getMemorySize(OrderImage record) {
+        OrderImage data = orderImageService.getMemorySize(record);
+        return new Result(true, data);
+    }
+
+    /**
+     * 统计存储空间
+     *
+     * @param record
+     * @return
+     */
+    @RequestMapping(value = "/countMemorySize", method = RequestMethod.GET)
+    @ResponseBody
+    public Result countMemorySize(OrderImage record) {
+        List<OrderImage> pp = orderImageService.countMemorySize(record);
+        return new Result(true, pp);
+    }
+
+
+    /**
+     * 获取订单数量
+     *
+     * @param record
+     * @return
+     */
+    @RequestMapping(value = "/getTotalNum", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getTotalNum(OrderImage record) {
+        OrderImage data = orderImageService.getOrderImageTotalNum(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+     * 下载压缩包
+     *
+     * @param orderId  订单ID
+     * @param typeFlag 类型  original / finished
+     * @param code     编码 下载标识
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/zipFilesDown", method = RequestMethod.GET)
+    @ResponseBody
+    public void zipFilesDown(@RequestParam(required = true, value = "orderId") String orderId,
+                             @RequestParam(required = true, value = "typeFlag") String typeFlag,
+                             @RequestParam(required = true, value = "code") String code,
+                             HttpServletRequest request, HttpServletResponse response) {
+
+        try {
+            OrderImage record = new OrderImage();
+            record.setOrderId(orderId);
+            List<OrderImage> orderImageList = orderImageService.getOrderImageList(record);
+            if (orderImageList.size() > 0) {
+                UserOrderDetail userOrderDetail = userOrderDetailService.getUserOrderDetailById(orderId);
+                if (userOrderDetail != null) {
+
+                    List<String> keyList = new ArrayList<>();
+                    String zipName = userOrderDetail.getOrderCode() + "_" + typeFlag;
+
+                    for (OrderImage orderImage : orderImageList) {
+
+
+                        if ("original".equals(typeFlag)) {
+                            if (StringUtils.isNotEmpty(orderImage.getOriginalImage())) {
+                                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())) {
+
+                                if (StringUtils.isNotEmpty(orderImage.getFinishedArtwork())) {
+                                    String imageName = orderImage.getFinishedArtwork().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
+                                    keyList.add(imageName);
+                                } else {
+
+                                    String imageName = orderImage.getFinishedImage().replace(PropertiesFileLoader.getProperties("aliImageSever") + "/", "");
+                                    keyList.add(imageName);
+                                }
+
+                                //更新成已下载
+                                orderImage.setDownloadFlag("Y");
+                                orderImageService.updateOrderImage(orderImage);
+                            }
+                        }
+                    }
+
+                    if (keyList.size() > 0) {
+                        //OSSFileService.zipFilesDown(keyList, zipName, request, response);
+
+                        String accessKeyId = PropertiesFileLoader.getDefaultProperties("aliossid", "");
+                        String accessKeySecret = PropertiesFileLoader.getDefaultProperties("aliosskey", "");
+                        String endpoint = "Y".equals(PropertiesFileLoader.getDefaultProperties("alioss_internal_flag", "")) ?
+                                PropertiesFileLoader.getDefaultProperties("aliossendpoitinternal", "") :
+                                PropertiesFileLoader.getDefaultProperties("aliossendpoit", "");
+                        String bucketName = PropertiesFileLoader.getDefaultProperties("alibucketname", "");
+
+                        // endpoint以杭州为例,其它region请按实际情况填写
+                        // 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建
+                        try {
+                            // 初始化
+                            OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
+                            String fileName = zipName + ".zip";
+                            // 创建临时文件
+                            File zipFile = File.createTempFile(zipName, ".zip");
+                            FileOutputStream f = new FileOutputStream(zipFile);
+                            /**
+                             * 作用是为任何OutputStream产生校验和
+                             * 第一个参数是制定产生校验和的输出流,第二个参数是指定Checksum的类型 (Adler32(较快)和CRC32两种)
+                             */
+                            CheckedOutputStream csum = new CheckedOutputStream(f, new Adler32());
+                            // 用于将数据压缩成Zip文件格式
+                            ZipOutputStream zos = new ZipOutputStream(csum);
+
+                            for (int i = 0; i < keyList.size(); i++) {
+                                try {
+                                    String ossfile = keyList.get(i);
+
+                                    ImageDownLog imageDownLog = new ImageDownLog();
+
+                                    imageDownLog.setOrderId(orderId);
+                                    imageDownLog.setTypeFlag(typeFlag);
+                                    imageDownLog.setImageCode(code);
+                                    imageDownLog.setImageName(ossfile.split("/")[ossfile.split("/").length - 1]);
+                                    imageDownLog.setTotalNum(keyList.size());
+                                    imageDownLog.setNowNum(i + 1);
+
+                                    imageDownLogService.createImageDownLog(imageDownLog);
+
+
+                                    // 获取Object,返回结果为OSSObject对象
+                                    OSSObject ossObject = ossClient.getObject(bucketName, ossfile);
+
+                                    imageDownLog.setImageSize(BigDecimal.valueOf(ossObject.getObjectMetadata().getContentLength()));
+
+                                    // 读去Object内容  返回
+                                    InputStream inputStream = ossObject.getObjectContent();
+                                    // 对于每一个要被存放到压缩包的文件,都必须调用ZipOutputStream对象的putNextEntry()方法,确保压缩包里面文件不同名
+
+                                    zos.putNextEntry(new ZipEntry(ossfile.split("/")[ossfile.split("/").length - 1]));
+                                    int bytesRead = 0;
+                                    // 向压缩文件中输出数据
+                                    while ((bytesRead = inputStream.read()) != -1) {
+                                        zos.write(bytesRead);
+                                    }
+                                    inputStream.close();
+                                    zos.closeEntry(); // 当前文件写完,定位为写入下一条项目
+
+
+                                    imageDownLog.setStatusFlag(1);
+
+                                    imageDownLogService.updateImageDownLog(imageDownLog);
+
+
+                                } catch (Exception e) {
+                                    logger.error("ossfile, 压缩失败", e);
+                                }
+                            }
+                            zos.close();
+                            String header = request.getHeader("User-Agent").toUpperCase();
+                            if (header.contains("MSIE") || header.contains("TRIDENT") || header.contains("EDGE")) {
+                                fileName = URLEncoder.encode(fileName, "utf-8");
+                                fileName = fileName.replace("+", "%20");    //IE下载文件名空格变+号问题
+                            } else {
+                                fileName = new String(fileName.getBytes(), "ISO8859-1");
+                            }
+                            response.reset();
+                            response.setContentType("text/plain");
+                            response.setContentType("application/octet-stream; charset=utf-8");
+                            response.setHeader("Location", fileName);
+                            response.setHeader("Cache-Control", "max-age=0");
+                            response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
+
+                            FileInputStream fis = new FileInputStream(zipFile);
+                            BufferedInputStream buff = new BufferedInputStream(fis);
+                            BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
+                            byte[] car = new byte[1024];
+                            int l = 0;
+                            while (l < zipFile.length()) {
+                                int j = buff.read(car, 0, 1024);
+                                l += j;
+                                out.write(car, 0, j);
+                            }
+                            // 关闭流
+                            fis.close();
+                            buff.close();
+                            out.close();
+
+                            ossClient.shutdown();
+                            // 删除临时文件
+                            zipFile.delete();
+                        } catch (Exception e) {
+                            logger.error("压缩失败", e);
+                        }
+
+                    }
+
+
+                }
+
+            }
+
+
+        } catch (Exception e) {
+            logger.error("zipFilesDown,批量下载异常", e);
+        }
+
+    }
+
+
+
+    /**
+     * 单张下载
+     *
+     * @param id       orderImage id
+     * @param typeFlag 类型  original / finished
+     * @param request
+     * @param response
+     */
+    @RequestMapping(value = "/singleFileDown", method = RequestMethod.GET)
+    @ResponseBody
+    public void singleFileDown(@RequestParam(required = true, value = "id") String id,
+                               @RequestParam(required = true, value = "typeFlag") String typeFlag,
+                               HttpServletRequest request, HttpServletResponse response) {
+
+        try {
+            OrderImage orderImage = orderImageService.getOrderImageById(id);
+
+            if (orderImage != null) {
+                if ("original".equals(typeFlag)) {
+                    if (StringUtils.isNotEmpty(orderImage.getOriginalImage())) {
+                        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())) {
+                        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);
+                        }
+
+                        //更新成已下载
+                        orderImage.setDownloadFlag("Y");
+                        orderImageService.updateOrderImage(orderImage);
+                    }
+                }
+            }
+
+
+        } catch (Exception e) {
+            logger.error("singleFileDown,单张下载异常", e);
+        }
+
+    }
+
+
+    @RequestMapping(value = "/autoCleanOrderImage", method = RequestMethod.GET)
+    @ResponseBody
+    public Result autoCleanOrderImage() {
+
+        return orderImageService.autoCleanOrderImage(null);
+    }
+
+    @RequestMapping(value = "/handCleanOrderImage", method = RequestMethod.POST)
+    @ResponseBody
+    @RequiresAuthentication
+    public Result handCleanOrderImage(OrderImage record) {
+
+        return orderImageService.autoCleanOrderImage(record);
+    }
+
+    /**
+     * 导出注释
+     *
+     * @param request
+     * @param response
+     * @param record
+     * @throws Exception
+     */
+    @RequestMapping(value = "/exportRemark", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportRemark(HttpServletRequest request, HttpServletResponse response, OrderImage record) throws Exception {
+
+        List<OrderImage> orderImages = orderImageService.getOrderImageList(record);
+
+
+        String sheetName = "图片备注";
+        String titleName = "订单图片数据表";
+        String fileName = "订单图片表";
+        int columnNumber = 2;
+        int[] columnWidth = {30, 30};
+        String[] columnName = {"图片", "备注"};
+        String[][] dataList = new String[orderImages.size()][2];
+
+        for (int i = 0; i < orderImages.size(); i++) {
+
+            dataList[i][0] = String.valueOf(orderImages.get(i).getImageName());
+            dataList[i][1] = StringUtils.isNotEmpty(orderImages.get(i).getRemark()) ? orderImages.get(i).getRemark() : "";
+        }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+                columnNumber, columnWidth, columnName, dataList, response);
+
+
+    }
+
+
+    @RequestMapping(value = "/testAsync", method = RequestMethod.GET)
+    @ResponseBody
+    public Result testAsync(@RequestParam(required = true, value = "testNum") int testNum) {
+
+
+        orderImageService.testAsync(testNum);
+        return new Result(true, "调用嘻嘻嘻");
+    }
+
+
+}
+

+ 167 - 0
src/main/java/com/izouma/awesomeadmin/web/OrderRepairController.java

@@ -0,0 +1,167 @@
+package com.izouma.awesomeadmin.web;
+
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.OrderRepair;
+import com.izouma.awesomeadmin.service.OrderRepairService;
+import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import org.apache.shiro.authz.annotation.RequiresAuthentication;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+*  controller类
+*/
+@Controller
+@RequestMapping("/orderRepair")
+@RequiresAuthentication
+public class OrderRepairController {
+
+    @Autowired
+    private OrderRepairService orderRepairService;
+
+    /**
+    * <p>获取全部记录。</p>
+    */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(OrderRepair record) {
+        List<OrderRepair> pp = orderRepairService.getOrderRepairList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+    * <p>根据Id。</p>
+    */
+    @RequestMapping(value = "/getOrderRepair", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOrderRepair(@RequestParam(required = false, value = "id") String id) {
+        OrderRepair data = orderRepairService.getOrderRepairById(id);
+        return new Result(true, data);
+    }
+
+    /**
+    * <p>根据条件获取。</p>
+    */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(OrderRepair record) {
+        OrderRepair data = orderRepairService.getOrderRepair(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+    * <p>分页查询。</p>
+    */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, OrderRepair record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<OrderRepair> pp =orderRepairService.getOrderRepairByPage(page, record);
+
+        result.put(AppConstant.PAGE, page);
+        result.put("pp", pp);
+        return new Result(true, result);
+    }
+
+
+    /**
+    * <p>保存。</p>
+    */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ResponseBody
+    public Result save(OrderRepair record) {
+        boolean num = orderRepairService.createOrderRepair(record);
+        if (num) {
+        return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>更新信息。</p>
+    */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateOrderRepair(OrderRepair record) {
+        boolean num = orderRepairService.updateOrderRepair(record);
+        if (num) {
+        return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+    * <p>删除。</p>
+    */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteOrderRepair(@RequestParam(required = true, value = "id") String id) {
+
+        boolean num = orderRepairService.deleteOrderRepair(id);
+        if (num) {
+        return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+    /**
+    * 导出Excel
+    * @param request
+    * @param response
+    * @param record
+    * @throws Exception
+    */
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportExcel(HttpServletRequest request, HttpServletResponse response, OrderRepair record) throws Exception {
+
+    List<OrderRepair> orderRepairs = orderRepairService.getOrderRepairList(record);
+
+
+        String sheetName = "order_repair";
+        String titleName = "订单返修数据表";
+        String fileName = "订单返修表";
+        int columnNumber = 12;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "用户" ,   "订单" ,   "店铺" ,   "状态" ,   "备注" ,   "返修类型"  };
+        String[][] dataList = new String[orderRepairs.size()][12];
+
+        for (int i = 0; i < orderRepairs.size(); i++) {
+
+                        dataList[i][0] = String.valueOf(orderRepairs.get(i).getId());
+                        dataList[i][1] = String.valueOf(orderRepairs.get(i).getDelFlag());
+                        dataList[i][2] = String.valueOf(orderRepairs.get(i).getUpdateTime());
+                        dataList[i][3] = String.valueOf(orderRepairs.get(i).getUpdateUser());
+                        dataList[i][4] = String.valueOf(orderRepairs.get(i).getCreateTime());
+                        dataList[i][5] = String.valueOf(orderRepairs.get(i).getCreateUser());
+                        dataList[i][6] = String.valueOf(orderRepairs.get(i).getUserId());
+                        dataList[i][7] = String.valueOf(orderRepairs.get(i).getOrderId());
+                        dataList[i][8] = String.valueOf(orderRepairs.get(i).getStoreId());
+                        dataList[i][9] = String.valueOf(orderRepairs.get(i).getStatusFlag());
+                        dataList[i][10] = String.valueOf(orderRepairs.get(i).getRemark());
+                        dataList[i][11] = String.valueOf(orderRepairs.get(i).getTypeFlag());
+                    }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+        columnNumber, columnWidth, columnName, dataList, response);
+
+
+        }
+    }
+

+ 211 - 0
src/main/java/com/izouma/awesomeadmin/web/OrderRepairDetailController.java

@@ -0,0 +1,211 @@
+package com.izouma.awesomeadmin.web;
+
+import com.izouma.awesomeadmin.constant.AppConstant;
+import com.izouma.awesomeadmin.dto.Page;
+import com.izouma.awesomeadmin.dto.Result;
+import com.izouma.awesomeadmin.model.OrderRepairDetail;
+import com.izouma.awesomeadmin.service.OrderRepairDetailService;
+import com.izouma.awesomeadmin.util.ExportExcelUtil;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresAuthentication;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * controller类
+ */
+@Controller
+@RequestMapping("/orderRepairDetail")
+@RequiresAuthentication
+public class OrderRepairDetailController {
+
+    @Autowired
+    private OrderRepairDetailService orderRepairDetailService;
+
+
+    /**
+     * <p>获取全部记录。</p>
+     */
+    @RequiresAuthentication
+    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @ResponseBody
+    public Result all(OrderRepairDetail record) {
+        List<OrderRepairDetail> pp = orderRepairDetailService.getOrderRepairDetailList(record);
+        return new Result(true, pp);
+    }
+
+    /**
+     * <p>根据Id。</p>
+     */
+    @RequestMapping(value = "/getOrderRepairDetail", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOrderRepairDetail(@RequestParam(required = false, value = "id") String id) {
+        OrderRepairDetail data = orderRepairDetailService.getOrderRepairDetailById(id);
+        return new Result(true, data);
+    }
+
+    /**
+     * <p>根据条件获取。</p>
+     */
+    @RequestMapping(value = "/getOne", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getOne(OrderRepairDetail record) {
+        OrderRepairDetail data = orderRepairDetailService.getOrderRepairDetail(record);
+        return new Result(true, data);
+    }
+
+
+    /**
+     * <p>分页查询。</p>
+     */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    @ResponseBody
+    public Result page(Page page, OrderRepairDetail record) {
+        Map<String, Object> result = new HashMap<>();
+
+        List<OrderRepairDetail> pp = orderRepairDetailService.getOrderRepairDetailByPage(page, record);
+
+        result.put(AppConstant.PAGE, page);
+        result.put("pp", pp);
+        return new Result(true, result);
+    }
+
+
+    /**
+     * <p>保存。</p>
+     */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ResponseBody
+    public Result save(OrderRepairDetail record) {
+        boolean num = orderRepairDetailService.createOrderRepairDetail(record);
+        if (num) {
+            return new Result(true, record.getId());
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+     * <p>更新信息。</p>
+     */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ResponseBody
+    public Result updateOrderRepairDetail(OrderRepairDetail record) {
+        boolean num = orderRepairDetailService.updateOrderRepairDetail(record);
+        if (num) {
+            return new Result(true, "保存成功");
+        }
+        return new Result(false, "保存异常");
+    }
+
+    /**
+     * <p>删除。</p>
+     */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result deleteOrderRepairDetail(@RequestParam(required = true, value = "id") String id) {
+
+        boolean num = orderRepairDetailService.deleteOrderRepairDetail(id);
+        if (num) {
+            return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+    /**
+     * 导出Excel
+     *
+     * @param request
+     * @param response
+     * @param record
+     * @throws Exception
+     */
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportExcel(HttpServletRequest request, HttpServletResponse response, OrderRepairDetail record) throws Exception {
+
+        List<OrderRepairDetail> orderRepairDetails = orderRepairDetailService.getOrderRepairDetailList(record);
+
+
+        String sheetName = "order_repair_detail";
+        String titleName = "订单返修详情数据表";
+        String fileName = "订单返修详情表";
+        int columnNumber = 9;
+        int[] columnWidth = {20, 20, 20, 20, 20, 20, 20, 20, 20};
+        String[] columnName = {"", "删除标识", "更新时间", "更新人", "创建时间", "创建人", "返修ID", "图片ID", "备注"};
+        String[][] dataList = new String[orderRepairDetails.size()][9];
+
+        for (int i = 0; i < orderRepairDetails.size(); i++) {
+
+            dataList[i][0] = String.valueOf(orderRepairDetails.get(i).getId());
+            dataList[i][1] = String.valueOf(orderRepairDetails.get(i).getDelFlag());
+            dataList[i][2] = String.valueOf(orderRepairDetails.get(i).getUpdateTime());
+            dataList[i][3] = String.valueOf(orderRepairDetails.get(i).getUpdateUser());
+            dataList[i][4] = String.valueOf(orderRepairDetails.get(i).getCreateTime());
+            dataList[i][5] = String.valueOf(orderRepairDetails.get(i).getCreateUser());
+            dataList[i][6] = String.valueOf(orderRepairDetails.get(i).getRepairId());
+            dataList[i][7] = String.valueOf(orderRepairDetails.get(i).getImageId());
+            dataList[i][8] = String.valueOf(orderRepairDetails.get(i).getRemark());
+        }
+
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+                columnNumber, columnWidth, columnName, dataList, response);
+
+
+    }
+
+
+    /**
+     * 导出备注Excel
+     *
+     * @param request
+     * @param response
+     * @param record
+     * @throws Exception
+     */
+    @RequestMapping(value = "/exportRemark", method = RequestMethod.GET)
+    @ResponseBody
+    public void exportRemark(HttpServletRequest request, HttpServletResponse response, OrderRepairDetail record) throws Exception {
+
+
+        List<OrderRepairDetail> orderRepairDetails = new ArrayList<>();
+        if (StringUtils.isNotBlank(record.getRepairId()) && !"undefined".equals(record.getRepairId())) {
+
+            orderRepairDetails = orderRepairDetailService.getOrderRepairDetailExportRemark(record);
+        }
+
+
+        String sheetName = "返修备注";
+        String titleName = "订单返修详情数据表";
+        String fileName = "订单返修详情表";
+        int columnNumber = 2;
+        int[] columnWidth = {30, 30};
+        String[] columnName = {"图片名称", "备注"};
+        int totalNum = orderRepairDetails.size();
+        String[][] dataList = new String[totalNum][2];
+
+        for (int i = 0; i < orderRepairDetails.size(); i++) {
+
+            dataList[i][0] = String.valueOf(orderRepairDetails.get(i).getImageName());
+            dataList[i][1] = StringUtils.isNotEmpty(orderRepairDetails.get(i).getRemark()) ? String.valueOf(orderRepairDetails.get(i).getRemark()) : "";
+        }
+
+        ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
+                columnNumber, columnWidth, columnName, dataList, response);
+
+
+    }
+
+}
+

+ 125 - 69
src/main/vue/src/pages/ActivityInfo.vue

@@ -5,15 +5,22 @@
                 <el-input v-model="formData.name" :disabled="'name'==subColumn"></el-input>
             </el-form-item>
             <el-form-item prop="typeId" label="活动类型">
-                <el-input v-model="formData.typeId" :disabled="'typeId'==subColumn"></el-input>
+                <el-select v-model="formData.typeId" :disabled="'typeId'==subColumn" filterable placeholder="请选择" size="small">
+                    <el-option v-for="item in activityTypes" :key="item.id" :label="item.typeName" :value="item.id">
+                    </el-option>
+                </el-select>
+                <el-alert
+                          :title="showActivityTypeTitle"
+                          type="warning">
+                </el-alert>
             </el-form-item>
             <el-form-item prop="minValue" label="最小值">
                 <el-input type="number" v-model="formData.minValue" :disabled="'minValue'==subColumn"></el-input>
             </el-form-item>
-            <el-form-item prop="maxValue" label="最大值">
+            <el-form-item prop="maxValue" label="最大值" v-if="formData.typeId!=1">
                 <el-input type="number" v-model="formData.maxValue" :disabled="'maxValue'==subColumn"></el-input>
             </el-form-item>
-            <el-form-item prop="ratio" label="比率">
+            <el-form-item prop="ratio" label="比率" v-if="formData.typeId!=1">
                 <el-input v-model="formData.ratio" :disabled="'ratio'==subColumn"></el-input>
             </el-form-item>
             <el-form-item prop="beginTime" label="开始时间">
@@ -35,7 +42,7 @@
             <el-form-item prop="remark" label="备注">
                 <el-input v-model="formData.remark" :disabled="'remark'==subColumn"></el-input>
             </el-form-item>
-            <el-form-item prop="limitNum" label="限制总数">
+            <el-form-item prop="limitNum" label="限制总数" v-if="formData.typeId!=1">
                 <el-input type="number" v-model="formData.limitNum" :disabled="'limitNum'==subColumn"></el-input>
             </el-form-item>
             <el-form-item prop="useFlag" label="可用">
@@ -55,56 +62,93 @@
     </div>
 </template>
 <script>
-import formValidator from '../formValidator'
+import formValidator from '../formValidator';
 
 export default {
     created() {
         if (this.$route.query.column) {
             this.subColumn = this.$route.query.column.split(',')[1];
             this.subValue = this.$route.query.column.split(',')[0];
+
+            if ('typeId' == this.subColumn) {
+                this.subValue = Number(this.subValue);
+            }
         }
 
         if (this.$route.query.id) {
-            this.$http.get({
-                url: '/activityInfo/getOne',
-                data: {
-                    id: this.$route.query.id
-                }
-            }).then(res => {
-                if (res.success) {
-
-
-                    this.formData = res.data;
-
-
+            this.$http
+                .get({
+                    url: '/activityInfo/getOne',
+                    data: {
+                        id: this.$route.query.id,
+                    },
+                })
+                .then(res => {
+                    if (res.success) {
+                        this.formData = res.data;
 
-                    if (this.$route.query.column) {
-                        this.formData[this.subColumn] = this.subValue;
+                        if (this.$route.query.column) {
+                            this.formData[this.subColumn] = this.subValue;
+                        }
                     }
-                }
-            })
+                });
         } else {
             if (this.$route.query.column) {
                 this.formData[this.subColumn] = this.subValue;
             }
         }
 
+        this.$http
+            .get({
+                url: '/activityType/all',
+            })
+            .then(res => {
+                if (res.success) {
+                    this.activityTypes = res.data;
+                }
+            });
     },
     data() {
         return {
             saving: false,
             formData: {
-                useFlag: 'N'
-            },
-            rules: {
+                useFlag: 'N',
             },
+            rules: {},
             subColumn: '',
             subValue: '',
-        }
+            activityTypes: [],
+        };
+    },
+    computed: {
+        showActivityTypeTitle() {
+            var valueStr = '';
+            switch (this.formData.typeId) {
+                case 1:
+                    valueStr = '【最小值】为注册赠送积分数';
+                    break;
+                case 2:
+                    valueStr = '充值满【最小值】,赠送【比率】%的积分,最大赠送【限制总数】的积分';
+                    break;
+                case 3:
+                    valueStr = '每轮【最小值】人数,返充值金额【比率】%积分';
+                    break;
+                case 4:
+                    valueStr = '消费每满【最小值】,奖励【最小值】*【比率】%的积分';
+                    break;
+                case 5:
+                    valueStr = '消费满【最小值】,【比率】%可以积分抵扣';
+                    break;
+                case 6:
+                    valueStr = '消费满【最大值】,减【最小值】';
+                    break;
+            }
+            return valueStr;
+        },
     },
     methods: {
         onSave() {
-            this.$refs.form.validate((valid) => {
+            this.$refs.form.validate(valid => {
                 if (valid) {
                     this.submit();
                 } else {
@@ -113,57 +157,69 @@ export default {
             });
         },
         submit() {
-
-
             var data = JSON.parse(JSON.stringify(this.formData));
-            this.$http.post({
-                url: this.formData.id ? '/activityInfo/update' : '/activityInfo/save',
-                data: data
-            }).then(res => {
-                if (res.success) {
-                    this.$message.success('成功');
-                    this.$router.go(-1);
-                } else {
-                    this.$message.warning('失败')
-                }
-            });
+            this.$http
+                .post({
+                    url: this.formData.id
+                        ? '/activityInfo/update'
+                        : '/activityInfo/save',
+                    data: data,
+                })
+                .then(res => {
+                    if (res.success) {
+                        this.$message.success('成功');
+                        this.$router.go(-1);
+                    } else {
+                        this.$message.warning('失败');
+                    }
+                });
         },
         onDelete() {
-            this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
-                return this.$http.post({
-                    url: '/activityInfo/del',
-                    data: { id: this.formData.id }
-                })
-            }).then(() => {
-                this.$message.success('删除成功');
-                this.$router.go(-1);
-            }).catch(action => {
-                if (action === 'cancel') {
-                    this.$message.info('删除取消');
-                } else {
-                    this.$message.error('删除失败');
-                }
+            this.$alert('删除将无法恢复,确认要删除么?', '警告', {
+                type: 'error',
             })
+                .then(() => {
+                    return this.$http.post({
+                        url: '/activityInfo/del',
+                        data: { id: this.formData.id },
+                    });
+                })
+                .then(() => {
+                    this.$message.success('删除成功');
+                    this.$router.go(-1);
+                })
+                .catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                });
         },
         onJieSuan() {
-            this.$alert('结算将无法恢复,确认要结算么?', '警告', { type: 'error' }).then(() => {
-                return this.$http.post({
-                    url: '/activityInfo/zhongchoujiesuan',
-                    data: { id: this.formData.id }
-                })
-            }).then(() => {
-                this.$message.success('结算成功');
-                this.$router.go(-1);
-            }).catch(action => {
-                if (action === 'cancel') {
-                    this.$message.info('结算取消');
-                } else {
-                    this.$message.error('结算失败');
-                }
+            this.$alert('结算将无法恢复,确认要结算么?', '警告', {
+                type: 'error',
             })
+                .then(() => {
+                    return this.$http.post({
+                        url: '/activityInfo/zhongchoujiesuan',
+                        data: { id: this.formData.id },
+                    });
+                })
+                .then(() => {
+                    this.$message.success('结算成功');
+                    this.$router.go(-1);
+                })
+                .catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('结算取消');
+                    } else {
+                        this.$message.error('结算失败');
+                    }
+                });
         },
-    }
-}
+    },
+};
 </script>
 <style lang="less" scoped>
 </style>

+ 516 - 409
src/main/vue/src/pages/ActivityLogs.vue

@@ -1,7 +1,19 @@
 <template>
     <div>
         <div class="filters-container">
-        
+
+            <el-select v-model="typeId" size="small" clearable filterable placeholder="类型" @change="searchData" style="width:120px">
+                <el-option v-for="item in activityTypes" :key="item.id" :label="item.typeName" :value="item.id"></el-option>
+            </el-select>
+            <el-select v-model="activityId" size="small" clearable filterable placeholder="活动" @change="searchData" style="width:120px">
+                <el-option v-for="item in activityInfos" :key="item.id" :label="item.name" :value="item.id"></el-option>
+            </el-select>
+            <el-select v-model="storeId" size="small" clearable filterable placeholder="店铺" @change="searchData" style="width:120px">
+                <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" size="small" clearable filterable placeholder="用户" @change="searchData" style="width:120px">
+                <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>
@@ -19,7 +31,7 @@
             </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}}
@@ -28,113 +40,142 @@
             </el-dropdown>
         </div>
         <el-table
-                :data="tableData"
-                :height="tableHeight"
-                row-key="id"
-                ref="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('activityId')"
+                             prop="activityId"
+                             label="活动ID"
+                             min-width="50">
+            </el-table-column>
+            <el-table-column
+                             v-if="isColumnShow('activityId')"
+                             prop="activityInfo.name"
+                             label="活动"
+                             min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                             v-if="isColumnShow('typeId')"
+                             prop="typeId"
+                             label="类型"
+                             min-width="50">
+            </el-table-column>
+            <el-table-column
+                             v-if="isColumnShow('typeId')"
+                             prop="activityType.typeName"
+                             label="类型"
+                             min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                             v-if="isColumnShow('userId')"
+                             prop="userId"
+                             label="用户"
+                             min-width="70">
+            </el-table-column>
+            <el-table-column
+                             v-if="isColumnShow('userId')"
+                             prop="userInfo.username"
+                             label="用户"
+                             min-width="100">
+            </el-table-column>
+
             <el-table-column
-                    v-if="multipleMode"
-                    align="center"
-                    type="selection"
-                    width="50">
+                             v-if="isColumnShow('storeId')"
+                             prop="storeId"
+                             label="店铺"
+                             min-width="70">
             </el-table-column>
             <el-table-column
-                    type="index"
-                    min-width="50"
-                    align="center">
+                             v-if="isColumnShow('storeId')"
+                             prop="storeInfo.storeName"
+                             label="店铺"
+                             min-width="100">
             </el-table-column>
-                                                                                                                                                                                                    
-                                            <el-table-column
-                                v-if="isColumnShow('activityId')"
-                                prop="activityId"
-                                label="活动ID"
-                                min-width="100">
-                        </el-table-column>
-                                                                
-                                            <el-table-column
-                                v-if="isColumnShow('typeId')"
-                                prop="typeId"
-                                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('storeId')"
-                                prop="storeId"
-                                label="店铺"
-                                min-width="100">
-                        </el-table-column>
-                                                                
-                                            <el-table-column
-                                v-if="isColumnShow('productId')"
-                                prop="productId"
-                                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('totalPrice')"
-                                prop="totalPrice"
-                                label="总金额"
-                                min-width="100">
-                        </el-table-column>
-                                                                
-                                            <el-table-column
-                                v-if="isColumnShow('cash')"
-                                prop="cash"
-                                label="现金"
-                                min-width="100">
-                        </el-table-column>
-                                                                
-                                            <el-table-column
-                                v-if="isColumnShow('coin')"
-                                prop="coin"
-                                label="余额"
-                                min-width="100">
-                        </el-table-column>
-                                                                
-                                            <el-table-column
-                                v-if="isColumnShow('point')"
-                                prop="point"
-                                label="积分"
-                                min-width="100">
-                        </el-table-column>
-                                                                
-                                            <el-table-column
-                                v-if="isColumnShow('remark')"
-                                prop="remark"
-                                label="备注"
-                                min-width="100">
-                        </el-table-column>
-                                                                
-                                            <el-table-column
-                                v-if="isColumnShow('remark2')"
-                                prop="remark2"
-                                label="备注2"
-                                min-width="100">
-                        </el-table-column>
-                                                            <el-table-column
-                    label="操作"
-                    align="center"
-                    fixed="right"
-                    min-width="150"
-            >
+
+            <el-table-column
+                             v-if="isColumnShow('productId')"
+                             prop="productId"
+                             label="产品"
+                             min-width="70">
+            </el-table-column>
+            <el-table-column
+                             v-if="isColumnShow('productId')"
+                             prop="productInfo.title"
+                             label="产品名"
+                             min-width="70">
+            </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('totalPrice')"
+                             prop="totalPrice"
+                             label="总金额"
+                             min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                             v-if="isColumnShow('cash')"
+                             prop="cash"
+                             label="现金"
+                             min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                             v-if="isColumnShow('coin')"
+                             prop="coin"
+                             label="余额"
+                             min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                             v-if="isColumnShow('point')"
+                             prop="point"
+                             label="积分"
+                             min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                             v-if="isColumnShow('remark')"
+                             prop="remark"
+                             label="备注"
+                             min-width="100">
+            </el-table-column>
+
+            <el-table-column
+                             v-if="isColumnShow('remark2')"
+                             prop="remark2"
+                             label="备注2"
+                             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>
@@ -149,14 +190,14 @@
                 </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">
+                           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">
@@ -251,333 +292,399 @@
     </div>
 </template>
 <script>
-    import {mapState} from 'vuex'
-    import {format} from 'date-fns'
-    import zh from 'date-fns/locale/zh_cn'
-
-    export default {
-        created() {
+import { mapState } from 'vuex';
+import { format } from 'date-fns';
+import zh from 'date-fns/locale/zh_cn';
+
+export default {
+    created() {
+        this.getData();
+
+        this.$http
+            .get({
+                url: '/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;
+                }
+            });
+
+        this.$http
+            .get({
+                url: '/activityType/all',
+            })
+            .then(res => {
+                if (res.success) {
+                    this.activityTypes = res.data;
+                }
+            });
+
+        this.$http
+            .get({
+                url: '/activityInfo/all',
+            })
+            .then(res => {
+                if (res.success) {
+                    this.activityInfos = res.data;
+                }
+            });
+    },
+    data() {
+        return {
+            totalNumber: 0,
+            totalPage: 10,
+            currentPage: 1,
+            pageSize: 20,
+            tableData: [],
+            filter1: '',
+            filter2: '',
+            tableColumns: [
+                {
+                    label: '活动ID',
+                    value: 'activityId',
+                    show: true,
+                },
+                {
+                    label: '类型',
+                    value: 'typeId',
+                    show: true,
+                },
+                {
+                    label: '用户',
+                    value: 'userId',
+                    show: true,
+                },
+                {
+                    label: '店铺',
+                    value: 'storeId',
+                    show: true,
+                },
+                {
+                    label: '产品',
+                    value: 'productId',
+                    show: true,
+                },
+                {
+                    label: '订单',
+                    value: 'orderId',
+                    show: true,
+                },
+                {
+                    label: '总金额',
+                    value: 'totalPrice',
+                    show: true,
+                },
+                {
+                    label: '现金',
+                    value: 'cash',
+                    show: true,
+                },
+                {
+                    label: '余额',
+                    value: 'coin',
+                    show: true,
+                },
+                {
+                    label: '积分',
+                    value: 'point',
+                    show: true,
+                },
+                {
+                    label: '备注',
+                    value: 'remark',
+                    show: true,
+                },
+                {
+                    label: '备注2',
+                    value: 'remark2',
+                    show: true,
+                },
+            ],
+            multipleMode: false,
+            showAdvancedQueryDialog: false,
+            advancedQueryFields: [],
+            showTableSortDialog: false,
+            tableSortFields: [],
+            searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+            advancedQueryColumns: [
+                {
+                    label: '活动ID',
+                    value: 'activity_id',
+                },
+                {
+                    label: '类型',
+                    value: 'type_id',
+                },
+                {
+                    label: '用户',
+                    value: 'user_id',
+                },
+                {
+                    label: '店铺',
+                    value: 'store_id',
+                },
+                {
+                    label: '产品',
+                    value: 'product_id',
+                },
+                {
+                    label: '订单',
+                    value: 'order_id',
+                },
+                {
+                    label: '总金额',
+                    value: 'total_price',
+                },
+                {
+                    label: '现金',
+                    value: 'cash',
+                },
+                {
+                    label: '余额',
+                    value: 'coin',
+                },
+                {
+                    label: '积分',
+                    value: 'point',
+                },
+                {
+                    label: '备注',
+                    value: 'remark',
+                },
+                {
+                    label: '备注2',
+                    value: 'remark2',
+                },
+            ],
+            advancedQuerySearchKey: '',
+            orderByStr: '',
+            imgSrc: '',
+            imageDialogVisible: false,
+            storeId: '',
+            userId: '',
+            typeId: '',
+            activityId: '',
+            storeInfos: [],
+            userInfos: [],
+            activityTypes: [],
+            activityInfos: [],
+        };
+    },
+    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: '活动ID',
-                                value: 'activityId',
-                                show: true
-                            },
-                                                                                                {
-                                label: '类型',
-                                value: 'typeId',
-                                show: true
-                            },
-                                                                                                {
-                                label: '用户',
-                                value: 'userId',
-                                show: true
-                            },
-                                                                                                {
-                                label: '店铺',
-                                value: 'storeId',
-                                show: true
-                            },
-                                                                                                {
-                                label: '产品',
-                                value: 'productId',
-                                show: true
-                            },
-                                                                                                {
-                                label: '订单',
-                                value: 'orderId',
-                                show: true
-                            },
-                                                                                                {
-                                label: '总金额',
-                                value: 'totalPrice',
-                                show: true
-                            },
-                                                                                                {
-                                label: '现金',
-                                value: 'cash',
-                                show: true
-                            },
-                                                                                                {
-                                label: '余额',
-                                value: 'coin',
-                                show: true
-                            },
-                                                                                                {
-                                label: '积分',
-                                value: 'point',
-                                show: true
-                            },
-                                                                                                {
-                                label: '备注',
-                                value: 'remark',
-                                show: true
-                            },
-                                                                                                {
-                                label: '备注2',
-                                value: 'remark2',
-                                show: true
-                            },
-                                                            ],
-                multipleMode: false,
-                showAdvancedQueryDialog: false,
-                advancedQueryFields: [],
-                showTableSortDialog: false,
-                tableSortFields: [],
-                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
-                advancedQueryColumns: [
-                                                                                                                                                                                                                                                                                                                                                {
-                                label: '活动ID',
-                                value: 'activity_id'
-                            },
-                                                                                                {
-                                label: '类型',
-                                value: 'type_id'
-                            },
-                                                                                                {
-                                label: '用户',
-                                value: 'user_id'
-                            },
-                                                                                                {
-                                label: '店铺',
-                                value: 'store_id'
-                            },
-                                                                                                {
-                                label: '产品',
-                                value: 'product_id'
-                            },
-                                                                                                {
-                                label: '订单',
-                                value: 'order_id'
-                            },
-                                                                                                {
-                                label: '总金额',
-                                value: 'total_price'
-                            },
-                                                                                                {
-                                label: '现金',
-                                value: 'cash'
-                            },
-                                                                                                {
-                                label: '余额',
-                                value: 'coin'
-                            },
-                                                                                                {
-                                label: '积分',
-                                value: 'point'
-                            },
-                                                                                                {
-                                label: '备注',
-                                value: 'remark'
-                            },
-                                                                                                {
-                                label: '备注2',
-                                value: 'remark2'
-                            },
-                                                            ],
-                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,
+                storeId: this.storeId,
+                userId: this.userId,
+                typeId: this.typeId,
+                activityId: this.activityId,
+            };
+
+            if (this.$route.query.column) {
+                var tempColumn = this.$route.query.column;
+                data[tempColumn.split(',')[1]] = tempColumn.split(',')[0];
             }
-        },
-        methods: {
-            pageSizeChange(size) {
-                this.currentPage = 1;
-                this.pageSize = size;
-                this.getData();
-            },
-            currentPageChange(page) {
-                this.currentPage = page;
-                this.getData();
-            },
-            getData() {
-
-                var data = {
-                    currentPage: this.currentPage,
-                    pageNumber: this.pageSize,
-                    searchKey: this.filter1,
-                    advancedQuery: this.advancedQuerySearchKey,
-                    orderByStr: this.orderByStr,
-                }
 
-                if (this.$route.query.column) {
-                    var tempColumn = this.$route.query.column;
-                    data[tempColumn.split(',')[1]] = tempColumn.split(',')[0];
-                }
-
-                this.$http.get({
+            this.$http
+                .get({
                     url: '/activityLog/page',
-                    data: data
-                }).then(res => {
+                    data: data,
+                })
+                .then(res => {
                     if (res.success) {
                         this.totalNumber = res.data.page.totalNumber;
                         this.tableData = res.data.pp;
                     }
-                })
-            },
-            isColumnShow(column) {
-                var row = this.tableColumns.find(i => i.value === column);
-                return row ? row.show : false;
-            },
-            toggleMultipleMode(multipleMode) {
-                this.multipleMode = multipleMode;
-                if (!multipleMode) {
-                    this.$refs.table.clearSelection();
-                }
-            },
-            editRow(row) {
-                this.$router.push({
-                    path: '/activityLog',
-                    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: '',
+        },
+        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: '/activityLog',
+                query: {
+                    id: row.id,
+                    column: this.$route.query.column,
+                },
+            });
+        },
+        operation1() {
+            this.$notify({
+                title: '提示',
+                message: this.selection,
+            });
+        },
+        operation2() {
+            this.$message('操作2');
+        },
+        addField() {
+            this.advancedQueryFields.push({
+                link: 'AND',
+                name: '',
+                searchMethod: '=',
+                value: '',
+            });
+        },
+        removeField(i) {
+            if (this.advancedQueryFields.length > 0) {
+                this.advancedQueryFields.splice(i, 1);
+            }
+        },
+        advancedQuery() {
+            this.advancedQuerySearchKey = '';
+
+            if (this.advancedQueryFields.length > 0) {
+                var templist = [];
+
+                this.advancedQueryFields.forEach(item => {
+                    if (
+                        item.link &&
+                        item.name &&
+                        item.searchMethod &&
+                        item.value
+                    ) {
+                        var tempItem =
+                            item.link +
+                            '_,' +
+                            item.name +
+                            '_,' +
+                            item.searchMethod +
+                            '_,' +
+                            item.value;
+                        templist.push(tempItem);
+                    }
                 });
-            },
-            removeField(i) {
-                if (this.advancedQueryFields.length > 0) {
-                    this.advancedQueryFields.splice(i, 1);
-                }
-            },
-            advancedQuery() {
-
-                this.advancedQuerySearchKey = '';
 
-                if (this.advancedQueryFields.length > 0) {
-
-                    var templist = [];
+                if (templist.length > 0) {
+                    this.advancedQuerySearchKey = templist.join('_;');
+                }
+            }
 
-                    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.getData();
+            this.showAdvancedQueryDialog = false;
+        },
+        addSortField() {
+            this.tableSortFields.push({
+                name: '',
+                order: 'asc',
+            });
+        },
+        removeSortField(i) {
+            if (this.tableSortFields.length > 0) {
+                this.tableSortFields.splice(i, 1);
+            }
+        },
+        tableSortQuery() {
+            this.orderByStr = '';
 
-                    if (templist.length > 0) {
+            if (this.tableSortFields.length > 0) {
+                var templist = [];
 
-                        this.advancedQuerySearchKey = templist.join('_;');
+                this.tableSortFields.forEach(item => {
+                    if (item.name && item.order) {
+                        var tempItem = item.name + '_,' + item.order;
+                        templist.push(tempItem);
                     }
-                }
-
-                this.getData();
-                this.showAdvancedQueryDialog = false;
-            },
-            addSortField() {
-                this.tableSortFields.push({
-                    name: '',
-                    order: 'asc',
                 });
-            },
-            removeSortField(i) {
-                if (this.tableSortFields.length > 0) {
-                    this.tableSortFields.splice(i, 1);
-                }
-            },
-            tableSortQuery() {
-
-                this.orderByStr = '';
-
-                if (this.tableSortFields.length > 0) {
-
-                    var templist = [];
 
-                    this.tableSortFields.forEach(item => {
-                        if (item.name && item.order) {
-                            var tempItem = item.name + '_,' + item.order;
-                            templist.push(tempItem);
-                        }
-                    })
-
-                    if (templist.length > 0) {
-
-                        this.orderByStr = templist.join('_;');
-                    }
+                if (templist.length > 0) {
+                    this.orderByStr = templist.join('_;');
                 }
+            }
 
-                this.getData();
-                this.showTableSortDialog = false;
-            },
-            exportExcel() {
-                window.location.href = this.$baseUrl + "/activityLog/exportExcel?searchKey="
-                        + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey+"&orderByStr=" + this.orderByStr;
-            },
-            searchData() {
-                this.currentPage = 1;
-                this.getData();
-            },
-            deleteRow(row) {
-                this.$alert('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
+            this.getData();
+            this.showTableSortDialog = false;
+        },
+        exportExcel() {
+            window.location.href =
+                this.$baseUrl +
+                '/activityLog/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: '/activityLog/del',
-                        data: {id: row.id}
-                    })
-                }).then(() => {
+                        data: { id: row.id },
+                    });
+                })
+                .then(() => {
                     this.$message.success('删除成功');
                     this.getData();
-                }).catch(action => {
+                })
+                .catch(action => {
                     if (action === 'cancel') {
                         this.$message.info('删除取消');
                     } else {
                         this.$message.error('删除失败');
                     }
-                })
-            },
-            DateTimeFormatter(row, column, cellValue) {
-                if (cellValue) {
-                    return format(cellValue, 'YYYY/MM/DD HH:mm', {locale: zh})
-                }
-
-            },
-            DateFormatter(row, column, cellValue) {
-                if (cellValue) {
-                    return format(cellValue, 'YYYY/MM/DD', {locale: zh})
-                }
-
-            },
-            showImg(img) {
-                this.imgSrc = img;
-                this.imageDialogVisible = true;
-            },
-
-        }
-    }
+                });
+        },
+        DateTimeFormatter(row, column, cellValue) {
+            if (cellValue) {
+                return format(cellValue, 'YYYY/MM/DD HH:mm', { locale: zh });
+            }
+        },
+        DateFormatter(row, column, cellValue) {
+            if (cellValue) {
+                return format(cellValue, 'YYYY/MM/DD', { locale: zh });
+            }
+        },
+        showImg(img) {
+            this.imgSrc = img;
+            this.imageDialogVisible = true;
+        },
+    },
+};
 </script>
 <style lang="less" scoped>
-
 </style>