@@ -1,6 +1,7 @@ | |||
package com.qtzl.alterSales.dao.entity.primary; | |||
import com.qtzl.alterSales.manager.enums.PushStateEnum; | |||
import com.qtzl.alterSales.manager.enums.QtStateEnum; | |||
import com.qtzl.alterSales.manager.enums.SupplementartPayOrderStateEnum; | |||
import com.txffp.api.core.dao.entity.AbstractInsertTimeEntity; | |||
@@ -18,6 +19,8 @@ import java.time.LocalDateTime; | |||
@Table(name = "afl_supplementary_pay_order") | |||
public class AflSupplementaryPayOrder extends AbstractInsertTimeEntity { | |||
/*** 渠道编号 */ | |||
private String agentId; | |||
/*** 部签约协议号 */ | |||
private String agreementNum; | |||
/*** 用户名称 */ | |||
@@ -42,6 +45,8 @@ public class AflSupplementaryPayOrder extends AbstractInsertTimeEntity { | |||
private PushStateEnum pushState; | |||
/*** 补缴状态 */ | |||
private SupplementartPayOrderStateEnum state; | |||
/*** 由黔通轮扣或补缴成功后通知渠道状态。默认无需通知 */ | |||
private QtStateEnum qtState; | |||
/*** 补缴单号。补缴状态为SUCCESS时必填 */ | |||
private String supplementaryNo; | |||
/*** 补缴时间。补缴状态为SUCCESS时必填 */ | |||
@@ -49,6 +54,15 @@ public class AflSupplementaryPayOrder extends AbstractInsertTimeEntity { | |||
/*** 补缴通知时间 */ | |||
private LocalDateTime supplementaryNotifyTime; | |||
@Column(name = "agent_id") | |||
public String getAgentId() { | |||
return agentId; | |||
} | |||
public void setAgentId(String agentId) { | |||
this.agentId = agentId; | |||
} | |||
/*** 部签约协议号 */ | |||
@Column(name = "agreement_num") | |||
public String getAgreementNum() { | |||
@@ -170,7 +184,15 @@ public class AflSupplementaryPayOrder extends AbstractInsertTimeEntity { | |||
public void setPushState(PushStateEnum pushState) { | |||
this.pushState = pushState; | |||
} | |||
@Column(name = "qt_state") | |||
@Enumerated(value = EnumType.STRING) | |||
public QtStateEnum getQtState() { | |||
return qtState; | |||
} | |||
public void setQtState(QtStateEnum qtState) { | |||
this.qtState = qtState; | |||
} | |||
/*** 补缴状态 */ | |||
@Column(name = "state") | |||
@Enumerated(value = EnumType.STRING) |
@@ -0,0 +1,34 @@ | |||
package com.qtzl.alterSales.manager.enums; | |||
/*** | |||
* <p> | |||
* | |||
* </p> | |||
* @author hou yi | |||
* {@code @date} 2024/5/10 0:34 | |||
**/ | |||
public enum QtStateEnum { | |||
/*** | |||
* 枚举具体描述 | |||
**/ | |||
DEFAULT("DEFAULT", "无需通知"), | |||
SUCCESS("SUCCESS", "通知成功"), | |||
FAIL("FAIL", "通知失败"), | |||
; | |||
private final String code; | |||
private final String type; | |||
QtStateEnum(String code, String type) { | |||
this.code = code; | |||
this.type = type; | |||
} | |||
public String getCode() { | |||
return this.code; | |||
} | |||
public String getType() { | |||
return this.type; | |||
} | |||
} |
@@ -1,8 +1,11 @@ | |||
package com.qtzl.alterSales.manager.service; | |||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
import com.qtzl.alterSales.dao.entity.primary.AflSupplementaryPayOrder; | |||
import com.qtzl.alterSales.manager.model.protocol.sales.AflSupplementaryNotifyRequest; | |||
import java.time.LocalDateTime; | |||
/*** | |||
* <p> | |||
* 补缴单 service | |||
@@ -19,4 +22,12 @@ public interface AflSupplementaryPayOrderService { | |||
*/ | |||
void notifyHandler(AflSupplementaryNotifyRequest request) throws ServiceHandleException; | |||
/*** | |||
* 补缴成功后通知渠道。 supplementaryPayOrder 和 payId 不能同时为空 | |||
* @param payId 路网交易编号 | |||
* @param supplementaryTime 完成扣款时间 | |||
* @param supplementaryNo 商户订单号 | |||
*/ | |||
void paySuccessNotify(String payId, LocalDateTime supplementaryTime, String supplementaryNo); | |||
} |
@@ -5,9 +5,7 @@ import com.qtzl.alterSales.dao.entity.primary.AflSupplementaryPayOrder; | |||
import com.qtzl.alterSales.dao.entity.primary.FssPaccountPay; | |||
import com.qtzl.alterSales.dao.repo.jpa.primary.AflSupplementaryPayOrderRepo; | |||
import com.qtzl.alterSales.dao.repo.jpa.primary.FssPaccountPayRepo; | |||
import com.qtzl.alterSales.manager.enums.BlacklistOpType; | |||
import com.qtzl.alterSales.manager.enums.SupplementartPayOrderStateEnum; | |||
import com.qtzl.alterSales.manager.enums.SupplementaryNotifyStatusEnum; | |||
import com.qtzl.alterSales.manager.enums.*; | |||
import com.qtzl.alterSales.manager.model.protocol.UcServiceError; | |||
import com.qtzl.alterSales.manager.model.protocol.sales.AflSupplementaryNotifyRequest; | |||
import org.apache.commons.lang3.StringUtils; | |||
@@ -81,6 +79,23 @@ public class AflSupplementaryPayOrderServiceImpl implements AflSupplementaryPayO | |||
accountPayRepo.save(fssPaccountPay); | |||
} | |||
@Override | |||
public void paySuccessNotify(String payId, LocalDateTime supplementaryTime, String supplementaryNo) { | |||
// 补缴成功后通知渠道 | |||
AflSupplementaryPayOrder supplementaryPayOrder = supplementaryPayOrderRepo.findByPayId(payId); | |||
if (null == supplementaryPayOrder) { | |||
// 未生成补缴单的流水补扣成功后不推送 | |||
return; | |||
} | |||
supplementaryPayOrder.setSupplementaryTime(supplementaryTime); | |||
supplementaryPayOrder.setSupplementaryNo(supplementaryNo); | |||
supplementaryPayOrder.setState(SupplementartPayOrderStateEnum.SUCCESS); | |||
supplementaryPayOrder.setSupplementaryNotifyTime(LocalDateTime.now()); | |||
supplementaryPayOrder.setQtState(QtStateEnum.FAIL); | |||
supplementaryPayOrderRepo.save(supplementaryPayOrder); | |||
} | |||
private void userStateHandler(FssPaccountPay fssPaccountPay, String payId) { | |||
// 用户是否返白处理 | |||
final List<FssPaccountPay> accountPays = accountPayRepo.findByAgreementNum(fssPaccountPay.getAgreementNum()); |
@@ -66,6 +66,8 @@ public class ChoiceBillsOperationServiceImpl implements ChoiceBillsOperationServ | |||
private AflMchConfigManager mchConfigManager; | |||
@Resource | |||
private AflBydExceptionManager aflBydExceptionManager; | |||
@Resource | |||
private AflSupplementaryPayOrderService supplementaryPayOrderService; | |||
// 请不要改这个key | |||
private static final String REDIS_KEY = "PAY_FAIL_"; | |||
@@ -202,6 +204,8 @@ public class ChoiceBillsOperationServiceImpl implements ChoiceBillsOperationServ | |||
pay.setWxPayStatus(1); | |||
pay.setWxPayTime(payTime); | |||
pay.setWxOrderId(payOrder.getOrderNo()); | |||
// | |||
supplementaryPayOrderService.paySuccessNotify(pay.getPayId(), payTime, payOrder.getOrderNo()); | |||
}); | |||
accountPayRepo.saveAll(accountPayList); | |||
@@ -48,7 +48,7 @@ public class FssPaccountPayServiceImpl implements FssPaccountPayService { | |||
if (CollectionUtils.isEmpty(agreementBills)) { | |||
return Lists.newArrayList(); | |||
} | |||
// 过滤掉已生成补缴单的流水 | |||
/* // 过滤掉已生成补缴单的流水 | |||
final List<String> payIds = agreementBills.stream().map(FssPaccountPay::getPayId).toList(); | |||
final List<AflSupplementaryPayOrder> orders = supplementaryPayOrderRepo.findAll((root, query, cb) -> query.where( | |||
root.<String>get("payId").in(payIds) | |||
@@ -56,7 +56,7 @@ public class FssPaccountPayServiceImpl implements FssPaccountPayService { | |||
if (!CollectionUtils.isEmpty(orders)) { | |||
final List<String> orderPayIds = orders.stream().map(AflSupplementaryPayOrder::getPayId).toList(); | |||
agreementBills = agreementBills.stream().filter(vo -> !orderPayIds.contains(vo.getPayId())).toList(); | |||
} | |||
}*/ | |||
return toVo(agreementBills); | |||
} | |||