Seção 7. Implementação prática da função de pagamento do projeto - verificação de tarefas programadas, fechamento de pedidos, retirada de depósitos (reembolso)

Resumo

Na seção anterior, as funções de pagamento ativo e retorno de chamada de tarefa agendada foram concluídas. Embora o pagamento possa ser basicamente concluído desta forma, não é perfeito, principalmente quando o comerciante não consegue receber notificações da plataforma WeChat, o status do pedido não pode ser atualizado e o usuário nunca sabe se o pagamento foi bem-sucedido. Portanto, para evitar problemas causados ​​por anormalidades na rede, adotamos as seguintes soluções para compensar:

A tarefa agendada começa a cada 30 segundos, encontra os pedidos que foram criados nos últimos 10 minutos e não foram pagos e chama a "Interface de verificação de pedidos de pagamento do WeChat" para verificar o status do pedido. O sistema registra o número de consultas do pedido. Se o status ainda não for pago com sucesso após 10 consultas, ele interromperá as consultas subsequentes e chamará a "Interface de fechamento do pedido" para fechar o pedido. (Os comerciantes podem definir com flexibilidade o intervalo de pesquisa e o número de vezes de acordo com seus próprios cenários de negócios)

Lista de verificação de tarefas cronometradas

As tarefas agendadas usam springtask leve. Springtask não requer um pacote jar separado. Sua API é encapsulada no pacote spring-context, conforme mostrado na figura abaixo:
Insira a descrição da imagem aqui
É relativamente simples de usar e é muito adequado para o cenário de processamento de pedidos de tempo . No plano, mencionamos: comece a cada 30 segundos para saber os pedidos que foram criados e não pagos nos últimos 10 minutos . Primeiro, vamos criar uma tarefa agendada. O conteúdo principal da tarefa agendada inclui principalmente os seguintes itens:
(1) Consultar os registros da tabela de pedidos para obter pedidos criados em 10 minutos e não pagos. Isso pode ser baseado em mudanças de negócios. Alterei aqui para obter pedidos criados há 5 minutos a cada 10 segundos. e pedidos não processados, o princípio é realmente o mesmo, o objetivo é verificar o status dos pedidos não processados.
(2࿰

Acho que você gosta

Origin blog.csdn.net/superzhang6666/article/details/135342482
Recomendado
Clasificación