| <?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.zy.crm.manager.mapper.CstmrMapper"> | 
|   | 
|     <!-- 通用查询映射结果 --> | 
|     <resultMap id="BaseResultMap" type="com.zy.crm.manager.entity.Cstmr"> | 
|         <id column="id" property="id" /> | 
|         <result column="host_id" property="hostId" /> | 
|         <result column="dept_id" property="deptId" /> | 
|         <result column="user_id" property="userId" /> | 
|         <result column="cstmr_type" property="cstmrType" /> | 
|         <result column="uuid" property="uuid" /> | 
|         <result column="name" property="name" /> | 
|         <result column="simple" property="simple" /> | 
|         <result column="rela" property="rela" /> | 
|         <result column="tel" property="tel" /> | 
|         <result column="contacts" property="contacts" /> | 
|         <result column="remarks" property="remarks" /> | 
|         <result column="director" property="director" /> | 
|         <result column="province" property="province" /> | 
|         <result column="city" property="city" /> | 
|         <result column="district" property="district" /> | 
|         <result column="town" property="town" /> | 
|         <result column="addr" property="addr" /> | 
|         <result column="type" property="type" /> | 
|         <result column="files" property="files" /> | 
|         <result column="status" property="status" /> | 
|         <result column="create_by" property="createBy" /> | 
|         <result column="create_time" property="createTime" /> | 
|         <result column="update_by" property="updateBy" /> | 
|         <result column="update_time" property="updateTime" /> | 
|         <result column="memo" property="memo" /> | 
|   | 
|     </resultMap> | 
|   | 
|     <select id="selectByUuid" resultMap="BaseResultMap"> | 
|         select * from man_cstmr | 
|         where 1=1 | 
|         and uuid = #{uuid} | 
|         <if test="hostId != null"> | 
|             and host_id = #{hostId} | 
|         </if> | 
|     </select> | 
|   | 
|     <select id="selectCstmrByNewestUuid" resultMap="BaseResultMap"> | 
|         select top 1 * from man_cstmr | 
|         where 1=1 | 
|         <if test="hostId != null"> | 
|             and host_id = #{hostId} | 
|         </if> | 
|         order by uuid + 0 desc | 
|     </select> | 
|   | 
|     <select id="listByPage" resultMap="BaseResultMap"> | 
|         SELECT | 
|         mc.* | 
|         FROM man_cstmr mc | 
|         LEFT JOIN sys_dept sd ON mc.dept_id = sd.id | 
|         WHERE 1=1 | 
|         <choose> | 
|             <when test="deptId != null and deptId != ''"> | 
|                 AND (CHARINDEX(','+#{deptId}+',', ','+sd.path+',') > 0 OR sd.id = #{deptId}) | 
|             </when> | 
|             <otherwise> | 
|                 and | 
|                 ( | 
|                     user_id = #{userId} | 
|                     or | 
|                     mc.id in | 
|                     ( | 
|                         select | 
|                         cstmr_id | 
|                         from man_cstmr_foll | 
|                         where 1=1 | 
|                         and user_id = #{userId} | 
|                     ) | 
|                 ) | 
|             </otherwise> | 
|         </choose> | 
|         <if test="hostId != null"> | 
|             and mc.host_id = #{hostId} | 
|         </if> | 
|         <if test="condition != null and condition != ''"> | 
|             and ( | 
|             mc.uuid like concat('%',#{condition},'%') | 
|             or mc.name like concat('%',#{condition},'%') | 
|             or mc.simple like concat('%',#{condition},'%') | 
|             or mc.rela like concat('%',#{condition},'%') | 
|             or mc.tel like concat('%',#{condition},'%') | 
|             or mc.contacts like concat('%',#{condition},'%') | 
|             or mc.remarks like concat('%',#{condition},'%') | 
|             or mc.director like concat('%',#{condition},'%') | 
|             or mc.addr like concat('%',#{condition},'%') | 
|             ) | 
|         </if> | 
|         ORDER BY mc.create_time DESC | 
|     </select> | 
|   | 
|     <update id="updateDeptIdByUserId"> | 
|         update man_cstmr set dept_id = #{deptId} where user_id = #{userId} | 
|     </update> | 
|   | 
| </mapper> |