123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- <?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.caimei365.order.mapper.CartClubMapper">
- <!-- 购物车供应商列表 -->
- <select id="getCartShops" resultType="com.caimei365.order.model.vo.CartShopVo">
- SELECT DISTINCT
- c.shopID AS shopId,
- s.name AS shopName,
- s.logo AS shopLogo
- FROM cm_cart c
- LEFT JOIN shop s ON c.shopID = s.shopID
- WHERE c.userID = #{userId}
- GROUP BY c.shopID, c.cm_cartID
- ORDER BY c.cm_cartID DESC
- </select>
- <select id="getCartShopsByProductIds" resultType="com.caimei365.order.model.vo.CartShopVo">
- SELECT DISTINCT
- c.shopID AS shopId,
- s.name AS shopName,
- s.logo AS shopLogo
- FROM cm_cart c
- LEFT JOIN shop s ON c.shopID = s.shopID
- WHERE c.userID = #{userId}
- AND c.productID in
- <foreach collection="productIds" open="(" separator="," close=")" item="productId">
- #{productId}
- </foreach>
- GROUP BY c.shopID, c.cm_cartID
- ORDER BY c.cm_cartID DESC
- </select>
- <select id="getCartProductsByShopId" resultType="com.caimei365.order.model.vo.CartItemVo">
- SELECT
- c.cm_cartID AS id,
- c.productCount AS number,
- p.productID AS productId,
- p.shopID AS shopId,
- p.`name` AS `name`,
- p.mainImage AS image,
- p.productCode,
- p.price1 AS price,
- p.price1 AS originalPrice,
- p.unit AS unit,
- p.stock AS stock,
- p.step AS step,
- p.minBuyNumber AS min,
- p.price1TextFlag AS priceFlag,
- p.ladderPriceFlag AS ladderFlag,
- p.includedTax AS includedTax,
- p.invoiceType AS invoiceType,
- p.taxPoint AS taxRate,
- p.productCategory,
- p.validFlag AS validFlag,
- if(csp.id is not null,1,0) as svipProductFlag,
- csp.priceType as svipPriceType,
- csp.discount as svipDiscount,
- csp.discountPrice as svipDiscountPrice
- FROM cm_cart c
- LEFT JOIN product p ON c.productID = p.productID
- LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
- WHERE c.userID = #{userId} and p.shopID = #{shopId}
- ORDER BY c.cm_cartID DESC
- </select>
- <select id="getCartProductsByShopIdAndProductIds" resultType="com.caimei365.order.model.vo.CartItemVo">
- SELECT
- c.cm_cartID AS id,
- c.productCount AS number,
- p.productID AS productId,
- p.shopID AS shopId,
- p.`name` AS `name`,
- p.mainImage AS image,
- p.productCode,
- p.price1 AS price,
- p.price1 AS originalPrice,
- p.unit AS unit,
- p.stock AS stock,
- p.step AS step,
- p.minBuyNumber AS min,
- p.price1TextFlag AS priceFlag,
- p.ladderPriceFlag AS ladderFlag,
- p.includedTax AS includedTax,
- p.invoiceType AS invoiceType,
- p.taxPoint AS taxRate,
- p.productCategory,
- p.validFlag AS validFlag,
- if(csp.id is not null,1,0) as svipProductFlag,
- csp.priceType as svipPriceType,
- csp.discount as svipDiscount,
- csp.discountPrice as svipDiscountPrice
- FROM cm_cart c
- LEFT JOIN product p ON c.productID = p.productID
- LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
- WHERE c.userID = #{userId} and p.shopID = #{shopId}
- AND p.validFlag='2' AND p.productID in
- <foreach collection="productIds" open="(" separator="," close=")" item="productId">
- #{productId}
- </foreach>
- ORDER BY c.cm_cartID DESC
- </select>
- <select id="getCartProductList" resultType="com.caimei365.order.model.vo.CartItemVo">
- SELECT
- c.cm_cartID AS id,
- c.productCount AS number,
- p.productID AS productId,
- p.shopID AS shopId,
- p.`name` AS `name`,
- p.mainImage AS image,
- p.productCode,
- p.price1 AS price,
- p.price1 AS originalPrice,
- p.unit AS unit,
- p.stock AS stock,
- p.step AS step,
- p.minBuyNumber AS min,
- p.price1TextFlag AS priceFlag,
- p.ladderPriceFlag AS ladderFlag,
- p.includedTax AS includedTax,
- p.invoiceType AS invoiceType,
- p.taxPoint AS taxRate,
- p.productCategory,
- p.validFlag AS validFlag
- FROM cm_cart c
- LEFT JOIN product p ON c.productID = p.productID
- WHERE p.validFlag='2' AND c.userID = #{userId}
- AND p.price1TextFlag != '1'
- AND p.stock != '0' AND p.stock <![CDATA[ >= ]]> c.productCount
- ORDER BY c.cm_cartID DESC
- </select>
- <select id="getCartPo" resultType="com.caimei365.order.model.po.CartPo">
- SELECT
- c.cm_cartID AS id,
- c.productCount,
- c.productID AS productId,
- c.shopID AS shopId,
- c.userID AS userId
- FROM cm_cart c
- WHERE c.productID = #{productId} and c.userID = #{userId}
- ORDER BY c.cm_cartID DESC
- limit 1
- </select>
- <update id="updateCart" parameterType="com.caimei365.order.model.po.CartPo">
- UPDATE cm_cart set
- productCount = #{productCount},
- addTime = #{addTime}
- WHERE userID = #{userId} AND productID = #{productId}
- </update>
- <insert id="insertCart" keyColumn="cm_cartID" keyProperty="id" parameterType="com.caimei365.order.model.po.CartPo" useGeneratedKeys="true">
- INSERT INTO cm_cart (shopID, productID, userID, productCount, addTime, reBuyFlag)
- VALUES (#{shopId}, #{productId}, #{userId}, #{productCount}, #{addTime}, #{reBuyFlag})
- </insert>
- <delete id="deleteCartByProductIds">
- DELETE FROM cm_cart
- WHERE userID = #{userId}
- AND productID in
- <foreach collection="productIds" open="(" separator="," close=")" item="productId">
- #{productId}
- </foreach>
- </delete>
- <delete id="deleteUserInvoice">
- delete from cm_user_invoiceinfo where userId = #{userId}
- </delete>
- <insert id="insertUserInvoice">
- INSERT INTO cm_user_invoiceinfo (userId, invoiceTitle, corporationTaxNum,
- registeredAddress, registeredPhone,bankAccountNo, openBank)
- VALUES (#{userId}, #{invoiceTitle}, #{corporationTaxNum},
- #{registeredAddress}, #{registeredPhone}, #{bankAccountNo}, #{openBank})
- </insert>
- <update id="updateUserInvoice">
- UPDATE cm_user_invoiceinfo
- SET invoiceTitle = #{invoiceTitle},
- corporationTaxNum = #{corporationTaxNum},
- registeredAddress = #{registeredAddress},
- registeredPhone = #{registeredPhone},
- bankAccountNo = #{bankAccountNo},
- openBank = #{openBank}
- WHERE userId = #{userId}
- </update>
- <select id="getUserInvoice" resultType="com.caimei365.order.model.vo.InvoiceVo">
- SELECT id, userId, invoiceTitle, corporationTaxNum, registeredAddress, registeredPhone,bankAccountNo, openBank
- FROM cm_user_invoiceinfo
- WHERE userId = #{userId}
- order by id desc limit 1
- </select>
- <select id="getCartItemByProductId" resultType="com.caimei365.order.model.vo.CartItemVo">
- SELECT
- p.productID AS productId,
- p.shopID AS shopId,
- p.`name` AS `name`,
- p.mainImage AS image,
- p.productCode,
- p.price1 AS price,
- p.price1 AS originalPrice,
- p.unit AS unit,
- p.stock AS stock,
- p.step AS step,
- p.minBuyNumber AS min,
- p.price1TextFlag AS priceFlag,
- p.ladderPriceFlag AS ladderFlag,
- p.includedTax AS includedTax,
- p.invoiceType AS invoiceType,
- p.taxPoint AS taxRate,
- p.productCategory,
- p.validFlag AS validFlag,
- if(csp.id is not null,1,0) as svipProductFlag,
- csp.priceType as svipPriceType,
- csp.discount as svipDiscount,
- csp.discountPrice as svipDiscountPrice
- FROM product p
- LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
- WHERE p.validFlag='2' AND p.productID = #{productId}
- </select>
- <select id="findVipCoupon" resultType="java.lang.Integer">
- select couponId from cm_svip_coupon
- </select>
- </mapper>
|