367 lines
13 KiB
XML
367 lines
13 KiB
XML
<?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.sv.mapper.BarcodeOrderTimeMapper" >
|
|
<resultMap id="BaseResultMap" type="com.sv.entity.BarcodeOrderTime" >
|
|
<constructor >
|
|
<idArg column="id" jdbcType="INTEGER" javaType="java.lang.Integer" />
|
|
<arg column="member_id" jdbcType="INTEGER" javaType="java.lang.Integer" />
|
|
<arg column="venue_id" jdbcType="INTEGER" javaType="java.lang.Integer" />
|
|
<arg column="created_time" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
|
<arg column="modified_time" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
|
<arg column="order_start" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
|
<arg column="order_end" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
|
<arg column="last_enter" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
|
<arg column="last_out" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
|
<arg column="status" jdbcType="INTEGER" javaType="java.lang.Integer" />
|
|
<arg column="paying" jdbcType="INTEGER" javaType="java.lang.Integer" />
|
|
<arg column="pay_money" jdbcType="INTEGER" javaType="java.lang.Integer" />
|
|
<arg column="sum_pay_money" jdbcType="INTEGER" javaType="java.lang.Integer" />
|
|
<arg column="order_sn" jdbcType="VARCHAR" javaType="java.lang.String" />
|
|
<arg column="order_add_sn" jdbcType="VARCHAR" javaType="java.lang.String" />
|
|
</constructor>
|
|
</resultMap>
|
|
<sql id="Base_Column_List" >
|
|
id, member_id, venue_id, created_time, modified_time, order_start, order_end, last_enter, last_out, status, paying, pay_money, sum_pay_money, order_sn,order_add_sn
|
|
</sql>
|
|
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
|
|
select
|
|
<include refid="Base_Column_List" />
|
|
from sv_barcode_order_time
|
|
where id = #{id,jdbcType=INTEGER}
|
|
</select>
|
|
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
|
|
delete from sv_barcode_order_time
|
|
where id = #{id,jdbcType=INTEGER}
|
|
</delete>
|
|
<insert id="insert" parameterType="com.sv.entity.BarcodeOrderTime" >
|
|
insert into sv_barcode_order_time (id, member_id, venue_id,
|
|
created_time, modified_time, order_start,
|
|
order_end, last_enter, last_out, status,paying ,pay_money,sum_pay_money,order_sn,order_add_sn)
|
|
values (#{id,jdbcType=INTEGER}, #{memberId,jdbcType=INTEGER}, #{venueId,jdbcType=INTEGER},
|
|
#{createdTime,jdbcType=TIMESTAMP}, #{modifiedTime,jdbcType=TIMESTAMP}, #{orderStart,jdbcType=TIMESTAMP},
|
|
#{orderEnd,jdbcType=TIMESTAMP}, #{lastEnter,jdbcType=TIMESTAMP}, #{lastOut,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER},
|
|
#{paying,jdbcType=INTEGER},#{payMoney,jdbcType=INTEGER}, #{sumPayMoney,jdbcType=INTEGER},
|
|
#{orderSn,jdbcType=VARCHAR},#{orderAddSn,jdbcType=VARCHAR})
|
|
</insert>
|
|
<insert id="insertSelective" parameterType="com.sv.entity.BarcodeOrderTime" >
|
|
insert into sv_barcode_order_time
|
|
<trim prefix="(" suffix=")" suffixOverrides="," >
|
|
<if test="id != null" >
|
|
id,
|
|
</if>
|
|
<if test="memberId != null" >
|
|
member_id,
|
|
</if>
|
|
<if test="venueId != null" >
|
|
venue_id,
|
|
</if>
|
|
<if test="createdTime != null" >
|
|
created_time,
|
|
</if>
|
|
<if test="modifiedTime != null" >
|
|
modified_time,
|
|
</if>
|
|
<if test="orderStart != null" >
|
|
order_start,
|
|
</if>
|
|
<if test="orderEnd != null" >
|
|
order_end,
|
|
</if>
|
|
<if test="lastEnter != null" >
|
|
last_enter,
|
|
</if>
|
|
<if test="lastOut != null" >
|
|
last_out,
|
|
</if>
|
|
<if test="status != null" >
|
|
status,
|
|
</if>
|
|
<if test="paying != null" >
|
|
paying,
|
|
</if>
|
|
<if test="payMoney != null" >
|
|
pay_money,
|
|
</if>
|
|
<if test="sumPayMoney != null" >
|
|
sum_pay_money,
|
|
</if>
|
|
<if test="orderSn != null" >
|
|
order_sn,
|
|
</if>
|
|
<if test="orderAddSn != null" >
|
|
order_add_sn,
|
|
</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides="," >
|
|
<if test="id != null" >
|
|
#{id,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="memberId != null" >
|
|
#{memberId,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="venueId != null" >
|
|
#{venueId,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="createdTime != null" >
|
|
#{createdTime,jdbcType=TIMESTAMP},
|
|
</if>
|
|
<if test="modifiedTime != null" >
|
|
#{modifiedTime,jdbcType=TIMESTAMP},
|
|
</if>
|
|
<if test="orderStart != null" >
|
|
#{orderStart,jdbcType=TIMESTAMP},
|
|
</if>
|
|
<if test="orderEnd != null" >
|
|
#{orderEnd,jdbcType=TIMESTAMP},
|
|
</if>
|
|
<if test="lastEnter != null" >
|
|
#{lastEnter,jdbcType=TIMESTAMP},
|
|
</if>
|
|
<if test="lastOut != null" >
|
|
#{lastOut,jdbcType=TIMESTAMP},
|
|
</if>
|
|
<if test="status != null" >
|
|
#{status,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="paying != null" >
|
|
#{paying,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="payMoney != null" >
|
|
#{payMoney,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="sumPayMoney != null" >
|
|
#{sumPayMoney,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="orderSn != null" >
|
|
#{orderSn,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="orderAddSn != null" >
|
|
#{orderAddSn,jdbcType=VARCHAR},
|
|
</if>
|
|
</trim>
|
|
</insert>
|
|
<update id="updateByPrimaryKeySelective" parameterType="com.sv.entity.BarcodeOrderTime" >
|
|
update sv_barcode_order_time
|
|
<set >
|
|
<if test="memberId != null" >
|
|
member_id = #{memberId,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="venueId != null" >
|
|
venue_id = #{venueId,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="createdTime != null" >
|
|
created_time = #{createdTime,jdbcType=TIMESTAMP},
|
|
</if>
|
|
<if test="modifiedTime != null" >
|
|
modified_time = #{modifiedTime,jdbcType=TIMESTAMP},
|
|
</if>
|
|
<if test="orderStart != null" >
|
|
order_start = #{orderStart,jdbcType=TIMESTAMP},
|
|
</if>
|
|
<if test="orderEnd != null" >
|
|
order_end = #{orderEnd,jdbcType=TIMESTAMP},
|
|
</if>
|
|
<if test="lastEnter != null" >
|
|
last_enter = #{lastEnter,jdbcType=TIMESTAMP},
|
|
</if>
|
|
<if test="lastOut != null" >
|
|
last_out = #{lastOut,jdbcType=TIMESTAMP},
|
|
</if>
|
|
<if test="status != null" >
|
|
status = #{status,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="paying != null" >
|
|
paying = #{paying,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="payMoney != null" >
|
|
pay_money = #{payMoney,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="sumPayMoney != null" >
|
|
sum_pay_money = #{sumPayMoney,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="orderSn != null" >
|
|
order_sn = #{orderSn,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="orderSn != null" >
|
|
order_add_sn = #{orderAddSn,jdbcType=VARCHAR},
|
|
</if>
|
|
</set>
|
|
where id = #{id,jdbcType=INTEGER}
|
|
</update>
|
|
<update id="updateByPrimaryKey" parameterType="com.sv.entity.BarcodeOrderTime" >
|
|
update sv_barcode_order_time
|
|
set member_id = #{memberId,jdbcType=INTEGER},
|
|
venue_id = #{venueId,jdbcType=INTEGER},
|
|
created_time = #{createdTime,jdbcType=TIMESTAMP},
|
|
modified_time = #{modifiedTime,jdbcType=TIMESTAMP},
|
|
order_start = #{orderStart,jdbcType=TIMESTAMP},
|
|
order_end = #{orderEnd,jdbcType=TIMESTAMP},
|
|
last_enter = #{lastEnter,jdbcType=TIMESTAMP},
|
|
last_out = #{lastOut,jdbcType=TIMESTAMP},
|
|
status = #{status,jdbcType=INTEGER},
|
|
paying = #{paying,jdbcType=INTEGER},
|
|
pay_money = #{payMoney,jdbcType=INTEGER},
|
|
sum_pay_money = #{sumPayMoney,jdbcType=INTEGER},
|
|
order_sn = #{orderSn,jdbcType=VARCHAR},
|
|
order_add_sn = #{orderAddSn,jdbcType=VARCHAR}
|
|
where id = #{id,jdbcType=VARCHAR}
|
|
</update>
|
|
|
|
<select id="findEffOrder" resultType="int">
|
|
select count(1)
|
|
from sv_barcode_order_time
|
|
where status = 0 and order_end >= #{currentDate} and member_id = #{memberId,jdbcType=INTEGER} and venue_id = #{venueId,jdbcType=INTEGER}
|
|
</select>
|
|
|
|
<select id="findLastOrder" resultMap="BaseResultMap">
|
|
select
|
|
<include refid="Base_Column_List" />
|
|
from sv_barcode_order_time
|
|
where member_id = #{memberId,jdbcType=INTEGER} and venue_id = #{venueId,jdbcType=INTEGER}
|
|
order by order_end desc LIMIT 1
|
|
</select>
|
|
|
|
<select id="findLastOrderBySn" resultMap="BaseResultMap">
|
|
select
|
|
<include refid="Base_Column_List" />
|
|
from sv_barcode_order_time
|
|
where member_id = #{memberId,jdbcType=INTEGER} and venue_id = #{venueId,jdbcType=INTEGER}
|
|
and order_add_sn = #{orderSn,jdbcType=VARCHAR}
|
|
order by order_end desc LIMIT 1
|
|
</select>
|
|
|
|
<select id="endOrderList" resultMap="BaseResultMap" >
|
|
select
|
|
<include refid="Base_Column_List" />
|
|
from sv_barcode_order_time
|
|
where status = 0 and order_end <= #{currentDate}
|
|
</select>
|
|
|
|
<select id="needPayOrderList" resultMap="BaseResultMap" >
|
|
select
|
|
<include refid="Base_Column_List" />
|
|
from sv_barcode_order_time
|
|
where paying = 1
|
|
</select>
|
|
|
|
<select id="memberOrderEnterList" resultType="com.sv.dto.api.MemberEnterOrderDTO">
|
|
select
|
|
t.id as id,
|
|
ue.id as lessonId,
|
|
ue.`name` as lessonName,
|
|
ue.list_image as lessonImage,
|
|
t.last_enter as lastEnter,
|
|
t.order_start as startTime,
|
|
t.last_out as endTime,
|
|
(select IFNULL(sum(ot.price),0) from sv_order ot
|
|
where ot.member_id = #{memberId,jdbcType=INTEGER} and (ot.order_sn = t.order_sn or ot.order_sn = t.order_add_sn)
|
|
) as price,
|
|
t.paying,
|
|
t.order_sn as orderSn,
|
|
t.`status`,
|
|
t.created_time as createTime,
|
|
1 as payType,
|
|
ue.address as address,
|
|
ue.longitude,
|
|
ue.latitude
|
|
from sv_barcode_order_time t LEFT JOIN sv_venue ue on t.venue_id = ue.id
|
|
where t.member_id = #{memberId,jdbcType=INTEGER}
|
|
order by t.order_start desc
|
|
</select>
|
|
|
|
<select id="memberOrderEnterDetail" resultType="com.sv.dto.api.MemberEnterOrderDTO">
|
|
select
|
|
t.id as id,
|
|
ue.id as lessonId,
|
|
ue.`name` as lessonName,
|
|
ue.list_image as lessonImage,
|
|
t.last_enter as lastEnter,
|
|
t.order_start as startTime,
|
|
t.last_out as endTime,
|
|
(select IFNULL(sum(ot.price),0) from sv_order ot
|
|
where ot.member_id = #{memberId,jdbcType=INTEGER} and (ot.order_sn = t.order_sn or ot.order_sn = t.order_add_sn)
|
|
) as price,
|
|
t.paying,
|
|
IFNULL(t.sum_pay_money,0) as payMoney,
|
|
t.order_sn as orderSn,
|
|
t.`status`,
|
|
t.created_time as createTime,
|
|
1 as payType,
|
|
ue.address as address,
|
|
ue.longitude,
|
|
ue.latitude
|
|
from sv_barcode_order_time t LEFT JOIN sv_venue ue on t.venue_id = ue.id
|
|
where t.member_id = #{memberId,jdbcType=INTEGER}
|
|
and t.id = #{enterId,jdbcType=INTEGER}
|
|
</select>
|
|
|
|
<select id="findAll" resultType="com.sv.dto.api.MemberEnterOrderDTO">
|
|
select
|
|
t.id as id,
|
|
(select ue.`name` from sv_venue ue where ue.id = t.venue_id) as lessonName,
|
|
t.last_enter as lastEnter,
|
|
t.order_start as startTime,
|
|
t.last_out as endTime,
|
|
m.nickname,
|
|
m.mobile,
|
|
(select IFNULL(sum(ot.price),0) from sv_order ot
|
|
where ot.member_id = t.member_id and (ot.order_sn = t.order_sn or ot.order_sn = t.order_add_sn)
|
|
) as price,
|
|
t.paying,
|
|
IFNULL(t.sum_pay_money,0) as payMoney,
|
|
t.order_sn as orderSn,
|
|
(case when t.`status` = 0 then t.paying else 2 end) as `status`,
|
|
t.created_time as createTime,
|
|
1 as payType
|
|
from sv_barcode_order_time t LEFT JOIN sv_member m on t.member_id = m.id
|
|
where 1=1
|
|
<if test="state != null and state == 2">
|
|
AND (t.status = 1 or t.paying = #{state})
|
|
</if>
|
|
<if test="state != null and state == 1">
|
|
AND t.paying = #{state}
|
|
</if>
|
|
<if test="state != null and state == 0">
|
|
AND t.paying = #{state} and t.status = 0
|
|
</if>
|
|
<if test="orderSn != ''">
|
|
AND t.order_sn = #{orderSn}
|
|
</if>
|
|
<if test="starTime != ''">
|
|
AND t.order_start >= #{starTime}
|
|
</if>
|
|
<if test="endTime != ''">
|
|
AND t.order_start <= #{endTime}
|
|
</if>
|
|
order by t.order_start desc
|
|
</select>
|
|
|
|
<select id="orderPageSum" resultType="java.math.BigDecimal">
|
|
select
|
|
sum((select IFNULL(sum(ot.price),0) from sv_order ot
|
|
where ot.member_id = t.member_id and (ot.order_sn = t.order_sn or ot.order_sn = t.order_add_sn)
|
|
) - IFNULL(t.sum_pay_money,0)) orderSumMoney
|
|
from sv_barcode_order_time t LEFT JOIN sv_member m on t.member_id = m.id
|
|
where 1=1
|
|
<if test="state != null and state == 2">
|
|
AND (t.status = 1 or t.paying = #{state})
|
|
</if>
|
|
<if test="state != null and state == 1">
|
|
AND t.paying = #{state}
|
|
</if>
|
|
<if test="state != null and state == 0">
|
|
AND t.paying = #{state} and t.status = 0
|
|
</if>
|
|
<if test="orderSn != ''">
|
|
AND t.order_sn = #{orderSn}
|
|
</if>
|
|
<if test="starTime != ''">
|
|
AND t.order_start >= #{starTime}
|
|
</if>
|
|
<if test="endTime != ''">
|
|
AND t.order_start <= #{endTime}
|
|
</if>
|
|
</select>
|
|
|
|
</mapper>
|