cartMapper.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC
  4. "-//mybatis.org//DTD Mapper 3.0//EN"
  5. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  6. <!-- 命名,每一个映射对象不一样
  7. namespace:必须与对应的接口全类名一致
  8. -->
  9. <mapper namespace="com.iamberry.wechat.service.mapper.CartMapper">
  10. <!-- 查询用户购物车所有信息 -->
  11. <select id="selectCartByOpenId" parameterType="String" resultType="CartDto">
  12. SELECT
  13. C.CART_ID cartId, C.CART_PRODUCT_ID cartProductId,C.CART_COLOR_ID cartColorId, C.CART_NUM cartNum,
  14. P.PRODUCT_NAME productName, pc.COLOR_DISCOUNT productDiscount, P.PRODUCT_STATUS productStatus,
  15. pc.COLOR_NAME productColor, P.PRODUCT_INTRODUCE_IMG productIntroduceImg, pc.COLOR_69CODE productRemark,
  16. P.PRODUCT_TYPE productType,pc.color_img
  17. FROM
  18. TB_IAMBERRY_SHOP_CART C LEFT JOIN TB_IAMBERRY_PRODUCT_INFO P ON C.CART_PRODUCT_ID = P.PRODUCT_ID
  19. LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR pc ON c.CART_COLOR_ID = pc.COLOR_ID
  20. WHERE
  21. C.CART_OPENID = #{openId}
  22. ORDER BY C.CART_ID DESC
  23. </select>
  24. <select id="getCartNumByCartOpenId" parameterType="String" resultType="Integer">
  25. SELECT
  26. COUNT(C.CART_ID)
  27. FROM
  28. TB_IAMBERRY_SHOP_CART C
  29. WHERE
  30. C.CART_OPENID = #{0}
  31. </select>
  32. <!-- 修改购物车数量信息 -->
  33. <update id="updateCartByOpenId" parameterType="CartDto">
  34. UPDATE
  35. TB_IAMBERRY_SHOP_CART
  36. SET
  37. CART_NUM = #{cartNum}
  38. WHERE
  39. CART_OPENID = #{cartOpenId}
  40. AND
  41. CART_PRODUCT_ID = #{cartProductId}
  42. AND
  43. CART_COLOR_ID = #{cartColorId}
  44. </update>
  45. <!-- 根据商品id和openid查询购物车数量 -->
  46. <select id="getCartNumByOpenId" parameterType="CartDto" resultType="Integer">
  47. SELECT
  48. CART_NUM cartNum
  49. FROM
  50. TB_IAMBERRY_SHOP_CART
  51. WHERE
  52. CART_OPENID = #{cartOpenId}
  53. AND
  54. CART_PRODUCT_ID = #{cartProductId}
  55. AND
  56. CART_COLOR_ID = #{cartColorId}
  57. </select>
  58. <!-- 获取购物车信息看是否有记录该商品信息 -->
  59. <select id="getCartByCartProductId" parameterType="CartDto" resultType="CartDto">
  60. SELECT
  61. CART_ID cartId,
  62. CART_NUM cartNum
  63. FROM
  64. TB_IAMBERRY_SHOP_CART
  65. WHERE
  66. CART_OPENID = #{cartOpenId}
  67. AND
  68. CART_PRODUCT_ID = #{cartProductId}
  69. AND
  70. CART_COLOR_ID = #{cartColorId}
  71. </select>
  72. <!-- 新增购物车数据 -->
  73. <insert id="addProductToCart" parameterType="CartDto" useGeneratedKeys="true" keyProperty="cartId">
  74. INSERT INTO
  75. TB_IAMBERRY_SHOP_CART(CART_OPENID, CART_PRODUCT_ID, CART_NUM, CART_COLOR_ID,CART_CREATE_DATE)
  76. VALUES
  77. (#{cartOpenId}, #{cartProductId}, #{cartNum}, #{cartColorId}, NOW())
  78. </insert>
  79. <!-- 删除购物车物品信息 -->
  80. <delete id="deleteCartByCartId" parameterType="CartDto">
  81. DELETE FROM TB_IAMBERRY_SHOP_CART WHERE CART_PRODUCT_ID = #{cartProductId} AND CART_OPENID = #{cartOpenId} AND CART_COLOR_ID = #{cartColorId}
  82. </delete>
  83. <!-- 根据openid查看销售订单表数据 -->
  84. <select id="getOrderList" parameterType="ShopSalesOrderDto" resultType="ShopSalesOrderDto">
  85. SELECT
  86. SALES_ORDERID salesOrderid,
  87. SALES_STATUS salesStatus
  88. FROM
  89. TB_IAMBERRY_SHOP_SALES_ORDER
  90. WHERE
  91. SALES_OPENID = #{salesOpenid}
  92. </select>
  93. <!-- 分页查询销售订单表 -->
  94. <select id="selectShopOrder" parameterType="PaperBean" resultMap="orderListMap">
  95. SELECT DISTINCT O.SALES_ORDERID, O.SALES_STATUS, O.SALES_CREATE_DATE,
  96. O.SALES_AMOUNT, O.SALES_INTEGRAL_NUM, O.SALES_RATE_AMOUNT,
  97. O.SALES_ADDRESS_INFO, O.SALES_ADDRESS_NAME,
  98. O.SALES_USER_REMARK, O.SALES_POST_NUM, O.SALES_POST_FIRM,
  99. O.SALES_SEND_DATE, O.SALES_ADDRESS_POSTNUM,
  100. O.SALES_ADDRESS_TEL , 45*60-TIMESTAMPDIFF(SECOND,O.SALES_CREATE_DATE,NOW()) SALES_ADMIN_REMARK
  101. FROM
  102. TB_IAMBERRY_SHOP_SALES_ORDER O LEFT JOIN TB_IAMBERRY_SHOP_ORDER_ITEM I
  103. ON O.SALES_ORDERID = I.ITEM_SALES_ORDERID
  104. WHERE
  105. O.SALES_OPENID = #{text}
  106. AND
  107. O.SALES_ORDER_TYPE = 1
  108. <if test="status != null and status != ''">
  109. AND O.SALES_STATUS = #{status}
  110. </if>
  111. <if test="str != null">
  112. AND (I.ITEM_PRODUCT_NAME LIKE CONCAT('%',#{str},'%') OR I.ITEM_SALES_ORDERID LIKE CONCAT('%',#{str},'%'))
  113. </if>
  114. <if test="beginDate != null">
  115. AND DATE_FORMAT(O.SALES_CREATE_DATE, '%Y-%m-%d') = DATE_FORMAT(#{beginDate}, '%Y-%m-%d')
  116. </if>
  117. ORDER BY O.SALES_CREATE_DATE DESC
  118. LIMIT #{minNum}, #{maxNum}
  119. </select>
  120. <resultMap type="ShopOrderAndItemDto" id="orderListMap">
  121. <id column="SALES_ORDERID" property="salesOrderid"/>
  122. <result column="SALES_STATUS" property="salesStatus"/>
  123. <result column="SALES_CREATE_DATE" property="salesCreateDate"/>
  124. <result column="SALES_AMOUNT" property="salesAmount"/>
  125. <result column="SALES_INTEGRAL_NUM" property="salesIntegralNum"/>
  126. <result column="SALES_RATE_AMOUNT" property="salesRateAmount"/>
  127. <result column="SALES_ADDRESS_INFO" property="salesAddressInfo"/>
  128. <result column="SALES_ADDRESS_NAME" property="salesAddressName"/>
  129. <result column="SALES_USER_REMARK" property="salesUserRemark"/>
  130. <result column="SALES_POST_NUM" property="salesPostNum"/>
  131. <result column="SALES_POST_FIRM" property="salesPostFirm"/>
  132. <result column="SALES_SEND_DATE" property="salesSendDate"/>
  133. <result column="SALES_ADMIN_REMARK" property="salesAdminRemark"/>
  134. <result column="SALES_ADDRESS_POSTNUM" property="salesAddressPostnum"/>
  135. <result column="SALES_ADDRESS_TEL" property="salesAddressTel"/>
  136. <collection property="orderItemList" column="SALES_ORDERID" ofType="OrderItem" select="getOrderItemByOrderId"/>
  137. </resultMap>
  138. <select id="getOrderItemByOrderId" parameterType="String" resultType="OrderItem">
  139. SELECT I.ITEM_ID itemId,
  140. I.ITEM_SALES_ORDERID itemSalesOrderid, I.ITEM_PRODUCT_NAME itemProductName,
  141. I.ITEM_PRODUCT_DISCOUNT itemProductDiscount, I.ITEM_PRODUCT_PRICE itemProductPrice,
  142. I.ITEM_PRODUCT_PIC itemProductPic, I.ITEM_NUM itemNum, I.ITEM_TOTAL itemTotal,
  143. c.COLOR_DISCOUNT productDiscount,c.COLOR_PRICE productPrice,I.ITEM_PRODUCT_TYPE itemProductType,
  144. P.PRODUCT_STATUS productStatus,I.ITEM_PRODUCT_ID itemProductId,c.COLOR_NAME productColor,
  145. I.ITEM_COLOR_ID itemColorId
  146. FROM
  147. TB_IAMBERRY_SHOP_ORDER_ITEM I
  148. LEFT JOIN TB_IAMBERRY_PRODUCT_INFO P ON I.ITEM_PRODUCT_ID = P.PRODUCT_ID
  149. LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR c ON i.ITEM_COLOR_ID = c.COLOR_ID
  150. WHERE
  151. I.ITEM_SALES_ORDERID = #{itemSalesOrderid}
  152. ORDER BY I.ITEM_ID DESC
  153. </select>
  154. <!-- 根据openid查询订单数量 -->
  155. <select id="getOrderNumByOpenId" parameterType="PaperBean" resultType="Integer">
  156. SELECT
  157. COUNT(O.SALES_ORDERID)
  158. FROM
  159. TB_IAMBERRY_SHOP_ORDER_ITEM I LEFT JOIN TB_IAMBERRY_SHOP_SALES_ORDER O
  160. ON O.SALES_ORDERID = I.ITEM_SALES_ORDERID
  161. WHERE
  162. O.SALES_OPENID = #{text}
  163. <if test="status != null and status != ''">
  164. AND O.SALES_STATUS = #{status}
  165. </if>
  166. <if test="str != null">
  167. AND (I.ITEM_PRODUCT_NAME LIKE CONCAT('%',#{str},'%') OR I.ITEM_SALES_ORDERID LIKE CONCAT('%',#{str},'%'))
  168. </if>
  169. <if test="beginDate != null">
  170. AND DATE_FORMAT(O.SALES_CREATE_DATE, '%Y-%m-%d') = DATE_FORMAT(#{beginDate}, '%Y-%m-%d')
  171. </if>
  172. </select>
  173. <!-- -->
  174. <select id="getShopOrderByOrderId" parameterType="java.lang.String" resultType="ShopSalesOrderDto">
  175. SELECT O.SALES_STATUS salesStatus, O.SALES_ORDERID salesOrderid, O.SALES_CREATE_DATE salesCreateDate,
  176. O.SALES_AMOUNT salesAmount, O.SALES_INTEGRAL_NUM salesIntegralNum, O.SALES_RATE_AMOUNT salesRateAmount,
  177. O.SALES_ADDRESS_INFO salesAddressInfo, O.SALES_ADDRESS_NAME salesAddressName, O.SALES_YET_AMOUNT salesYetAmount,
  178. O.SALES_USER_REMARK salesUserRemark, O.SALES_POST_NUM salesPostNum, O.SALES_POST_FIRM salesPostFirm,
  179. O.SALES_SEND_DATE salesSendDate, O.SALES_ADDRESS_POSTNUM salesAddressPostnum,O.SALES_ADDRESS_TEL salesAddressTel,
  180. O.SALES_LOCK_TYPE salesLockType,O.SALES_COUPON_RECEIVE_ID salesCouponReceiveId,
  181. O.SALES_BALANCE_AMOUNT balancePayAmount
  182. FROM
  183. TB_IAMBERRY_SHOP_SALES_ORDER O
  184. WHERE
  185. O.SALES_ORDERID = #{0}
  186. AND
  187. O.SALES_OPENID = #{1}
  188. AND
  189. O.SALES_ORDER_TYPE = 1
  190. </select>
  191. <!-- 根据订单id查询销售订单项 -->
  192. <select id="selectShopOrderItem" parameterType="java.lang.String" resultType="ShopOrderItemDto">
  193. SELECT I.ITEM_ID itemId, I.ITEM_SALES_ORDERID itemSalesOrderid, I.ITEM_PRODUCT_NAME itemProductName,
  194. I.ITEM_PRODUCT_DISCOUNT itemProductDiscount, I.ITEM_PRODUCT_PRICE itemProductPrice,
  195. I.ITEM_PRODUCT_PIC itemProductPic, I.ITEM_NUM itemNum, I.ITEM_TOTAL itemTotal,P.PRODUCT_STATUS productStatus,
  196. I.ITEM_PRODUCT_ID itemProductId, c.COLOR_NAME productColor,I.ITEM_PRODUCT_TYPE itemProductType,
  197. I.ITEM_COLOR_ID itemColorId
  198. FROM
  199. TB_IAMBERRY_SHOP_ORDER_ITEM I
  200. LEFT JOIN TB_IAMBERRY_PRODUCT_INFO P ON I.ITEM_PRODUCT_ID = P.PRODUCT_ID
  201. LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR c ON I.ITEM_COLOR_ID = c.COLOR_ID
  202. WHERE
  203. ITEM_SALES_ORDERID = #{itemSalesOrderid}
  204. ORDER BY ITEM_ID
  205. </select>
  206. <!-- 根据优惠券id获取优惠券优惠价格 -->
  207. <select id="getCouponReduceByItemId" parameterType="CouponItem" resultType="CouponType">
  208. SELECT
  209. T.COUPON_TYPE couponType, T.COUPON_REDUCE couponReduce
  210. FROM
  211. TB_IAMBERRY_COUPON_TYPE T LEFT JOIN TB_IAMBERRY_COUPON_ITEM I
  212. ON T.COUPON_ID = I.COUPON_ID
  213. WHERE
  214. I.COUPON_ITEM_ID = #{couponItemId}
  215. AND
  216. I.COUPON_ITEM_USER_OPENID = #{couponItemUseropenid}
  217. </select>
  218. <!-- 根据购物车ID数组,批量获取购物车集合 -->
  219. <select id="selectCartItemByListId" parameterType="java.util.List" resultType="CartDto">
  220. SELECT
  221. C.CART_ID cartId, G.PRODUCT_ID cartProductId, pc.COLOR_ID cartColorId, G.PRODUCT_STATUS productStatus,
  222. C.CART_NUM cartNum, G.PRODUCT_NAME productName, pc.COLOR_DISCOUNT productPrice,
  223. G.PRODUCT_INTRODUCE_IMG productIntroduceImg, pc.COLOR_PRICE productDiscount, PC.COLOR_69CODE productRemark,
  224. pc.COLOR_NAME productColor, G.PRODUCT_TYPE productType ,G.product_color_des,PC.color_img AS colorImg
  225. FROM
  226. TB_IAMBERRY_SHOP_CART C
  227. LEFT JOIN TB_IAMBERRY_PRODUCT_INFO G ON C.CART_PRODUCT_ID = G.PRODUCT_ID
  228. LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR PC ON C.CART_COLOR_ID = PC.COLOR_ID
  229. WHERE
  230. C.CART_ID IN (
  231. <foreach collection="array" item="item" separator=",">
  232. #{item}
  233. </foreach>)
  234. ORDER BY C.CART_ID DESC
  235. </select>
  236. <!-- 根据orderId查询订单状态,openid和发货时间 -->
  237. <select id="getOpenIdAndStatus" parameterType="String" resultType="ShopSalesOrderDto">
  238. SELECT
  239. SALES_OPENID salesOpenid, SALES_STATUS salesStatus,SALES_SEND_DATE salesSendDate,
  240. SALES_LOCK_TYPE salesLockType,SALES_COUPON_RECEIVE_ID salesCouponReceiveId
  241. FROM
  242. TB_IAMBERRY_SHOP_SALES_ORDER
  243. WHERE
  244. SALES_ORDERID = #{salesOrderid}
  245. </select>
  246. <!-- 根据购物车ID,批量擅长 -->
  247. <delete id="deleteBatchCartListById" parameterType="java.util.List">
  248. DELETE FROM
  249. TB_IAMBERRY_SHOP_CART
  250. WHERE
  251. CART_ID in (
  252. <foreach collection="list" item="item" separator=",">
  253. #{item}
  254. </foreach>
  255. )
  256. </delete>
  257. <!-- 根据orderId修改订单状态 -->
  258. <update id="updateOrderByOrderId" parameterType="Order">
  259. UPDATE
  260. TB_IAMBERRY_SHOP_SALES_ORDER
  261. SET
  262. SALES_STATUS = #{salesStatus},
  263. SALES_RETURN_DATE = NOW()
  264. <if test="couponId!=null and couponId!=''" >
  265. , SALES_COUPON_RECEIVE_ID=#{couponId}
  266. </if>
  267. <if test="salesReturnDes!=null and salesReturnDes!=''" >
  268. , SALES_RETURN_DES = #{salesReturnDes}
  269. </if>
  270. <if test="salesChangeOrderid != null and salesChangeOrderid != ''">
  271. , SALES_CHANGE_ORDERID = #{salesChangeOrderid}
  272. </if>
  273. WHERE
  274. SALES_ORDERID = #{salesOrderid}
  275. <if test="oldStatus!=null" >
  276. AND
  277. SALES_STATUS = #{oldStatus}
  278. </if>
  279. </update>
  280. <!-- 根据openid和状态查询订单数量 -->
  281. <select id="selectOrderCount" parameterType="ShopSalesOrderDto" resultType="Integer">
  282. SELECT
  283. COUNT(SALES_ORDERID)
  284. FROM
  285. TB_IAMBERRY_SHOP_SALES_ORDER
  286. WHERE
  287. <![CDATA[SALES_STATUS >= #{salesStatus}]]>
  288. AND
  289. SALES_OPENID = #{salesOpenid}
  290. </select>
  291. </mapper>