<?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="ConBoxGoodsDao">
<resultMap id="BaseResultMap" type="com.jd.jdx.x.sr.cms.domain.container.model.ConBoxGoods">
<id column="id" property="id" jdbcType="BIGINT"/>
<result column="seller_no" property="sellerNo" jdbcType="VARCHAR"/>
<result column="seller_name" property="sellerName" jdbcType="VARCHAR"/>
<result column="box_no" property="boxNo" jdbcType="VARCHAR"/>
<result column="box_name" property="boxName" jdbcType="VARCHAR"/>
<result column="store_no" property="storeNo" jdbcType="VARCHAR"/>
<result column="store_name" property="storeName" jdbcType="VARCHAR"/>
<result column="goods_no" property="goodsNo" jdbcType="VARCHAR"/>
<result column="goods_name" property="goodsName" jdbcType="VARCHAR"/>
<result column="sales_price" property="salesPrice" jdbcType="DECIMAL"/>
<result column="discount" property="discount" jdbcType="DECIMAL"/>
<result column="realtime_price" property="realtimePrice" jdbcType="DECIMAL"/>
<result column="inside_price" property="insidePrice" jdbcType="DECIMAL"/>
<result column="stock_qty_norm" property="stockQtyNorm" jdbcType="INTEGER"/>
<result column="project_no" property="projectNo" jdbcType="VARCHAR"/>
<result column="project_name" property="projectName" jdbcType="VARCHAR"/>
<result column="template_no" property="templateNo" jdbcType="VARCHAR"/>
<result column="template_name" property="templateName" jdbcType="VARCHAR"/>
<result column="stock_threshold" property="stockThreshold" jdbcType="INTEGER"/>
<result column="goods_status" property="goodsStatus" jdbcType="INTEGER"/>
<result column="shelves" property="shelves" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
<result column="create_user" property="createUser" jdbcType="VARCHAR"/>
<result column="update_user" property="updateUser" jdbcType="VARCHAR"/>
<result column="ts" property="ts" jdbcType="TIMESTAMP"/>
<result column="is_delete" property="isDelete" jdbcType="INTEGER"/>
<result column="sys_version" property="sysVersion" jdbcType="TINYINT"/>
<result column="reserve1" property="reserve1" jdbcType="VARCHAR"/>
<result column="reserve2" property="reserve2" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
<trim prefix="" suffix="" suffixOverrides=",">
id,
seller_no,
seller_name,
box_no,
box_name,
store_no,
store_name,
goods_no,
goods_name,
sales_price,
discount,
realtime_price,
inside_price,
stock_qty_norm,
project_no,
project_name,
template_no,
template_name,
stock_threshold,
goods_status,
shelves,
create_time,
update_time,
create_user,
update_user,
ts,
is_delete,
sys_version,
reserve1,
reserve2,
</trim>
</sql>
<!-- 根据Id查询 -->
<select id="getConBoxGoods" resultMap="BaseResultMap" parameterType="Long">
select
<include refid="Base_Column_List"/>
from con_box_goods
where id = #{id,jdbcType=BIGINT}
</select>
<!-- 根据条件查询列表 -->
<select id="findConBoxGoodsList" resultMap="BaseResultMap"
parameterType="com.jd.jdx.x.sr.cms.domain.container.query.ConBoxGoodsQuery">
select
<include refid="Base_Column_List"/>
from con_box_goods
<where>
is_delete=0
</where>
</select>
<!-- 根据skuList查询列表 -->
<select id="getBoxGoodsListBySkuList" resultMap="BaseResultMap"
parameterType="com.jd.jdx.x.sr.cms.domain.container.dto.GoodsBoxDto">
select
<include refid="Base_Column_List"/>
from con_box_goods
<where>
is_delete=0
<if test="sellerNo != null">
and seller_no=#{sellerNo}
</if>
<if test="deviceNo != null">
and box_no=#{deviceNo}
</if>
<if test="skuList != null">
and goods_no in
<foreach item="item" collection="skuList" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
<!--根据商家设备-获取设备商品信息-->
<select id="getBoxGoodsListByListDto" resultMap="BaseResultMap"
parameterType="com.jd.jdx.x.sr.cms.domain.container.dto.UIGoodsBoxDto">
select
<include refid="Base_Column_List"/>
from con_box_goods
<where>
is_delete=0
<if test="sellerNo != null">
and seller_no=#{sellerNo}
</if>
<if test="listBoxNos != null">
and box_no in
<foreach item="item" collection="listBoxNos" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
<!-- 插入实体 -->
<insert id="insertConBoxGoods" parameterType="com.jd.jdx.x.sr.cms.domain.container.model.ConBoxGoods"
useGeneratedKeys="true" keyProperty="id">
insert into con_box_goods
<trim prefix="(" suffix=")" suffixOverrides=",">
id,
seller_no,
seller_name,
box_no,
box_name,
store_no,
store_name,
goods_no,
sales_price,
discount,
realtime_price,
inside_price,
stock_qty_norm,
project_no,
project_name,
template_no,
template_name,
stock_threshold,
goods_status,
shelves,
create_time,
update_time,
create_user,
update_user,
is_delete,
sys_version,
reserve1,
reserve2,
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
#{id,jdbcType=BIGINT},
#{sellerNo,jdbcType=VARCHAR},
#{sellerName,jdbcType=VARCHAR},
#{boxNo,jdbcType=VARCHAR},
#{boxName,jdbcType=VARCHAR},
#{storeNo,jdbcType=VARCHAR},
#{storeName,jdbcType=VARCHAR},
#{goodsNo,jdbcType=VARCHAR},
#{salesPrice,jdbcType=DECIMAL},
#{discount,jdbcType=DECIMAL},
#{realtimePrice,jdbcType=DECIMAL},
#{insidePrice,jdbcType=DECIMAL},
#{stockQtyNorm,jdbcType=INTEGER},
#{projectNo,jdbcType=VARCHAR},
#{projectName,jdbcType=VARCHAR},
#{templateNo,jdbcType=VARCHAR},
#{templateName,jdbcType=VARCHAR},
#{stockThreshold,jdbcType=INTEGER},
#{goodsStatus,jdbcType=INTEGER},
#{shelves,jdbcType=VARCHAR},
#{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP},
#{createUser,jdbcType=VARCHAR},
#{updateUser,jdbcType=VARCHAR},
#{isDelete,jdbcType=INTEGER},
#{sysVersion,jdbcType=TINYINT},
#{reserve1,jdbcType=VARCHAR},
#{reserve2,jdbcType=VARCHAR},
</trim>
</insert>
<!-- 修改实体 -->
<update id="updateConBoxGoods" parameterType="com.jd.jdx.x.sr.cms.domain.container.model.ConBoxGoods">
update con_box_goods
<set>
<trim prefix="" suffix="" suffixOverrides=",">
<if test="id != null">
id = #{id,jdbcType=BIGINT},
</if>
<if test="sellerNo != null">
seller_no = #{sellerNo,jdbcType=VARCHAR},
</if>
<if test="sellerName != null">
seller_name = #{sellerName,jdbcType=VARCHAR},
</if>
<if test="boxNo != null">
box_no = #{boxNo,jdbcType=VARCHAR},
</if>
<if test="boxName != null">
box_no = #{boxName,jdbcType=VARCHAR},
</if>
<if test="storeNo != null">
store_no = #{storeNo,jdbcType=VARCHAR},
</if>
<if test="storeName != null">
store_name = #{storeName,jdbcType=VARCHAR},
</if>
<if test="goodsNo != null">
goods_no = #{goodsNo,jdbcType=VARCHAR},
</if>
<if test="salesPrice != null">
sales_price = #{salesPrice,jdbcType=DECIMAL},
</if>
<if test="discount != null">
discount = #{discount,jdbcType=DECIMAL},
</if>
<if test="realtimePrice != null">
realtime_price = #{realtimePrice,jdbcType=DECIMAL},
</if>
<if test="insidePrice != null">
inside_price = #{insidePrice,jdbcType=DECIMAL},
</if>
<if test="stockQtyNorm != 0">
stock_qty_norm = #{stockQtyNorm,jdbcType=INTEGER},
</if>
<if test="projectNo != null">
project_no = #{projectNo,jdbcType=VARCHAR},
</if>
<if test="projectName != null">
project_name = #{projectName,jdbcType=VARCHAR},
</if>
<if test="templateNo != null">
template_no = #{templateNo,jdbcType=VARCHAR},
</if>
<if test="templateName != null">
template_name = #{templateName,jdbcType=VARCHAR},
</if>
<if test="stockThreshold != 0">
stock_threshold = #{stockThreshold,jdbcType=INTEGER},
</if>
<if test="goodsStatus != 0">
goods_status = #{goodsStatus,jdbcType=INTEGER},
</if>
<if test="shelves != null">
shelves = #{shelves,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="createUser != null">
create_user = #{createUser,jdbcType=VARCHAR},
</if>
<if test="updateUser != null">
update_user = #{updateUser,jdbcType=VARCHAR},
</if>
<if test="ts != null">
ts = #{ts,jdbcType=TIMESTAMP},
</if>
<if test="isDelete != 0">
is_delete = #{isDelete,jdbcType=INTEGER},
</if>
<if test="sysVersion != 0">
sys_version = #{sysVersion,jdbcType=TINYINT},
</if>
<if test="reserve1 != null">
reserve1 = #{reserve1,jdbcType=VARCHAR},
</if>
<if test="reserve2 != null">
reserve2 = #{reserve2,jdbcType=VARCHAR},
</if>
</trim>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<!-- 删除实体 -->
<update id="deleteConBoxGoods" parameterType="Long">
update con_box_goods
<set>
is_delete=1
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<!--相关设备商品表 sller_no sku price 更新人,更新时间-->
<update id="updateConBoxGoodsPrice" parameterType="com.jd.jdx.x.sr.cms.domain.container.model.ConBoxGoods">
update con_box_goods
<set>
<trim prefix="" suffix="" suffixOverrides=",">
realtime_price = #{realtimePrice,jdbcType=DECIMAL},
update_time = #{updateTime,jdbcType=TIMESTAMP},
update_user = #{updateUser,jdbcType=VARCHAR}
</trim>
</set>
where seller_no=#{sellerNo,jdbcType=VARCHAR} and goods_no=#{goodsNo,jdbcType=VARCHAR}
</update>
<update id="updateListBoxGoodsPrice" parameterType="java.util.List">
update con_box_goods
<trim prefix="set" suffixOverrides=",">
<trim prefix="realtime_price =case" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.realtimePrice!=null">
when id=#{i.id} then #{i.realtimePrice}
</if>
</foreach>
</trim>
<trim prefix="update_time =case" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.updateTime!=null">
when id=#{i.id} then #{i.updateTime}
</if>
</foreach>
</trim>
<trim prefix="update_user =case" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.updateUser!=null">
when id=#{i.id} then #{i.updateUser}
</if>
</foreach>
</trim>
</trim>
where
<foreach collection="list" separator="or" item="i" index="index">
id=#{i.id}
</foreach>
</update>
</mapper>