<?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.user.mapper.OrderMapper">
|
|
<resultMap id="OrderMap" type="com.xzx.gc.model.order.OrderInfoVo">
|
<result column="address_id" jdbcType="INTEGER" property="addressId"/>
|
<result column="order_id" jdbcType="VARCHAR" property="orderId"/>
|
<result column="order_status" jdbcType="VARCHAR" property="orderStatus"/>
|
<result column="order_second_status" jdbcType="VARCHAR" property="orderSecondStatus"/>
|
<result column="order_type" jdbcType="VARCHAR" property="orderType"/>
|
<result column="reserve_time" jdbcType="VARCHAR" property="reserveTime"/>
|
<result column="create_user_id" jdbcType="VARCHAR" property="createUserId"/>
|
<result column="cancel_user_id" jdbcType="VARCHAR" property="cancelUserId"/>
|
<result column="create_time" jdbcType="VARCHAR" property="createTime"/>
|
<result column="create_user_name" jdbcType="VARCHAR" property="createUserName"/>
|
<result column="receive_time" jdbcType="VARCHAR" property="receiveTime"/>
|
<result column="order_pic" jdbcType="VARCHAR" property="orderPic"/>
|
<result column="storage_money" jdbcType="VARCHAR" property="storageMoney"/>
|
<result column="receiver_name" jdbcType="VARCHAR" property="receiverName"/>
|
<result column="take_phone_pic" jdbcType="VARCHAR" property="takePhonePic"/>
|
<result column="receiver_phone" jdbcType="VARCHAR" property="receiverPhone"/>
|
<result column="cancel_user_phone" jdbcType="VARCHAR" property="cancelUserPhone"/>
|
<result column="cancel_user_name" jdbcType="VARCHAR" property="cancelUserName"/>
|
<result column="storage_user_id" jdbcType="VARCHAR" property="storageUserId"/>
|
<result column="storage_user_name" jdbcType="VARCHAR" property="storageUserName"/>
|
<result column="storage_user_phone" jdbcType="VARCHAR" property="storageUserPhone"/>
|
<result column="rela_phone" jdbcType="VARCHAR" property="relaPhone"/>
|
<result column="rela_name" jdbcType="VARCHAR" property="relaName"/>
|
<result column="cancel_reason_code" jdbcType="VARCHAR" property="cancelReasonCode"/>
|
<result column="cancel_reason_name" jdbcType="VARCHAR" property="cancelReasonName"/>
|
<result column="item_type" jdbcType="VARCHAR" property="itemType"/>
|
<result column="item_type_name" jdbcType="VARCHAR" property="itemTypeName"/>
|
<result column="address_area" jdbcType="VARCHAR" property="addressArea"/>
|
<result column="address_area" jdbcType="VARCHAR" property="addressArea"/>
|
<result column="second_price" jdbcType="VARCHAR" property="secondPrice"/>
|
<result column="create_type" property="type"/>
|
<result column="store_id" property="storeId"/>
|
<result column="receive_time" property="receiveTime"/>
|
<result column="complete_time" property="completeTime"/>
|
<result column="address_id" property="addressId"/>
|
<result column="complete_time" property="completeTime"/>
|
</resultMap>
|
|
|
|
<select id="findOrderItemInfo" resultType="com.xzx.gc.entity.OrderItemInfo">
|
select b.order_id,b.weight,b.money,c.complete_time "createTime" from xzx_order_info a
|
inner join xzx_order_item_info b on a.order_id=b.order_id
|
inner join xzx_order_detail_info c on b.order_id=c.order_id
|
where (a.order_status=4 or a.order_status=5 or a.order_status=7) AND b.money is not null and b.money!='' and cast(b.money as decimal(10,2))!=0
|
and
|
<choose>
|
<when test="type==1">
|
a.create_user_id=#{userId}
|
</when>
|
<otherwise>
|
a.receiver=#{userId}
|
</otherwise>
|
</choose>
|
|
</select>
|
|
<select id="findLastTimeBycreateUserId" resultMap="OrderMap">
|
SELECT
|
a.order_id,
|
a.address,
|
a.address_area,
|
a.order_status,
|
a.order_type,
|
a.reserve_time,
|
a.create_user_id,
|
a.receiver,
|
a.create_time,
|
a.rela_phone,
|
a.longitude,
|
a.latitude,
|
d.remark,
|
d.create_user_name,
|
d.receive_time,
|
d.order_pic,
|
d.amount,
|
d.money,
|
d.receiver_name,
|
d.take_phone_pic,
|
d.receiver_phone,
|
d.cancel_user_name,
|
d.cancel_user_phone,
|
a.rela_name,
|
a.order_second_status,
|
d.cancel_reason_code,
|
d.cancel_reason_name,
|
a.store_id,
|
d.address_id,
|
d.complete_time
|
FROM
|
xzx_order_info a
|
INNER JOIN xzx_order_detail_info d ON a.order_id = d.order_id
|
WHERE
|
a.create_user_id=#{userId} and a.order_status in ('4','5','7')
|
order by d.complete_time desc limit 1
|
</select>
|
|
<select id="queryCuserOrderByUserIdCount1" resultType="java.util.Map">
|
SELECT
|
count(a.order_id) as count,
|
(select count(b.order_id)
|
from xzx_order_info b
|
where b.order_status = 3 and b.create_user_id = #{userId}) as count1
|
FROM xzx_order_info a
|
WHERE a.create_user_id = #{userId} and a.order_status in (4, 5, 7)
|
</select>
|
|
<select id="queryUserOrderList" resultType="java.util.Map">
|
select a.create_time as createTime,a.order_id as orderId,sum(b.money) as money,sum(b.weight) as weight from
|
xzx_order_info a
|
LEFT JOIN xzx_order_item_info b ON a.order_id = b.order_id
|
where a.create_user_id=#{userId}
|
and a.order_status in ('4','5','7')
|
and a.del_flag=0 and a.cancel_user_id is null
|
GROUP BY a.order_id order by a.create_time
|
</select>
|
|
<select id="queryCuserOrderCount" resultType="java.util.HashMap">
|
SELECT COUNT(*) as count FROM xzx_order_info WHERE create_user_id=#{userId}
|
<if test="status != null">
|
and order_status in
|
<foreach collection="status" index="index" item="id" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
</if>
|
GROUP BY order_type
|
</select>
|
|
<!-- <select id="queryCuserOrderCount" resultType="java.util.HashMap">-->
|
<!-- SELECT-->
|
<!-- COUNT(*) as count-->
|
<!-- FROM-->
|
<!-- (-->
|
<!-- (-->
|
<!-- SELECT-->
|
<!-- a.order_id orderId,-->
|
<!-- a.order_status STATUS,-->
|
<!-- '1' type,-->
|
<!-- ifnull(sum(d.money), 0) money,-->
|
<!-- '0' score,-->
|
<!-- a.address address,-->
|
<!-- ifnull(sum(d.weight), 0) weight,-->
|
<!-- e. NAME NAME,-->
|
<!-- a.create_time createTime-->
|
<!-- FROM-->
|
<!-- xzx_order_info a-->
|
<!-- LEFT JOIN xzx_order_item_info d ON a.order_id = d.order_id-->
|
<!-- LEFT JOIN xzx_user_info e ON e.user_id = a.receiver-->
|
<!-- WHERE-->
|
<!-- a.create_user_id=#{userId}-->
|
<!-- GROUP BY-->
|
<!-- a.order_id-->
|
<!-- )-->
|
<!-- UNION-->
|
<!-- (-->
|
<!-- SELECT-->
|
<!-- a.id orderId,-->
|
<!-- a. STATUS STATUS,-->
|
<!-- '2' type,-->
|
<!-- '0' money,-->
|
<!-- ifnull(sum(d.score), 0) score,-->
|
<!-- a.address address,-->
|
<!-- ifnull(sum(d.weight), 0) weight,-->
|
<!-- a.username NAME,-->
|
<!-- a.CREATED_TIME createTime-->
|
<!-- FROM-->
|
<!-- xzx_jhy_order a-->
|
<!-- LEFT JOIN xzx_jhy_order_items d ON a.id = d.order_id-->
|
<!-- WHERE-->
|
<!-- a.user_id = #{userId}-->
|
<!-- GROUP BY-->
|
<!-- a.id-->
|
<!-- )-->
|
<!-- ) v-->
|
<!-- ORDER BY-->
|
<!-- createTime DESC-->
|
<!-- </select>-->
|
|
<select id="queryPromoterOrderWeightMoney" resultType="com.xzx.gc.model.admin.PromoterModel">
|
SELECT SUM(c.weight) as orderWeightCount, SUM(c.money) as orderMoneyCount
|
FROM xzx_order_info b
|
LEFT JOIN xzx_order_detail_info k on b.order_id=k.order_id
|
LEFT JOIN xzx_order_item_info c ON b.order_id=c.order_id
|
WHERE b.order_type=1 AND b.order_status in (4,5,7) AND b.rela_phone in (
|
SELECT x.mobile FROM xzx_user_target_info x
|
WHERE x.del_flag=0
|
<if test="userId != null and userId != ''">
|
AND x.real_user_id=#{userId}
|
</if>
|
<if test="startTime != null and startTime != ''">
|
AND k.complete_time<![CDATA[>= ]]>#{startTime}
|
</if>
|
<if test="endTime != null and endTime != ''">
|
AND k.complete_time<![CDATA[<= ]]>#{endTime}
|
</if>
|
|
)
|
</select>
|
|
<select id="queryAllOrderByUserId" resultType="java.lang.Integer">
|
select IFNULL(count(a.order_id),0) from xzx_order_info a
|
left join xzx_order_detail_info b on a.order_id=b.order_id
|
where order_type=1 and a.order_status in (4,5,7) and a.rela_phone in
|
(
|
SELECT x.mobile FROM xzx_user_target_info x
|
WHERE x.del_flag=0
|
<if test="userId != null and userId != ''">
|
AND x.real_user_id=#{userId}
|
</if>
|
<if test="startTime != null and startTime != ''">
|
AND b.complete_time<![CDATA[>= ]]>#{startTime}
|
</if>
|
<if test="endTime != null and endTime != ''">
|
AND b.complete_time<![CDATA[<= ]]>#{endTime}
|
</if>
|
)
|
</select>
|
|
<select id="queryQromoterOrderOne" resultType="com.xzx.gc.model.admin.PromoterModel">
|
SELECT x.orderId, x.relaName,x.createTime, x.nickName, x.orderWeightCount, x.orderMoneyCount,x.completeTime ,x.createUserId,x.registTime
|
from
|
( SELECT b.order_id as orderId, b.rela_name as relaName,b.create_time as createTime, e.receiver_name as nickName, SUM(c.weight) as orderWeightCount,
|
u.regist_time as registTime,
|
SUM(c.money) as orderMoneyCount,e.complete_time as completeTime,b.create_user_id as createUserId
|
FROM xzx_order_info b
|
inner join xzx_user_info u on b.create_user_id=u.user_id
|
LEFT JOIN xzx_order_item_info c ON b.order_id=c.order_id
|
LEFT JOIN xzx_order_detail_info e ON e.order_id=b.order_id
|
WHERE b.order_type=1 AND b.order_status in (4,5,7)
|
<if test="startTime != null and startTime != ''">
|
AND b.create_time >= #{startTime} AND #{endTime}
|
</if>
|
<if test="endTime != null and endTime != ''">
|
AND b.create_time <= #{endTime}
|
</if>
|
AND b.create_user_id in ( SELECT user_id FROM xzx_user_info a
|
WHERE a.mobile_phone IN
|
( SELECT mobile FROM xzx_user_target_info x
|
WHERE del_flag=0
|
<if test="userId != null and userId != ''">
|
AND x.real_user_id=#{userId}
|
</if>
|
AND regster_type=3 ) )
|
GROUP BY b.create_user_id,b.order_id
|
ORDER BY b.create_time asc) x
|
<if test="orderWeightCount != null">
|
where x.orderWeightCount >= #{orderWeightCount}
|
</if>
|
ORDER BY x.registTime desc
|
</select>
|
|
<select id="queryQromoterOrder" parameterType="com.xzx.gc.model.admin.PromoterModel" resultType="com.xzx.gc.model.admin.PromoterModel">
|
SELECT x.orderId, x.relaName,x.createTime,
|
x.nickName, x.orderWeightCount, x.orderMoneyCount,x.completeTime,x.registTime from (
|
SELECT b.order_id as orderId, b.rela_name as relaName,b.create_time as createTime,u.regist_time as registTime,
|
e.receiver_name as nickName, SUM(c.weight) as orderWeightCount,
|
SUM(c.money) as orderMoneyCount,e.complete_time as completeTime FROM xzx_order_info b
|
inner join xzx_user_info u on b.create_user_id=u.user_id
|
LEFT JOIN xzx_order_item_info c ON b.order_id=c.order_id
|
LEFT JOIN xzx_order_detail_info e ON e.order_id=b.order_id
|
WHERE b.order_type=1 AND order_status in (4,5,7)
|
<if test="startTime != null and startTime != ''">
|
AND e.complete_time BETWEEN #{startTime} AND #{endTime}
|
</if>
|
AND create_user_id in (
|
SELECT user_id FROM xzx_user_info a WHERE a.mobile_phone IN (
|
SELECT mobile FROM xzx_user_target_info x
|
WHERE del_flag=0
|
<if test="userId != null and userId != ''">
|
AND x.real_user_id=#{userId}
|
</if>
|
AND regster_type=3
|
)
|
) GROUP BY b.order_id
|
) x
|
<if test="orderWeightCount != null and orderWeightCount != ''">
|
where x.orderWeightCount <![CDATA[>= ]]> #{orderWeightCount}
|
</if>
|
|
ORDER BY x.registTime desc
|
</select>
|
|
<select id="queryUserOrderNum" resultType="java.lang.String">
|
select a.order_id from xzx_order_info b
|
left join xzx_order_detail_info a on a.order_id=b.order_id
|
left join xzx_user_other_info c on b.receiver=c.user_id
|
where b.order_status in (4,5,7)
|
<if test="userId != null and userId != ''">
|
AND c.user_id=#{userId}
|
</if>
|
<if test="startTime != null and startTime != ''">
|
AND a.complete_time<![CDATA[>= ]]>#{startTime}
|
</if>
|
<if test="endTime != null and endTime != ''">
|
AND a.complete_time<![CDATA[<= ]]>#{endTime}
|
</if>
|
<if test=" partnerIds != null and partnerIds.size() != 0">
|
AND c.partner_id in
|
<foreach collection="partnerIds" index="index" item="id" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
</if>
|
</select>
|
|
<select id="queryCuserOrderFinishList" resultType="java.util.HashMap">
|
SELECT a.order_id as orderId,
|
sum(d.money) as money,
|
a.address as address,
|
a.order_type as orderType,
|
sum(d.weight) as weight,
|
a.create_time as createTime
|
FROM
|
xzx_order_info a
|
LEFT JOIN xzx_order_item_info d on a.order_id = d.order_id
|
WHERE a.create_user_id=#{userId}
|
<if test="status != null">
|
and a.order_status in
|
<foreach collection="status" index="index" item="id" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
</if>
|
|
GROUP BY a.order_id
|
</select>
|
<!-- <select id="queryCuserOrderFinishList" resultType="java.util.HashMap">-->
|
<!-- SELECT-->
|
<!-- orderId,-->
|
<!-- address,-->
|
<!-- status,-->
|
<!-- type,-->
|
<!-- money,-->
|
<!-- score,-->
|
<!-- weight,-->
|
<!-- name,-->
|
<!-- createTime-->
|
<!-- FROM-->
|
<!-- (-->
|
<!-- (-->
|
<!-- SELECT-->
|
<!-- a.order_id orderId,-->
|
<!-- a.order_status STATUS,-->
|
<!-- '1' type,-->
|
<!-- ifnull(sum(d.money), 0) money,-->
|
<!-- '0' score,-->
|
<!-- a.address address,-->
|
<!-- ifnull(sum(d.weight), 0) weight,-->
|
<!-- e. NAME NAME,-->
|
<!-- a.create_time createTime-->
|
<!-- FROM-->
|
<!-- xzx_order_info a-->
|
<!-- LEFT JOIN xzx_order_item_info d ON a.order_id = d.order_id-->
|
<!-- LEFT JOIN xzx_user_info e ON e.user_id = a.receiver-->
|
<!-- WHERE-->
|
<!-- a.create_user_id = #{userId}-->
|
<!-- GROUP BY-->
|
<!-- a.order_id-->
|
<!-- )-->
|
<!-- UNION-->
|
<!-- (-->
|
<!-- SELECT-->
|
<!-- a.id orderId,-->
|
<!-- a. STATUS STATUS,-->
|
<!-- '2' type,-->
|
<!-- '0' money,-->
|
<!-- ifnull(sum(d.score), 0) score,-->
|
<!-- a.address address,-->
|
<!-- ifnull(sum(d.weight), 0) weight,-->
|
<!-- a.username NAME,-->
|
<!-- a.CREATED_TIME createTime-->
|
<!-- FROM-->
|
<!-- xzx_jhy_order a-->
|
<!-- LEFT JOIN xzx_jhy_order_items d ON a.id = d.order_id-->
|
<!-- WHERE-->
|
<!-- a.user_id = #{userId}-->
|
<!-- GROUP BY-->
|
<!-- a.id-->
|
<!-- )-->
|
<!-- ) v-->
|
<!-- ORDER BY-->
|
<!-- createTime DESC-->
|
|
<!-- </select>-->
|
|
|
<select id="orderCountStat" parameterType="java.util.Map" resultType="String">
|
select count(*)
|
from xzx_order_info
|
where 1=1
|
<if test="orderType!=null and orderType!=''">
|
and order_type=#{orderType}
|
</if>
|
<if test="orderStatus!=null and orderStatus!=''">
|
and order_status=#{orderStatus}
|
</if>
|
<if test="createUserId!=null and createUserId!=''">
|
and create_user_id=#{createUserId}
|
</if>
|
<if test="receiver!=null and receiver!=''">
|
and receiver=#{receiver}
|
</if>
|
</select>
|
|
<select id="queryOrderById" resultType="java.lang.String">
|
select trace_id from xzx_order_info where order_id =#{orderId}
|
<if test="userId != null and userId != ''">
|
and receiver=#{userId}
|
</if>
|
<if test="startTime != null and startTime != ''">
|
and b.receive_time >= #{startTime}
|
</if>
|
<if test="endTime != null and endTime != ''">
|
and b.receive_time <= #{endTime}
|
</if>
|
</select>
|
|
<select id="queryOrderByIds" resultType="java.lang.String">
|
select a.trace_id
|
from xzx_order_info a
|
left join xzx_order_detail_info b on a.order_id = b.order_id
|
where a.del_flag = 0
|
<if test="userId != null and userId != ''">
|
and a.receiver=#{userId}
|
</if>
|
|
<if test="startTime != null and startTime != ''">
|
and b.receive_time >= #{startTime}
|
</if>
|
<if test="endTime != null and endTime != ''">
|
and b.receive_time <= #{endTime}
|
</if>
|
</select>
|
|
<select id="queryOrderByHsy" resultType="map">
|
select a.order_id as orderId,c.complete_time as completeTime,a.address from xzx_order_info a
|
left join xzx_user_other_info b on a.receiver= b.user_id
|
left join xzx_order_detail_info c on a.order_id=c.order_id
|
where a.del_flag!=1 and b.del_flag=0 and b.user_type=2
|
and order_status in (4,5,7) and a.create_type in (1,3)
|
<if test="startTime != null and startTime != ''">
|
and c.complete_time >= #{startTime}
|
</if>
|
<if test="endTime != null and endTime != ''">
|
and c.complete_time <= #{endTime}
|
</if>
|
|
<if test="userId != null and userId != ''">
|
and b.user_id=#{userId}
|
</if>
|
</select>
|
|
<select id="findDetailByPartned" resultType="com.xzx.gc.entity.OrderInfo">
|
SELECT
|
a.order_id "orderId",
|
a.town_id "townId",
|
a.create_user_id "createUserId",
|
a.order_status "orderStatus",
|
a.create_time "createTime",
|
b.money,
|
ifnull(b.complete_time,a.reserve_time) "completeTime"
|
FROM
|
xzx_order_info a
|
left JOIN xzx_order_detail_info b ON a.order_id = b.order_id
|
left JOIN xzx_partner_fence c on a.town_id=c.fence_id and c.del_flag=0
|
left join xzx_user_other_info d on a.receiver=d.user_id
|
<if test="partnerId != null and partnerId != '' and partnerId!=-1">
|
where c.partner_id=#{partnerId} or d.partner_id=#{partnerId}
|
</if>
|
</select>
|
|
<select id="findDetail" resultType="com.xzx.gc.entity.OrderInfo">
|
SELECT
|
a.order_id "orderId",
|
c.township_id "townId",
|
a.create_user_id "createUserId",
|
a.order_status "orderStatus",
|
b.money,
|
b.complete_time "completeTime",
|
a.create_time "createTime"
|
FROM
|
xzx_order_info a
|
INNER JOIN xzx_order_detail_info b ON a.order_id = b.order_id
|
LEFT JOIN xzx_user_address_info c on b.address_id=c.address_id
|
</select>
|
<select id="findServiceOrderByUserIdAndStatus" resultType="com.xzx.gc.entity.OrderInfo">
|
SELECT
|
a.order_id "orderId",
|
a.create_user_id "createUserId",
|
b.complete_time "completeTime",
|
b.receive_time "receiveTime"
|
FROM
|
xzx_order_info a
|
INNER JOIN xzx_order_detail_info b ON a.order_id = b.order_id
|
where a.receiver=#{userId} and a.order_status in
|
<foreach collection="status" index="index" item="id" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
|
</select>
|
<select id="findListOrderReceiveTime" resultType="com.xzx.gc.entity.OrderInfo">
|
SELECT
|
a.create_user_id as createUserId
|
FROM
|
xzx_order_info a
|
INNER JOIN xzx_order_detail_info b ON a.order_id = b.order_id
|
WHERE
|
a.order_status = '2' and a.receiver=#{receiver}
|
ORDER BY
|
b.receive_time ASC
|
</select>
|
|
<select id="selectJhyOrderByUserId" resultType="com.xzx.gc.entity.JhyOrder">
|
SELECT
|
a.*
|
FROM
|
xzx_jhy_order a
|
WHERE
|
a.status != '5'
|
and a.user_id = #{userId}
|
</select>
|
</mapper>
|