cartMapper.xml 12 KB

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