<?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.matrix.system.hive.dao.SysOrderFlowDao">
|
|
<resultMap id="SysOrderFlowMap" type="SysOrderFlow">
|
<id property="id" column="id" />
|
<result property="createBy" column="create_by" />
|
<result property="createTime" column="create_time" />
|
<result property="updateBy" column="update_by" />
|
<result property="updateTime" column="update_time" />
|
<result property="flowNo" column="flow_no" />
|
<result property="orderId" column="order_id" />
|
<result property="flowContent" column="flow_content" />
|
<result property="flowType" column="flow_type" />
|
<result property="amount" column="amount" />
|
<result property="vipId" column="vip_id" />
|
<result property="payMethod" column="pay_method" />
|
<result property="cardId" column="card_id" />
|
<result property="isGift" column="is_gift" />
|
|
<result property="orderNo" column="order_no" />
|
</resultMap>
|
|
<insert id="insert" parameterType="SysOrderFlow" useGeneratedKeys="true"
|
keyProperty="id">
|
INSERT INTO sys_order_flow (
|
ID,
|
create_by,
|
create_time,
|
update_by,
|
update_time,
|
flow_no,
|
order_id,
|
flow_content,
|
flow_type,
|
amount,
|
vip_id,
|
pay_method,
|
card_id,
|
is_gift,
|
shop_id,
|
company_id
|
)
|
VALUES (
|
#{id},
|
#{createBy},
|
now(),
|
#{updateBy},
|
now(),
|
#{flowNo},
|
#{orderId},
|
#{flowContent},
|
#{flowType},
|
#{amount},
|
#{vipId},
|
#{payMethod},
|
#{cardId},
|
#{isGift},
|
#{shopId},
|
#{companyId}
|
)
|
</insert>
|
<update id="updateTimeByOrderId">
|
UPDATE sys_order_flow set
|
create_time=#{payTime}
|
where order_id=#{orderId}
|
</update>
|
<delete id="deleteByOrderId">
|
delete from sys_order_flow where order_id=#{orderId}
|
</delete>
|
|
<select id="selectByOrderId" resultMap="SysOrderFlowMap">
|
select a.*, b.order_no from sys_order_flow a
|
left join sys_order b on a.order_id=b.id
|
where order_id=#{orderId}
|
</select>
|
|
<select id="selectPayMethodsAmountByOrderId" resultMap="SysOrderFlowMap">
|
select
|
pay_method,
|
sum(amount) amount
|
from sys_order_flow
|
where order_id=#{orderId}
|
group by pay_method
|
</select>
|
|
<select id="selectInPage" resultType="com.matrix.system.hive.vo.OrderFlowVo">
|
SELECT
|
a.id,
|
b.id as orderId,
|
a.create_time as createTime,
|
b.ORDER_NO as orderNo,
|
a.flow_content as flowContent,
|
a.flow_type as flowType,
|
a.amount as amount,
|
c.VIP_NAME as vipName,
|
a.pay_method as payMethod,
|
a.flow_no as flowNo,
|
d.shop_short_name as shopName,
|
e.su_name as staffName
|
from sys_order_flow a
|
LEFT JOIN sys_order b on a.order_id=b.ID
|
LEFT JOIN sys_vip_info c on a.vip_id=c.ID
|
LEFT JOIN sys_shop_info d on a.shop_id=d.ID
|
LEFT JOIN sys_users e on e.su_id=b.STAFF_ID
|
<where>
|
|
and a.company_id=#{record.companyId}
|
|
<if test="record.queryKey != null and record.queryKey != ''">
|
and (instr(c.vip_name, #{record.queryKey}) or instr(c.phone, #{record.queryKey}) )
|
</if>
|
<if test="record.oprationMan != null and record.oprationMan != ''">
|
and instr(e.su_name, #{record.oprationMan})
|
</if>
|
<if test="record.orderNo != null and record.orderNo != ''">
|
and instr(b.ORDER_NO, #{record.orderNo})
|
</if>
|
<if test="record.payMethod != null and record.payMethod != ''">
|
and a.pay_method=#{record.payMethod}
|
</if>
|
|
<if test="record.flowType != null and record.flowType != ''">
|
and a.flow_type=#{record.flowType}
|
</if>
|
|
<if test="record.startTime != null ">
|
and a.create_time >= #{record.startTime}
|
</if>
|
<if test="record.endTime != null ">
|
<![CDATA[and a.create_time <= #{record.endTime}]]>
|
</if>
|
<if test="record.shopId != null and record.shopId != ''">
|
and a.shop_id=#{record.shopId}
|
</if>
|
</where>
|
<if test="record.sort !=null">
|
order by
|
a.${record.sort} ${record.order}
|
</if>
|
<if test="record.offset >=0 and record.limit >0">
|
limit
|
#{record.offset},#{record.limit}
|
</if>
|
|
|
</select>
|
|
<select id="selectTotal" resultType="java.lang.Integer">
|
SELECT count(*)
|
from sys_order_flow a
|
LEFT JOIN sys_order b on a.order_id=b.ID
|
LEFT JOIN sys_vip_info c on a.vip_id=c.ID
|
LEFT JOIN sys_shop_info d on a.shop_id=d.ID
|
LEFT JOIN sys_users e on e.su_id=b.STAFF_ID
|
<where>
|
|
and a.company_id=#{record.companyId}
|
|
<if test="record.queryKey != null and record.queryKey != ''">
|
and (instr(c.vip_name, #{record.queryKey}) or instr(c.phone, #{record.queryKey}) )
|
</if>
|
<if test="record.oprationMan != null and record.oprationMan != ''">
|
and instr(e.su_name, #{record.oprationMan})
|
</if>
|
<if test="record.orderNo != null and record.orderNo != ''">
|
and instr(b.ORDER_NO, #{record.orderNo})
|
</if>
|
<if test="record.payMethod != null and record.payMethod != ''">
|
and a.pay_method=#{record.payMethod}
|
</if>
|
|
<if test="record.flowType != null and record.flowType != ''">
|
and a.flow_type=#{record.flowType}
|
</if>
|
|
<if test="record.startTime != null ">
|
and a.create_time >= #{record.startTime}
|
</if>
|
<if test="record.endTime != null ">
|
<![CDATA[and a.create_time <= #{record.endTime}]]>
|
</if>
|
<if test="record.shopId != null and record.shopId != ''">
|
and a.shop_id=#{record.shopId}
|
</if>
|
|
</where>
|
</select>
|
|
</mapper>
|