wuxw
2022-07-19 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54
java110-db/src/main/resources/mapper/center/CenterServiceDAOImplMapper.xml
old mode 100644 new mode 100755
@@ -4,11 +4,48 @@
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="centerServiceDAOImpl">
    <!-- 查询订单信息 -->
    <select id="getOrder" resultType="Map" parameterType="Map">
        SELECT `o_id` oId, `app_id` appId, `ext_transaction_id` extTransactionId, `user_id` userId, `request_time`
        requestTime,
        `create_time` createTime,`order_type_cd` orderTypeCd, `finish_time` finishTime, `remark`,t.status_cd statusCd
        from c_orders t
        where 1=1
        <if test="oId != null and oId != ''">
            and t.o_id = #{oId}
        </if>
        <if test="extTransactionId != null and extTransactionId != ''">
            and t.ext_transaction_id = #{extTransactionId}
        </if>
        <if test="appId != null and appId != ''">
            and t.app_id = #{appId}
        </if>
    </select>
    <!-- 查询订单项信息 -->
    <select id="getOrderItems" resultType="Map" parameterType="Map">
        select t.b_id bId,t.o_id oId,t.create_time createTime,t.action,t.action_obj actionObj,
        t.finish_time finishTime,t.remark,ul.service_name serviceName,ul.log_text logText
        from c_order_item t
        LEFT JOIN unitem_log ul on t.b_id = ul.b_id and t.o_id = ul.o_id and ul.status_cd = '0'
        where 1=1
        <if test="oId != null and oId != ''">
            and t.o_id = #{oId}
        </if>
        <if test="bId != null and bId != ''">
            and t.b_id = #{bId}
        </if>
    </select>
    <!--保存订单信息 c_orders 中 -->
    <insert id="saveOrder" parameterType="Map">
        <![CDATA[
            insert into c_orders(o_id,app_id,ext_transaction_id,user_id,request_time,order_type_cd,remark,status_cd)
            values(#{oId},#{appId},#{extTransactionId},#{userId},#{requestTime},#{orderTypeCd},#{remark},#{statusCd})
                    insert into c_orders(o_id,app_id,ext_transaction_id,user_id,request_time,order_type_cd,remark,status_cd)
                    values(#{oId},#{appId},#{extTransactionId},#{userId},#{requestTime},#{orderTypeCd},#{remark},'S')
        ]]>
    </insert>
    <!-- 保存属性信息c_orders_attrs 中-->
@@ -18,81 +55,144 @@
            values(#{oId},#{attrId},#{specCd},#{value})
        ]]>
    </insert>
    <!--保存订单信息 c_order_item 中 -->
    <insert id="saveOrderItem" parameterType="Map">
        INSERT INTO `c_order_item` (`b_id`, `o_id`, `action`, `action_obj`, `finish_time`, `remark`,status_cd)
        VALUES (#{bId}, #{oId}, #{action}, #{actionObj}, #{finishTime}, #{remark},'S')
    </insert>
    <!--保存订单信息 unitem_log 中 -->
    <insert id="saveUnItemLog" parameterType="Map">
        INSERT INTO `unitem_log` (`b_id`, `o_id`, `service_name`, `log_text`,status_cd)
        VALUES (#{bId}, #{oId}, #{serviceName}, #{logText},'0')
    </insert>
    <!-- 修改订单项信息 -->
    <update id="updateOrderItem" parameterType="Map">
        update c_order_item t
        set t.finish_time = #{finishTime},
        t.status_cd = #{statusCd}
        where t.o_id = #{oId}
        <if test="bId !=null and bId != ''">
            and t.b_id = #{bId}
        </if>
    </update>
    <!-- 删除事务日志 -->
    <update id="deleteUnItemLog" parameterType="Map">
        delete from unitem_log where o_id = #{oId}
        <if test="bId !=null and bId != ''">
            and t.b_id = #{bId}
        </if>
    </update>
    <!-- 保存订单项信息 c_business -->
    <insert id="saveBusiness" parameterType="Map">
        <![CDATA[
            insert into c_business(b_id,o_id,business_type_cd,remark,status_cd)
            values(#{bId},#{oId},#{businessTypeCd},#{remark},#{statusCd})
                    insert into c_business(b_id,o_id,business_type_cd,remark,status_cd)
                    values(#{bId},#{oId},#{businessTypeCd},#{remark},#{statusCd})
        ]]>
    </insert>
    <!-- 保存属性信息 c_business_attrs -->
    <insert id="saveBusinessAttrs" parameterType="Map">
        <![CDATA[
            insert into c_business_attrs(b_id,attr_id,spec_cd,value)
            values(#{bId},#{attrId},#{specCd},#{value})
                    insert into c_business_attrs(b_id,attr_id,spec_cd,value)
                    values(#{bId},#{attrId},#{specCd},#{value})
        ]]>
    </insert>
    <!-- 更新订单信息(一般就更新订单状态) -->
    <update id="updateOrder" parameterType="Map" >
    <update id="updateOrder" parameterType="Map">
        <![CDATA[
            update c_orders co set
            co.status_cd=#{statusCd},
            co.finish_time=#{finishTime}
            where co.o_id=#{oId}
         ]]>
                    update c_orders co set
                    co.status_cd=#{statusCd},
                    co.finish_time=#{finishTime}
                    where co.o_id=#{oId}
        ]]>
    </update>
    <!-- 更新订单项信息(一般就更新订单项状态)-->
    <update id="updateBusiness" parameterType="Map">
        <![CDATA[
            update c_business cb set
            cb.status_cd=#{statusCd},
            cb.finish_time=#{finishTime}
            where cb.o_id=#{oId}
         ]]>
        update c_business cb set
        cb.status_cd=#{statusCd},
        cb.finish_time=#{finishTime}
        where cb.o_id=#{oId}
    </update>
    <!--根据bId 修改业务项信息-->
    <update id="updateBusinessByBId" parameterType="Map">
        <![CDATA[
            update c_business cb set
            cb.status_cd=#{statusCd},
            cb.finish_time=#{finishTime}
            where cb.b_id in (#{bId})
            and cb.status_cd not in ('E')
         ]]>
                    update c_business cb set
                    cb.status_cd=#{statusCd},
                    cb.finish_time=#{finishTime}
                    where cb.b_id in (#{bId})
                    and cb.status_cd not in ('E')
        ]]>
    </update>
    <!-- 当所有业务动作是否都是C,将订单信息改为 C-->
    <update id="completeOrderByBId" parameterType="String" >
    <update id="completeOrderByBId" parameterType="String">
        <![CDATA[
            update c_orders co set co.status_cd = 'C' where co.status_cd='S'
                and not exists(
                        select 1 from c_business cb where cb.status_cd <> 'C'
                        and cb.o_id = co.o_id
                        and cb.b_id in (#{bId})
                )
                    update c_orders co set co.status_cd = 'C' where co.status_cd='S'
                        and not exists(
                                select 1 from c_business cb where cb.status_cd <> 'C'
                                and cb.o_id = co.o_id
                                and cb.b_id in (#{bId})
                        )
        ]]>
    </update>
    <!-- 当所有业务动作是否都是C,将订单信息改为 C-->
    <update id="completeOrderByOId" parameterType="String" >
    <update id="completeOrderByOId" parameterType="String">
        <![CDATA[
            update c_orders co set co.status_cd = 'C' where co.status_cd='S'
                and co.o_id = #{oId}
                and not exists(
                        select 1 from c_business cb where cb.status_cd <> 'C'
                        and cb.o_id = co.o_id
                )
                    update c_orders co set co.status_cd = 'C' where co.status_cd='S'
                        and co.o_id = #{oId}
                        and not exists(
                                select 1 from c_business cb where cb.status_cd <> 'C'
                                and cb.o_id = co.o_id
                        )
        ]]>
    </update>
    <select id="getOrderInfoByBId" parameterType="String" resultType="Map">
        <![CDATA[
        select co.* from c_orders co where 1 = 1 and exists
        (
            select 1 from c_business cb where cb.o_id = co.o_id
            and cb.b_id = #{bId}
        )
    ]]>
                select co.* from c_orders co where 1 = 1 and exists
                (
                    select 1 from c_business cb where cb.o_id = co.o_id
                    and cb.b_id = #{bId}
                )
        ]]>
    </select>
    <select id="queryOrderByBId" parameterType="Map" resultType="Map">
        select distinct co.app_id appId,co.o_id oId,co.create_time createTime,
        co.ext_transaction_id extTransactionId,co.user_id userId,cb.b_id bId
        from c_orders co
        INNER JOIN c_business cb on co.o_id = cb.o_id
        where 1=1
        <if test="bId != null and bId != ''">
            cb.b_id = #{bId}
        </if>
        <if test="bIds !=null">
            and cb.b_id in
            <foreach collection="bIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
    </select>
    <!-- 根据 OID 查询 business -->
    <select id="getBusinessByOId" parameterType="map" resultType="map">
        SELECT co.`o_id`,co.`app_id`,co.`order_type_cd`,co.`user_id`,cb.`business_type_cd`,cb.`b_id`,cb.`status_cd`
@@ -100,48 +200,78 @@
        WHERE co.`o_id` = cb.`o_id`
        AND cb.`business_type_cd` NOT IN ('DO')
        <if test="statusCd != null and statusCd != ''">
        AND cb.`status_cd` = #{statusCd}
            AND cb.`status_cd` = #{statusCd}
        </if>
        <if test="oId != null and oId != ''">
        AND co.`o_id` = #{oId}
            AND co.`o_id` = #{oId}
        </if>
    </select>
    <select id="getDeleteOrderBusinessByOId" parameterType="String" resultType="Map">
        <![CDATA[
           select cb.b_id,cb.o_id,cb.business_type_cd,cb.status_cd from c_orders co,c_business cb where co.o_id = cb.o_id and cb.business_type_cd = 'DO' and cb.status_cd = 'DO'
           and co.o_id = #{oId}
                   select cb.b_id,cb.o_id,cb.business_type_cd,cb.status_cd from c_orders co,c_business cb where co.o_id = cb.o_id and cb.business_type_cd = 'DO' and cb.status_cd = 'DO'
                   and co.o_id = #{oId}
        ]]>
    </select>
    <!-- 获取同个订单中已经完成的订单项-->
    <select id="getCommonOrderCompledBusinessByBId" parameterType="String" resultType="Map">
        <![CDATA[
            select * from c_business cb where cb.finish_time is not null
            and cb.o_id in (
                select cb1.o_id from c_business cb1 where cb1.b_id = #{bId}
            )
                    select * from c_business cb where cb.finish_time is not null
                    and cb.o_id in (
                        select cb1.o_id from c_business cb1 where cb1.b_id = #{bId}
                    )
        ]]>
    </select>
    <!--查询 所有有效 app信息-->
    <select id="getAppRouteAndServiceInfoAll" resultType="Map">
        <![CDATA[
             SELECT ca.app_id,ca.name,ca.security_code,ca.while_list_ip,ca.black_list_ip,cr.invoke_limit_times,
            cr.order_type_cd,cs.service_id,cs.business_type_cd,cr.invoke_model,cs.is_instance,
            cs.messageQueueName,cs.method,cs.name,cs.provide_app_id,cs.retry_count,cs.seq,cs.service_code,
            cs.timeout,cs.url FROM c_app ca,c_route cr,c_service cs
            WHERE ca.status_cd = '0'
            AND ca.app_id = cr.app_id
            AND cr.status_cd = '0'
            AND cr.service_id = cs.service_id
            AND cs.status_cd = '0'
                     SELECT ca.app_id,ca.name,ca.security_code,ca.while_list_ip,ca.black_list_ip,cr.invoke_limit_times,
                    cr.order_type_cd,cs.service_id,cs.business_type_cd,cr.invoke_model,cs.is_instance,
                    cs.messageQueueName,cs.method,cs.name,cs.provide_app_id,cs.retry_count,cs.seq,cs.service_code,
                    cs.timeout,cs.url FROM c_app ca,c_route cr,c_service cs
                    WHERE ca.status_cd = '0'
                    AND ca.app_id = cr.app_id
                    AND cr.status_cd = '0'
                    AND cr.service_id = cs.service_id
                    AND cs.status_cd = '0'
        ]]>
    </select>
    <select id="getMappingInfoAll" resultType="com.java110.entity.mapping.Mapping">
        <![CDATA[
             SELECT cm.domain,cm.name,cm.key,cm.value,cm.remark from c_mapping cm where cm.status_cd = '0'
                     SELECT cm.domain,cm.name,cm.key,cm.value,cm.remark from c_mapping cm where cm.status_cd = '0'
        ]]>
    </select>
    <select id="getPrivilegeAll" resultType="com.java110.dto.basePrivilege.BasePrivilegeDto">
        <![CDATA[
              select t.p_id pId,t.name,t.domain,t.resource,t.description,t.create_time createTime from p_privilege t where t.status_cd = '0'
        ]]>
    </select>
    <select id="getDatabusAll" resultType="com.java110.dto.businessDatabus.BusinessDatabusDto">
        <![CDATA[
            SELECT
                t.databus_id databusId,
                t.databus_name databusName,
                t.business_type_cd businessTypeCd,
                t.bean_name beanName,
                t.seq
            FROM
                c_business_databus t
            WHERE
                t.status_cd = '0'
            AND t.state = '1001'
        ]]>
    </select>
@@ -170,10 +300,84 @@
    </select>
    <!---->
    <select id="queryOwenrOrders" parameterType="map">
        select cb.b_id bId,co.o_id,cb.business_type_cd businessTypeCd oId  from c_orders co,c_business cb where co.o_id = cb.o_id
        and cb.business_type_cd in ('110100030001','110100040001','110100050001')
        and co.status_cd = ''
    <select id="queryOwenrOrders" parameterType="map" resultType="map">
        <![CDATA[
                    select cb.b_id bId,co.o_id oId,cb.business_type_cd businessTypeCd  from c_orders co,c_business cb where co.o_id = cb.o_id
                    and cb.business_type_cd in ('110100030001','110100040001','110100050001','111100030001','111100050001')
                    and cb.status_cd = 'C'
        ]]>
    </select>
    <select id="queryManchineOrders" parameterType="map" resultType="map">
        <![CDATA[
                select cb.b_id bId,co.o_id oId,cb.business_type_cd businessTypeCd  from c_orders co,c_business cb where co.o_id = cb.o_id
                and cb.business_type_cd in ('200200030001','200200040001','200200050001')
                and cb.status_cd = 'C'
        ]]>
    </select>
    <!-- 240200030001', -->
    <select id="queryApplicationKeyOrders" parameterType="map" resultType="map">
        <![CDATA[
                select cb.b_id bId,co.o_id oId,cb.business_type_cd businessTypeCd  from c_orders co,c_business cb where co.o_id = cb.o_id
                and cb.business_type_cd in ('240200040001','240200050001')
                and cb.status_cd = 'C'
        ]]>
    </select>
    <select id="queryOrderByBusinessType" parameterType="map" resultType="map">
        select cb.b_id bId,co.o_id oId,cb.business_type_cd businessTypeCd
        from c_orders co,c_business cb
        where co.o_id = cb.o_id
        and cb.status_cd = 'C'
        <if test="businessTypeCds !=null">
            and cb.business_type_cd in
            <foreach collection="businessTypeCds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
    </select>
    <update id="updateBusinessStatusCd" parameterType="Map">
        update c_business cb set cb.status_cd = 'C1'
        where cb.b_id = #{bId}
    </update>
    <!-- querySameOrderBusiness 查询同订单 订单项 -->
    <select id="querySameOrderBusiness" parameterType="map" resultType="map">
        SELECT
        cb1.b_id bId,
        cb1.o_id oId,
        cb1.create_time createTime,
        cb1.business_type_cd businessTypeCd,
        cb1.finish_time finishTime,
        cb1.status_cd statusCd
        FROM
        c_business cb1
        <if test="bId != null and bId != ''">
            ,c_business cb2
        </if>
        WHERE
        1=1
        <if test="bId != null and bId != ''">
            and cb1.o_id = cb2.o_id
            AND cb2.b_id = #{bId}
        </if>
        <if test="oId != null and oId != ''">
            and cb1.o_id = #{oId}
        </if>
        <if test="businessTypeCd != null and businessTypeCd != ''">
            and cb1.business_type_cd = #{businessTypeCd}
        </if>
    </select>