<?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.cku.oa.sys.dao.LoginServerDao">
    
	<sql id="loginServerColumns">
		a.id AS "id",
		a.user_type AS "userType",
		a.user_type_name AS "userTypeName",
		a.user_type_name_en AS "userTypeNameEn",
		a.dog_type AS "dogType",
		a.is_support AS "isSupport",
		a.member_site AS "memberSite",
		a.user_short_name AS "userShortName",
		a.is_alike AS "isAlike",
		a.del_flag AS "delFlag"
	</sql>
	
	<sql id="loginServerJoins">
	</sql>
    
	<select id="get" resultType="LoginServer">
		SELECT 
			<include refid="loginServerColumns"/>
		FROM sys_login_server a
		<include refid="loginServerJoins"/>
		WHERE a.id = #{id}
	</select>

	<!-- 根据用户类型查询支持/不支持的犬种 -->
	<select id="getByUserType" resultType="LoginServer">
		SELECT 
			<include refid="loginServerColumns"/>
		FROM sys_login_server a
		<include refid="loginServerJoins"/>
		WHERE a.user_type = #{userType}
		and a.del_flag='0'
	</select>

	<!-- 根据简称查询 -->
	<select id="getByShortName" resultType="LoginServer">
		SELECT
			<include refid="loginServerColumns"/>
		FROM sys_login_server a
		<include refid="loginServerJoins"/>
		WHERE a.user_short_name = #{shortName}
		and a.del_flag='0'
	</select>

	<!-- 根据用户类型查询支持/不支持的犬种 -->
	<select id="getByMemberSite" resultType="LoginServer">
		SELECT
		<include refid="loginServerColumns"/>
		FROM sys_login_server a
		<include refid="loginServerJoins"/>
		WHERE
		<choose>
			<when test="memberSite !=null and memberSite != ''">
				a.member_site = #{memberSite}
			</when>
			<otherwise>
				a.member_site = '' OR a.member_site IS NULL
			</otherwise>
		</choose>
		and a.del_flag='0'
	</select>

	<!-- 根据套装查询 -->
	<select id="getByIsAlikeOnMember" resultType="LoginServer">
			SELECT
			<include refid="loginServerColumns"/>
		FROM sys_login_server a
		<include refid="loginServerJoins"/>
		WHERE a.is_alike = #{isAlike}
		and a.member_site !=''
		and a.member_site !='0'
		and a.del_flag='0'
	</select>

	<select id="findList" resultType="LoginServer">
		SELECT 
			<include refid="loginServerColumns"/>
		FROM sys_login_server a
		<include refid="loginServerJoins"/>
		<where>
			a.del_flag = #{DEL_FLAG_NORMAL}
		</where>
		<choose>
			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
				ORDER BY ${page.orderBy}
			</when>
			<otherwise>
			</otherwise>
		</choose>
	</select>
	
	<select id="findAllList" resultType="LoginServer">
		SELECT 
			<include refid="loginServerColumns"/>
		FROM sys_login_server a
		<include refid="loginServerJoins"/>
		<where>
			a.del_flag = #{DEL_FLAG_NORMAL}
		</where>		
		<choose>
			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
				ORDER BY ${page.orderBy}
			</when>
			<otherwise>
			</otherwise>
		</choose>
	</select>
	
	<insert id="insert">
		INSERT INTO sys_login_server(
			id,
			user_type,
			user_type_name,
			user_type_name_en,
			dog_type,
			is_support,
			member_site,
			user_short_name,
			del_flag
		) VALUES (
			#{id},
			#{userType},
			#{userTypeName},
			#{userTypeNameEn},
			#{dogType},
			#{isSupport},
			#{memberSite},
			#{userShortName},
			#{delFlag}
		)
	</insert>
	
	<update id="update">
		UPDATE sys_login_server SET 	
			user_type = #{userType},
			user_type_name = #{userTypeName},
			dog_type = #{dogType},
			is_support = #{isSupport}
		WHERE id = #{id}
	</update>
	
	<update id="delete">
		UPDATE sys_login_server SET 
			del_flag = #{DEL_FLAG_DELETE}
		WHERE id = #{id}
	</update>
	
</mapper>