ServiceServiceDaoImplMapper.xml 14.8 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="serviceServiceDaoImpl">

    <!-- 保存服务信息 add by wuxw 2018-07-03 -->
    <insert id="saveServiceInfo" parameterType="Map">
        insert into c_service(business_type_cd, method, provide_app_id, service_code, retry_count, messageQueueName,
                              url, timeout, is_instance, name, service_id, seq)
        values (#{businessTypeCd}, #{method}, #{provideAppId}, #{serviceCode}, #{retryCount}, #{messageQueueName},
                #{url}, #{timeout}, #{isInstance}, #{name}, #{serviceId}, #{seq})
    </insert>

    <!-- 查询服务信息(Business) add by wuxw 2018-07-03 -->
    <select id="getBusinessServiceInfo" parameterType="Map" resultType="Map">
        select t.business_type_cd,t.business_type_cd businessTypeCd,t.method,t.provide_app_id,t.provide_app_id
        provideAppId,t.service_code,t.service_code serviceCode,t.retry_count,t.retry_count
        retryCount,t.messageQueueName,t.url,t.timeout,t.is_instance,t.is_instance
        isInstance,t.operate,t.name,t.service_id,t.service_id serviceId,t.seq
        from business_service t
        where 1 =1
        <if test="businessTypeCd !=null and businessTypeCd != ''">
            and t.business_type_cd= #{businessTypeCd}
        </if>
        <if test="method !=null and method != ''">
            and t.method= #{method}
        </if>
        <if test="provideAppId !=null and provideAppId != ''">
            and t.provide_app_id= #{provideAppId}
        </if>
        <if test="serviceCode !=null and serviceCode != ''">
            and t.service_code= #{serviceCode}
        </if>
        <if test="retryCount !=null and retryCount != ''">
            and t.retry_count= #{retryCount}
        </if>
        <if test="messageQueueName !=null and messageQueueName != ''">
            and t.messageQueueName= #{messageQueueName}
        </if>
        <if test="url !=null and url != ''">
            and t.url= #{url}
        </if>
        <if test="timeout !=null and timeout != ''">
            and t.timeout= #{timeout}
        </if>
        <if test="isInstance !=null and isInstance != ''">
            and t.is_instance= #{isInstance}
        </if>
        <if test="operate !=null and operate != ''">
            and t.operate= #{operate}
        </if>
        <if test="name !=null and name != ''">
            and t.name= #{name}
        </if>
        <if test="serviceId !=null and serviceId != ''">
            and t.service_id= #{serviceId}
        </if>
        <if test="seq !=null and seq != ''">
            and t.seq= #{seq}
        </if>
    </select>

    <!-- 保存服务信息至 instance表中 add by wuxw 2018-07-03 -->
    <insert id="saveServiceInfoInstance" parameterType="Map">
        insert into c_service(
        business_type_cd,method,provide_app_id,service_code,retry_count,status_cd,messageQueueName,url,timeout,is_instance,name,service_id,seq
        ) select
        t.business_type_cd,t.method,t.provide_app_id,t.service_code,t.retry_count,'0',t.messageQueueName,t.url,t.timeout,t.is_instance,t.name,t.service_id,t.seq
        from business_service t where 1=1
        <if test="businessTypeCd !=null and businessTypeCd != ''">
            and t.business_type_cd= #{businessTypeCd}
        </if>
        <if test="method !=null and method != ''">
            and t.method= #{method}
        </if>
        <if test="provideAppId !=null and provideAppId != ''">
            and t.provide_app_id= #{provideAppId}
        </if>
        <if test="serviceCode !=null and serviceCode != ''">
            and t.service_code= #{serviceCode}
        </if>
        <if test="retryCount !=null and retryCount != ''">
            and t.retry_count= #{retryCount}
        </if>
        <if test="messageQueueName !=null and messageQueueName != ''">
            and t.messageQueueName= #{messageQueueName}
        </if>
        <if test="url !=null and url != ''">
            and t.url= #{url}
        </if>
        <if test="timeout !=null and timeout != ''">
            and t.timeout= #{timeout}
        </if>
        <if test="isInstance !=null and isInstance != ''">
            and t.is_instance= #{isInstance}
        </if>
        and t.operate= 'ADD'
        <if test="name !=null and name != ''">
            and t.name= #{name}
        </if>
        <if test="serviceId !=null and serviceId != ''">
            and t.service_id= #{serviceId}
        </if>
        <if test="seq !=null and seq != ''">
            and t.seq= #{seq}
        </if>
    </insert>

    <!-- 查询服务信息 add by wuxw 2018-07-03 -->
    <select id="getServiceInfo" parameterType="Map" resultType="Map">
        select t.business_type_cd,t.business_type_cd businessTypeCd,t.method,t.provide_app_id,t.provide_app_id
        provideAppId,t.service_code,t.service_code serviceCode,t.retry_count,t.retry_count
        retryCount,t.status_cd,t.status_cd statusCd,t.messageQueueName,t.url,t.timeout,t.is_instance,t.is_instance
        isInstance,t.name,t.service_id,t.service_id serviceId,t.seq
        from c_service t
        <if test="appId != null and appId != ''">
            , c_route r
            , c_app p
        </if>
        where 1 =1
        <if test="appId != null and appId != ''">
            and t.service_id = r.service_id
            and r.status_cd = '0'
            and r.app_id = p.app_id
            and p.status_cd = '0'
            and p.app_id = #{appId}
        </if>
        <if test="businessTypeCd !=null and businessTypeCd != ''">
            and t.business_type_cd= #{businessTypeCd}
        </if>
        <if test="method !=null and method != ''">
            and t.method= #{method}
        </if>
        <if test="provideAppId !=null and provideAppId != ''">
            and t.provide_app_id= #{provideAppId}
        </if>
        <if test="serviceCode !=null and serviceCode != ''">
            and t.service_code= #{serviceCode}
        </if>
        <if test="retryCount !=null and retryCount != ''">
            and t.retry_count= #{retryCount}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="messageQueueName !=null and messageQueueName != ''">
            and t.messageQueueName= #{messageQueueName}
        </if>
        <if test="url !=null and url != ''">
            and t.url= #{url}
        </if>
        <if test="serviceUrl !=null and serviceUrl != ''">
            and t.url like concat('%',#{serviceUrl},'%')
        </if>
        <if test="timeout !=null and timeout != ''">
            and t.timeout= #{timeout}
        </if>
        <if test="isInstance !=null and isInstance != ''">
            and t.is_instance= #{isInstance}
        </if>
        <if test="name !=null and name != ''">
            and t.name like concat('%',#{name},'%')
        </if>
        <if test="serviceName !=null and serviceName != ''">
            and t.name like concat('%',#{serviceName},'%')
        </if>
        <if test="serviceId !=null and serviceId != ''">
            and t.service_id= #{serviceId}
        </if>
        <if test="seq !=null and seq != ''">
            and t.seq= #{seq}
        </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="updateServiceInfo" parameterType="Map">
        update c_service t set t.status_cd = #{statusCd}
        <if test="businessTypeCd !=null and businessTypeCd != ''">
            , t.business_type_cd= #{businessTypeCd}
        </if>
        <if test="method !=null and method != ''">
            , t.method= #{method}
        </if>
        <if test="provideAppId !=null and provideAppId != ''">
            , t.provide_app_id= #{provideAppId}
        </if>
        <if test="serviceCode !=null and serviceCode != ''">
            , t.service_code= #{serviceCode}
        </if>
        <if test="retryCount !=null and retryCount != ''">
            , t.retry_count= #{retryCount}
        </if>
        <if test="messageQueueName !=null and messageQueueName != ''">
            , t.messageQueueName= #{messageQueueName}
        </if>
        <if test="url !=null and url != ''">
            , t.url= #{url}
        </if>
        <if test="timeout !=null and timeout != ''">
            , t.timeout= #{timeout}
        </if>
        <if test="isInstance !=null and isInstance != ''">
            , t.is_instance= #{isInstance}
        </if>
        <if test="name !=null and name != ''">
            , t.name= #{name}
        </if>
        <if test="seq !=null and seq != ''">
            , t.seq= #{seq}
        </if>
        where 1=1
        <if test="serviceId !=null and serviceId != ''">
            and t.service_id= #{serviceId}
        </if>
    </update>

    <!-- 查询服务数量 add by wuxw 2018-07-03 -->
    <select id="queryServicesCount" parameterType="Map" resultType="Map">
        select count(1) count
        from c_service t
        <if test="appId != null and appId != ''">
            , c_route r
            , c_app p
        </if>
        where 1 =1
        <if test="appId != null and appId != ''">
            and t.service_id = r.service_id
            and r.status_cd = '0'
            and r.app_id = p.app_id
            and p.status_cd = '0'
            and p.app_id = #{appId}
        </if>
        <if test="businessTypeCd !=null and businessTypeCd != ''">
            and t.business_type_cd= #{businessTypeCd}
        </if>
        <if test="method !=null and method != ''">
            and t.method= #{method}
        </if>
        <if test="provideAppId !=null and provideAppId != ''">
            and t.provide_app_id= #{provideAppId}
        </if>
        <if test="serviceCode !=null and serviceCode != ''">
            and t.service_code= #{serviceCode}
        </if>
        <if test="retryCount !=null and retryCount != ''">
            and t.retry_count= #{retryCount}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="messageQueueName !=null and messageQueueName != ''">
            and t.messageQueueName= #{messageQueueName}
        </if>
        <if test="url !=null and url != ''">
            and t.url= #{url}
        </if>
        <if test="serviceUrl !=null and serviceUrl != ''">
            and t.url like concat('%',#{serviceUrl},'%')
        </if>
        <if test="timeout !=null and timeout != ''">
            and t.timeout= #{timeout}
        </if>
        <if test="isInstance !=null and isInstance != ''">
            and t.is_instance= #{isInstance}
        </if>
        <if test="name !=null and name != ''">
            and t.name like concat('%',#{name},'%')
        </if>
        <if test="serviceName !=null and serviceName != ''">
            and t.name like concat('%',#{serviceName},'%')
        </if>
        <if test="serviceId !=null and serviceId != ''">
            and t.service_id= #{serviceId}
        </if>
        <if test="seq !=null and seq != ''">
            and t.seq= #{seq}
        </if>
    </select>

    <!-- 保存服务提供信息 add by wuxw 2018-07-03
        insert into c_service_sql(
        service_code,name,params,query_model,"sql",proc,java_script,template,remark
        ) values (
        #{serviceCode},#{name},#{params},#{queryModel},#{sql},#{proc},#{javaScript},#{template},#{remark}
        ) -->

    <insert id="saveServiceProvideInfo" parameterType="Map">
        insert into c_service_sql
        select null,
               #{serviceCode},
               #{name},
               #{params},
               #{queryModel},
               #{sql},
               #{proc},
               #{javaScript},
               #{template},
               #{remark},
               now(),
               '0'
    </insert>

    <!-- 查询服务提供信息 add by wuxw 2018-07-03 -->
    <select id="getServiceProvideInfo" parameterType="Map" resultType="Map">
        select t.id,t.service_code serviceCode,t.name,t.params,t.query_model queryModel,
        (CASE
        WHEN t.`query_model` = '1'
        THEN 'SQL方式'
        WHEN t.query_model = '2'
        THEN '存储过程'
        ELSE
        'java 方式'
        END) queryModel ,
        t.sql,t.proc,t.java_script javaScript,t.template,t.remark
        from c_service_sql t
        where 1 =1
        <if test="serviceCode !=null and serviceCode != ''">
            and t.service_code= #{serviceCode}
        </if>
        <if test="name !=null and name != ''">
            and t.name like concat('%',#{name},'%')
        </if>
        <if test="queryModel !=null and queryModel != ''">
            and t.query_model= #{queryModel}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </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="updateServiceProvideInfo" parameterType="Map">
        update c_service_sql t set t.status_cd = #{statusCd}
        <if test="serviceCode !=null and serviceCode != ''">
            , t.service_code= #{serviceCode}
        </if>
        <if test="name !=null and name != ''">
            , t.name= #{name}
        </if>
        <if test="params !=null and params != ''">
            , t.params= #{params}
        </if>
        <if test="queryModel !=null and queryModel != ''">
            , t.query_model= #{queryModel}
        </if>
        <if test="sql !=null and sql != ''">
            , t.`sql`= #{sql}
        </if>
        <if test="proc !=null and proc != ''">
            , t.proc= #{proc}
        </if>
        <if test="javaScript !=null and javaScript != ''">
            , t.java_script= #{javaScript}
        </if>
        <if test="template !=null and template != ''">
            , t.template= #{template}
        </if>
        <if test="remark !=null and remark != ''">
            , t.remark= #{remark}
        </if>
        where 1=1
        <if test="id !=null and id != ''">
            and t.id= #{id}
        </if>
    </update>

    <!-- 查询服务提供数量 add by wuxw 2018-07-03 -->
    <select id="queryServiceProvidesCount" parameterType="Map" resultType="Map">
        select count(1) count
        from c_service_sql t
        where 1 =1
        <if test="serviceCode !=null and serviceCode != ''">
            and t.service_code= #{serviceCode}
        </if>
        <if test="name !=null and name != ''">
            and t.name like concat('%',#{name},'%')
        </if>
        <if test="queryModel !=null and queryModel != ''">
            and t.query_model= #{queryModel}
        </if>

        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
    </select>
</mapper>