123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375 |
- <?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,
- s.shopType as shopType
- 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,
- p.returnGoodsStutas,
- s.shopType as shopType
- <if test="status!=null and status == 1">
- ,p.splitCode
- </if>
- FROM cm_cart c
- LEFT JOIN shop s ON c.shopID = s.shopID
- LEFT JOIN product p ON c.productID = p.productID
- WHERE c.userID = #{userId}
- AND c.skuId in
- <foreach collection="skuIds" open="(" separator="," close=")" item="skuId">
- #{skuId}
- </foreach>
- GROUP BY c.shopID, c.cm_cartID
- ORDER BY c.cm_cartID DESC
- </select>
- <select id="getShopsByProductIds" resultType="com.caimei365.order.model.vo.CartShopVo">
- SELECT DISTINCT
- s.shopID AS shopId,
- s.name AS shopName,
- s.logo AS shopLogo,
- p.returnGoodsStutas,
- p.productType
- FROM shop s
- LEFT JOIN product p ON p.shopID = s.shopID
- WHERE
- p.productID in
- <foreach collection="productIds" open="(" separator="," close=")" item="productId">
- #{productId}
- </foreach>
- GROUP BY s.shopID
- </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,
- c.skuId,
- cs.price,
- cs.price AS originalPrice,
- cs.unit AS unit,
- cs.stock AS stock,
- p.step AS step,
- ifnull(cs.minBuyNumber,(select buyNum from product_ladder_price where skuId=c.skuId order by buyNum asc limit 1)) AS min,
- p.priceFlag,
- ifnull(cs.ladderPriceFlag, 0) AS ladderFlag,
- p.includedTax AS includedTax,
- p.invoiceType AS invoiceType,
- p.taxPoint AS taxRate,
- p.productCategory,
- p.validFlag AS validFlag,
- p.visibility,
- if(csp.id is not null and csp.status = 0, 1, 0) as svipProductFlag,
- # csp.priceType as svipPriceType,
- # csp.discount as svipDiscount,
- # csp.discountPrice as svipDiscountPrice,
- p.productType
- FROM cm_cart c
- LEFT JOIN product P on c.productID = p.productID
- LEFT JOIN cm_sku cs ON c.skuId = cs.skuId
- LEFT JOIN cm_svip_product csp ON c.productID = csp.productId
- WHERE c.userID = #{userId}
- and p.shopID = #{shopId}
- ORDER BY c.cm_cartID DESC
- </select>
- <select id="getCartOrganizeProductsByShopId" 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,
- c.skuId,
- cmps.price,
- cmps.price AS originalPrice,
- cs.unit AS unit,
- cs.stock AS stock,
- p.step AS step,
- IFNULL(cs.minBuyNumber,(SELECT buyNum FROM product_ladder_price WHERE skuId=c.skuId ORDER BY buyNum ASC LIMIT 1)) AS MIN,
- p.priceFlag,
- IFNULL(cs.ladderPriceFlag, 0) AS ladderFlag,
- p.includedTax AS includedTax,
- p.invoiceType AS invoiceType,
- p.taxPoint AS taxRate,
- p.productCategory,
- cmop.validFlag AS validFlag,
- p.visibility,
- p.productType
- FROM cm_cart c
- LEFT JOIN product P ON c.productID = p.productID
- LEFT JOIN cm_sku cs ON c.skuId = cs.skuId
- LEFT JOIN cm_mall_product_sku cmps ON cmps.skuId = cs.skuId
- LEFT JOIN cm_mall_organize_products cmop ON cmop.productId = c.productId
- WHERE c.userID = #{userId}
- and p.shopID = #{shopId}
- and cmop.organizeID = #{organizeId}
- ORDER BY c.cm_cartID DESC
- </select>
- <select id="getCartProductsByShopIdAndProductIds" resultType="com.caimei365.order.model.vo.CartItemVo">
- SELECT
- c.skuId AS skuId,
- 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,
- cs.price,
- cs.price AS originalPrice,
- cs.unit AS unit,
- ifnull(cs.stock,0) AS stock,
- p.step AS step,
- ifnull(cs.minBuyNumber,(select buyNum from product_ladder_price where skuId=c.skuId order by buyNum asc limit 1))AS min,
- p.priceFlag,
- cs.ladderPriceFlag AS ladderFlag,
- p.includedTax AS includedTax,
- p.invoiceType AS invoiceType,
- p.taxPoint AS taxRate,
- p.productCategory,
- p.validFlag AS validFlag,
- p.visibility,
- p.commodityType as commodityType,
- if(csp.id is not null and csp.status = 0,1,0) as svipProductFlag,
- # csp.priceType as svipPriceType,
- # csp.discount as svipDiscount,
- # csp.discountPrice as svipDiscountPrice,
- p.productType,
- p.splitCode
- FROM cm_cart c
- LEFT JOIN product p ON c.productID = p.productID
- LEFT JOIN cm_sku cs ON c.skuId = cs.skuId
- LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
- WHERE c.userID = #{userId} and p.shopID = #{shopId}
- AND p.validFlag='2'
- <if test="splitCode !=null and splitCode !=''">
- AND p.splitCode = #{splitCode}
- </if>
- AND cs.skuId in
- <foreach collection="skuIds" open="(" separator="," close=")" item="skuId">
- #{skuId}
- </foreach>
- ORDER BY c.cm_cartID DESC
- </select>
- <select id="getProductsByShopIdAndProductIds" resultType="com.caimei365.order.model.vo.CartItemVo">
- SELECT
- cs.skuId AS skuId,
- p.productID AS productId,
- p.shopID AS shopId,
- p.`name` AS `name`,
- p.mainImage AS image,
- p.productCode,
- cs.price,
- cs.price AS originalPrice,
- cs.unit AS unit,
- cs.stock AS stock,
- p.step AS step,
- ifnull(cs.minBuyNumber ,(SELECT buyNum FROM product_ladder_price WHERE skuId=cs.skuId ORDER BY buyNum ASC LIMIT 1)) AS min,
- p.priceFlag,
- cs.ladderPriceFlag AS ladderFlag,
- p.includedTax AS includedTax,
- p.invoiceType AS invoiceType,
- p.taxPoint AS taxRate,
- p.productCategory,
- p.validFlag AS validFlag,
- p.visibility,
- p.commodityType as commodityType,
- if(csp.id is not null and csp.status = 0,1,0) as svipProductFlag,
- # csp.priceType as svipPriceType,
- # csp.discount as svipDiscount,
- # csp.discountPrice as svipDiscountPrice,
- p.productType
- FROM cm_sku cs
- LEFT JOIN product p on cs.productId = p.productID
- LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
- WHERE p.shopID = #{shopId}
- AND p.validFlag='2' AND cs.skuId in
- <foreach collection="skuIdList" open="(" separator="," close=")" item="skuId">
- #{skuId}
- </foreach>
- </select>
- <select id="getCartProductList" resultType="com.caimei365.order.model.vo.CartItemVo">
- SELECT c.skuId as skuId,
- 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,
- cs.price,
- cs.price AS originalPrice,
- cs.unit AS unit,
- cs.stock AS stock,
- p.step AS step,
- cs.minBuyNumber AS min,
- p.priceFlag,
- cs.ladderPriceFlag AS ladderFlag,
- p.includedTax AS includedTax,
- p.invoiceType AS invoiceType,
- p.taxPoint AS taxRate,
- p.productCategory,
- p.visibility,
- p.validFlag AS validFlag,
- p.productType
- FROM cm_cart c
- LEFT JOIN product p ON c.productID = p.productID
- LEFT JOIN cm_sku cs ON cs.skuId = c.skuId
- WHERE p.validFlag = '2'
- AND c.userID = #{userId}
- AND p.priceFlag != '1'
- AND cs.stock != '0'
- AND cs.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,
- c.skuId
- FROM cm_cart c
- WHERE c.skuId = #{skuId}
- 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},
- productId = (select productId from cm_sku where skuId = #{skuId}),
- shopId = (select shopId
- from product p
- left join cm_sku cs on p.productId = cs.productId
- where cs.skuId = #{skuId})
- WHERE userID = #{userId}
- AND skuId = #{skuId}
- </update>
- <insert id="insertCart" keyColumn="cm_cartID" keyProperty="id" parameterType="com.caimei365.order.model.po.CartPo"
- useGeneratedKeys="true">
- INSERT INTO cm_cart (skuId, shopID, productID, userID, productCount, addTime, reBuyFlag)
- VALUES (#{skuId},
- (select shopId from product p left join cm_sku cs on p.productId = cs.productId where cs.skuId = #{skuId}),
- (select productId from cm_sku where skuId = #{skuId}), #{userId},
- #{productCount},
- #{addTime}, #{reBuyFlag})
- </insert>
- <delete id="deleteCartByProductIds">
- DELETE FROM cm_cart
- WHERE userID = #{userId}
- AND skuId in
- <foreach collection="skuIds" open="(" separator="," close=")" item="skuId">
- #{skuId}
- </foreach>
- </delete>
- <delete id="deleteUserInvoice">
- delete
- from cm_user_invoiceinfo
- where userId = #{userId}
- </delete>
- <delete id="deleteCartSku">
- delete
- from cm_cart
- where skuId = #{oldSkuId}
- and 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 cs.skuId,
- p.productID AS productId,
- p.shopID AS shopId,
- p.`name` AS `name`,
- p.mainImage AS image,
- p.productCode,
- cs.price,
- cs.price AS originalPrice,
- cs.unit AS unit,
- ifnull(cs.stock,0) AS stock,
- p.step AS step,
- ifnull(cs.minBuyNumber,(select buyNum from product_ladder_price where skuId=cs.skuId order by buyNum asc limit 1)) AS min,
- p.priceFlag,
- cs.ladderPriceFlag AS ladderFlag,
- p.includedTax AS includedTax,
- p.invoiceType AS invoiceType,
- p.taxPoint AS taxRate,
- p.productCategory,
- p.validFlag AS validFlag,
- p.visibility,
- p.commodityType AS commodityType,
- if(csp.id is not null and csp.status = 0, 1, 0) as svipProductFlag,
- # csp.priceType as svipPriceType,
- # csp.discount as svipDiscount,
- # csp.discountPrice as svipDiscountPrice,
- p.productType,
- p.returnGoodsStutas
- FROM cm_sku cs
- LEFT JOIN product p on p.productID = cs.productId
- LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
- WHERE p.validFlag = '2'
- AND cs.skuId = #{skuId}
- </select>
- <select id="findVipCoupon" resultType="java.lang.Integer">
- select couponId
- from cm_svip_coupon
- </select>
- <select id="getClubTypeById" resultType="java.lang.Integer">
- SELECT firstClubType
- FROM club
- WHERE userID = #{userId}
- </select>
- <select id="getHelpContent" resultType="java.lang.String">
- select content from helppage where helpPageID=#{helpId}
- </select>
- </mapper>
|