<?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.xzx.gc.shop.mapper.ScoreOrderMapper">
|
|
<select id="queryOrderList" resultType="com.xzx.gc.shop.vo.QueryOrderListVo">
|
SELECT
|
a.*,
|
a.CREATED_TIME createTime,
|
ifnull(a.is_finish,2) isFinish,
|
b.nick_name name,
|
b.mobile_phone phone,
|
d.express_com expressCom,
|
d.address expressAddress,
|
d.express_no expressNo
|
FROM
|
xzx_score_order a
|
inner join xzx_user_info b on b.user_id = a.user_id
|
left join xzx_score_express_info d on d.order_id = a.id
|
WHERE 1 = 1
|
<if test="orderNo != null and orderNo != ''">
|
and a.order_no like concat('%',#{orderNo},'%')
|
</if>
|
|
<if test="name != null and name != ''">
|
and (b.nick_name like concat('%',#{name},'%')
|
or b.mobile_phone like concat('%',#{accountName},'%') )
|
</if>
|
<if test="status.size > 0">
|
and a.status in
|
<foreach collection="status" item="sta" open="(" separator="," close=")">
|
#{sta}
|
</foreach>
|
</if>
|
<if test="createdTimeStart != null">
|
and a.CREATED_TIME >= #{createdTimeStart}
|
</if>
|
|
<if test="createdTimeEnd != null">
|
and a.CREATED_TIME <= #{createdTimeEnd}
|
</if>
|
order by
|
<if test="namePx != null and namePx != '' and namePx == 1">
|
a.CREATED_TIME
|
</if>
|
<if test="namePx != null and namePx != '' and namePx == 2">
|
from_base64(b.nick_name)
|
</if>
|
|
<if test="typePx != null and typePx != '' and typePx == 1">
|
asc
|
</if>
|
<if test="typePx != null and typePx != '' and typePx == 2">
|
desc
|
</if>
|
|
</select>
|
|
<select id="selectXcxOrderList" resultType="com.xzx.gc.shop.vo.XcxOrderListVo">
|
select
|
a.*,
|
b.unit_price,
|
b.sku,
|
b.style,
|
b.thumb
|
from xzx_score_order a
|
inner join xzx_score_order_details b on a.id=b.order_id
|
<where>
|
a.user_id=#{record.userId}
|
<if test="record.status == 1">
|
and a.status in (1, 2, 3)
|
</if>
|
<if test="record.status == 2">
|
and a.status = 4
|
</if>
|
<if test="record.status == 3">
|
and a.status = 6
|
</if>
|
</where>
|
order by a.created_time desc
|
</select>
|
|
<select id="selectXcxOrderDetails" resultType="com.xzx.gc.shop.vo.XcxOrderDetailsVo">
|
select
|
a.*
|
,b.style
|
,b.sku
|
,b.thumb
|
,b.unit_price
|
,c.address
|
,c.phone
|
,c.username
|
,c.express_com expressCompany
|
,c.express_no
|
from xzx_score_order a
|
inner join xzx_score_order_details b on a.id=b.order_id
|
inner join xzx_score_express_info c on a.id=c.order_id
|
where a.id=#{id}
|
</select>
|
|
<update id="updateOrderStatus">
|
update xzx_score_order
|
set status=#{status}
|
where id=#{id} and user_id=#{userId}
|
</update>
|
|
<select id="selectOrderStastics" resultType="java.util.Map">
|
select
|
IFNULL(count(1), 0) totalBuy,
|
IFNULL(sum(IFNULL(total_price,0)),0) totalPrice,
|
(
|
select IFNULL(count(1),0) from xzx_jhy_order where status in (3, 4)
|
<if test="userId != null and userId != ''">
|
and user_id=#{userId}
|
</if>
|
) totalOrder
|
from xzx_score_order
|
where status in (3, 4)
|
<if test="userId != null and userId != ''">
|
and user_id=#{userId}
|
</if>
|
</select>
|
|
<select id="selectScoreOrderCnt" resultType="java.lang.Integer">
|
select IFNULL(count(1), 0) from xzx_score_order
|
where status in (3, 4)
|
<if test="userId != null and userId != ''">
|
and user_id=#{userId}
|
</if>
|
</select>
|
|
|
<select id="selectGoodsQuotaTime" resultType="java.lang.Integer">
|
SELECT
|
IFNULL(SUM(a.cnt), 0)
|
FROM
|
xzx_score_order a
|
LEFT JOIN xzx_score_order_details b ON b.order_id = a.id
|
WHERE
|
a. STATUS IN (1, 2, 3, 4, 5)
|
and a.user_id = #{userId}
|
AND b.goods_id = #{goodsId}
|
and a.CREATED_TIME >= #{qgStartTime}
|
and a.CREATED_TIME <= #{qgEndTime}
|
</select>
|
|
<select id="selectOrderByIsFinish" resultType="com.xzx.gc.entity.ScoreOrder">
|
select
|
a.*
|
from xzx_score_order a
|
where a.is_finish = 1
|
and a.status = 2
|
and a.is_finish_time <= #{dateTime}
|
</select>
|
|
<update id="updateOrderStatusToDone">
|
update xzx_score_order
|
set status = 4
|
where id = #{id}
|
</update>
|
</mapper>
|