<?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="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},'S')
|
|
]]>
|
</insert>
|
<!-- 保存属性信息c_orders_attrs 中-->
|
<insert id="saveOrderAttrs" parameterType="Map">
|
<![CDATA[
|
insert into c_orders_attrs(o_id,attr_id,spec_cd,value)
|
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>
|
<!-- 保存属性信息 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>
|
<!-- 更新订单信息(一般就更新订单状态) -->
|
<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>
|
<!-- 更新订单项信息(一般就更新订单项状态)-->
|
<update id="updateBusiness" parameterType="Map">
|
|
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,将订单信息改为 C-->
|
<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,将订单信息改为 C-->
|
<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>
|
|
<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>
|
<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`
|
FROM c_orders co,c_business cb
|
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}
|
</if>
|
<if test="oId != null and 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>
|
|
<!-- 获取同个订单中已经完成的订单项-->
|
<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>
|
<!--查询 所有有效 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>
|
|
<select id="getMappingInfoAll" resultType="com.java110.dto.mapping.Mapping">
|
<![CDATA[
|
|
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.privilege.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.system.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>
|
|
<select id="judgeAllBusinessCompleted" parameterType="map" resultType="map">
|
SELECT co.* FROM c_orders co WHERE co.`o_id` = #{oId} and not exists (
|
SELECT 1 FROM c_business cb WHERE cb.`o_id` = co.`o_id`
|
AND cb.`status_cd` NOT IN (#{statusCd})
|
)
|
AND NOT EXISTS (
|
SELECT 1 FROM c_business cbs WHERE cbs.`o_id` =co.`o_id`
|
AND cbs.`business_type_cd` = 'DO'
|
)
|
AND co.`status_cd` NOT IN ('D','C','E')
|
</select>
|
|
<select id="judgeAllBusinessDeleteOrder" parameterType="map" resultType="map">
|
SELECT co.* FROM c_orders co WHERE co.`o_id` = #{oId} and not exists (
|
SELECT 1 FROM c_business cb WHERE cb.`o_id` = co.`o_id`
|
AND cb.`status_cd` NOT IN (#{statusCd})
|
)
|
AND EXISTS (
|
SELECT 1 FROM c_business cbs WHERE cbs.`o_id` =co.`o_id`
|
AND cbs.`business_type_cd` = 'DO'
|
)
|
AND co.`status_cd` NOT IN ('C')
|
</select>
|
|
<!---->
|
<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>
|
|
</mapper>
|