订单改改改
This commit is contained in:
parent
3b65094c2d
commit
294f9b6690
@ -30,14 +30,14 @@ public class OrderBiz {
|
||||
|
||||
public PriceObj queryPrice(int goodsType, Long goodsId) {
|
||||
PriceObj priceObj = new PriceObj();
|
||||
priceObj.setGoodsType(goodsType);
|
||||
priceObj.setGoodsId(goodsId);
|
||||
switch (goodsType) {
|
||||
case 0: // video
|
||||
VideoRespVO video = videoMapper.getById(goodsId);
|
||||
if (video == null) {
|
||||
return null;
|
||||
}
|
||||
priceObj.setGoodsId(goodsId);
|
||||
priceObj.setGoodsType(goodsType);
|
||||
TemplateRespVO template = templateRepository.getTemplate(video.getTemplateId());
|
||||
if (template == null) {
|
||||
return priceObj;
|
||||
@ -85,6 +85,8 @@ public class OrderBiz {
|
||||
if (priceObj == null) {
|
||||
return respVO;
|
||||
}
|
||||
respVO.setGoodsType(goodsType);
|
||||
respVO.setGoodsId(goodsId);
|
||||
respVO.setPrice(priceObj.getPrice());
|
||||
respVO.setSlashPrice(priceObj.getSlashPrice());
|
||||
}
|
||||
|
@ -3,10 +3,12 @@ package com.ycwl.basic.controller.mobile;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.biz.OrderBiz;
|
||||
import com.ycwl.basic.constant.BaseContextHandler;
|
||||
import com.ycwl.basic.model.jwt.JwtInfo;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq;
|
||||
import com.ycwl.basic.model.mobile.order.IsBuyRespVO;
|
||||
import com.ycwl.basic.model.mobile.order.OrderAppPageReq;
|
||||
import com.ycwl.basic.model.mobile.order.RefundOrderReq;
|
||||
import com.ycwl.basic.model.pc.order.req.CreateOrderReqVO;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderAddReq;
|
||||
import com.ycwl.basic.model.pc.order.resp.OrderAppRespVO;
|
||||
import com.ycwl.basic.model.wx.WxPayRespVO;
|
||||
@ -14,6 +16,7 @@ import com.ycwl.basic.repository.OrderRepository;
|
||||
import com.ycwl.basic.service.mobile.GoodsService;
|
||||
import com.ycwl.basic.service.pc.OrderService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import com.ycwl.basic.utils.JwtTokenUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -51,8 +54,9 @@ public class AppOrderController {
|
||||
|
||||
@ApiOperation("用户端订单新增")
|
||||
@PostMapping("/addOrder")
|
||||
public ApiResponse<WxPayRespVO> addOrder(@RequestBody OrderAddReq orderAddReq) throws Exception {
|
||||
return orderService.add(orderAddReq);
|
||||
public ApiResponse<WxPayRespVO> addOrder(@RequestBody CreateOrderReqVO orderAddReq) throws Exception {
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
return orderService.createOrder(worker.getUserId(), orderAddReq);
|
||||
}
|
||||
|
||||
|
||||
|
@ -21,7 +21,7 @@ import java.util.List;
|
||||
public interface OrderMapper {
|
||||
List<OrderRespVO> list(OrderReqQuery orderReqQuery);
|
||||
OrderRespVO getById(Long id);
|
||||
int add(OrderAddReq order);
|
||||
int add(OrderEntity order);
|
||||
// int deleteById(Long id);
|
||||
int update(OrderUpdateReq order);
|
||||
|
||||
|
@ -16,6 +16,7 @@ import java.util.Date;
|
||||
public class OrderEntity {
|
||||
@TableId
|
||||
private Long id;
|
||||
private Long scenicId;
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
|
@ -0,0 +1,12 @@
|
||||
package com.ycwl.basic.model.pc.order.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CreateOrderReqVO {
|
||||
private Long scenicId;
|
||||
private Integer goodsType;
|
||||
private Long goodsId;
|
||||
private String brokerCode;
|
||||
private Long couponId;
|
||||
}
|
@ -18,6 +18,7 @@ import java.io.Serializable;
|
||||
public class WxPayRespVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
private boolean needPay = true;
|
||||
/**
|
||||
* 预支付交易会话标识小程序下单接口返回的prepay_id参数值
|
||||
*/
|
||||
|
@ -6,7 +6,6 @@ import com.aliyuncs.utils.StringUtils;
|
||||
import com.wechat.pay.java.core.Config;
|
||||
import com.wechat.pay.java.core.RSAAutoCertificateConfig;
|
||||
import com.wechat.pay.java.core.exception.ServiceException;
|
||||
import com.wechat.pay.java.core.http.HttpMethod;
|
||||
import com.wechat.pay.java.core.notification.NotificationConfig;
|
||||
import com.wechat.pay.java.core.notification.NotificationParser;
|
||||
import com.wechat.pay.java.core.notification.RequestParam;
|
||||
@ -46,7 +45,6 @@ import com.ycwl.basic.service.HttpService;
|
||||
import com.ycwl.basic.service.mobile.WxPayService;
|
||||
import com.ycwl.basic.service.pc.OrderService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import com.ycwl.basic.utils.DateUtils;
|
||||
import com.ycwl.basic.utils.SnowFlakeUtil;
|
||||
import com.ycwl.basic.utils.WXPayUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -204,8 +202,18 @@ public class WxPayServiceImpl implements WxPayService {
|
||||
}
|
||||
if (Objects.nonNull(OrderStateEnum)) {
|
||||
long orderId = Long.parseLong(parse.getOutTradeNo());
|
||||
notifyOrderSuccess(orderId);
|
||||
}
|
||||
}).start();
|
||||
} catch (Exception e) {
|
||||
throw new AppException(BizCodeEnum.ADVANCE_PAYMENT_CALLBACK_FAILED, e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void notifyOrderSuccess(Long orderId) {
|
||||
try {
|
||||
orderService.updateOrderState(orderId, OrderStateEnum, null);
|
||||
orderService.updateOrderState(orderId, OrderStateEnum.PAID, null);
|
||||
// 添加统计数据
|
||||
statisticsHandler(orderId);
|
||||
}catch (Exception e) {
|
||||
@ -239,12 +247,6 @@ public class WxPayServiceImpl implements WxPayService {
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}).start();
|
||||
} catch (Exception e) {
|
||||
throw new AppException(BizCodeEnum.ADVANCE_PAYMENT_CALLBACK_FAILED, e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -2,6 +2,7 @@ package com.ycwl.basic.service.impl.pc;
|
||||
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.biz.OrderBiz;
|
||||
import com.ycwl.basic.constant.BaseContextHandler;
|
||||
import com.ycwl.basic.constant.NumberConstant;
|
||||
import com.ycwl.basic.enums.*;
|
||||
@ -11,11 +12,13 @@ import com.ycwl.basic.model.jwt.JwtInfo;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsDetailVO;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq;
|
||||
import com.ycwl.basic.model.mobile.order.OrderAppPageReq;
|
||||
import com.ycwl.basic.model.mobile.order.PriceObj;
|
||||
import com.ycwl.basic.model.mobile.order.RefundOrderReq;
|
||||
import com.ycwl.basic.model.mobile.statistic.req.StatisticsRecordAddReq;
|
||||
import com.ycwl.basic.model.pc.member.resp.MemberRespVO;
|
||||
import com.ycwl.basic.model.pc.order.entity.OrderEntity;
|
||||
import com.ycwl.basic.model.pc.order.entity.OrderItemEntity;
|
||||
import com.ycwl.basic.model.pc.order.req.CreateOrderReqVO;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderUpdateReq;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderAddReq;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderReqQuery;
|
||||
@ -70,6 +73,8 @@ public class OrderServiceImpl implements OrderService {
|
||||
private OrderOperationMapper orderOperationMapper;
|
||||
@Autowired
|
||||
private StatisticsMapper statisticsMapper;
|
||||
@Autowired
|
||||
private OrderBiz orderBiz;
|
||||
|
||||
@Override
|
||||
public ApiResponse<PageInfo<OrderRespVO>> pageQuery(OrderReqQuery query) {
|
||||
@ -89,92 +94,39 @@ public class OrderServiceImpl implements OrderService {
|
||||
return ApiResponse.success(orderMapper.getById(orderId));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ApiResponse<WxPayRespVO> add(OrderAddReq order) throws Exception {
|
||||
Long orderId = SnowFlakeUtil.getLongId();
|
||||
order.setId(orderId);
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
Long userId = worker.getUserId();
|
||||
MemberRespVO memberRespVO = memberMapper.getById(userId);
|
||||
order.setMemberId(userId);
|
||||
order.setOpenid(memberRespVO.getOpenId());
|
||||
|
||||
/* 成片的时候子订单只会有一个,素材的时候 子订单多个且价格与子订单数量无关,只与子订单商品对应景区定义的价格相同*/
|
||||
List<GoodsDetailVO> goodsItemList = order.getGoodsItemList();
|
||||
GoodsDetailVO goodsDetailVO = goodsItemList.get(NumberConstant.ZERO);
|
||||
if (order.getGoodsType() == null) {
|
||||
order.setGoodsType(goodsDetailVO.getGoodsType());
|
||||
}
|
||||
GoodsPriceQueryReq goodsPriceQueryReq = new GoodsPriceQueryReq();
|
||||
goodsPriceQueryReq.setGoodsId(goodsDetailVO.getGoodsId());
|
||||
goodsPriceQueryReq.setGoodsType(order.getGoodsType());
|
||||
goodsPriceQueryReq.setScenicId(order.getScenicId());
|
||||
BigDecimal price = goodsService.queryPrice(goodsPriceQueryReq).getData();
|
||||
order.setPrice(price);
|
||||
order.setPayPrice(price);
|
||||
|
||||
int add = orderMapper.add(order);
|
||||
if (add == NumberConstant.ZERO) {
|
||||
return ApiResponse.fail("订单添加失败");
|
||||
} else {
|
||||
Integer goodsType = order.getGoodsType();
|
||||
List<OrderItemEntity> orderItems = new ArrayList<>();
|
||||
goodsItemList.forEach(goodsDto -> {
|
||||
Long goodsId = goodsDto.getGoodsId();
|
||||
OrderItemEntity orderItemEntity = new OrderItemEntity();
|
||||
orderItemEntity.setId(SnowFlakeUtil.getLongId());
|
||||
orderItemEntity.setOrderId(orderId);
|
||||
orderItemEntity.setGoodsType(goodsType);
|
||||
orderItemEntity.setGoodsId(goodsId);
|
||||
orderItems.add(orderItemEntity);
|
||||
});
|
||||
int addOrderItems = orderMapper.addOrderItems(orderItems);
|
||||
if (addOrderItems == NumberConstant.ZERO) {
|
||||
log.error("订单明细添加失败");
|
||||
return ApiResponse.fail("订单添加失败");
|
||||
}
|
||||
//点击支付按钮统计
|
||||
OrderRespVO orderRespVO = orderMapper.getById(orderId);
|
||||
StatisticsRecordAddReq statisticsRecordAddReq = new StatisticsRecordAddReq();
|
||||
statisticsRecordAddReq.setMemberId(orderRespVO.getMemberId());
|
||||
statisticsRecordAddReq.setType(StatisticEnum.CLICK_ON_PAYMENT.code);
|
||||
statisticsRecordAddReq.setScenicId(orderRespVO.getScenicId());
|
||||
statisticsRecordAddReq.setMorphId(orderId);
|
||||
statisticsMapper.addStatisticsRecord(statisticsRecordAddReq);
|
||||
|
||||
|
||||
WxPayRespVO wxPayRespVO = initiatePayment(order, goodsDetailVO);
|
||||
return ApiResponse.success(wxPayRespVO);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 发起支付
|
||||
* @param order 订单
|
||||
* @param goodsDetailVO 商品详情
|
||||
* @param orderItems 商品详情
|
||||
* @return 支付请求结果
|
||||
*/
|
||||
private WxPayRespVO initiatePayment(OrderAddReq order,GoodsDetailVO goodsDetailVO) throws Exception {
|
||||
private WxPayRespVO initiatePayment(OrderEntity order, List<OrderItemEntity> orderItems) throws Exception {
|
||||
WXPayOrderReqVO wxPayOrderReqVO = new WXPayOrderReqVO();
|
||||
Integer goodsType = order.getGoodsType();
|
||||
|
||||
String goodsName = null;
|
||||
if (goodsType == NumberConstant.ONE) {
|
||||
goodsName = goodsDetailVO.getGoodsName();
|
||||
} else if (goodsType == NumberConstant.TWO) {
|
||||
Integer sourceType = goodsDetailVO.getSourceType();
|
||||
goodsName = SourceTypeNameEnum.getRemark(sourceType);
|
||||
if (orderItems.size() > 1) {
|
||||
goodsName = "多项景区VLOG商品";
|
||||
} else {
|
||||
int type = orderItems.get(NumberConstant.ZERO).getGoodsType();
|
||||
if (type == NumberConstant.ZERO) {
|
||||
goodsName = "景区VLog视频";
|
||||
} else if (type == NumberConstant.ONE) {
|
||||
goodsName = "景区原片包";
|
||||
} else if (type == NumberConstant.TWO) {
|
||||
goodsName = "景区照片包";
|
||||
}
|
||||
|
||||
wxPayOrderReqVO.setOpenId(order.getOpenid())
|
||||
}
|
||||
if (order.getPayPrice().equals(BigDecimal.ZERO)) {
|
||||
// 0元支付
|
||||
WxPayRespVO wxPayRespVO = new WxPayRespVO();
|
||||
wxPayRespVO.setNeedPay(false);
|
||||
return wxPayRespVO;
|
||||
}
|
||||
wxPayOrderReqVO.setOpenId(order.getOpenId())
|
||||
.setMemberId(order.getMemberId())
|
||||
.setOrderSn(order.getId())
|
||||
.setTotalPrice(BigDecimalUtil.convertToCents(order.getPrice()))
|
||||
.setGoodsName(goodsName)
|
||||
.setDescription("VLOG视频支付");
|
||||
.setDescription(goodsName);
|
||||
|
||||
return wxPayService.createOrder(wxPayOrderReqVO);
|
||||
}
|
||||
@ -319,4 +271,46 @@ public class OrderServiceImpl implements OrderService {
|
||||
return ApiResponse.success(pageInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ApiResponse<WxPayRespVO> createOrder(Long userId, CreateOrderReqVO createOrderReqVO) throws Exception {
|
||||
OrderEntity order = new OrderEntity();
|
||||
Long orderId = SnowFlakeUtil.getLongId();
|
||||
order.setId(orderId);
|
||||
order.setMemberId(userId);
|
||||
MemberRespVO member = memberMapper.getById(userId);
|
||||
order.setOpenId(member.getOpenId());
|
||||
order.setScenicId(createOrderReqVO.getScenicId());
|
||||
List<OrderItemEntity> orderItems = new ArrayList<>();
|
||||
OrderItemEntity orderItem = new OrderItemEntity();
|
||||
orderItem.setGoodsId(createOrderReqVO.getGoodsId());
|
||||
orderItem.setGoodsType(createOrderReqVO.getGoodsType());
|
||||
orderItem.setOrderId(orderId);
|
||||
orderItems.add(orderItem);
|
||||
PriceObj priceObj = orderBiz.queryPrice(createOrderReqVO.getGoodsType(), createOrderReqVO.getGoodsId());
|
||||
order.setPrice(priceObj.getPrice());
|
||||
// promo code
|
||||
// coupon
|
||||
order.setPayPrice(priceObj.getPrice());
|
||||
order.setStatus(OrderStateEnum.UNPAID.getState());
|
||||
orderMapper.add(order);
|
||||
int addOrderItems = orderMapper.addOrderItems(orderItems);
|
||||
if (addOrderItems == NumberConstant.ZERO) {
|
||||
log.error("订单明细添加失败");
|
||||
return ApiResponse.fail("订单添加失败");
|
||||
}
|
||||
//点击支付按钮统计
|
||||
OrderRespVO orderRespVO = orderMapper.getById(orderId);
|
||||
StatisticsRecordAddReq statisticsRecordAddReq = new StatisticsRecordAddReq();
|
||||
statisticsRecordAddReq.setMemberId(orderRespVO.getMemberId());
|
||||
statisticsRecordAddReq.setType(StatisticEnum.CLICK_ON_PAYMENT.code);
|
||||
statisticsRecordAddReq.setScenicId(orderRespVO.getScenicId());
|
||||
statisticsRecordAddReq.setMorphId(orderId);
|
||||
statisticsMapper.addStatisticsRecord(statisticsRecordAddReq);
|
||||
|
||||
|
||||
WxPayRespVO wxPayRespVO = initiatePayment(order, orderItems);
|
||||
return ApiResponse.success(wxPayRespVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -20,6 +20,8 @@ public interface WxPayService {
|
||||
*/
|
||||
void payNotify(HttpServletRequest xml);
|
||||
|
||||
void notifyOrderSuccess(Long orderId);
|
||||
|
||||
/**
|
||||
* 微信支付结果查询
|
||||
*/
|
||||
|
@ -5,6 +5,7 @@ import com.ycwl.basic.enums.OrderStateEnum;
|
||||
import com.ycwl.basic.model.mobile.order.OrderAppPageReq;
|
||||
import com.ycwl.basic.model.mobile.order.RefundOrderReq;
|
||||
import com.ycwl.basic.model.pc.order.entity.OrderEntity;
|
||||
import com.ycwl.basic.model.pc.order.req.CreateOrderReqVO;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderUpdateReq;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderAddReq;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderReqQuery;
|
||||
@ -26,7 +27,7 @@ public interface OrderService {
|
||||
|
||||
ApiResponse<OrderRespVO> detail(Long orderId);
|
||||
|
||||
ApiResponse<WxPayRespVO> add(OrderAddReq query) throws Exception;
|
||||
// ApiResponse<WxPayRespVO> add(OrderAddReq query) throws Exception;
|
||||
|
||||
ApiResponse<Integer> update(OrderUpdateReq query);
|
||||
|
||||
@ -59,4 +60,6 @@ public interface OrderService {
|
||||
void remarkOrder(Long orderId, OrderEntity query);
|
||||
|
||||
ApiResponse<PageInfo<OrderRespVO>> refundPageQuery(OrderReqQuery query);
|
||||
|
||||
ApiResponse<WxPayRespVO> createOrder(Long userId, CreateOrderReqVO orderAddReq) throws Exception;
|
||||
}
|
||||
|
@ -14,7 +14,6 @@
|
||||
<result column="remark" property="remark"/>
|
||||
<result column="broker_id" property="brokerId"/>
|
||||
<result column="promo_code" property="promoCode"/>
|
||||
<result column="goods_type" property="goodsType"/>
|
||||
<result column="refund_reason" property="refundReason"/>
|
||||
<result column="refund_status" property="refundStatus"/>
|
||||
<result column="status" property="status"/>
|
||||
@ -40,7 +39,6 @@
|
||||
<result column="price" property="price"/>
|
||||
<result column="pay_price" property="payPrice"/>
|
||||
<result column="remark" property="remark"/>
|
||||
<result column="goods_type" property="goodsType"/>
|
||||
<result column="refund_reason" property="refundReason"/>
|
||||
<result column="refund_status" property="refundStatus"/>
|
||||
<result column="status" property="status"/>
|
||||
@ -113,13 +111,13 @@
|
||||
</select>
|
||||
|
||||
<insert id="add">
|
||||
insert into `order`(id, member_id, openid,price, pay_price, remark, broker_id, promo_code,goods_type,scenic_id)
|
||||
VALUES (#{id}, #{memberId}, #{openid},#{price}, #{payPrice}, #{remark}, #{brokerId}, #{promoCode},#{goodsType},#{scenicId})
|
||||
insert into `order`(id, member_id, openid, price, pay_price, remark, broker_id, promo_code, scenic_id)
|
||||
VALUES (#{id}, #{memberId}, #{openId}, #{price}, #{payPrice}, #{remark}, #{brokerId}, #{promoCode}, #{scenicId})
|
||||
</insert>
|
||||
<insert id="addOrderItems">
|
||||
insert into order_item(id, order_id,goods_type, goods_id) VALUES
|
||||
insert into order_item(order_id,goods_type, goods_id) VALUES
|
||||
<foreach collection="orderItems" item="item" index="index" separator=",">
|
||||
(#{item.id}, #{item.orderId}, #{item.goodsType},#{item.goodsId})
|
||||
(#{item.orderId}, #{item.goodsType},#{item.goodsId})
|
||||
</foreach>
|
||||
</insert>
|
||||
<update id="update">
|
||||
@ -160,13 +158,11 @@
|
||||
</delete>
|
||||
<select id="list" resultMap="PCBaseResultMap">
|
||||
select distinct o.id, o.scenic_id, s.name as scenic_name, o.member_id,m.nickname ,m.real_name , 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,oi.id oiId, o.goods_type, oi.goods_id, o.create_at
|
||||
refund_reason, refund_status, o.`status`, refund_at, pay_at, cancel_at,oi.id oiId, oi.goods_id, o.create_at
|
||||
from `order` AS o
|
||||
left join member m on o.member_id = m.id
|
||||
left join scenic s on o.scenic_id = s.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
|
||||
<where>
|
||||
<if test="id!= null ">
|
||||
and o.id = #{id}
|
||||
@ -247,7 +243,7 @@
|
||||
</select>
|
||||
<select id="appList" resultMap="AppBaseResultMap">
|
||||
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,
|
||||
refund_reason, refund_status, o.`status`, o.create_at, refund_at, pay_at, cancel_at,
|
||||
sc.name scenicName
|
||||
from `order` AS o
|
||||
left join scenic sc on o.scenic_id = sc.id
|
||||
@ -255,15 +251,12 @@
|
||||
<if test="memberId!=null">
|
||||
and o.member_id=#{memberId}
|
||||
</if>
|
||||
<if test="type!= null ">
|
||||
and o.goods_type = #{type}
|
||||
</if>
|
||||
</where>
|
||||
order by o.create_at desc
|
||||
</select>
|
||||
<select id="appDetail" resultMap="AppBaseResultMap">
|
||||
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,
|
||||
refund_reason, refund_status, o.`status`, o.create_at, refund_at, pay_at, cancel_at,
|
||||
o.scenic_id, sc.name scenicName
|
||||
from `order` AS o
|
||||
left join member m on o.member_id = m.id
|
||||
@ -272,13 +265,11 @@
|
||||
</select>
|
||||
<select id="refundList" resultType="com.ycwl.basic.model.pc.order.resp.OrderRespVO">
|
||||
select distinct o.id, o.scenic_id, s.name as scenic_name, o.member_id,m.nickname ,m.real_name , 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,oi.id oiId, o.goods_type, oi.goods_id, o.create_at
|
||||
refund_reason, refund_status, o.`status`, refund_at, pay_at, cancel_at,oi.id oiId, oi.goods_id, o.create_at
|
||||
from `order` AS o
|
||||
left join member m on o.member_id = m.id
|
||||
left join scenic s on o.scenic_id = s.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
|
||||
<where>
|
||||
o.refund_status != 0
|
||||
<if test="id!= null ">
|
||||
|
Loading…
x
Reference in New Issue
Block a user