winter 4 лет назад
Родитель
Сommit
4402fdfbd7
8 измененных файлов: 163 добавлений и 74 удалений
  1. +1
    -1
      mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java
  2. +79
    -54
      mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java
  3. +2
    -2
      mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java
  4. +0
    -4
      mallinkService/src/main/java/com/iformall/enums/EnumComposeOrder.java
  5. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
  6. +44
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java
  7. +3
    -3
      mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java
  8. +33
    -5
      mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java

+ 1
- 1
mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java Просмотреть файл

@@ -108,7 +108,7 @@ public class WxMicroPayController extends BaseController {


WxPayOrder record = new WxPayOrder(); WxPayOrder record = new WxPayOrder();
record.updateTenantInfo(user); record.updateTenantInfo(user);
record.setOrderId(EnumComposeOrder.getPayOrderId(order));
record.setOrderId(order.getComposeOrderId());
record.setAuthCode(authCode); record.setAuthCode(authCode);
record.setPayAmount(order.getPayment()); record.setPayAmount(order.getPayment());
record.setIp(ipStr); record.setIp(ipStr);


+ 79
- 54
mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java Просмотреть файл

@@ -59,6 +59,7 @@ public class PosServiceImpl implements PosService {
private final WxCouponMerchantMapper couponMerchantMapper; private final WxCouponMerchantMapper couponMerchantMapper;
private final WxCouponMapper couponMapper; private final WxCouponMapper couponMapper;
private final WxMerchantMapper merchantMapper; private final WxMerchantMapper merchantMapper;
private final WxBatchOrderMapper wxBatchOrderMapper;




/** /**
@@ -2037,50 +2038,50 @@ public class PosServiceImpl implements PosService {
} }
} }


/**
* 支付订单-会员折扣
* @param merchantBUser
* @param order
* @param memId
* @param posPayOrderId
* @param neuPaymentAmount
* @param neuPosPayOrderTime
*/
public WxPayOrder payOrderFromMemDiscount(
WxMerchantBUser merchantBUser,
WxOrder order, Long memId,
Long posPayOrderId, Integer neuPaymentAmount, Date neuPosPayOrderTime) {
Date curDate = new Date();
final IdWorker idWorker = IdWorker.get();
WxPayOrder payOrder = new WxPayOrder();
payOrder.setId(idWorker.nextId());
payOrder.updateTenantInfo(merchantBUser);
payOrder.setCUserId(memId);
payOrder.setOrderId(EnumComposeOrder.getPayOrderId(order));
payOrder.setCreateTime(curDate);
payOrder.setUpdateTime(curDate);
payOrder.setPayTimeStart(curDate);
payOrder.setPayTimeEnd(curDate);
payOrder.setPayOrderNo(String.valueOf(payOrder.getId()));
payOrder.setPayAmount(neuPaymentAmount);
payOrder.setPayVendor(EnumPayWay.PAY_WAY_POS_NEU.getCode());
payOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());
payOrder.setShare(EnumPayShare.NO.getCode());
payOrder.setPosPayOrderId(posPayOrderId);
payOrder.setPosPayOrderTime(neuPosPayOrderTime.getTime());
/// TODO
/// setPosPaymentType(EnumNeuPosPamentType.MEM_DISCOUNT.getCode());
payOrder.setPosPayDes("POS会员折扣支付");
int sqlRow = payOrderMapper.insert(payOrder);
if (sqlRow != 1) {
logger.error("pay order insert error: " + payOrder.toString());
throw new MallinkException(ErrorCode.DB_FAIL);
}
return payOrder;
}
// /**
// * 支付订单-会员折扣
// * @param merchantBUser
// * @param order
// * @param memId
// * @param posPayOrderId
// * @param neuPaymentAmount
// * @param neuPosPayOrderTime
// */
// public WxPayOrder payOrderFromMemDiscount(
// WxMerchantBUser merchantBUser,
// WxOrder order, Long memId,
// Long posPayOrderId, Integer neuPaymentAmount, Date neuPosPayOrderTime) {
// Date curDate = new Date();
// final IdWorker idWorker = IdWorker.get();
//
// WxPayOrder payOrder = new WxPayOrder();
// payOrder.setId(idWorker.nextId());
// payOrder.updateTenantInfo(merchantBUser);
// payOrder.setCUserId(memId);
// payOrder.setOrderId(order.getComposeOrderId());
// payOrder.setCreateTime(curDate);
// payOrder.setUpdateTime(curDate);
// payOrder.setPayTimeStart(curDate);
// payOrder.setPayTimeEnd(curDate);
// payOrder.setPayOrderNo(String.valueOf(payOrder.getId()));
// payOrder.setPayAmount(neuPaymentAmount);
// payOrder.setPayVendor(EnumPayWay.PAY_WAY_POS_NEU.getCode());
// payOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());
// payOrder.setShare(EnumPayShare.NO.getCode());
// payOrder.setPosPayOrderId(posPayOrderId);
// payOrder.setPosPayOrderTime(neuPosPayOrderTime.getTime());
// /// TODO
// /// setPosPaymentType(EnumNeuPosPamentType.MEM_DISCOUNT.getCode());
// payOrder.setPosPayDes("POS会员折扣支付");
//
// int sqlRow = payOrderMapper.insert(payOrder);
// if (sqlRow != 1) {
// logger.error("pay order insert error: " + payOrder.toString());
// throw new MallinkException(ErrorCode.DB_FAIL);
// }
// return payOrder;
//
// }


/** /**
* 支付订单-优惠券 * 支付订单-优惠券
@@ -2098,7 +2099,7 @@ public class PosServiceImpl implements PosService {
Long posPayOrderId, Integer neuPaymentAmount, Date neuPosPayOrderTime, String posPayOrderNo) { Long posPayOrderId, Integer neuPaymentAmount, Date neuPosPayOrderTime, String posPayOrderNo) {
// 1. insert into PayOrder // 1. insert into PayOrder
WxPayOrder payOrderQ = new WxPayOrder(); WxPayOrder payOrderQ = new WxPayOrder();
payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(order));
payOrderQ.setOrderId(order.getComposeOrderId());
payOrderQ.updateTenantInfo(merchantBUser); payOrderQ.updateTenantInfo(merchantBUser);
List<WxPayOrder> payOrderList = payOrderMapper.findList(payOrderQ); List<WxPayOrder> payOrderList = payOrderMapper.findList(payOrderQ);
WxPayOrder payOrder = null; WxPayOrder payOrder = null;
@@ -2111,7 +2112,7 @@ public class PosServiceImpl implements PosService {
payOrder.updateTenantInfo(merchantBUser); payOrder.updateTenantInfo(merchantBUser);
payOrder.setCUserId(memId); payOrder.setCUserId(memId);
payOrder.setBUserId(merchantBUser.getId()); payOrder.setBUserId(merchantBUser.getId());
payOrder.setOrderId(EnumComposeOrder.getPayOrderId(order));
payOrder.setOrderId(order.getComposeOrderId());
payOrder.setCreateTime(curDate); payOrder.setCreateTime(curDate);
payOrder.setUpdateTime(curDate); payOrder.setUpdateTime(curDate);
payOrder.setPayTimeStart(curDate); payOrder.setPayTimeStart(curDate);
@@ -2197,7 +2198,7 @@ public class PosServiceImpl implements PosService {
// 1. insert into PayOrder // 1. insert into PayOrder
WxPayOrder payOrderQ = new WxPayOrder(); WxPayOrder payOrderQ = new WxPayOrder();
payOrderQ.updateTenantInfo(buUser); payOrderQ.updateTenantInfo(buUser);
payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(order));
payOrderQ.setOrderId(order.getComposeOrderId());
List<WxPayOrder> payOrderList = payOrderMapper.findList(payOrderQ); List<WxPayOrder> payOrderList = payOrderMapper.findList(payOrderQ);
WxPayOrder payOrder = null; WxPayOrder payOrder = null;
if (null == payOrderList || payOrderList.size()<=0) { if (null == payOrderList || payOrderList.size()<=0) {
@@ -2210,7 +2211,7 @@ public class PosServiceImpl implements PosService {
payOrder.updateTenantInfo(buUser); payOrder.updateTenantInfo(buUser);
payOrder.setCUserId(memId); payOrder.setCUserId(memId);
payOrder.setBUserId(buUser.getId()); payOrder.setBUserId(buUser.getId());
payOrder.setOrderId(order.getId());
payOrder.setOrderId(order.getComposeOrderId());
payOrder.setCreateTime(curDate); payOrder.setCreateTime(curDate);
payOrder.setUpdateTime(curDate); payOrder.setUpdateTime(curDate);
payOrder.setPayTimeStart(curDate); payOrder.setPayTimeStart(curDate);
@@ -2273,7 +2274,7 @@ public class PosServiceImpl implements PosService {
// 1. insert into PayOrder // 1. insert into PayOrder
WxPayOrder payOrderQ = new WxPayOrder(); WxPayOrder payOrderQ = new WxPayOrder();
payOrderQ.updateTenantInfo(buUser); payOrderQ.updateTenantInfo(buUser);
payOrderQ.setOrderId(order.getId());
payOrderQ.setOrderId(order.getComposeOrderId());
List<WxPayOrder> payOrderList = payOrderMapper.findList(payOrderQ); List<WxPayOrder> payOrderList = payOrderMapper.findList(payOrderQ);
WxPayOrder payOrder = null; WxPayOrder payOrder = null;
if (null == payOrderList || payOrderList.size()<=0) { if (null == payOrderList || payOrderList.size()<=0) {
@@ -2285,7 +2286,7 @@ public class PosServiceImpl implements PosService {
payOrder.setTenantId(buUser.getTenantId()); payOrder.setTenantId(buUser.getTenantId());
payOrder.updateTenantInfo(buUser); payOrder.updateTenantInfo(buUser);
payOrder.setCUserId(memId); payOrder.setCUserId(memId);
payOrder.setOrderId(EnumComposeOrder.getPayOrderId(order));
payOrder.setOrderId(order.getComposeOrderId());
payOrder.setCreateTime(curDate); payOrder.setCreateTime(curDate);
payOrder.setUpdateTime(curDate); payOrder.setUpdateTime(curDate);
payOrder.setPayTimeStart(curDate); payOrder.setPayTimeStart(curDate);
@@ -2350,7 +2351,7 @@ public class PosServiceImpl implements PosService {
WxPayOrder payOrderQ = new WxPayOrder(); WxPayOrder payOrderQ = new WxPayOrder();
payOrderQ.updateTenantInfo(refundOrder); payOrderQ.updateTenantInfo(refundOrder);
payOrderQ.setCUserId(refundOrder.getCUserId()); payOrderQ.setCUserId(refundOrder.getCUserId());
payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(refundOrder));
payOrderQ.setOrderId(refundOrder.getComposeOrderId());
payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());
payOrderQ.setPosPayOrderId(posPayOrderId); payOrderQ.setPosPayOrderId(posPayOrderId);


@@ -2374,7 +2375,7 @@ public class PosServiceImpl implements PosService {
refundPayOrder.setTenantId(buUser.getTenantId()); refundPayOrder.setTenantId(buUser.getTenantId());
refundPayOrder.updateTenantInfo(buUser); refundPayOrder.updateTenantInfo(buUser);
refundPayOrder.setCUserId(memId); refundPayOrder.setCUserId(memId);
refundPayOrder.setOrderId(refundOrder.getId());
refundPayOrder.setOrderId(refundOrder.getComposeOrderId());
refundPayOrder.setCreateTime(curDate); refundPayOrder.setCreateTime(curDate);
refundPayOrder.setUpdateTime(curDate); refundPayOrder.setUpdateTime(curDate);
refundPayOrder.setRefundTimeStart(curDate); refundPayOrder.setRefundTimeStart(curDate);
@@ -2434,6 +2435,17 @@ public class PosServiceImpl implements PosService {
throw new MallinkException(ErrorCode.POS_ORDER_HAD_SYNCED); throw new MallinkException(ErrorCode.POS_ORDER_HAD_SYNCED);
} }
final IdWorker idWorker = IdWorker.get(); final IdWorker idWorker = IdWorker.get();
WxBatchOrder border =new WxBatchOrder();
border.setId(idWorker.nextId());
border.setCUserId(memId);
border.updateTenantInfo(merchantBUser);
border.setPayment(posAmount);
border.setPayVendor(EnumPayWay.PAY_WAY_POS_NEU.getCode());
border.setOrderType(EnumComposeOrder.SINGLE.getCode());
border.setCreateDate(new Date());
wxBatchOrderMapper.insert(border);
Long orderId = idWorker.nextId(); Long orderId = idWorker.nextId();
WxOrder order = new WxOrder(); WxOrder order = new WxOrder();


@@ -2455,7 +2467,7 @@ public class PosServiceImpl implements PosService {
order.setPosOrderId(posOrderId); order.setPosOrderId(posOrderId);
order.setPosOrderCreateTime(posOrderTime.getTime()); order.setPosOrderCreateTime(posOrderTime.getTime());
order.setPosOrderCreateSn(orderCreateSn); order.setPosOrderCreateSn(orderCreateSn);
order.setComposeOrderId(0L);
order.setComposeOrderId(border.getId());
order.setComposeOrderType(EnumComposeOrder.SINGLE.getCode()); order.setComposeOrderType(EnumComposeOrder.SINGLE.getCode());
order.setCouponNumber(1); order.setCouponNumber(1);
try { try {
@@ -2518,6 +2530,19 @@ public class PosServiceImpl implements PosService {


// 3. 创建退款订单 // 3. 创建退款订单
final IdWorker idWorker = IdWorker.get(); final IdWorker idWorker = IdWorker.get();
WxBatchOrder border =new WxBatchOrder();
border.setId(idWorker.nextId());
border.setCUserId(memId);
border.updateTenantInfo(buUser);
border.setPayment(orderAmount);
border.setPayVendor(EnumPayWay.PAY_WAY_POS_NEU.getCode());
border.setOrderType(EnumComposeOrder.SINGLE.getCode());
border.setCreateDate(new Date());
wxBatchOrderMapper.insert(border);
Long orderId = idWorker.nextId(); Long orderId = idWorker.nextId();
WxOrder order = new WxOrder(); WxOrder order = new WxOrder();


@@ -2539,7 +2564,7 @@ public class PosServiceImpl implements PosService {
order.setPosOrderCreateTime(posOrderTime.getTime()); order.setPosOrderCreateTime(posOrderTime.getTime());
order.setPosOrderCreateSn(orderCreateSn); order.setPosOrderCreateSn(orderCreateSn);
order.setOrderNumber(orderQ.getOrderNumber()); order.setOrderNumber(orderQ.getOrderNumber());
order.setComposeOrderId(0L);
order.setComposeOrderId(border.getId());
order.setComposeOrderType(EnumComposeOrder.SINGLE.getCode()); order.setComposeOrderType(EnumComposeOrder.SINGLE.getCode());
order.setCouponNumber(1); order.setCouponNumber(1);




+ 2
- 2
mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java Просмотреть файл

@@ -280,7 +280,7 @@ public class OrderExpiringSchedule {
public boolean wxPaySuccess(WxOrder order,boolean autoReHandle,EnumPayWay payWay) throws MallinkException, Exception { public boolean wxPaySuccess(WxOrder order,boolean autoReHandle,EnumPayWay payWay) throws MallinkException, Exception {
WxPayOrder payOrderq = new WxPayOrder(); WxPayOrder payOrderq = new WxPayOrder();
payOrderq.setOrderId(EnumComposeOrder.getPayOrderId(order));
payOrderq.setOrderId(order.getComposeOrderId());
payOrderq.setTenantId(order.getTenantId()); payOrderq.setTenantId(order.getTenantId());
List<WxPayOrder> payorderlist = wxPayOrderMapper.findList(payOrderq); List<WxPayOrder> payorderlist = wxPayOrderMapper.findList(payOrderq);
if (null == payorderlist || payorderlist.size() <=0 ) { if (null == payorderlist || payorderlist.size() <=0 ) {
@@ -422,7 +422,7 @@ public class OrderExpiringSchedule {
WxPayOrder payOrderQ = new WxPayOrder(); WxPayOrder payOrderQ = new WxPayOrder();
payOrderQ.updateTenantInfo(order); payOrderQ.updateTenantInfo(order);
payOrderQ.setCUserId(order.getCUserId()); payOrderQ.setCUserId(order.getCUserId());
payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(order));
payOrderQ.setOrderId(order.getComposeOrderId());
//payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); //payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());


WxPayOrder payOrder = null; WxPayOrder payOrder = null;


+ 0
- 4
mallinkService/src/main/java/com/iformall/enums/EnumComposeOrder.java Просмотреть файл

@@ -38,10 +38,6 @@ public enum EnumComposeOrder {
return message; return message;
} }
public static Long getPayOrderId(WxOrder order) {
return order.getComposeOrderId();
}
//是单个支付还是组合支付 //是单个支付还是组合支付
public static boolean isSingle(Integer type) { public static boolean isSingle(Integer type) {
if (type.intValue() == SINGLE.getCode().intValue()) { if (type.intValue() == SINGLE.getCode().intValue()) {


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java Просмотреть файл

@@ -1944,7 +1944,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
WxPayOrder payOrder = null; WxPayOrder payOrder = null;
WxPayOrder payOrderQ = new WxPayOrder(); WxPayOrder payOrderQ = new WxPayOrder();
payOrderQ.updateTenantInfo(couponOrder); payOrderQ.updateTenantInfo(couponOrder);
payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(order));
payOrderQ.setOrderId(order.getComposeOrderId());
payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());
List<WxPayOrder> payList = wxPayOrderMapper.selectList(new QueryWrapper(payOrderQ)); List<WxPayOrder> payList = wxPayOrderMapper.selectList(new QueryWrapper(payOrderQ));
if (payList.size() > 0) { if (payList.size() > 0) {


+ 44
- 4
mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java Просмотреть файл

@@ -876,6 +876,19 @@ public class WxOrderServiceImpl implements WxOrderService {
int payment = totalFee.multiply(new BigDecimal(100)).intValue(); int payment = totalFee.multiply(new BigDecimal(100)).intValue();


final IdWorker idWorker = IdWorker.get(); final IdWorker idWorker = IdWorker.get();
WxBatchOrder order =new WxBatchOrder();
order.setId(idWorker.nextId());
order.setCUserId(user.getId());
order.updateTenantInfo(wxMerchant);
order.setPayment(payment);
order.setPayVendor(payWay.getCode());
order.setOrderType(EnumComposeOrder.SINGLE.getCode());
order.setCreateDate(new Date());
wxBatchOrderMapper.insert(order);
Long orderNumber = idWorker.nextId(); Long orderNumber = idWorker.nextId();


// body // body
@@ -895,9 +908,10 @@ public class WxOrderServiceImpl implements WxOrderService {
record.setDetail(bodyStr); record.setDetail(bodyStr);
record.setCreateDate(curr); record.setCreateDate(curr);
record.setUpdateDate(curr); record.setUpdateDate(curr);
record.setComposeOrderId(0L);
record.setComposeOrderId(order.getId());
record.setComposeOrderType(EnumComposeOrder.SINGLE.getCode()); record.setComposeOrderType(EnumComposeOrder.SINGLE.getCode());
record.setCouponNumber(1); record.setCouponNumber(1);


try { try {
// 保存订单 // 保存订单
@@ -934,6 +948,19 @@ public class WxOrderServiceImpl implements WxOrderService {
Date curr = new Date(); Date curr = new Date();


final IdWorker idWorker = IdWorker.get(); final IdWorker idWorker = IdWorker.get();
WxBatchOrder order =new WxBatchOrder();
order.setId(idWorker.nextId());
order.setCUserId(user.getId());
order.updateTenantInfo(wxMerchant);
order.setPayment(payment);
order.setPayVendor(EnumPayWay.PAY_WAY_WECHAT_MA.getCode());
order.setOrderType(EnumComposeOrder.SINGLE.getCode());
order.setCreateDate(new Date());
wxBatchOrderMapper.insert(order);
Long orderNumber = idWorker.nextId(); Long orderNumber = idWorker.nextId();


// body // body
@@ -956,7 +983,7 @@ public class WxOrderServiceImpl implements WxOrderService {
record.setDetail(bodyStr); record.setDetail(bodyStr);
record.setCreateDate(curr); record.setCreateDate(curr);
record.setUpdateDate(curr); record.setUpdateDate(curr);
record.setComposeOrderId(0L);
record.setComposeOrderId(order.getId());
record.setComposeOrderType(EnumComposeOrder.SINGLE.getCode()); record.setComposeOrderType(EnumComposeOrder.SINGLE.getCode());
record.setCouponNumber(1); record.setCouponNumber(1);


@@ -976,6 +1003,19 @@ public class WxOrderServiceImpl implements WxOrderService {
Date curr = new Date(); Date curr = new Date();


final IdWorker idWorker = IdWorker.get(); final IdWorker idWorker = IdWorker.get();
WxBatchOrder order =new WxBatchOrder();
order.setId(idWorker.nextId());
order.setCUserId(cUserId);
order.updateTenantInfo(merchant);
order.setPayment(payment);
order.setPayVendor(EnumPayWay.PAY_WAY_PREPAIDCARD.getCode());
order.setOrderType(EnumComposeOrder.SINGLE.getCode());
order.setCreateDate(new Date());
wxBatchOrderMapper.insert(order);
Long orderNumber = idWorker.nextId(); Long orderNumber = idWorker.nextId();


// body // body
@@ -997,7 +1037,7 @@ public class WxOrderServiceImpl implements WxOrderService {
record.setDetail(bodyStr); record.setDetail(bodyStr);
record.setCreateDate(curr); record.setCreateDate(curr);
record.setUpdateDate(curr); record.setUpdateDate(curr);
record.setComposeOrderId(0L);
record.setComposeOrderId(order.getId());
record.setComposeOrderType(EnumComposeOrder.SINGLE.getCode()); record.setComposeOrderType(EnumComposeOrder.SINGLE.getCode());
record.setCouponNumber(1); record.setCouponNumber(1);
try { try {
@@ -1037,7 +1077,7 @@ public class WxOrderServiceImpl implements WxOrderService {
try { try {
WxPayOrder payOrderQ = new WxPayOrder(); WxPayOrder payOrderQ = new WxPayOrder();
payOrderQ.updateTenantInfo(order); payOrderQ.updateTenantInfo(order);
payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(order));
payOrderQ.setOrderId(order.getComposeOrderId());
payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());
payOrder = wxPayOrderMapper.selectOne(new QueryWrapper(payOrderQ)); payOrder = wxPayOrderMapper.selectOne(new QueryWrapper(payOrderQ));
} catch (Exception e) { } catch (Exception e) {


+ 3
- 3
mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java Просмотреть файл

@@ -475,7 +475,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
Date currentDate = new Date(); Date currentDate = new Date();
WxPayOrder pq = new WxPayOrder(); WxPayOrder pq = new WxPayOrder();
pq.updateTenantInfo(order); pq.updateTenantInfo(order);
pq.setOrderId(EnumComposeOrder.getPayOrderId(order));
pq.setOrderId(order.getComposeOrderId());
List<WxPayOrder> list = wxPayOrderMapper.findList(pq); List<WxPayOrder> list = wxPayOrderMapper.findList(pq);
String payOrderNo = ""; String payOrderNo = "";
if (list.size() <= 0) { if (list.size() <= 0) {
@@ -1107,7 +1107,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
private void doCouponPayOrder(WxMerchantBUser user, WxPayOrder record, WxOrder order,EnumPayWay payWay) { private void doCouponPayOrder(WxMerchantBUser user, WxPayOrder record, WxOrder order,EnumPayWay payWay) {
// B端收银台核销券处理 // B端收银台核销券处理
WxPayOrder payOrderQ = new WxPayOrder(); WxPayOrder payOrderQ = new WxPayOrder();
payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(order));
payOrderQ.setOrderId(order.getComposeOrderId());
payOrderQ.setCUserId(record.getCUserId()); payOrderQ.setCUserId(record.getCUserId());
payOrderQ.setPayFrom(EnumPayFrom.INSIDE_B.getCode()); payOrderQ.setPayFrom(EnumPayFrom.INSIDE_B.getCode());
payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode()); payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode());
@@ -1118,7 +1118,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
try { try {
WxPayOrder payOrderCoupon = new WxPayOrder(); WxPayOrder payOrderCoupon = new WxPayOrder();
payOrderCoupon.setId(unPayOrder.getId()); payOrderCoupon.setId(unPayOrder.getId());
payOrderCoupon.setOrderId(EnumComposeOrder.getPayOrderId(order));
payOrderCoupon.setOrderId(order.getComposeOrderId());
payOrderCoupon.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); payOrderCoupon.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());
wxPayOrderMapper.updateById(payOrderCoupon); wxPayOrderMapper.updateById(payOrderCoupon);
} catch (Exception e) { } catch (Exception e) {


+ 33
- 5
mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java Просмотреть файл

@@ -33,6 +33,7 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@@ -58,6 +59,7 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService {
@Autowired @Autowired
WxPayAccountMapper wxPayAccountMapper; WxPayAccountMapper wxPayAccountMapper;


@Lazy
@Autowired @Autowired
WxOrderService wxOrderService; WxOrderService wxOrderService;


@@ -88,6 +90,9 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService {
@Autowired @Autowired
PayServiceFactory payServiceFactory; PayServiceFactory payServiceFactory;
@Autowired
WxBatchOrderMapper wxBatchOrderMapper;
private boolean isMerchantOrder(WxOrder wxOrder, Long merchantId) { private boolean isMerchantOrder(WxOrder wxOrder, Long merchantId) {
if (wxOrder.getType().equals(EnumOrderType.COUPON.getCode())) { if (wxOrder.getType().equals(EnumOrderType.COUPON.getCode())) {
WxCoupon wxCoupon = wxCouponMapper.selectById(wxOrder.getProductId(),wxOrder.getTenantId()); WxCoupon wxCoupon = wxCouponMapper.selectById(wxOrder.getProductId(),wxOrder.getTenantId());
@@ -179,7 +184,7 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService {
WxPayOrder payOrderQ = new WxPayOrder(); WxPayOrder payOrderQ = new WxPayOrder();
payOrderQ.updateTenantInfo(wxCouponOrder); payOrderQ.updateTenantInfo(wxCouponOrder);
payOrderQ.setCUserId(wxOrder.getCUserId()); payOrderQ.setCUserId(wxOrder.getCUserId());
payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(wxOrder));
payOrderQ.setOrderId(wxOrder.getComposeOrderId());
payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());


WxPayOrder payOrder = null; WxPayOrder payOrder = null;
@@ -212,6 +217,17 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService {


Date currentDate = new Date(); Date currentDate = new Date();


WxBatchOrder order =new WxBatchOrder();
order.setId(idWorker.nextId());
order.setCUserId(wxOrder.getCUserId());
order.updateTenantInfo(wxCouponOrder);
order.setPayment(wxOrder.getPayment());
order.setPayVendor(wxOrder.getPayVendor());
order.setOrderType(wxOrder.getComposeOrderType());
order.setCreateDate(new Date());
wxBatchOrderMapper.insert(order);
// 创建 refund Order // 创建 refund Order
WxOrder rOrder = new WxOrder(); WxOrder rOrder = new WxOrder();
rOrder.setId(refundOrderId); rOrder.setId(refundOrderId);
@@ -235,7 +251,7 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService {
rOrder.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_REFUND.getCode()); rOrder.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_REFUND.getCode());
rOrder.setCreateDate(currentDate); rOrder.setCreateDate(currentDate);
rOrder.setUpdateDate(currentDate); rOrder.setUpdateDate(currentDate);
rOrder.setComposeOrderId(wxOrder.getComposeOrderId());
rOrder.setComposeOrderId(order.getId());
rOrder.setComposeOrderType(wxOrder.getComposeOrderType()); rOrder.setComposeOrderType(wxOrder.getComposeOrderType());
rOrder.setCouponNumber(wxOrder.getCouponNumber()); rOrder.setCouponNumber(wxOrder.getCouponNumber());
try { try {
@@ -373,6 +389,17 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService {


Date currentDate = new Date(); Date currentDate = new Date();


WxBatchOrder order =new WxBatchOrder();
order.setId(idWorker.nextId());
order.setCUserId(wxOrder.getCUserId());
order.updateTenantInfo(wxOrder);
order.setPayment(wxOrder.getPayment());
order.setPayVendor(wxOrder.getPayVendor());
order.setOrderType(EnumComposeOrder.SINGLE.getCode());
order.setCreateDate(new Date());
wxBatchOrderMapper.insert(order);
// 创建 refund Order // 创建 refund Order
WxOrder rOrder = new WxOrder(); WxOrder rOrder = new WxOrder();
rOrder.setId(refundOrderId); rOrder.setId(refundOrderId);
@@ -383,12 +410,13 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService {
if (payType == EnumPayType.PAY_B_REFUND) { if (payType == EnumPayType.PAY_B_REFUND) {
rOrder.setProductId(bUserId); //B端发起退款后存B端用户ID在此 rOrder.setProductId(bUserId); //B端发起退款后存B端用户ID在此
} }
rOrder.setPayVendor(wxOrder.getPayVendor());
rOrder.setPaymentType(payType.getCode()); rOrder.setPaymentType(payType.getCode());
rOrder.setPayment(wxOrder.getPayment()); rOrder.setPayment(wxOrder.getPayment());
rOrder.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_REFUND.getCode()); rOrder.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_REFUND.getCode());
rOrder.setCreateDate(currentDate); rOrder.setCreateDate(currentDate);
rOrder.setUpdateDate(currentDate); rOrder.setUpdateDate(currentDate);
rOrder.setComposeOrderId(0L);
rOrder.setComposeOrderId(order.getId());
rOrder.setComposeOrderType(EnumComposeOrder.SINGLE.getCode()); rOrder.setComposeOrderType(EnumComposeOrder.SINGLE.getCode());
rOrder.setCouponNumber(1); rOrder.setCouponNumber(1);
try { try {
@@ -402,7 +430,7 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService {
WxPayOrder payOrderQ = new WxPayOrder(); WxPayOrder payOrderQ = new WxPayOrder();
payOrderQ.updateTenantInfo(wxOrder); payOrderQ.updateTenantInfo(wxOrder);
payOrderQ.setCUserId(wxOrder.getCUserId()); payOrderQ.setCUserId(wxOrder.getCUserId());
payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(wxOrder));
payOrderQ.setOrderId(wxOrder.getComposeOrderId());
payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());


WxPayOrder payOrder = null; WxPayOrder payOrder = null;
@@ -624,7 +652,7 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService {
WxPayOrder payOrderQ = new WxPayOrder(); WxPayOrder payOrderQ = new WxPayOrder();
payOrderQ.updateTenantInfo(wxOrder); payOrderQ.updateTenantInfo(wxOrder);
payOrderQ.setCUserId(wxOrder.getCUserId()); payOrderQ.setCUserId(wxOrder.getCUserId());
payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(wxOrder));
payOrderQ.setOrderId(wxOrder.getComposeOrderId());
//payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); //payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());


WxPayOrder payOrder = null; WxPayOrder payOrder = null;


Загрузка…
Отмена
Сохранить