<?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.cool.store.mapper.StoreMapper">
    <resultMap id="BaseResultMap" type="com.cool.store.entity.StoreDO">
        <!--
          WARNING - @mbggenerated
        -->
        <id column="id" property="id" jdbcType="BIGINT"/>
        <result column="store_id" property="storeId" jdbcType="VARCHAR"/>
        <result column="store_name" property="storeName" jdbcType="VARCHAR"/>
        <result column="store_num" property="storeNum" jdbcType="VARCHAR"/>
        <result column="store_address" property="storeAddress" jdbcType="VARCHAR"/>
        <result column="location_address" property="locationAddress" jdbcType="VARCHAR"/>
        <result column="is_lock" property="isLock" jdbcType="CHAR"/>
        <result column="longitude_latitude" property="longitudeLatitude" jdbcType="VARCHAR"/>
        <result column="longitude" property="longitude" jdbcType="VARCHAR"/>
        <result column="latitude" property="latitude" jdbcType="VARCHAR"/>
        <result column="is_delete" property="isDelete" jdbcType="CHAR"/>
        <result column="telephone" property="telephone" jdbcType="VARCHAR"/>
        <result column="business_hours" property="businessHours" jdbcType="VARCHAR"/>
        <result column="store_acreage" property="storeAcreage" jdbcType="VARCHAR"/>
        <result column="store_bandwidth" property="storeBandwidth" jdbcType="VARCHAR"/>
        <result column="create_time" property="createTime" jdbcType="BIGINT"/>
        <result column="create_name" property="createName" jdbcType="VARCHAR"/>
        <result column="create_user" property="createUser" jdbcType="VARCHAR"/>
        <result column="update_time" property="updateTime" jdbcType="BIGINT"/>
        <result column="update_name" property="updateName" jdbcType="VARCHAR"/>
        <result column="update_user" property="updateUser" jdbcType="VARCHAR"/>
        <result column="remark" property="remark" jdbcType="LONGVARCHAR"/>
        <result column="is_device" property="isDevice" jdbcType="VARCHAR"/>
        <result column="aliyun_corp_id" property="aliyunCorpId" jdbcType="VARCHAR"/>
        <result column="vds_corp_id" property="vdsCorpId" jdbcType="VARCHAR"/>
        <result column="syn_ding_dept_id" property="synDingDeptId" jdbcType="VARCHAR"/>
        <result column="region_path" property="regionPath" jdbcType="VARCHAR"/>
        <result column="has_camera" property="hasCamera" jdbcType="TINYINT"/>
        <result column="region_id" property="regionId" jdbcType="VARCHAR"/>
        <result column="store_status" property="storeStatus" jdbcType="VARCHAR"/>
        <result column="open_date" property="openDate" jdbcType="DATE"/>
    </resultMap>

    <select id="getByStoreId" resultMap="BaseResultMap">
        select *
        from store_${enterpriseId}
        where store_id = #{storeId}
    </select>

    <select id="getEffectiveStoreByStoreIds" resultMap="BaseResultMap">
        select *
        from store_${enterpriseId}
        where is_delete = 'effective'
        <if test="storeIds != null">
            <foreach collection="storeIds" item="item" separator="," open="and store_id in (" close=")">
                #{item}
            </foreach>
        </if>
    </select>

    <select id="listStoreByRegionId" resultMap="BaseResultMap">
        select *
        from store_${enterpriseId}
        where is_delete = 'effective'
        <if test="regionId != null and regionId!= '' ">
            and region_path like concat('%/', #{regionId}, '/%')
        </if>
    </select>
    <select id="getStoreNumByStoreIds" resultType="java.lang.String">
        select store_num
        from store_${enterpriseId}
        where is_delete = 'effective'
        <if test="storeIds != null">
            <foreach collection="storeIds" item="item" separator="," open="and store_id in (" close=")">
                #{item}
            </foreach>
        </if>
    </select>
    <select id="getByStoreNum" resultMap="BaseResultMap">
        select *
        from store_${enterpriseId}
        where store_num = #{storeNum}
    </select>

</mapper>
