<?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.flightfeather.supervision.domain.mapper.UserSettingMapper" >
|
<resultMap id="BaseResultMap" type="cn.flightfeather.supervision.domain.entity.UserSetting" >
|
<!--
|
WARNING - @mbg.generated
|
-->
|
<id column="id" property="id" jdbcType="INTEGER" />
|
<result column="User_Type_Id" property="userTypeId" jdbcType="INTEGER" />
|
<result column="User_Type" property="userType" jdbcType="VARCHAR" />
|
<result column="User_SubType_Id" property="userSubtypeId" jdbcType="INTEGER" />
|
<result column="User_SubType" property="userSubtype" jdbcType="VARCHAR" />
|
<result column="Province_Code" property="provinceCode" jdbcType="VARCHAR" />
|
<result column="Province_Name" property="provinceName" jdbcType="VARCHAR" />
|
<result column="City_Code" property="cityCode" jdbcType="VARCHAR" />
|
<result column="City_Name" property="cityName" jdbcType="VARCHAR" />
|
<result column="District_Code" property="districtCode" jdbcType="VARCHAR" />
|
<result column="District_Name" property="districtName" jdbcType="VARCHAR" />
|
<result column="Town_Code" property="townCode" jdbcType="VARCHAR" />
|
<result column="Town_Name" property="townName" jdbcType="VARCHAR" />
|
<result column="Area_Code" property="areaCode" jdbcType="VARCHAR" />
|
<result column="Area" property="area" jdbcType="VARCHAR" />
|
<result column="Management_Company_Id" property="managementCompanyId" jdbcType="VARCHAR" />
|
<result column="Management_Company" property="managementCompany" jdbcType="VARCHAR" />
|
<result column="scene_type_id" property="sceneTypeId" jdbcType="INTEGER" />
|
<result column="ledger_deadline" property="ledgerDeadline" jdbcType="INTEGER" />
|
<result column="self_patrol_promise" property="selfPatrolPromise" jdbcType="BIT" />
|
</resultMap>
|
<resultMap id="ResultMapWithBLOBs" type="cn.flightfeather.supervision.domain.entity.UserSetting" extends="BaseResultMap" >
|
<!--
|
WARNING - @mbg.generated
|
-->
|
<result column="sp_promise_content" property="spPromiseContent" jdbcType="LONGVARCHAR" />
|
</resultMap>
|
<sql id="Base_Column_List" >
|
<!--
|
WARNING - @mbg.generated
|
-->
|
id, User_Type_Id, User_Type, User_SubType_Id, User_SubType, Province_Code, Province_Name,
|
City_Code, City_Name, District_Code, District_Name, Town_Code, Town_Name, Area_Code,
|
Area, Management_Company_Id, Management_Company, scene_type_id, ledger_deadline,
|
self_patrol_promise
|
</sql>
|
<sql id="Blob_Column_List" >
|
<!--
|
WARNING - @mbg.generated
|
-->
|
sp_promise_content
|
</sql>
|
|
<!-- 行政区划最匹配查询条件 -->
|
<select id="selectBestConfig" resultMap="ResultMapWithBLOBs">
|
select
|
<include refid="Base_Column_List" />, <include refid="Blob_Column_List" />
|
FROM sm_t_setting
|
<where>
|
<if test="userTypeId != null">
|
AND User_Type_Id = #{userTypeId}
|
</if>
|
<if test="sceneTypeId != null">
|
AND (scene_type_id = #{sceneTypeId} OR scene_type_id IS NULL)
|
</if>
|
<if test="provinceName != null">
|
AND (Province_Name = #{provinceName} OR Province_Name IS NULL)
|
</if>
|
<if test="cityName != null">
|
AND (City_Name = #{cityName} OR City_Name IS NULL)
|
</if>
|
<if test="districtName != null">
|
AND (District_Name = #{districtName} OR District_Name IS NULL)
|
</if>
|
<if test="townName != null">
|
AND (Town_Name = #{townName} OR Town_Name IS NULL)
|
</if>
|
<if test="area != null">
|
AND (Area = #{area} OR Area IS NULL)
|
</if>
|
<if test="managementCompany != null">
|
AND (Management_Company = #{managementCompany} OR Management_Company IS NULL)
|
</if>
|
</where>
|
ORDER BY
|
CASE
|
WHEN Province_Name = #{provinceName} AND City_Name = #{cityName}
|
AND District_Name = #{districtName} AND Town_Name = #{townName} THEN 1
|
WHEN Province_Name = #{provinceName} AND City_Name = #{cityName}
|
AND District_Name = #{districtName} AND Town_Name IS NULL THEN 2
|
WHEN Province_Name = #{provinceName} AND City_Name = #{cityName}
|
AND District_Name IS NULL AND Town_Name IS NULL THEN 3
|
WHEN Province_Name = #{provinceName} AND City_Name IS NULL
|
AND District_Name IS NULL AND Town_Name IS NULL THEN 4
|
END,
|
CASE
|
WHEN Area = #{area} THEN 1
|
WHEN Area IS NULL THEN 2
|
END,
|
CASE
|
WHEN Management_Company = #{managementCompany} THEN 1
|
WHEN Management_Company IS NULL THEN 2
|
END,
|
CASE
|
WHEN scene_type_id = #{sceneTypeId} THEN 1
|
WHEN scene_type_id IS NULL THEN 2
|
END
|
LIMIT 1;
|
</select>
|
</mapper>
|