<?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.matrix.system.shopXcx.dao.ShopCollectionDao">
|
<!-- 定义ShopCollection 的复杂关联map -->
|
<resultMap type="com.matrix.system.shopXcx.bean.ShopCollection" id="ShopCollectionMap">
|
<id property="collId" column="coll_id" />
|
<result property="createBy" column="create_by" />
|
<result property="createTime" column="create_time" />
|
<result property="updateBy" column="update_by" />
|
<result property="updateTime" column="update_time" />
|
<result property="collUserid" column="coll_userid" />
|
<result property="collProductid" column="coll_productid" />
|
<result property="categoryId" column="category_id" />
|
<result property="title" column="title" />
|
<result property="briefIntroduction" column="brief_introduction" />
|
<result property="carriage" column="carriage" />
|
<result property="imgPc" column="img_pc" />
|
<result property="imgMobile" column="img_mobile" />
|
<result property="brand" column="brand" />
|
<result property="price" column="price" />
|
<result property="pcDetails" column="pc_details" />
|
<result property="mobileDetails" column="mobile_details" />
|
<result property="buyLimit" column="buy_limit" />
|
<result property="limitCycle" column="limit_cycle" />
|
<result property="isCanComment" column="is_can_comment" />
|
<result property="mnemonicCode" column="mnemonic_code" />
|
<result property="status" column="status" />
|
<result property="dsVolume" column="ds_volume" />
|
<result property="rsVolume" column="rs_volume" />
|
<result property="delFlag" column="del_flag" />
|
<result property="userName" column="user_name" />
|
<result property="nickName" column="nick_name" />
|
<result property="phoneNumber" column="phone" />
|
<result property="companyId" column="company_id" />
|
</resultMap>
|
|
|
<!-- 定义ShopCollection 的简单map ,本map不添加其他的关联属性 -->
|
<resultMap type="com.matrix.system.shopXcx.bean.ShopCollection" id="ShopCollectionSimpleMap">
|
<id property="collId" column="coll_id" />
|
<result property="createBy" column="create_by" />
|
<result property="createTime" column="create_time" />
|
<result property="updateBy" column="update_by" />
|
<result property="updateTime" column="update_time" />
|
<result property="collUserid" column="coll_userid" />
|
<result property="collProductid" column="coll_productid" />
|
<result property="companyId" column="company_id" />
|
</resultMap>
|
|
<!-- 字段sql -->
|
<sql id="columns">
|
create_by,
|
create_time,
|
update_by,
|
update_time,
|
coll_id,
|
coll_userid,
|
coll_productid,
|
company_id
|
</sql>
|
|
<!-- 属性sql -->
|
<sql id="propertys">
|
#{item.createBy},
|
now(),
|
#{item.updateBy},
|
now(),
|
#{item.collId},
|
#{item.collUserid},
|
#{item.collProductid},
|
#{item.companyId}
|
</sql>
|
|
<!-- where sql -->
|
<sql id="where_sql">
|
|
<if test="record!=null">
|
<if test="(record.collId!=null and record.collId!='') or (record.collId!='' and record.collId==0) ">
|
and coll_id = #{record.collId}
|
</if>
|
<if test="(record.collUserid!=null and record.collUserid!='') or (record.collUserid!='' and record.collUserid==0) ">
|
and coll_userid = #{record.collUserid}
|
</if>
|
<if test="(record.collProductid!=null and record.collProductid!='') or (record.collProductid!='' and record.collProductid==0) ">
|
and coll_productid = #{record.collProductid}
|
</if>
|
<if test="(record.nickName!=null and record.nickName!='') or (record.nickName!='' and record.nickName==0) ">
|
and u.nick_name like concat('%',#{record.nickName},'%')
|
</if>
|
<if test="(record.title!=null and record.title!='') or (record.title!='' and record.title==0) ">
|
and p.title like concat('%',#{record.title},'%')
|
</if>
|
<if test="(record.collectionBeginTime!=null and record.collectionBeginTime!='')">
|
and date_format(c.create_time, '%Y-%m-%d') >= #{record.collectionBeginTime}
|
</if>
|
<if test="(record.collectionEndTime!=null and record.collectionEndTime!='')">
|
and #{record.collectionEndTime} >= date_format(c.create_time, '%Y-%m-%d')
|
</if>
|
<if test="record.companyId != null and record.companyId !='' ">
|
and c.company_id = #{record.companyId}
|
</if>
|
|
</if>
|
|
</sql>
|
|
<!-- 插入方法 -->
|
<insert id="insert" parameterType="com.matrix.system.shopXcx.bean.ShopCollection"
|
useGeneratedKeys="true" keyProperty="item.collId">
|
INSERT INTO shop_collection (
|
<include refid="columns"></include>
|
)
|
VALUES (
|
<include refid="propertys"></include>
|
)
|
</insert>
|
|
|
|
<!-- 批量插入 -->
|
<insert id="batchInsert" parameterType="java.util.List">
|
INSERT INTO shop_collection (
|
<include refid="columns"></include>
|
)
|
VALUES
|
<foreach collection="list" item="item" index="index" separator=",">(
|
<include refid="propertys"></include>
|
)</foreach>
|
</insert>
|
|
|
|
|
|
<!-- 根据Map更新 部分更新 -->
|
<update id="updateByMap" parameterType="java.util.HashMap" >
|
UPDATE shop_collection
|
<set>
|
<if test="_parameter.containsKey('collUserid')">
|
coll_userid = #{collUserid},
|
</if>
|
<if test="_parameter.containsKey('collProductid')">
|
coll_productid = #{collProductid},
|
</if>
|
</set>
|
WHERE coll_id=#{collId}
|
</update>
|
|
|
<!-- 根据对象更新 部分更新 -->
|
<update id="updateByModel" parameterType="Integer">
|
UPDATE shop_collection
|
<set>
|
<if test="record.collUserid != null and record.collUserid != '' ">
|
coll_userid = #{record.collUserid},
|
</if>
|
<if test="record.collProductid != null ">
|
coll_productid = #{record.collProductid},
|
</if>
|
</set>
|
WHERE coll_id=#{record.collId}
|
</update>
|
|
<!-- 批量删除 -->
|
<delete id="deleteByIds" parameterType="java.util.List">
|
delete from shop_collection where coll_id in
|
<foreach collection="list" index="index" item="item" open="("
|
separator="," close=")">
|
#{item}
|
</foreach>
|
</delete>
|
|
<!-- 根据id删除-->
|
<delete id="deleteById" parameterType="Integer">
|
DELETE FROM shop_collection
|
where coll_id=#{collId}
|
</delete>
|
|
<!-- 根据用户下的产品id删除-->
|
<delete id="deleteByProductId" parameterType="java.util.HashMap">
|
DELETE FROM shop_collection
|
where 1=1
|
<if test="_parameter.containsKey('collUserid')">
|
and coll_userid = #{collUserid}
|
</if>
|
<if test="_parameter.containsKey('collProductid')">
|
and coll_productid = #{collProductid}
|
</if>
|
|
|
|
</delete>
|
|
<!-- 根据对象删除-->
|
<delete id="deleteByModel" parameterType="com.matrix.system.shopXcx.bean.ShopCollection">
|
DELETE FROM shop_collection
|
<where>
|
<include refid="where_sql" ></include>
|
</where>
|
</delete>
|
|
|
|
<!-- 分页查询 -->
|
<select id="selectInPage" resultMap="ShopCollectionMap">
|
select
|
c.create_by,
|
c.create_time,
|
c.update_by,
|
c.update_time,
|
c.coll_id,
|
c.coll_userid,
|
c.coll_productid,
|
u.user_name,
|
u.nick_name,
|
u.phone,
|
p.title
|
from shop_collection c
|
LEFT JOIN sys_vip_info u ON c.coll_userid = u.id
|
LEFT JOIN shop_product p ON c.coll_productid = p.id
|
<where>
|
<include refid="where_sql"></include>
|
</where>
|
<if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
|
order by c.create_time desc
|
<if test="pageVo.offset >=0 and pageVo.limit >0">
|
limit
|
#{pageVo.offset},#{pageVo.limit}
|
</if>
|
</if>
|
</select>
|
|
<!-- 查询总条数 -->
|
<select id="selectTotalRecord" parameterType="long" resultType="java.lang.Integer">
|
select count(*)
|
from shop_collection c
|
LEFT JOIN sys_vip_info u ON c.coll_userid = u.id
|
LEFT JOIN shop_product p ON c.coll_productid = p.id
|
<where>
|
<include refid="where_sql"></include>
|
</where>
|
</select>
|
|
<!-- 根据id查询-->
|
<select id="selectById" resultMap="ShopCollectionMap">
|
select
|
<include refid="columns" ></include>
|
from shop_collection
|
where coll_id=#{collId}
|
</select>
|
|
<!-- 根据用户id查询-->
|
<select id="selectByUserId" resultMap="ShopCollectionMap">
|
SELECT
|
c.create_by,
|
c.create_time,
|
c.update_by,
|
c.update_time,
|
c.coll_id,
|
c.coll_userid,
|
c.coll_productid,
|
p.category_id,
|
p.title,
|
p.brief_introduction,
|
p.carriage,
|
p.img_pc,
|
p.img_mobile,
|
p.brand,
|
p.price,
|
p.pc_details,
|
p.mobile_details,
|
p.buy_limit,
|
p.limit_cycle,
|
p.is_can_comment,
|
p.mnemonic_code,
|
p.status,
|
p.ds_volume,
|
p.rs_volume,
|
p.del_flag
|
FROM
|
shop_collection c
|
LEFT JOIN shop_product p ON c.coll_productid = p.id
|
<where>
|
<if test="record!=null">
|
<if test="(record.collUserid!=null and record.collUserid!='') or (record.collUserid!='' and record.collUserid==0) ">
|
c.coll_productid IN ( SELECT n.coll_productid FROM shop_collection n WHERE n.coll_userid = #{record.collUserid} )
|
and c.coll_userid = #{record.collUserid}
|
</if>
|
</if>
|
</where>
|
order by c.create_time desc
|
<if test="record.offset >=0 and record.limit >0">
|
limit
|
#{record.offset},#{record.limit}
|
</if>
|
</select>
|
|
<!-- 根据用户id和产品ID查询-->
|
<select id="selectByUserIdAndProid" resultMap="ShopCollectionMap">
|
SELECT
|
c.create_by,
|
c.create_time,
|
c.update_by,
|
c.update_time,
|
c.coll_id,
|
c.coll_userid,
|
c.coll_productid,
|
p.category_id,
|
p.title,
|
p.brief_introduction,
|
p.carriage,
|
p.img_pc,
|
p.img_mobile,
|
p.brand,
|
p.price,
|
p.pc_details,
|
p.mobile_details,
|
p.buy_limit,
|
p.limit_cycle,
|
p.is_can_comment,
|
p.mnemonic_code,
|
p.status,
|
p.ds_volume,
|
p.rs_volume,
|
p.del_flag
|
FROM
|
shop_collection c
|
LEFT JOIN shop_product p ON c.coll_productid = p.id
|
WHERE
|
c.coll_productid = #{collProductid}
|
and c.coll_userid = #{collUserId}
|
</select>
|
|
|
<!-- 根据id 锁表查询-->
|
<select id="selectForUpdate" resultMap="ShopCollectionMap">
|
select
|
<include refid="columns" ></include>
|
from shop_collection
|
where coll_id=#{coll_id}
|
for update
|
</select>
|
|
|
|
<!-- 根据对象查询-->
|
<select id="selectByModel" resultMap="ShopCollectionMap">
|
select
|
<include refid="columns" ></include>
|
from shop_collection c
|
<where>
|
<include refid="where_sql"></include>
|
</where>
|
</select>
|
</mapper>
|