123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328 |
- <?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.yonge.cooleshow.mbg.mapper.PmsSkuStockMapper">
- <resultMap id="BaseResultMap" type="com.yonge.cooleshow.mbg.model.PmsSkuStock">
- <id column="id" jdbcType="BIGINT" property="id" />
- <result column="product_id" jdbcType="BIGINT" property="productId" />
- <result column="sku_code" jdbcType="VARCHAR" property="skuCode" />
- <result column="price" jdbcType="DECIMAL" property="price" />
- <result column="stock" jdbcType="INTEGER" property="stock" />
- <result column="low_stock" jdbcType="INTEGER" property="lowStock" />
- <result column="pic" jdbcType="VARCHAR" property="pic" />
- <result column="sale" jdbcType="INTEGER" property="sale" />
- <result column="promotion_price" jdbcType="DECIMAL" property="promotionPrice" />
- <result column="lock_stock" jdbcType="INTEGER" property="lockStock" />
- <result column="sp_data" jdbcType="VARCHAR" property="spData" />
- <result column="delete_status" jdbcType="INTEGER" property="deleteStatus" />
- </resultMap>
- <sql id="Example_Where_Clause">
- <where>
- <foreach collection="oredCriteria" item="criteria" separator="or">
- <if test="criteria.valid">
- <trim prefix="(" prefixOverrides="and" suffix=")">
- <foreach collection="criteria.criteria" item="criterion">
- <choose>
- <when test="criterion.noValue">
- and ${criterion.condition}
- </when>
- <when test="criterion.singleValue">
- and ${criterion.condition} #{criterion.value}
- </when>
- <when test="criterion.betweenValue">
- and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
- </when>
- <when test="criterion.listValue">
- and ${criterion.condition}
- <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
- #{listItem}
- </foreach>
- </when>
- </choose>
- </foreach>
- </trim>
- </if>
- </foreach>
- </where>
- </sql>
- <sql id="Update_By_Example_Where_Clause">
- <where>
- <foreach collection="example.oredCriteria" item="criteria" separator="or">
- <if test="criteria.valid">
- <trim prefix="(" prefixOverrides="and" suffix=")">
- <foreach collection="criteria.criteria" item="criterion">
- <choose>
- <when test="criterion.noValue">
- and ${criterion.condition}
- </when>
- <when test="criterion.singleValue">
- and ${criterion.condition} #{criterion.value}
- </when>
- <when test="criterion.betweenValue">
- and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
- </when>
- <when test="criterion.listValue">
- and ${criterion.condition}
- <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
- #{listItem}
- </foreach>
- </when>
- </choose>
- </foreach>
- </trim>
- </if>
- </foreach>
- </where>
- </sql>
- <sql id="Base_Column_List">
- id, product_id, sku_code, price, stock, low_stock, pic, sale, promotion_price, lock_stock, delete_status,
- sp_data
- </sql>
- <select id="selectByExample" parameterType="com.yonge.cooleshow.mbg.model.PmsSkuStockExample" resultMap="BaseResultMap">
- select
- <if test="distinct">
- distinct
- </if>
- <include refid="Base_Column_List" />
- from pms_sku_stock
- <if test="_parameter != null">
- <include refid="Example_Where_Clause" />
- </if>
- <if test="orderByClause != null">
- order by ${orderByClause}
- </if>
- </select>
- <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
- select
- <include refid="Base_Column_List" />
- from pms_sku_stock
- where id = #{id,jdbcType=BIGINT}
- </select>
- <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
- update pms_sku_stock set delete_status = 1
- where id = #{id,jdbcType=BIGINT}
- </delete>
- <delete id="deleteByExample" parameterType="com.yonge.cooleshow.mbg.model.PmsSkuStockExample">
- update pms_sku_stock set delete_status = 1
- <if test="_parameter != null">
- <include refid="Example_Where_Clause" />
- </if>
- </delete>
- <insert id="insert" parameterType="com.yonge.cooleshow.mbg.model.PmsSkuStock">
- <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
- SELECT LAST_INSERT_ID()
- </selectKey>
- insert into pms_sku_stock (product_id, sku_code, price,
- stock, low_stock, pic,
- sale, promotion_price, lock_stock,
- sp_data)
- values (#{productId,jdbcType=BIGINT}, #{skuCode,jdbcType=VARCHAR}, #{price,jdbcType=DECIMAL},
- #{stock,jdbcType=INTEGER}, #{lowStock,jdbcType=INTEGER}, #{pic,jdbcType=VARCHAR},
- #{sale,jdbcType=INTEGER}, #{promotionPrice,jdbcType=DECIMAL}, #{lockStock,jdbcType=INTEGER},
- #{spData,jdbcType=VARCHAR})
- </insert>
- <insert id="insertSelective" parameterType="com.yonge.cooleshow.mbg.model.PmsSkuStock">
- <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
- SELECT LAST_INSERT_ID()
- </selectKey>
- insert into pms_sku_stock
- <trim prefix="(" suffix=")" suffixOverrides=",">
- <if test="productId != null">
- product_id,
- </if>
- <if test="skuCode != null">
- sku_code,
- </if>
- <if test="price != null">
- price,
- </if>
- <if test="stock != null">
- stock,
- </if>
- <if test="lowStock != null">
- low_stock,
- </if>
- <if test="pic != null">
- pic,
- </if>
- <if test="sale != null">
- sale,
- </if>
- <if test="promotionPrice != null">
- promotion_price,
- </if>
- <if test="lockStock != null">
- lock_stock,
- </if>
- <if test="spData != null">
- sp_data,
- </if>
- </trim>
- <trim prefix="values (" suffix=")" suffixOverrides=",">
- <if test="productId != null">
- #{productId,jdbcType=BIGINT},
- </if>
- <if test="skuCode != null">
- #{skuCode,jdbcType=VARCHAR},
- </if>
- <if test="price != null">
- #{price,jdbcType=DECIMAL},
- </if>
- <if test="stock != null">
- #{stock,jdbcType=INTEGER},
- </if>
- <if test="lowStock != null">
- #{lowStock,jdbcType=INTEGER},
- </if>
- <if test="pic != null">
- #{pic,jdbcType=VARCHAR},
- </if>
- <if test="sale != null">
- #{sale,jdbcType=INTEGER},
- </if>
- <if test="promotionPrice != null">
- #{promotionPrice,jdbcType=DECIMAL},
- </if>
- <if test="lockStock != null">
- #{lockStock,jdbcType=INTEGER},
- </if>
- <if test="spData != null">
- #{spData,jdbcType=VARCHAR},
- </if>
- </trim>
- </insert>
- <select id="countByExample" parameterType="com.yonge.cooleshow.mbg.model.PmsSkuStockExample" resultType="java.lang.Long">
- select count(*) from pms_sku_stock
- <if test="_parameter != null">
- <include refid="Example_Where_Clause" />
- </if>
- </select>
- <update id="updateByExampleSelective" parameterType="map">
- update pms_sku_stock
- <set>
- <if test="record.id != null">
- id = #{record.id,jdbcType=BIGINT},
- </if>
- <if test="record.productId != null">
- product_id = #{record.productId,jdbcType=BIGINT},
- </if>
- <if test="record.skuCode != null">
- sku_code = #{record.skuCode,jdbcType=VARCHAR},
- </if>
- <if test="record.price != null">
- price = #{record.price,jdbcType=DECIMAL},
- </if>
- <if test="record.stock != null">
- stock = #{record.stock,jdbcType=INTEGER},
- </if>
- <if test="record.lowStock != null">
- low_stock = #{record.lowStock,jdbcType=INTEGER},
- </if>
- <if test="record.pic != null">
- pic = #{record.pic,jdbcType=VARCHAR},
- </if>
- <if test="record.sale != null">
- sale = #{record.sale,jdbcType=INTEGER},
- </if>
- <if test="record.promotionPrice != null">
- promotion_price = #{record.promotionPrice,jdbcType=DECIMAL},
- </if>
- <if test="record.lockStock != null">
- lock_stock = #{record.lockStock,jdbcType=INTEGER},
- </if>
- <if test="record.spData != null">
- sp_data = #{record.spData,jdbcType=VARCHAR},
- </if>
- </set>
- <if test="_parameter != null">
- <include refid="Update_By_Example_Where_Clause" />
- </if>
- </update>
- <update id="updateByExample" parameterType="map">
- update pms_sku_stock
- set id = #{record.id,jdbcType=BIGINT},
- product_id = #{record.productId,jdbcType=BIGINT},
- sku_code = #{record.skuCode,jdbcType=VARCHAR},
- price = #{record.price,jdbcType=DECIMAL},
- stock = #{record.stock,jdbcType=INTEGER},
- low_stock = #{record.lowStock,jdbcType=INTEGER},
- pic = #{record.pic,jdbcType=VARCHAR},
- sale = #{record.sale,jdbcType=INTEGER},
- promotion_price = #{record.promotionPrice,jdbcType=DECIMAL},
- lock_stock = #{record.lockStock,jdbcType=INTEGER},
- sp_data = #{record.spData,jdbcType=VARCHAR}
- <if test="_parameter != null">
- <include refid="Update_By_Example_Where_Clause" />
- </if>
- </update>
- <update id="updateByPrimaryKeySelective" parameterType="com.yonge.cooleshow.mbg.model.PmsSkuStock">
- update pms_sku_stock
- <set>
- <if test="productId != null">
- product_id = #{productId,jdbcType=BIGINT},
- </if>
- <if test="skuCode != null">
- sku_code = #{skuCode,jdbcType=VARCHAR},
- </if>
- <if test="price != null">
- price = #{price,jdbcType=DECIMAL},
- </if>
- <if test="stock != null">
- stock = #{stock,jdbcType=INTEGER},
- </if>
- <if test="lowStock != null">
- low_stock = #{lowStock,jdbcType=INTEGER},
- </if>
- <if test="pic != null">
- pic = #{pic,jdbcType=VARCHAR},
- </if>
- <if test="sale != null">
- sale = #{sale,jdbcType=INTEGER},
- </if>
- <if test="promotionPrice != null">
- promotion_price = #{promotionPrice,jdbcType=DECIMAL},
- </if>
- <if test="lockStock != null">
- lock_stock = #{lockStock,jdbcType=INTEGER},
- </if>
- <if test="spData != null">
- sp_data = #{spData,jdbcType=VARCHAR},
- </if>
- </set>
- where id = #{id,jdbcType=BIGINT}
- </update>
- <update id="updateByPrimaryKey" parameterType="com.yonge.cooleshow.mbg.model.PmsSkuStock">
- update pms_sku_stock
- set product_id = #{productId,jdbcType=BIGINT},
- sku_code = #{skuCode,jdbcType=VARCHAR},
- price = #{price,jdbcType=DECIMAL},
- stock = #{stock,jdbcType=INTEGER},
- low_stock = #{lowStock,jdbcType=INTEGER},
- pic = #{pic,jdbcType=VARCHAR},
- sale = #{sale,jdbcType=INTEGER},
- promotion_price = #{promotionPrice,jdbcType=DECIMAL},
- lock_stock = #{lockStock,jdbcType=INTEGER},
- sp_data = #{spData,jdbcType=VARCHAR}
- where id = #{id,jdbcType=BIGINT}
- </update>
- <update id="lockStock">
- <!-- update pms_sku_stock set lock_stock = lock_stock + #{quantity} where id = #{productSkuId} and stock >= ( lock_stock + #{quantity})-->
- update pms_sku_stock set lock_stock = lock_stock where id = #{productSkuId}
- </update>
- <select id="getSkuStockByProductIds" resultType="com.yonge.cooleshow.mbg.dto.PmsSkuStockDto$PmsSkuStockStock">
- select t.product_sku_id as id,
- t.product_id as productId,
- sum(t.internal_stock - t.internal_sale_stock) as internalStock,
- sum(t.tax_stock - t.tax_sale_stock) as taxStock
- from pms_product_sku_stock_record t
- left join pms_sku_stock t1 on t1.id = t.product_sku_id
- where t.product_id in
- <foreach collection="productIds" item="productId" open="(" separator="," close=")">
- #{productId}
- </foreach>
- and t1.delete_status = 0
- group by t.product_sku_id, t.product_id
- </select>
- </mapper>
|