订单详情
This commit is contained in:
parent
a91389ca99
commit
8e95d1b390
@ -31,7 +31,7 @@ public interface OrderMapper {
|
|||||||
*/
|
*/
|
||||||
int addOrderItems(List<OrderItemEntity> orderItems);
|
int addOrderItems(List<OrderItemEntity> orderItems);
|
||||||
|
|
||||||
int getOrderCount(OrderReqQuery query);
|
int countByUserId(Long userId);
|
||||||
|
|
||||||
List<OrderAppRespVO> appList(OrderAppPageReq orderReqQuery);
|
List<OrderAppRespVO> appList(OrderAppPageReq orderReqQuery);
|
||||||
|
|
||||||
|
@ -77,21 +77,14 @@ public class OrderAppRespVO {
|
|||||||
@ApiModelProperty("订单退款时间")
|
@ApiModelProperty("订单退款时间")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date refundAt;
|
private Date refundAt;
|
||||||
|
private Long scenicId;
|
||||||
@ApiModelProperty("景区名称")
|
@ApiModelProperty("景区名称")
|
||||||
private String scenicName;
|
private String scenicName;
|
||||||
@ApiModelProperty("商品名称")
|
|
||||||
private String goodsName;
|
|
||||||
@ApiModelProperty("拍摄时间")
|
|
||||||
private Date shootingTime;
|
|
||||||
/**
|
/**
|
||||||
* 商品类型,0其他,1成片,2原片,3模板成片
|
* 商品类型,0其他,1成片,2原片,3模板成片
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty("商品类型,1成片,2源素材")
|
@ApiModelProperty("商品类型,0成片,12源素材")
|
||||||
private Integer goodsType;
|
private Integer goodsType;
|
||||||
@ApiModelProperty("封面图片(来自模版封面图片)")
|
|
||||||
private String coverUrl;
|
|
||||||
@ApiModelProperty("原素材类型:1视频,2图像")
|
|
||||||
private Integer sourceType;
|
|
||||||
@ApiModelProperty("订单明细")
|
@ApiModelProperty("订单明细")
|
||||||
private List<OrderItemVO> orderItemList;
|
private List<OrderItemVO> orderItemList;
|
||||||
}
|
}
|
||||||
|
@ -38,8 +38,10 @@ public class OrderItemVO {
|
|||||||
private String videoUrl;
|
private String videoUrl;
|
||||||
@ApiModelProperty("图片存储地址")
|
@ApiModelProperty("图片存储地址")
|
||||||
private String imgUrl;
|
private String imgUrl;
|
||||||
|
private String coverUrl;
|
||||||
@ApiModelProperty("原素材类型:1视频,2图像")
|
@ApiModelProperty("原素材类型:1视频,2图像")
|
||||||
private Integer sourceType;
|
private Integer sourceType;
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
private Date shootingTime;
|
||||||
}
|
}
|
||||||
|
@ -261,24 +261,13 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResponse<Integer> getOrderCountByUserId(Long userId) {
|
public ApiResponse<Integer> getOrderCountByUserId(Long userId) {
|
||||||
OrderReqQuery query = new OrderReqQuery();
|
return ApiResponse.success(orderMapper.countByUserId(userId));
|
||||||
query.setMemberId(userId);
|
|
||||||
return ApiResponse.success(orderMapper.getOrderCount(query));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResponse<PageInfo<OrderAppRespVO>> appPageQuery(OrderAppPageReq orderReqQuery) {
|
public ApiResponse<PageInfo<OrderAppRespVO>> appPageQuery(OrderAppPageReq orderReqQuery) {
|
||||||
PageHelper.startPage(orderReqQuery.getPageNum(), orderReqQuery.getPageSize());
|
PageHelper.startPage(orderReqQuery.getPageNum(), orderReqQuery.getPageSize());
|
||||||
List<OrderAppRespVO> list = orderMapper.appList(orderReqQuery);
|
List<OrderAppRespVO> list = orderMapper.appList(orderReqQuery);
|
||||||
for (OrderAppRespVO appRespVO : list) {
|
|
||||||
List<OrderItemVO> orderItemList = appRespVO.getOrderItemList();
|
|
||||||
if (orderItemList != null && !orderItemList.isEmpty()) {
|
|
||||||
OrderItemVO itemVO = orderItemList.get(NumberConstant.ZERO);
|
|
||||||
appRespVO.setScenicName(itemVO.getScenicName());
|
|
||||||
appRespVO.setGoodsName(itemVO.getGoodsName());
|
|
||||||
appRespVO.setSourceType(itemVO.getSourceType());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
PageInfo<OrderAppRespVO> pageInfo = new PageInfo<>(list);
|
PageInfo<OrderAppRespVO> pageInfo = new PageInfo<>(list);
|
||||||
return ApiResponse.success(pageInfo);
|
return ApiResponse.success(pageInfo);
|
||||||
}
|
}
|
||||||
@ -286,13 +275,6 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
@Override
|
@Override
|
||||||
public ApiResponse<OrderAppRespVO> appDetail(Long id) {
|
public ApiResponse<OrderAppRespVO> appDetail(Long id) {
|
||||||
OrderAppRespVO orderAppRespVO = orderMapper.appDetail(id);
|
OrderAppRespVO orderAppRespVO = orderMapper.appDetail(id);
|
||||||
List<OrderItemVO> orderItemList = orderAppRespVO.getOrderItemList();
|
|
||||||
if (orderItemList != null && !orderItemList.isEmpty()) {
|
|
||||||
OrderItemVO itemVO = orderItemList.get(NumberConstant.ZERO);
|
|
||||||
orderAppRespVO.setScenicName(itemVO.getScenicName());
|
|
||||||
orderAppRespVO.setGoodsName(itemVO.getGoodsName());
|
|
||||||
orderAppRespVO.setSourceType(itemVO.getSourceType());
|
|
||||||
}
|
|
||||||
return ApiResponse.success(orderAppRespVO);
|
return ApiResponse.success(orderAppRespVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,38 +49,67 @@
|
|||||||
<result column="cancel_at" property="cancelAt"/>
|
<result column="cancel_at" property="cancelAt"/>
|
||||||
<result column="create_at" property="createAt"/>
|
<result column="create_at" property="createAt"/>
|
||||||
<result column="update_at" property="updateAt"/>
|
<result column="update_at" property="updateAt"/>
|
||||||
<result column="coverUrl" property="coverUrl"/>
|
<result column="scenic_id" property="scenicId"/>
|
||||||
<result column="shootingTime" property="shootingTime"/>
|
<result column="scenicName" property="scenicName"/>
|
||||||
<collection property="orderItemList" select="getOrderItemList" column="id" ofType="com.ycwl.basic.model.pc.order.resp.OrderItemVO">
|
<collection property="orderItemList" select="getOrderItemList" column="id" ofType="com.ycwl.basic.model.pc.order.resp.OrderItemVO">
|
||||||
<result column="oiId" property="id"/>
|
<result column="oiId" property="id"/>
|
||||||
<result column="orderId" property="orderId"/>
|
<result column="orderId" property="orderId"/>
|
||||||
<result column="goods_id" property="goodsId"/>
|
<result column="goods_id" property="goodsId"/>
|
||||||
<result column="face_id" property="faceId"/>
|
<result column="face_id" property="faceId"/>
|
||||||
<result column="scenicName" property="scenicName"/>
|
<result column="scenic_name" property="scenicName"/>
|
||||||
<result column="goodsName" property="goodsName"/>
|
<result column="goods_name" property="goodsName"/>
|
||||||
<result column="videoUrl" property="videoUrl"/>
|
<result column="videoUrl" property="videoUrl"/>
|
||||||
|
<result column="coverUrl" property="coverUrl"/>
|
||||||
<result column="imgUrl" property="imgUrl"/>
|
<result column="imgUrl" property="imgUrl"/>
|
||||||
<result column="sourceType" property="sourceType"/>
|
|
||||||
</collection>
|
</collection>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
<select id="getOrderItemList" parameterType="java.lang.Long" resultType="com.ycwl.basic.model.pc.order.resp.OrderItemVO">
|
<select id="getOrderItemList" parameterType="java.lang.Long" resultType="com.ycwl.basic.model.pc.order.resp.OrderItemVO">
|
||||||
select oi.id oiId,oi.order_id orderId,oi.goods_id,
|
WITH member_video_data AS (
|
||||||
sc.name scenicName,t.cover_url coverUrl,
|
SELECT mv.member_id, mv.video_id, t.cover_url, t.name, mv.face_id, v.video_url
|
||||||
if(oi.goods_type='1',t.name,(select count(1) from order_item oi2 where oi2.order_id=oi.order_id)) as goodsName,
|
FROM member_video mv
|
||||||
if(oi.goods_type='1',
|
LEFT JOIN template t ON mv.template_id = t.id
|
||||||
(select task.face_id from task where task.id = vd.task_id),
|
LEFT JOIN video v ON mv.video_id = v.id
|
||||||
(select id face_id from face where FIND_IN_SET(sr.face_sample_id, face.match_sample_ids) > 0 limit 1)
|
),
|
||||||
) as face_id,
|
member_source_data AS (
|
||||||
if(oi.goods_type='1',vd.video_url,sr.video_url) videoUrl,
|
SELECT ms.member_id, ms.source_id, ms.face_id, s.video_url, s.url
|
||||||
if(oi.goods_type='2',sr.url,null) imgUrl,
|
FROM member_source ms
|
||||||
if(oi.goods_type='2',sr.type,null) sourceType,
|
LEFT JOIN source s ON ms.source_id = s.id
|
||||||
if(oi.goods_type='1',vd.create_time,sr.create_time) createTime
|
)
|
||||||
from order_item oi
|
SELECT
|
||||||
left join source sr on oi.goods_type='2' and oi.goods_id = sr.id
|
oi.id AS oiId,
|
||||||
left join video vd on oi.goods_type='1' and oi.goods_id = vd.id
|
oi.order_id AS orderId,
|
||||||
left join template t on oi.goods_type='1' and vd.template_id=t.id
|
oi.goods_id,
|
||||||
left join scenic sc on (oi.goods_type='1' and vd.scenic_id=sc.id) or (oi.goods_type='2' and sr.scenic_id=sc.id)
|
sc.id AS scenic_id,
|
||||||
where oi.order_id=#{id}
|
sc.name AS scenic_name,
|
||||||
|
CASE oi.goods_type
|
||||||
|
WHEN '0' THEN mvd.cover_url
|
||||||
|
END AS coverUrl,
|
||||||
|
oi.goods_type,
|
||||||
|
CASE oi.goods_type
|
||||||
|
WHEN '0' THEN mvd.name
|
||||||
|
WHEN '1' THEN '原片'
|
||||||
|
WHEN '2' THEN '照片'
|
||||||
|
ELSE '其他'
|
||||||
|
END AS goods_name,
|
||||||
|
CASE oi.goods_type
|
||||||
|
WHEN '0' THEN mvd.face_id
|
||||||
|
WHEN '1' THEN msd.face_id
|
||||||
|
WHEN '2' THEN msd.face_id
|
||||||
|
END AS face_id,
|
||||||
|
CASE oi.goods_type
|
||||||
|
WHEN '0' THEN mvd.video_url
|
||||||
|
WHEN '1' THEN msd.video_url
|
||||||
|
END AS videoUrl,
|
||||||
|
CASE oi.goods_type
|
||||||
|
WHEN '1' THEN msd.url
|
||||||
|
WHEN '2' THEN msd.url
|
||||||
|
END AS imgUrl
|
||||||
|
FROM order_item oi
|
||||||
|
LEFT JOIN `order` o ON oi.order_id = o.id
|
||||||
|
LEFT JOIN scenic sc ON o.scenic_id = sc.id
|
||||||
|
LEFT JOIN member_video_data mvd ON o.member_id = mvd.member_id AND oi.goods_id = mvd.video_id
|
||||||
|
LEFT JOIN member_source_data msd ON o.member_id = msd.member_id AND oi.goods_id = msd.source_id
|
||||||
|
WHERE oi.order_id = #{id};
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="add">
|
<insert id="add">
|
||||||
@ -211,113 +240,34 @@
|
|||||||
left join scenic s on o.scenic_id = s.id
|
left join scenic s on o.scenic_id = s.id
|
||||||
where o.id = #{id}
|
where o.id = #{id}
|
||||||
</select>
|
</select>
|
||||||
<select id="getOrderCount" resultType="java.lang.Integer">
|
<select id="countByUserId" resultType="java.lang.Integer">
|
||||||
select count(1) num
|
select count(1) num
|
||||||
from `order` o
|
from `order` o
|
||||||
left join member m on o.member_id = m.id
|
where o.member_id = #{userId}
|
||||||
<where>
|
|
||||||
<if test="id!= null ">
|
|
||||||
and o.id = #{id}
|
|
||||||
</if>
|
|
||||||
<if test="memberId!= null ">
|
|
||||||
and o.member_id = #{memberId}
|
|
||||||
</if>
|
|
||||||
<if test="memberNickname!= null and memberNickname!=''">
|
|
||||||
and m.nickname like concat('%',#{memberNickname},'%')
|
|
||||||
</if>
|
|
||||||
<if test="memberRealName!= null and memberRealName!=''">
|
|
||||||
and m.real_name like concat('%',#{memberRealName},'%')
|
|
||||||
</if>
|
|
||||||
<if test="price!= null ">
|
|
||||||
and o.price = #{price}
|
|
||||||
</if>
|
|
||||||
<if test="payPrice!= null ">
|
|
||||||
and pay_price = #{payPrice}
|
|
||||||
</if>
|
|
||||||
<if test="remark!= null and remark!= ''">
|
|
||||||
and remark like concat('%',#{remark},'%')
|
|
||||||
</if>
|
|
||||||
<if test="brokerId!= null ">
|
|
||||||
and o.broker_id = #{brokerId}
|
|
||||||
</if>
|
|
||||||
<if test="promoCode!= null and promoCode!= ''">
|
|
||||||
and o.promo_code like concat('%',#{promoCode},'%')
|
|
||||||
</if>
|
|
||||||
<if test="refundReason!= null and refundReason!= ''">
|
|
||||||
and refund_reason like concat('%',#{refundReason},'%')
|
|
||||||
</if>
|
|
||||||
<if test="refundStatus!= null ">
|
|
||||||
and refund_status = #{refundStatus}
|
|
||||||
</if>
|
|
||||||
<if test="status!= null ">
|
|
||||||
and o.`status` = #{status}
|
|
||||||
</if>
|
|
||||||
<if test="startCreateTime!= null ">
|
|
||||||
and o.create_at >= #{startCreateTime}
|
|
||||||
</if>
|
|
||||||
<if test="endCreateTime!= null ">
|
|
||||||
and o.create_at <= #{endCreateTime}
|
|
||||||
</if>
|
|
||||||
<if test="startPayTime!= null ">
|
|
||||||
and pay_at >= #{startPayTime}
|
|
||||||
</if>
|
|
||||||
<if test="endPayTime!= null ">
|
|
||||||
and pay_at <= #{endPayTime}
|
|
||||||
</if>
|
|
||||||
<if test="startRefundTime!= null ">
|
|
||||||
and refund_at >= #{startRefundTime}
|
|
||||||
</if>
|
|
||||||
<if test="endRefundTime!= null ">
|
|
||||||
and refund_at <= #{endRefundTime}
|
|
||||||
</if>
|
|
||||||
<if test="startCancelTime!= null ">
|
|
||||||
and cancel_at >= #{startCancelTime}
|
|
||||||
</if>
|
|
||||||
<if test="endCancelTime!= null ">
|
|
||||||
and cancel_at <= #{endCancelTime}
|
|
||||||
</if>
|
|
||||||
</where>
|
|
||||||
</select>
|
</select>
|
||||||
<select id="appList" resultMap="AppBaseResultMap">
|
<select id="appList" resultMap="AppBaseResultMap">
|
||||||
select DISTINCT o.id, o.member_id,m.nickname ,m.real_name , o.openid, o.price, pay_price, remark, o.broker_id, o.promo_code,
|
select DISTINCT o.id, o.member_id,o.openid, o.price, pay_price, remark, o.broker_id, o.promo_code,
|
||||||
refund_reason, refund_status, o.`status`, o.create_at, refund_at, pay_at, cancel_at, o.goods_type, vd.create_time shootingTime,
|
refund_reason, refund_status, o.`status`, o.create_at, refund_at, pay_at, cancel_at, o.goods_type,
|
||||||
t.cover_url coverUrl
|
sc.name scenicName
|
||||||
from `order` AS o
|
from `order` AS o
|
||||||
left join member m on o.member_id = m.id
|
left join scenic sc on o.scenic_id = sc.id
|
||||||
left join order_item oi on o.id = oi.order_id
|
|
||||||
left join source sr on o.goods_type='2' and oi.goods_id = sr.id
|
|
||||||
left join video vd on o.goods_type='1' and oi.goods_id = vd.id
|
|
||||||
left join template t on o.goods_type='1' and vd.template_id=t.id
|
|
||||||
|
|
||||||
<where>
|
<where>
|
||||||
<if test="memberId!=null">
|
<if test="memberId!=null">
|
||||||
and o.member_id=#{memberId}
|
and o.member_id=#{memberId}
|
||||||
</if>
|
</if>
|
||||||
<if test="type!= null ">
|
<if test="type!= null ">
|
||||||
<if test="type== 0 ">
|
and o.goods_type = #{type}
|
||||||
and o.goods_type = 1
|
|
||||||
</if>
|
|
||||||
<if test="type== 1 ">
|
|
||||||
and o.goods_type = 2 and sr.type = 1
|
|
||||||
</if>
|
|
||||||
<if test="type== 2 ">
|
|
||||||
and o.goods_type = 2 and sr.type = 2
|
|
||||||
</if>
|
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
order by o.create_at desc
|
order by o.create_at desc
|
||||||
</select>
|
</select>
|
||||||
<select id="appDetail" resultMap="AppBaseResultMap">
|
<select id="appDetail" resultMap="AppBaseResultMap">
|
||||||
select distinct o.id, o.member_id,m.nickname ,m.real_name , o.openid, o.price, pay_price, remark, o.broker_id, o.promo_code,
|
select distinct o.id, o.member_id,o.openid, o.price, pay_price, remark, o.broker_id, o.promo_code,
|
||||||
refund_reason, refund_status, o.`status`, refund_at, pay_at, cancel_at,o.goods_type, o.create_at, o.scenic_id
|
refund_reason, refund_status, o.`status`, o.create_at, refund_at, pay_at, cancel_at, o.goods_type,
|
||||||
,t.cover_url coverUrl
|
o.scenic_id, sc.name scenicName
|
||||||
from `order` AS o
|
from `order` AS o
|
||||||
left join member m on o.member_id = m.id
|
left join member m on o.member_id = m.id
|
||||||
left join order_item oi on o.id = oi.order_id
|
left join scenic sc on o.scenic_id = sc.id
|
||||||
left join source sr on o.goods_type='2' and oi.goods_id = sr.id
|
|
||||||
left join video vd on o.goods_type='1' and oi.goods_id = vd.id
|
|
||||||
left join template t on o.goods_type='1' and vd.template_id=t.id
|
|
||||||
left join scenic sc on (o.goods_type='1' and vd.scenic_id=sc.id) or (o.goods_type='2' and sr.scenic_id=sc.id)
|
|
||||||
where o.id = #{id}
|
where o.id = #{id}
|
||||||
</select>
|
</select>
|
||||||
<select id="refundList" resultType="com.ycwl.basic.model.pc.order.resp.OrderRespVO">
|
<select id="refundList" resultType="com.ycwl.basic.model.pc.order.resp.OrderRespVO">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user