CmOrderArchiveMapper.xml 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.caimei.modules.archive.dao.CmOrderArchiveDao">
  4. <sql id="cmOrderArchiveColumns">
  5. a.id AS "id",
  6. a.archiveNo AS "archiveNo",
  7. a.title AS "title",
  8. a.shopOrderId AS "shopOrderId",
  9. a.shopName AS "shopName",
  10. a.clubName AS "clubName",
  11. a.tag AS "tag",
  12. a.rebateFlag AS "rebateFlag",
  13. a.remark AS "remark",
  14. a.addTime AS "addTime",
  15. so.orderID AS "orderId",
  16. co.status AS "orderStatus"
  17. </sql>
  18. <sql id="cmOrderArchiveJoins">
  19. left join cm_shop_order so on a.shopOrderId = so.shopOrderID
  20. left join cm_order co on so.orderID = co.orderID
  21. </sql>
  22. <select id="get" resultType="CmOrderArchive">
  23. SELECT
  24. <include refid="cmOrderArchiveColumns"/>
  25. FROM cm_order_archive a
  26. <include refid="cmOrderArchiveJoins"/>
  27. WHERE a.id = #{id}
  28. </select>
  29. <select id="findList" resultType="CmOrderArchive">
  30. SELECT
  31. <include refid="cmOrderArchiveColumns"/>,ifnull(b.fileNum,0) as fileNum
  32. FROM cm_order_archive a
  33. <include refid="cmOrderArchiveJoins"/>
  34. left join (
  35. select orderArchiveId, count(*) as fileNum from cm_order_archive_file
  36. group by orderArchiveId) b on a.id = b.orderArchiveId
  37. <where>
  38. <if test="archiveNo != null and archiveNo != ''">
  39. AND a.archiveNo LIKE
  40. <if test="dbName == 'oracle'">'%'||#{archiveNo}||'%'</if>
  41. <if test="dbName == 'mssql'">'%'+#{archiveNo}+'%'</if>
  42. <if test="dbName == 'mysql'">concat('%',#{archiveNo},'%')</if>
  43. </if>
  44. <if test="title != null and title != ''">
  45. AND a.title LIKE
  46. <if test="dbName == 'oracle'">'%'||#{title}||'%'</if>
  47. <if test="dbName == 'mssql'">'%'+#{title}+'%'</if>
  48. <if test="dbName == 'mysql'">concat('%',#{title},'%')</if>
  49. </if>
  50. <if test="shopOrderId != null and shopOrderId != ''">
  51. AND a.shopOrderId = #{shopOrderId}
  52. </if>
  53. <if test="orderId != null and orderId != ''">
  54. AND co.orderID = #{orderId}
  55. </if>
  56. <if test="shopName != null and shopName != ''">
  57. AND a.shopName LIKE
  58. <if test="dbName == 'oracle'">'%'||#{shopName}||'%'</if>
  59. <if test="dbName == 'mssql'">'%'+#{shopName}+'%'</if>
  60. <if test="dbName == 'mysql'">concat('%',#{shopName},'%')</if>
  61. </if>
  62. <if test="clubName != null and clubName != ''">
  63. AND a.clubName LIKE
  64. <if test="dbName == 'oracle'">'%'||#{clubName}||'%'</if>
  65. <if test="dbName == 'mssql'">'%'+#{clubName}+'%'</if>
  66. <if test="dbName == 'mysql'">concat('%',#{clubName},'%')</if>
  67. </if>
  68. <if test="tag != null and tag != ''">
  69. AND a.tag LIKE
  70. <if test="dbName == 'oracle'">'%'||#{tag}||'%'</if>
  71. <if test="dbName == 'mssql'">'%'+#{tag}+'%'</if>
  72. <if test="dbName == 'mysql'">concat('%',#{tag},'%')</if>
  73. </if>
  74. <if test="rebateFlag != null">
  75. AND a.rebateFlag = #{rebateFlag}
  76. </if>
  77. <if test="orderStatus != null">
  78. <choose>
  79. <when test="orderStatus == 99">
  80. AND co.status in (11,12,13,21,22,23,31,32,33)
  81. </when>
  82. <otherwise>
  83. AND co.status = #{orderStatus}
  84. </otherwise>
  85. </choose>
  86. </if>
  87. </where>
  88. group by a.id
  89. <choose>
  90. <when test="page !=null and page.orderBy != null and page.orderBy != ''">
  91. ORDER BY ${page.orderBy}
  92. </when>
  93. <otherwise>
  94. order by a.id desc
  95. </otherwise>
  96. </choose>
  97. </select>
  98. <select id="findAllList" resultType="CmOrderArchive">
  99. SELECT
  100. <include refid="cmOrderArchiveColumns"/>
  101. FROM cm_order_archive a
  102. <include refid="cmOrderArchiveJoins"/>
  103. <where>
  104. </where>
  105. <choose>
  106. <when test="page !=null and page.orderBy != null and page.orderBy != ''">
  107. ORDER BY ${page.orderBy}
  108. </when>
  109. <otherwise>
  110. </otherwise>
  111. </choose>
  112. </select>
  113. <select id="getArchiveFileList" resultType="com.caimei.modules.archive.entity.CmOrderArchiveFile">
  114. select id, fileName, ossName, ossUrl, uploadTime
  115. from cm_order_archive_file
  116. where orderArchiveId = #{archiveId}
  117. </select>
  118. <select id="getArchiveFileById" resultType="com.caimei.modules.archive.entity.CmOrderArchiveFile">
  119. select id, fileName, ossName
  120. from cm_order_archive_file
  121. where id = #{fileId}
  122. </select>
  123. <select id="getAllFileIds" resultType="java.lang.String">
  124. select GROUP_CONCAT(id)
  125. from cm_order_archive_file
  126. where orderArchiveId = #{orderArchiveId}
  127. group by orderArchiveId
  128. </select>
  129. <select id="checkFileName" resultType="java.lang.Integer">
  130. select id from cm_order_archive_file
  131. <where>
  132. fileName = #{fileName}
  133. <if test="orderArchiveId != null || (fileIds != null and fileIds != '')">
  134. and(
  135. <if test="orderArchiveId != null || (fileIds != null and fileIds != '')">
  136. orderArchiveId = #{orderArchiveId}
  137. </if>
  138. <if test="fileIds != null and fileIds != ''">
  139. or id in
  140. <foreach collection="fileIds.split(',')" item="fileId" index="index" open="(" separator=","
  141. close=")">
  142. #{fileId}
  143. </foreach>
  144. </if>
  145. )
  146. </if>
  147. </where>
  148. </select>
  149. <select id="checkShopOrderIdExist" resultType="java.lang.Integer">
  150. select so.shopOrderID
  151. from cm_shop_order so
  152. where so.shopOrderID = #{shopOrderId}
  153. </select>
  154. <select id="checkShopOrderIdAble" resultType="java.lang.Integer">
  155. select so.shopOrderID
  156. from cm_shop_order so
  157. where so.shopOrderID = #{shopOrderId}
  158. and so.shopOrderID not in
  159. (select a.shopOrderId
  160. from cm_order_archive a
  161. where a.shopOrderId is not null)
  162. limit 1
  163. </select>
  164. <select id="getShopNameByShopOrderId" resultType="java.lang.String">
  165. select s.name
  166. from cm_shop_order cso
  167. left join shop s on cso.shopID = s.shopID
  168. where cso.shopOrderID = #{shopOrderId}
  169. </select>
  170. <select id="getClubNameByShopOrderId" resultType="java.lang.String">
  171. select c.name
  172. from cm_shop_order cso
  173. left join club c on cso.clubID = c.clubID
  174. where cso.shopOrderID = #{shopOrderId}
  175. </select>
  176. <insert id="insert" parameterType="CmOrderArchive" keyProperty="id" useGeneratedKeys="true">
  177. INSERT INTO cm_order_archive(archiveNo,
  178. title,
  179. shopOrderId,
  180. shopName,
  181. clubName,
  182. tag,
  183. rebateFlag,
  184. remark,
  185. addTime)
  186. VALUES (#{archiveNo},
  187. #{title},
  188. #{shopOrderId},
  189. #{shopName},
  190. #{clubName},
  191. #{tag},
  192. #{rebateFlag},
  193. #{remark},
  194. #{addTime})
  195. </insert>
  196. <insert id="insertArchiveFile" keyColumn="id" keyProperty="id" useGeneratedKeys="true">
  197. insert into cm_order_archive_file(fileName, ossName, ossUrl, uploadTime)
  198. values (#{fileName}, #{ossName}, #{ossUrl}, #{uploadTime})
  199. </insert>
  200. <update id="update">
  201. UPDATE cm_order_archive
  202. SET archiveNo = #{archiveNo},
  203. title = #{title},
  204. shopOrderId = #{shopOrderId},
  205. shopName = #{shopName},
  206. clubName = #{clubName},
  207. tag = #{tag},
  208. rebateFlag = #{rebateFlag},
  209. remark = #{remark}
  210. WHERE id = #{id}
  211. </update>
  212. <update id="updateArchiveFile">
  213. update cm_order_archive_file
  214. set orderArchiveId = #{orderArchiveId}
  215. where id = #{fileId}
  216. </update>
  217. <delete id="delete">
  218. DELETE
  219. FROM cm_order_archive
  220. WHERE id = #{id}
  221. </delete>
  222. <delete id="deleteArchiveFile">
  223. delete
  224. from cm_order_archive_file
  225. where id = #{fileId}
  226. </delete>
  227. </mapper>