171 lines
7.3 KiB
XML
171 lines
7.3 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="com.cool.store.mapper.EnterpriseUserMapper">
|
|
<resultMap id="BaseResultMap" type="com.cool.store.entity.EnterpriseUserDO">
|
|
<id column="id" jdbcType="VARCHAR" property="id"/>
|
|
<result column="user_id" jdbcType="VARCHAR" property="userId"/>
|
|
<result column="name" jdbcType="VARCHAR" property="name"/>
|
|
<result column="remark" jdbcType="VARCHAR" property="remark"/>
|
|
<result column="mobile" jdbcType="VARCHAR" property="mobile"/>
|
|
<result column="email" jdbcType="VARCHAR" property="email"/>
|
|
<result column="main_admin" jdbcType="BIT" property="mainAdmin"/>
|
|
<result column="is_admin" jdbcType="BIT" property="isAdmin"/>
|
|
<result column="unionid" jdbcType="VARCHAR" property="unionid"/>
|
|
<result column="avatar" jdbcType="VARCHAR" property="avatar"/>
|
|
<result column="jobnumber" jdbcType="VARCHAR" property="jobnumber"/>
|
|
<result column="is_leader" jdbcType="BIT" property="isLeader"/>
|
|
<result column="is_leader_in_depts" jdbcType="VARCHAR" property="isLeaderInDepts"/>
|
|
<result column="face_url" jdbcType="VARCHAR" property="faceUrl"/>
|
|
<result column="user_status" jdbcType="TINYINT" property="userStatus"/>
|
|
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
|
|
<result column="third_oa_unique_flag" jdbcType="VARCHAR" property="thirdOaUniqueFlag"/>
|
|
</resultMap>
|
|
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.cool.store.entity.EnterpriseUserDO">
|
|
<result column="user_region_ids" jdbcType="LONGVARCHAR" property="userRegionIds"/>
|
|
</resultMap>
|
|
<sql id="Base_Column_List">
|
|
id, user_id, name, remark, mobile, email, main_admin, is_admin, unionid,
|
|
avatar, jobnumber, is_leader, is_leader_in_depts, face_url, user_status, create_time,
|
|
third_oa_unique_flag
|
|
</sql>
|
|
<sql id="Blob_Column_List">
|
|
user_region_ids
|
|
</sql>
|
|
|
|
<select id="getUserInfoById" resultMap="BaseResultMap">
|
|
select
|
|
<include refid="Base_Column_List"/>,
|
|
<include refid="Blob_Column_List"/>
|
|
from
|
|
enterprise_user_${enterpriseId}
|
|
where
|
|
user_id = #{userId}
|
|
</select>
|
|
|
|
<select id="getUserInfoByJobnumber" resultMap="BaseResultMap">
|
|
select
|
|
<include refid="Base_Column_List"/>,
|
|
<include refid="Blob_Column_List"/>
|
|
from
|
|
enterprise_user_${enterpriseId}
|
|
where
|
|
jobnumber = #{jobnumber}
|
|
</select>
|
|
|
|
<select id="getUserInfoByThirdOaUniqueFlag" resultMap="BaseResultMap">
|
|
select
|
|
<include refid="Base_Column_List"/>,
|
|
<include refid="Blob_Column_List"/>
|
|
from
|
|
enterprise_user_${enterpriseId}
|
|
where
|
|
third_oa_unique_flag = #{thirdOaUniqueFlag}
|
|
</select>
|
|
|
|
<select id="getUserInfoByUserIds" resultMap="BaseResultMap">
|
|
select
|
|
<include refid="Base_Column_List"/>,
|
|
<include refid="Blob_Column_List"/>
|
|
from
|
|
enterprise_user_${enterpriseId}
|
|
<where>
|
|
<if test="userIdList !=null and userIdList.size>0">
|
|
<foreach collection="userIdList" item="userId" open="and user_id in (" close=")" separator=",">
|
|
#{userId}
|
|
</foreach>
|
|
</if>
|
|
</where>
|
|
</select>
|
|
|
|
<select id="searchUserByRegionIdsAndKeyword" resultMap="BaseResultMap">
|
|
select
|
|
user_id, name, mobile
|
|
from
|
|
enterprise_user_${enterpriseId}
|
|
<where>
|
|
active = true
|
|
and <foreach collection="regionIds" item="regionId" separator=" or " open="(" close=")">user_region_ids like concat('%', #{regionId}, '%')</foreach>
|
|
<if test="keyword != null">
|
|
and (name like concat("%", #{keyword}, "%") or mobile like concat("%", #{keyword}, "%"))
|
|
</if>
|
|
<if test="leaderRegionIds != null and leaderRegionIds.size()>0">
|
|
and <foreach collection="leaderRegionIds" item="regionId" separator=" or " open="(" close=")">user_region_ids like concat('%', #{regionId}, '%')</foreach>
|
|
</if>
|
|
</where>
|
|
</select>
|
|
|
|
<select id="getUserCountByRegionId" resultType="integer">
|
|
select count(1) from enterprise_user_${enterpriseId} where active = true and user_region_ids like concat("%", #{regionId}, "%")
|
|
</select>
|
|
|
|
<select id="getUserListByDeptLeader" resultMap="BaseResultMap">
|
|
select
|
|
<include refid="Base_Column_List"/>,
|
|
<include refid="Blob_Column_List"/>
|
|
from
|
|
enterprise_user_${enterpriseId}
|
|
where
|
|
is_leader_in_depts like concat("%", #{regionId}, "%") and active = true
|
|
</select>
|
|
|
|
<select id="getUserListByDeptLeaders" resultMap="BaseResultMap">
|
|
select
|
|
user_id, name, mobile
|
|
from
|
|
enterprise_user_${enterpriseId}
|
|
where
|
|
active = true and <foreach collection="regionIds" separator="or" open="(" close=")" item="regionId"> is_leader_in_depts like concat("%", #{regionId}, "%") </foreach>
|
|
</select>
|
|
|
|
<select id="getUserListByRegionIds" resultMap="BaseResultMap">
|
|
select
|
|
user_id, name, mobile
|
|
from
|
|
enterprise_user_${enterpriseId}
|
|
where
|
|
active = true and is_leader = 0 and
|
|
<foreach collection="regionIds" separator="or" open="(" close=")" item="regionId">
|
|
user_region_ids like concat("%", #{regionId}, "%")
|
|
</foreach>
|
|
ORDER BY
|
|
CASE WHEN jobnumber='' OR jobnumber IS NULL THEN 1 ELSE 0 END,
|
|
SUBSTR(jobnumber,1,1),
|
|
CAST(SUBSTR(jobnumber,2) AS UNSIGNED) ASC
|
|
</select>
|
|
|
|
<select id="selectByMobile" resultMap="BaseResultMap">
|
|
SELECT <include refid="Base_Column_List"/> FROM enterprise_user_${enterpriseId} WHERE mobile =#{mobile} and active = true LIMIT 1
|
|
</select>
|
|
|
|
<select id="selectByInvestmentManager" resultMap="BaseResultMap">
|
|
SELECT
|
|
<include refid="Base_Column_List"/>
|
|
FROM enterprise_user_${enterpriseId} WHERE ( mobile = #{investmentManager} or `name` = #{investmentManager} ) and active = true LIMIT 1
|
|
</select>
|
|
<select id="selectNameByUserId" resultType="com.cool.store.dto.openPreparation.UserNameDTO">
|
|
select user_id as userId ,name
|
|
from enterprise_user_${enterpriseId}
|
|
where user_id in
|
|
<foreach item="userId" index="index" collection="userIdList" open="(" separator="," close=")">
|
|
#{userId}
|
|
</foreach>
|
|
|
|
</select>
|
|
<select id="getUserIdListByRegionId" resultType="java.lang.String">
|
|
select user_id as userId
|
|
from enterprise_user_${enterpriseId}
|
|
where user_id in
|
|
<foreach item="userId" index="index" collection="userIdList" open="(" separator="," close=")">
|
|
#{userId}
|
|
</foreach>
|
|
and user_region_ids like concat('%', #{regionId}, '%')
|
|
</select>
|
|
|
|
<select id="getUserListByRegionId" resultMap="BaseResultMap">
|
|
select
|
|
<include refid="Base_Column_List"/>,
|
|
<include refid="Blob_Column_List"/>
|
|
from enterprise_user_${enterpriseId}
|
|
where user_region_ids like concat('%', #{regionId}, '%') and active = true
|
|
</select>
|
|
</mapper> |