<?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.kidgrow.usercenter.mapper.SysDoctorMapper"> <!--定义查询列--> <sql id="Column_List"> DISTINCT * </sql> <sql id="where_condition"> <if test="p.id != null and p.id !=''"> and id = #{p.id} </if> <if test="p.userId != null and p.userId !=''"> and user_id = #{p.userId} </if> <if test="p.hospitalId != null and p.hospitalId !=''"> and hospital_id = #{p.hospitalId} </if> <if test="p.hospitalName != null and p.hospitalName !=''"> and hospital_name like '%${p.hospitalName}%' </if> <if test="p.departmentId != null and p.departmentId !=''"> and department_id = #{p.departmentId} </if> <if test="p.departmentName != null and p.departmentName !=''"> and department_name = #{p.departmentName} </if> <if test="p.doctorName != null and p.doctorName !=''"> and doctor_name like '%${p.doctorName}%' </if> <if test="p.doctorLogo != null and p.doctorLogo !=''"> and doctor_logo = #{p.doctorLogo} </if> <if test="p.doctorTel != null and p.doctorTel !=''"> and doctor_tel like concat('%',#{p.doctorTel},'%') </if> <if test="p.doctorRankId != null and p.doctorRankId !=''"> and doctor_rank_id = #{p.doctorRankId} </if> <if test="p.doctorRank != null and p.doctorRank !=''"> and doctor_rank = #{p.doctorRank} </if> <if test="p.doctorOtherLink != null and p.doctorOtherLink !=''"> and doctor_other_link = #{p.doctorOtherLink} </if> <if test="p.doctorEmail != null and p.doctorEmail !=''"> and doctor_email = #{p.doctorEmail} </if> <if test="p.doctorAbout != null and p.doctorAbout !=''"> and doctor_about = #{p.doctorAbout} </if> <if test="p.isAnswer != null and p.isAnswer !=''"> and is_answer = #{p.isAnswer} </if> <if test="p.isSigning != null and p.isSigning !=''"> and is_signing = #{p.isSigning} </if> <if test="p.isTop != null and p.isTop !=''"> and is_top = #{p.isTop} </if> <if test="p.isDel != null and p.isDel !=''"> and is_del = #{p.isDel} </if> <if test="p.doctorState != null and p.doctorState !=''"> and doctor_state = #{p.doctorState} </if> <if test="p.enabled != null and p.enabled !=''"> and enabled = #{p.enabled} </if> <if test="p.createUserId != null and p.createUserId !=''"> and create_user_id = #{p.createUserId} </if> <if test="p.createUserName != null and p.createUserName !=''"> and create_user_name = #{p.createUserName} </if> <if test="p.updateUserId != null and p.updateUserId !=''"> and update_user_id = #{p.updateUserId} </if> <if test="p.updateUserName != null and p.updateUserName !=''"> and update_user_name = #{p.updateUserName} </if> <if test="p.createTime != null and p.createTime !=''"> and create_time = #{p.createTime} </if> <if test="p.updateTime != null and p.updateTime !=''"> and update_time = #{p.updateTime} </if> </sql> <!--sql查询片段--> <sql id="where_list"> <where> <!--查询æ¡ä»¶è‡ªè¡Œæ·»åŠ --> is_del=0 <include refid="where_condition"></include> <include refid="Role_Organization"/> </where> </sql> <!--å®šä¹‰æ•°æ®æƒé™çš„æŸ¥è¯¢--> <sql id="Role_Organization"> <if test="p.roleOrg != null and p.roleOrg.size>0"> <foreach item="item" collection="p.roleOrg" index=""> <foreach item="itemto" collection="item" index="inx"> <choose> <when test="inx == 1"> <if test="itemto.flag"> </if> <if test="!itemto.flag"> or ( is_del = 0 and enabled=1) <include refid="where_condition"></include> </if> </when> <when test="inx==2"> <if test="itemto.flag"> AND <foreach item="itemtoto" collection="itemto.object" separator="or" open="(" close=")" index=""> create_user_org_code = #{itemtoto.orgCode} </foreach> </if> <if test="!itemto.flag"> or ( <foreach item="itemtoto" collection="itemto.object" separator="or" open="(" close=")" index=""> create_user_org_code = #{itemtoto.orgCode} </foreach> and is_del = 0 and enabled=1 <include refid="where_condition"></include> ) </if> </when> <when test="inx == 3"> <if test="itemto.flag"> AND create_user_org_code = #{itemto.object} </if> <if test="!itemto.flag"> or (create_user_org_code = #{itemto.object} and is_del = 0 and enabled=1) <include refid="where_condition"></include> </if> </when> <when test="inx == 4"> <if test="itemto.flag"> AND create_user_org_code like '${itemto.object}%' </if> <if test="!itemto.flag"> or (create_user_org_code like '${itemto.object}%' and is_del = 0 and enabled=1) <include refid="where_condition"></include> </if> </when> <when test="inx == 5"> <if test="itemto.flag"> AND create_user_id = #{itemto.object} </if> <if test="!itemto.flag"> or (create_user_id = #{itemto.object} and is_del = 0 and enabled=1) <include refid="where_condition"></include> </if> </when> <otherwise> AND id is null </otherwise> </choose> </foreach> </foreach> </if> </sql> <sql id="where"> <where> <!--查询æ¡ä»¶è‡ªè¡Œæ·»åŠ --> is_del=0 <include refid="where_condition"></include> </where> </sql> <!--å®šä¹‰æ ¹æ®-SysDoctor当作查询æ¡ä»¶è¿”回对象--> <select id="findByObject" resultType="com.kidgrow.usercenter.model.SysDoctor"> select <include refid="Column_List"/> from sys_doctor <include refid="where"/> order by id desc limit 1 </select> <!--å®šä¹‰æ ¹æ®-SysDoctor当作查询æ¡ä»¶è¿”回对象集åˆ--> <select id="findList" resultType="com.kidgrow.usercenter.model.SysDoctor"> select <include refid="Column_List"/> from sys_doctor <include refid="where_list"/> order by id desc </select> <select id="userIsAdmin" parameterType="string" resultType="com.kidgrow.usercenter.model.SysDoctor"> SELECT is_admin_user FROM sys_doctor WHERE user_id IN ( SELECT id FROM sys_user WHERE username = #{userName} OR mobile = #{userName}) </select> <select id="chartDoctor" resultType="int" parameterType="int"> select count(id) doctorCount from sys_doctor where is_del=0 and enabled=1 <if test="datatype==0"> -- 自注册医生 and (doctor_type=0 or doctor_type=1) and doctor_state=0 </if> <if test="datatype==1"> -- ç¾çº¦åŒ»ç”Ÿ and is_signing=1 and doctor_state=1 </if> <if test="datatype==2"> -- 医ç”医生 and is_answer=1 and doctor_state=1 </if> <if test="datatype==3"> -- C端医生 and (doctor_type=2 or doctor_type=0) and doctor_state=1 </if> <if test="datatype==4"> -- H端医生 and (doctor_type=1 or doctor_type=0) and doctor_state=1 </if> <if test="datatype==5"> -- H端医生 and (doctor_type=1 or doctor_type=0) and doctor_state=0 and enabled=0 </if> </select> </mapper>