AppServiceDaoImplMapper.xml 6.35 KB
<?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="appServiceDaoImpl">

    <!-- 保存应用信息 add by wuxw 2018-07-03 -->
    <insert id="saveAppInfo" parameterType="Map">
        insert into c_app(status_cd, app_id, black_list_ip, name, security_code, remark, while_list_ip)
        values ('0', #{appId}, #{blackListIp}, #{name}, #{securityCode}, #{remark}, #{whileListIp})
    </insert>

    <!-- 查询应用信息(Business) add by wuxw 2018-07-03 -->
    <select id="getBusinessAppInfo" parameterType="Map" resultType="Map">
        select t.operate,t.app_id,t.app_id appId,t.black_list_ip,t.black_list_ip
        blackListIp,t.name,t.security_code,t.security_code securityCode,t.remark,t.while_list_ip,t.while_list_ip
        whileListIp
        from business_app t
        where 1 =1
        <if test="operate !=null and operate != ''">
            and t.operate= #{operate}
        </if>
        <if test="appId !=null and appId != ''">
            and t.app_id= #{appId}
        </if>
        <if test="blackListIp !=null and blackListIp != ''">
            and t.black_list_ip= #{blackListIp}
        </if>
        <if test="name !=null and name != ''">
            and t.name= #{name}
        </if>
        <if test="securityCode !=null and securityCode != ''">
            and t.security_code= #{securityCode}
        </if>
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="whileListIp !=null and whileListIp != ''">
            and t.while_list_ip= #{whileListIp}
        </if>
    </select>

    <!-- 保存应用信息至 instance表中 add by wuxw 2018-07-03 -->
    <insert id="saveAppInfoInstance" parameterType="Map">
        insert into c_app(
        app_id,black_list_ip,name,security_code,remark,status_cd,while_list_ip
        ) select t.app_id,t.black_list_ip,t.name,t.security_code,t.remark,'0',t.while_list_ip from business_app t where
        1=1
        and t.operate= 'ADD'
        <if test="appId !=null and appId != ''">
            and t.app_id= #{appId}
        </if>
        <if test="blackListIp !=null and blackListIp != ''">
            and t.black_list_ip= #{blackListIp}
        </if>
        <if test="name !=null and name != ''">
            and t.name= #{name}
        </if>
        <if test="securityCode !=null and securityCode != ''">
            and t.security_code= #{securityCode}
        </if>
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>

        <if test="whileListIp !=null and whileListIp != ''">
            and t.while_list_ip= #{whileListIp}
        </if>
    </insert>

    <!-- 查询应用信息 add by wuxw 2018-07-03 -->
    <select id="getAppInfo" parameterType="Map" resultType="Map">
        select t.app_id,t.app_id appId,t.black_list_ip,t.black_list_ip
        blackListIp,t.name,t.security_code,t.security_code securityCode,t.remark,t.status_cd,t.status_cd
        statusCd,t.while_list_ip,t.while_list_ip whileListIp
        from c_app t
        where 1 =1
        <if test="appId !=null and appId != ''">
            and t.app_id= #{appId}
        </if>
        <if test="appIds !=null ">
            and t.app_id in
            <foreach collection="appIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="blackListIp !=null and blackListIp != ''">
            and t.black_list_ip= #{blackListIp}
        </if>
        <if test="name !=null and name != ''">
            and t.name like concat('%',#{name},'%')
        </if>
        <if test="securityCode !=null and securityCode != ''">
            and t.security_code= #{securityCode}
        </if>
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="whileListIp !=null and whileListIp != ''">
            and t.while_list_ip= #{whileListIp}
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>

    <!-- 修改应用信息 add by wuxw 2018-07-03 -->
    <update id="updateAppInfo" parameterType="Map">
        update c_app t set t.status_cd = #{statusCd}
        , t.black_list_ip= #{blackListIp}
        <if test="name !=null and name != ''">
            , t.name= #{name}
        </if>
        , t.security_code= #{securityCode}
        , t.remark= #{remark}
        , t.while_list_ip= #{whileListIp}
        where 1=1
        <if test="appId !=null and appId != ''">
            and t.app_id= #{appId}
        </if>
    </update>

    <!-- 查询应用数量 add by wuxw 2018-07-03 -->
    <select id="queryAppsCount" parameterType="Map" resultType="Map">
        select count(1) count
        from c_app t
        where 1 =1
        <if test="appId !=null and appId != ''">
            and t.app_id= #{appId}
        </if>
        <if test="appIds !=null ">
            and t.app_id in
            <foreach collection="appIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="blackListIp !=null and blackListIp != ''">
            and t.black_list_ip= #{blackListIp}
        </if>
        <if test="name !=null and name != ''">
            and t.name like concat('%',#{name},'%')
        </if>
        <if test="securityCode !=null and securityCode != ''">
            and t.security_code= #{securityCode}
        </if>
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="whileListIp !=null and whileListIp != ''">
            and t.while_list_ip= #{whileListIp}
        </if>
    </select>
    <select id="queryAppsServiceData" parameterType="Map" resultType="Map">
        select * from (select a.app_id appId,a.`name`,count(1) serviceCount from c_service t
        inner join c_route r on t.service_id = r.service_id and r.status_cd = '0'
        inner join c_app a on r.app_id = a.app_id and a.status_cd = '0'
        group by a.app_id,a.`name`) c order by c.serviceCount desc
    </select>

</mapper>