<?xml version="1.0" encoding="UTF-8"?>

<!--
  ~
  ~      Copyright (c) 2018-2025, hnqz All rights reserved.
  ~
  ~  Redistribution and use in source and binary forms, with or without
  ~  modification, are permitted provided that the following conditions are met:
  ~
  ~ Redistributions of source code must retain the above copyright notice,
  ~  this list of conditions and the following disclaimer.
  ~  Redistributions in binary form must reproduce the above copyright
  ~  notice, this list of conditions and the following disclaimer in the
  ~  documentation and/or other materials provided with the distribution.
  ~  Neither the name of the pig4cloud.com developer nor the names of its
  ~  contributors may be used to endorse or promote products derived from
  ~  this software without specific prior written permission.
  ~  Author: hnqz
  ~
  -->

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.qunzhixinxi.hnqz.admin.mapper.WmDaPharmacyMapper">

  <resultMap id="wmDaPharmacyMap" type="com.qunzhixinxi.hnqz.admin.entity.WmDaPharmacy">
                  <id property="id" column="id"/>
                        <result property="pharmacyName" column="pharmacy_name"/>
                        <result property="province" column="province"/>
                        <result property="city" column="city"/>
                        <result property="area" column="area"/>
                        <result property="address" column="address"/>
                        <result property="longitude" column="longitude"/>
                        <result property="latitude" column="latitude"/>
                        <result property="deptId" column="dept_id"/>
                        <result property="delFlag" column="del_flag"/>
                        <result property="enableFlag" column="enable_flag"/>
                        <result property="tenantId" column="tenant_id"/>
                        <result property="createTime" column="create_time"/>
                        <result property="createUser" column="create_user"/>
                        <result property="updateTime" column="update_time"/>
                        <result property="updateUser" column="update_user"/>
            </resultMap>

	<select id="slectByParam" resultMap="wmDaPharmacyMap">
		SELECT * FROM
		wm_da_pharmacy
		where 1=1
		<if test="pharmacyName != null and pharmacyName != ''">
			AND wm_da_pharmacy.pharmacy_name= #{pharmacyName}
		</if>
	</select>

	<!-- 根据经纬度获取指定范围内数据 -->
	<select  id="listByPoint" resultMap="wmDaPharmacyMap">
		SELECT
			p.*,
			(st_distance (point (p.longitude, p.latitude),point(#{query.longitude},#{query.latitude})) / 0.0111) AS distance
		FROM wm_da_pharmacy p
		where p.longitude is not null and p.latitude is not null and p.del_flag=0 and p.enable_flag=0
		AND (st_distance (point (p.longitude, p.latitude), point(#{query.longitude},#{query.latitude})) / 0.0111)
		        &lt;= (SELECT value from sys_dict_item WHERE type='point_jwd' limit 1) / 1000
		ORDER BY distance asc
	</select>
</mapper>
