xiaohanzi 5 лет назад
Родитель
Сommit
263e4f51bf
4 измененных файлов: 20 добавлений и 5 удалений
  1. +2
    -2
      mallinkAdmin/src/main/resources/db/migration/V202007131031__GROUP__ADD_001.sql
  2. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxPayOrder.java
  3. +8
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java
  4. +8
    -2
      mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java

+ 2
- 2
mallinkAdmin/src/main/resources/db/migration/V202007131031__GROUP__ADD_001.sql Просмотреть файл

@@ -11,7 +11,7 @@ ALTER TABLE `wx_user_visit`
ADD COLUMN `parent_tenant_id` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '父租户ID' AFTER `tenant_id`;


CREATE OR REPLACE ALGORITHM = UNDEFINED DEFINER = `root`@`%` SQL SECURITY DEFINER VIEW `mallink`.`view_touch_user` AS SELECT
CREATE OR REPLACE VIEW `mallink`.`view_touch_user` AS SELECT
date_format( `u`.`day_date`, '%Y-%m-%d' ) AS `xTime`,
`u`.`tenant_id` AS `tenant_id`,
`u`.`parent_tenant_id` AS `parent_tenant_id`,
@@ -58,7 +58,7 @@ GROUP BY
)
);

CREATE OR REPLACE ALGORITHM = UNDEFINED DEFINER = `root`@`%` SQL SECURITY DEFINER VIEW `mallink`.`view_coupon_data` AS SELECT
CREATE OR REPLACE VIEW `mallink`.`view_coupon_data` AS SELECT
`baseInfo`.`createTime` AS `createTime`,
`baseInfo`.`couponId` AS `couponId`,
`baseInfo`.`couponUserCount` AS `couponUserCount`,


+ 2
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxPayOrder.java Просмотреть файл

@@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.iformall.domain.po.base.TenantEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.util.*;

@TableName(value = "wx_pay_order")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString
public class WxPayOrder extends TenantEntity {

protected Long id;


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

@@ -398,8 +398,15 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
}
}
logger.debug("wxPayRecord md5 before:"+record.toString());
String beforemd5 = HashUtil.md5(record.toString());
PayAdapterResult payResult = PayServiceFactory.getPayAdapterService(payWay.getCode()).pay(payAccount, order, record,isShare,appInfo, currentDate, params);
//成功或者失败都需要更新record
String aftermd5 = HashUtil.md5(record.toString());
if (beforemd5.equals(aftermd5)) {
logger.error("支付方式["+payWay.getCode()+"]支付接口【pay】过程中 WxPayOrder 未做更新.record:"+record.toString());
throw new MallinkException(ErrorCode.PAY_ORDER_ERROR.getCode(),"支付方式["+payWay.getCode()+"]支付接口【pay】过程中 WxPayOrder 未做更新");
}
//成功或者失败都需要更新record, 更新的信息在各自的业务里面处理
try {
wxPayOrderMapper.updateById(record);
} catch (Exception e) {


+ 8
- 2
mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java Просмотреть файл

@@ -3,7 +3,9 @@ package com.iformall.service.pay;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

import com.iformall.common.ErrorCode;
import com.iformall.enums.EnumPayWay;
import com.iformall.exception.MallinkException;
import com.iformall.service.pay.impl.WxPayAdapterService;

/**
@@ -14,7 +16,7 @@ public class PayServiceFactory {

private static Map<Integer,PayAdapterService> serviceMap = new ConcurrentHashMap<Integer, PayAdapterService>();
public static PayAdapterService getPayAdapterService(Integer type) {
public static PayAdapterService getPayAdapterService(Integer type) throws MallinkException{
if (serviceMap.containsKey(type)) {
return serviceMap.get(type);
}else {
@@ -26,6 +28,10 @@ public class PayServiceFactory {
}
serviceMap.put(type, payService);
}
return serviceMap.get(type);
PayAdapterService service = serviceMap.get(type);
if (null == service) {
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"payType["+type+"] 支付service未找到");
}
return service;
}
}

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