<?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.ruoyi.system.mapper.AppletOrderMapper">
|
|
<select id="selectOrderList" resultType="com.ruoyi.system.vo.AppletOrderListVO">
|
SELECT t.id, t.code, t.goodsName, t.goodsIntro, t.goodsCover, t.goodsPrice, t.createTime, t.orderType, t.status,t.goodsId
|
FROM (
|
SELECT
|
o.id,
|
o.code,
|
JSON_UNQUOTE(JSON_EXTRACT(o.big_gift_package, '$.id')) AS goodsId,
|
JSON_UNQUOTE(JSON_EXTRACT(o.big_gift_package, '$.name')) AS goodsName,
|
JSON_UNQUOTE(JSON_EXTRACT(o.big_gift_package, '$.introduction')) AS goodsIntro,
|
JSON_UNQUOTE(JSON_EXTRACT(o.big_gift_package, '$.coverImage')) AS goodsCover,
|
JSON_UNQUOTE(JSON_EXTRACT(o.big_gift_package, '$.totalPrice')) AS goodsPrice,
|
o.create_time AS createTime,
|
1 AS orderType,
|
o.status
|
FROM t_big_gift_package_order o
|
WHERE o.del_flag = 0 AND o.app_user_id = #{appUserId}
|
AND o.status != 6
|
AND NOT (o.status = 1 AND o.create_time < DATE_SUB(NOW(), INTERVAL 1 HOUR))
|
|
UNION ALL
|
|
SELECT
|
o.id,
|
o.code,
|
JSON_UNQUOTE(JSON_EXTRACT(o.physical_goods, '$.id')) AS goodsId,
|
JSON_UNQUOTE(JSON_EXTRACT(o.physical_goods, '$.name')) AS goodsName,
|
JSON_UNQUOTE(JSON_EXTRACT(o.physical_goods, '$.introduction')) AS goodsIntro,
|
JSON_UNQUOTE(JSON_EXTRACT(o.physical_goods, '$.coverImage')) AS goodsCover,
|
JSON_UNQUOTE(JSON_EXTRACT(o.physical_goods, '$.totalPrice')) AS goodsPrice,
|
o.create_time AS createTime,
|
2 AS orderType,
|
CASE WHEN o.status = 2 THEN 3 ELSE o.status END AS status
|
FROM t_physical_goods_order o
|
WHERE o.del_flag = 0 AND o.app_user_id = #{appUserId}
|
AND o.status != 5
|
AND NOT (o.status = 1 AND o.create_time < DATE_SUB(NOW(), INTERVAL 1 HOUR))
|
) t
|
<where>
|
<if test="query.status != null">
|
<choose>
|
<when test="query.status == 3">
|
AND (t.status = 3 OR (t.orderType = 1 AND t.status = 4))
|
</when>
|
<otherwise>
|
AND t.status = #{query.status}
|
</otherwise>
|
</choose>
|
</if>
|
</where>
|
ORDER BY t.createTime DESC
|
</select>
|
|
</mapper>
|