cartMapper.xml 11 KB

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