305 lines
16 KiB
XML
305 lines
16 KiB
XML
<?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="cn.iocoder.yudao.module.tkdata.dal.mysql.employeehosts.EmployeeHostsMapper">
|
||
|
||
<!--
|
||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||
-->
|
||
|
||
|
||
|
||
<!-- 使用 IGNORE 关键字忽略重复插入 -->
|
||
<insert id="insertIgnore" parameterType="cn.iocoder.yudao.module.tkdata.dal.dataobject.employeehosts.EmployeeHostsDO">
|
||
INSERT IGNORE INTO server_employee_hosts
|
||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||
<if test="hostsId != null">hosts_id,</if>
|
||
<if test="userId != null">user_id,</if>
|
||
<if test="hostsLevel != null">hosts_level,</if>
|
||
<if test="hostsCoins != null">hosts_coins,</if>
|
||
<if test="invitationType != null">Invitation_type,</if>
|
||
<if test="onlineFans != null">online_fans,</if>
|
||
<if test="fans != null">fans,</if>
|
||
<if test="fllowernum != null">fllowernum,</if>
|
||
<if test="yesterdayCoins != null">yesterday_coins,</if>
|
||
<if test="country != null">country,</if>
|
||
<if test="operationStatus != null">operation_status,</if>
|
||
<if test="hostsKind != null">hosts_kind</if>
|
||
</trim>
|
||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||
<if test="hostsId != null">#{hostsId},</if>
|
||
<if test="userId != null">#{userId},</if>
|
||
<if test="hostsLevel != null">#{hostsLevel},</if>
|
||
<if test="hostsCoins != null">#{hostsCoins},</if>
|
||
<if test="invitationType != null">#{invitationType},</if>
|
||
<if test="onlineFans != null">#{onlineFans},</if>
|
||
<if test="fans != null">#{fans},</if>
|
||
<if test="fllowernum != null">#{fllowernum},</if>
|
||
<if test="yesterdayCoins != null">#{yesterdayCoins},</if>
|
||
<if test="country != null">#{country},</if>
|
||
<if test="operationStatus != null">#{operationStatus},</if>
|
||
<if test="hostsKind != null">#{hostsKind}</if>
|
||
</trim>
|
||
</insert>
|
||
|
||
<!-- 批量插入忽略重复 -->
|
||
<insert id="batchInsertIgnore" parameterType="java.util.List">
|
||
INSERT IGNORE INTO server_employee_hosts
|
||
(hosts_id, user_id, hosts_level, hosts_coins, Invitation_type,
|
||
online_fans, fans, fllowernum, yesterday_coins, country,
|
||
operation_status, hosts_kind)
|
||
VALUES
|
||
<foreach collection="list" item="item" separator=",">
|
||
(#{item.hostsId}, #{item.userId}, #{item.hostsLevel}, #{item.hostsCoins}, #{item.invitationType},
|
||
#{item.onlineFans}, #{item.fans}, #{item.fllowernum}, #{item.yesterdayCoins}, #{item.country},
|
||
#{item.operationStatus}, #{item.hostsKind})
|
||
</foreach>
|
||
</insert>
|
||
|
||
|
||
|
||
<select id="selectPageWithXMLWithSelf" resultType="cn.iocoder.yudao.module.tkdata.dal.dataobject.employeehosts.EmployeeHostsDO">
|
||
select ns.id,hosts_id, hosts_level, hosts_coins, Invitation_type, fans, fllowernum,
|
||
yesterday_coins,ns.create_time, country, online_fans,hosts_kind,remake ,operation_status ,ns.update_time from server_employee_hosts ns left join server_country_info ci ON ns.country = ci.country_name
|
||
WHERE tenant_id =#{req.tenantId,jdbcType=BIGINT}
|
||
and ns.user_id =#{req.userId,jdbcType=BIGINT}
|
||
<!-- 主播国家筛选 -->
|
||
<if test="req.country!= '' and req.country != null">
|
||
and ci.country_group_name =#{req.country,jdbcType=VARCHAR}
|
||
</if>
|
||
<!-- 按照入库时间筛选主播 -->
|
||
<if test="req.createTime != null">
|
||
and DATE(ns.create_time) =#{req.createTime}
|
||
</if>
|
||
<if test="req.operationStatus != null">
|
||
and operation_status =#{req.operationStatus,jdbcType=INTEGER}
|
||
</if>
|
||
<!-- 主播 Id 模糊搜索 -->
|
||
<if test="req.hostsId != '' and req.hostsId != null ">
|
||
and ns.hosts_id like concat(#{req.hostsId,jdbcType=VARCHAR},'%')
|
||
</if>
|
||
|
||
<!-- 主播等级筛选 -->
|
||
<if test="req.hostsLevel != null and req.hostsLevel != ''">
|
||
and ns.hosts_level =#{req.hostsLevel,jdbcType=VARCHAR}
|
||
</if>
|
||
<!-- 今日主播金币筛选 -->
|
||
<if test="req.hostsCoinsMin != null and req.hostsCoinsMax == null and req.hostsCoinsMax != '' ">
|
||
and ns.hosts_coins >=#{req.hostsCoinsMin,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.hostsCoinsMax != null and req.hostsCoinsMin == null and req.hostsCoinsMin !='' ">
|
||
and ns.hosts_coins <=#{req.hostsCoinsMax,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.hostsCoinsMin != null and req.hostsCoinsMax != null " >
|
||
and ns.hosts_coins between #{req.hostsCoinsMin,jdbcType=INTEGER} and #{req.hostsCoinsMax,jdbcType=INTEGER}
|
||
</if>
|
||
<!-- 昨日主播金币筛选 -->
|
||
<if test="req.yesterdayCoinsMin != null and req.yesterdayCoinsMax == null and req.yesterdayCoinsMax != ''">
|
||
and ns.yesterday_coins >=#{req.yesterdayCoinsMin,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.yesterdayCoinsMax != null and req.yesterdayCoinsMin == null and req.yesterdayCoinsMin != '' ">
|
||
and ns.yesterday_coins <=#{req.yesterdayCoinsMax,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.yesterdayCoinsMin != null and req.yesterdayCoinsMax != null " >
|
||
and ns.yesterday_coins between #{req.yesterdayCoinsMin,jdbcType=INTEGER} and #{req.yesterdayCoinsMax,jdbcType=INTEGER}
|
||
</if>
|
||
<!-- 主播粉丝数筛选-->
|
||
<if test="req.fansMin != null and req.fansMax == null and req.fansMax != ''">
|
||
and ns.fans >=#{req.fansMin,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.fansMax != null and req.fansMin == null and req.fansMin != '' ">
|
||
and ns.fans <=#{req.fansMax,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.fansMin != null and req.fansMax != null " >
|
||
and ns.fans between #{req.fansMin,jdbcType=INTEGER} and #{req.fansMax,jdbcType=INTEGER}
|
||
</if>
|
||
<!-- 主播关注筛选-->
|
||
<if test="req.fllowernumMin != null and req.fllowernumMax == null and req.fllowernumMax != ''">
|
||
and ns.fllowernum >=#{req.fllowernumMin,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.fllowernumMax != null and req.fllowernumMin == null and req.fllowernumMin != ''">
|
||
and ns.fllowernum <=#{req.fllowernumMax,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.fllowernumMin != null and req.fllowernumMax != null " >
|
||
and ns.fllowernum between #{req.fllowernumMin,jdbcType=INTEGER} and #{req.fllowernumMax,jdbcType=INTEGER}
|
||
</if>
|
||
<!-- 主播在线人数筛选-->
|
||
<if test="req.onlineFansMin != null and req.onlineFansMax == null and req.onlineFansMax != '' ">
|
||
and ns.online_fans >=#{req.onlineFansMin,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.onlineFansMax != null and req.onlineFansMin == null and req.onlineFansMin != ''">
|
||
and ns.online_fans <= #{req.onlineFansMax,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.onlineFansMin != null and req.onlineFansMax != null " >
|
||
and ns.online_fans between #{req.onlineFansMin,jdbcType=INTEGER} and #{req.onlineFansMax,jdbcType=INTEGER}
|
||
</if>
|
||
<!-- 邀请类筛选 -->
|
||
<if test="req.invitationType != null">
|
||
and ns.Invitation_type =#{req.invitationType,jdbcType=INTEGER}
|
||
</if>
|
||
<!-- 排序类型 -->
|
||
group by
|
||
ns.hosts_id
|
||
order by
|
||
<choose>
|
||
<!-- 传空和默认的情况下按照时间降序排序 -->
|
||
<when test="req.sortName == '' and req.sortName == null">
|
||
ns.create_time desc
|
||
</when>
|
||
<!-- sortNmae 有值的情况下排序 -->
|
||
<when test="req.sortName != null and req.sort != null ">
|
||
<if test="req.sortName == 'createTime' and req.sort != null">
|
||
ns.create_time ${req.sort}
|
||
</if>
|
||
<!-- 昨日主播金币条件排序 -->
|
||
<if test="req.sortName == 'yesterdayCoins' and req.sort != null">
|
||
ns.yesterday_coins ${req.sort}
|
||
</if>
|
||
<!-- 主播金币条件排序 -->
|
||
<if test="req.sortName == 'hostsCoins' and req.sort != null">
|
||
ns.hosts_coins ${req.sort}
|
||
</if>
|
||
<!-- 主播粉丝条件排序 -->
|
||
<if test="req.sortName == 'fans' and req.sort != null">
|
||
ns.fans ${req.sort}
|
||
</if>
|
||
<!-- 主播关注数量排序 -->
|
||
<if test="req.sortName == 'fllowernum' and req.sort != null">
|
||
ns.fllowernum ${req.sort}
|
||
</if>
|
||
<!-- 主播直播间在线数量排序 -->
|
||
<if test="req.sortName == 'onlineFans' and req.sort != null">
|
||
ns.online_fans ${req.sort}
|
||
</if>
|
||
</when>
|
||
<otherwise>
|
||
ns.create_time desc
|
||
</otherwise>
|
||
</choose>
|
||
</select>
|
||
|
||
<select id="selectPageWithXML" resultType="cn.iocoder.yudao.module.tkdata.dal.dataobject.employeehosts.EmployeeHostsDO">
|
||
select ns.id,hosts_id, hosts_level, hosts_coins, Invitation_type, fans, fllowernum,
|
||
yesterday_coins,ns.create_time, country, online_fans,hosts_kind,remake ,operation_status,user_id,uid,ns.update_time from server_employee_hosts ns left join server_country_info ci ON ns.country = ci.country_name
|
||
WHERE tenant_id = #{req.tenantId,jdbcType=BIGINT}
|
||
and deleted = 0
|
||
<!-- 筛选员工名下主播 -->
|
||
<if test="req.userId != null ">
|
||
and user_id = #{req.userId,jdbcType=BIGINT}
|
||
</if>
|
||
<!-- 主播国家筛选 -->
|
||
<if test="req.country!= '' and req.country != null">
|
||
and ci.country_group_name =#{req.country,jdbcType=VARCHAR}
|
||
</if>
|
||
<!-- 按照入库时间筛选主播 -->
|
||
<if test="req.createTime != null">
|
||
and DATE(ns.create_time) =#{req.createTime}
|
||
</if>
|
||
<if test="req.operationStatus != null">
|
||
and operation_status =#{req.operationStatus,jdbcType=INTEGER}
|
||
</if>
|
||
<!-- 主播 Id 模糊搜索 -->
|
||
<if test="req.hostsId != '' and req.hostsId != null ">
|
||
and ns.hosts_id like concat(#{req.hostsId,jdbcType=VARCHAR},'%')
|
||
</if>
|
||
<!-- 主播等级筛选 -->
|
||
<if test="req.hostsLevel != null and req.hostsLevel != ''">
|
||
and ns.hosts_level =#{req.hostsLevel,jdbcType=VARCHAR}
|
||
</if>
|
||
<!-- 今日主播金币筛选 -->
|
||
<if test="req.hostsCoinsMin != null and req.hostsCoinsMax == null ">
|
||
and ns.hosts_coins >=#{req.hostsCoinsMin,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.hostsCoinsMax != null and req.hostsCoinsMin == null ">
|
||
and ns.hosts_coins <=#{req.hostsCoinsMax,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.hostsCoinsMin != null and req.hostsCoinsMax != null " >
|
||
and ns.hosts_coins between #{req.hostsCoinsMin,jdbcType=INTEGER} and #{req.hostsCoinsMax,jdbcType=INTEGER}
|
||
</if>
|
||
<!-- 昨日主播金币筛选 -->
|
||
<if test="req.yesterdayCoinsMin != null and req.yesterdayCoinsMax == null ">
|
||
and ns.yesterday_coins >=#{req.yesterdayCoinsMin,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.yesterdayCoinsMax != null and req.yesterdayCoinsMin == null ">
|
||
and ns.yesterday_coins <=#{req.yesterdayCoinsMax,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.yesterdayCoinsMin != null and req.yesterdayCoinsMax != null " >
|
||
and ns.yesterday_coins between #{req.yesterdayCoinsMin,jdbcType=INTEGER} and #{req.yesterdayCoinsMax,jdbcType=INTEGER}
|
||
</if>
|
||
<!-- 主播粉丝数筛选-->
|
||
<if test="req.fansMin != null and req.fansMax == null ">
|
||
and ns.fans >=#{req.fansMin,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.fansMax != null and req.fansMin == null ">
|
||
and ns.fans <=#{req.fansMax,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.fansMin != null and req.fansMax != null " >
|
||
and ns.fans between #{req.fansMin,jdbcType=INTEGER} and #{req.fansMax,jdbcType=INTEGER}
|
||
</if>
|
||
<!-- 主播关注筛选-->
|
||
<if test="req.fllowernumMin != null and req.fllowernumMax == null ">
|
||
and ns.fllowernum >=#{req.fllowernumMin,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.fllowernumMax != null and req.fllowernumMin == null ">
|
||
and ns.fllowernum <=#{req.fllowernumMax,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.fllowernumMin != null and req.fllowernumMax != null " >
|
||
and ns.fllowernum between #{req.fllowernumMin,jdbcType=INTEGER} and #{req.fllowernumMax,jdbcType=INTEGER}
|
||
</if>
|
||
<!-- 主播在线人数筛选-->
|
||
<if test="req.onlineFansMin != null and req.onlineFansMax == null ">
|
||
and ns.online_fans >=#{req.onlineFansMin,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.onlineFansMax != null and req.onlineFansMin == null ">
|
||
and ns.online_fans <= #{req.onlineFansMax,jdbcType=INTEGER}
|
||
</if>
|
||
<if test="req.onlineFansMin != null and req.onlineFansMax != null " >
|
||
and ns.online_fans between #{req.onlineFansMin,jdbcType=INTEGER} and #{req.onlineFansMax,jdbcType=INTEGER}
|
||
</if>
|
||
<!-- 邀请类筛选 -->
|
||
<if test="req.invitationType != null">
|
||
and ns.Invitation_type =#{req.invitationType,jdbcType=INTEGER}
|
||
</if>
|
||
<!-- 排序类型 -->
|
||
group by
|
||
ns.hosts_id
|
||
order by
|
||
<choose>
|
||
<!-- 传空和默认的情况下按照时间降序排序 -->
|
||
<when test="req.sortName == '' and req.sortName == null">
|
||
ns.create_time desc
|
||
</when>
|
||
<!-- sortNmae 有值的情况下排序 -->
|
||
<when test="req.sortName != null and req.sort != null ">
|
||
<if test="req.sortName == 'createTime' and req.sort != null">
|
||
ns.create_time ${req.sort}
|
||
</if>
|
||
<!-- 昨日主播金币条件排序 -->
|
||
<if test="req.sortName == 'yesterdayCoins' and req.sort != null">
|
||
ns.yesterday_coins ${req.sort}
|
||
</if>
|
||
<!-- 主播金币条件排序 -->
|
||
<if test="req.sortName == 'hostsCoins' and req.sort != null">
|
||
ns.hosts_coins ${req.sort}
|
||
</if>
|
||
<!-- 主播粉丝条件排序 -->
|
||
<if test="req.sortName == 'fans' and req.sort != null">
|
||
ns.fans ${req.sort}
|
||
</if>
|
||
<!-- 主播关注数量排序 -->
|
||
<if test="req.sortName == 'fllowernum' and req.sort != null">
|
||
ns.fllowernum ${req.sort}
|
||
</if>
|
||
<!-- 主播直播间在线数量排序 -->
|
||
<if test="req.sortName == 'onlineFans' and req.sort != null">
|
||
ns.online_fans ${req.sort}
|
||
</if>
|
||
</when>
|
||
<otherwise>
|
||
ns.create_time desc
|
||
</otherwise>
|
||
</choose>
|
||
</select>
|
||
</mapper> |