diff --git a/src/main/java/com/ycwl/basic/mapper/PaymentMapper.java b/src/main/java/com/ycwl/basic/mapper/PaymentMapper.java
new file mode 100644
index 0000000..6c1f43d
--- /dev/null
+++ b/src/main/java/com/ycwl/basic/mapper/PaymentMapper.java
@@ -0,0 +1,14 @@
+package com.ycwl.basic.mapper;
+
+import com.ycwl.basic.model.pc.payment.entity.PaymentEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+@Mapper
+public interface PaymentMapper {
+ Long addGetId(PaymentEntity entity);
+ PaymentEntity findByOutTradeNo(@Param("outTradeNo") String outTradeNo);
+ int update(PaymentEntity entity);
+ int setOutTradeNo(@Param("id") Long id, @Param("outTradeNo") String outTradeNo);
+ int setPaid(Long paymentId);
+}
diff --git a/src/main/java/com/ycwl/basic/mapper/RefundMapper.java b/src/main/java/com/ycwl/basic/mapper/RefundMapper.java
new file mode 100644
index 0000000..88ddd6b
--- /dev/null
+++ b/src/main/java/com/ycwl/basic/mapper/RefundMapper.java
@@ -0,0 +1,14 @@
+package com.ycwl.basic.mapper;
+
+import com.ycwl.basic.model.pc.refund.entity.RefundEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+@Mapper
+public interface RefundMapper {
+ Long addGetId(RefundEntity entity);
+ RefundEntity findByOutRefundNo(String outRefundNo);
+ int update(RefundEntity entity);
+ int setRefundNo(@Param("id") Long id, @Param("outRefundNo") String outRefundNo);
+ int setRefunded(Long id);
+}
diff --git a/src/main/java/com/ycwl/basic/model/pc/order/resp/OrderItemVO.java b/src/main/java/com/ycwl/basic/model/pc/order/resp/OrderItemVO.java
index 84027fd..5b8435c 100644
--- a/src/main/java/com/ycwl/basic/model/pc/order/resp/OrderItemVO.java
+++ b/src/main/java/com/ycwl/basic/model/pc/order/resp/OrderItemVO.java
@@ -29,6 +29,7 @@ public class OrderItemVO {
*/
@ApiModelProperty("商品ID,goods_type=1关联video.id,=2关联source.id")
private Long goodsId;
+ private Long faceId;
@ApiModelProperty("景区名称")
private String scenicName;
@ApiModelProperty("商品名称 模版名称/原片x个/照片x个")
diff --git a/src/main/java/com/ycwl/basic/model/pc/payment/entity/PaymentEntity.java b/src/main/java/com/ycwl/basic/model/pc/payment/entity/PaymentEntity.java
new file mode 100644
index 0000000..f20782d
--- /dev/null
+++ b/src/main/java/com/ycwl/basic/model/pc/payment/entity/PaymentEntity.java
@@ -0,0 +1,19 @@
+package com.ycwl.basic.model.pc.payment.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@TableName("payment")
+@Data
+public class PaymentEntity {
+ private Long id;
+ private Long memberId;
+ private Long orderId;
+ private String outOrderNo;
+ private BigDecimal payPrice;
+ private Date createTime;
+ private Date payTime;
+}
diff --git a/src/main/java/com/ycwl/basic/model/pc/refund/entity/RefundEntity.java b/src/main/java/com/ycwl/basic/model/pc/refund/entity/RefundEntity.java
new file mode 100644
index 0000000..37ac487
--- /dev/null
+++ b/src/main/java/com/ycwl/basic/model/pc/refund/entity/RefundEntity.java
@@ -0,0 +1,20 @@
+package com.ycwl.basic.model.pc.refund.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@TableName("refund")
+@Data
+public class RefundEntity {
+ private Long id;
+ private Long memberId;
+ private Long orderId;
+ private String outRefundNo;
+ private BigDecimal refundPrice;
+ private String reason;
+ private Date createTime;
+ private Date acceptTime;
+}
diff --git a/src/main/java/com/ycwl/basic/model/wx/WXPayOrderReqVO.java b/src/main/java/com/ycwl/basic/model/wx/WXPayOrderReqVO.java
index a45262a..97f472a 100644
--- a/src/main/java/com/ycwl/basic/model/wx/WXPayOrderReqVO.java
+++ b/src/main/java/com/ycwl/basic/model/wx/WXPayOrderReqVO.java
@@ -28,4 +28,6 @@ public class WXPayOrderReqVO {
private Long orderSn;
private String description;
+
+ private Long memberId;
}
diff --git a/src/main/java/com/ycwl/basic/service/impl/mobile/WxPayServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/mobile/WxPayServiceImpl.java
index c8bc1a6..6b56557 100644
--- a/src/main/java/com/ycwl/basic/service/impl/mobile/WxPayServiceImpl.java
+++ b/src/main/java/com/ycwl/basic/service/impl/mobile/WxPayServiceImpl.java
@@ -27,9 +27,11 @@ import com.ycwl.basic.enums.BizCodeEnum;
import com.ycwl.basic.enums.OrderStateEnum;
import com.ycwl.basic.enums.StatisticEnum;
import com.ycwl.basic.exception.AppException;
+import com.ycwl.basic.mapper.PaymentMapper;
import com.ycwl.basic.mapper.StatisticsMapper;
import com.ycwl.basic.model.mobile.statistic.req.StatisticsRecordAddReq;
import com.ycwl.basic.model.pc.order.resp.OrderRespVO;
+import com.ycwl.basic.model.pc.payment.entity.PaymentEntity;
import com.ycwl.basic.model.wx.WXPayOrderReqVO;
import com.ycwl.basic.model.wx.WxPayRespVO;
import com.ycwl.basic.model.wx.WxchatCallbackSuccessData;
@@ -55,6 +57,7 @@ import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
+import java.math.BigInteger;
import java.nio.charset.StandardCharsets;
import java.security.*;
import java.util.*;
@@ -82,10 +85,17 @@ public class WxPayServiceImpl implements WxPayService {
@Autowired
private OrderService orderService;
@Autowired
+ private PaymentMapper paymentMapper;
+ @Autowired
private StatisticsMapper statisticsMapper;
@Override
public WxPayRespVO createOrder(WXPayOrderReqVO req) {
+ PaymentEntity entity = new PaymentEntity();
+ entity.setOrderId(req.getOrderSn());
+ entity.setMemberId(req.getMemberId());
+ entity.setPayPrice(new BigDecimal(BigInteger.valueOf(req.getTotalPrice()), 2));
+ Long entityId = paymentMapper.addGetId(entity);
try {
// 使用自动更新平台证书的RSA配置
Config config = getInstance(wechatConfig);
@@ -95,7 +105,7 @@ public class WxPayServiceImpl implements WxPayService {
// request.setXxx(val)设置所需参数,具体参数可见Request定义
PrepayRequest request = new PrepayRequest();
Amount amount = new Amount();
- amount.setTotal(1);
+ amount.setTotal(req.getTotalPrice());
request.setAmount(amount);
request.setAppid(wechatConfig.getMiniProgramAppId());
request.setMchid(wechatConfig.getMchId());
diff --git a/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java
index faa3b34..91c4174 100644
--- a/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java
+++ b/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java
@@ -183,6 +183,7 @@ public class OrderServiceImpl implements OrderService {
}
wxPayOrderReqVO.setOpenId(order.getOpenid())
+ .setMemberId(order.getMemberId())
.setOrderSn(order.getId())
.setTotalPrice(BigDecimalUtil.convertToCents(order.getPrice()))
.setGoodsName(goodsName)
diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/OrderMapper.xml
index 8374677..a3f2ce6 100644
--- a/src/main/resources/mapper/OrderMapper.xml
+++ b/src/main/resources/mapper/OrderMapper.xml
@@ -55,6 +55,7 @@
+
@@ -66,6 +67,10 @@
select oi.id oiId,oi.order_id orderId,oi.goods_id,
sc.name scenicName,t.cover_url coverUrl,
if(oi.goods_type='1',t.name,(select count(1) from order_item oi2 where oi2.order_id=oi.order_id)) as goodsName,
+ if(oi.goods_type='1',
+ (select task.face_id from task where task.id = vd.task_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,
if(oi.goods_type='1',vd.video_url,sr.video_url) videoUrl,
if(oi.goods_type='2',sr.url,null) imgUrl,
if(oi.goods_type='2',sr.type,null) sourceType,
@@ -308,7 +313,7 @@