refersonprado / order-custom-code
Certisign Order Custom Code
Package info
github.com/refersonprado/order-custom-code
Type:magento2-module
pkg:composer/refersonprado/order-custom-code
Requires
- php: ^8.1
- magento/framework: *
README
Este módulo para Magento 2 gera automaticamente um código identificador personalizado (custom_code) para cada pedido realizado na loja. O código é persistido na base de dados e disponibilizado para visualização no frontend, painel administrativo e via API.
Funcionalidades
- Geração Automática: O código é gerado durante o checkout através do evento
sales_order_place_before. - Lógica de Composição: O identificador segue o padrão
{Prefixo}-{AnoMês}-{IncrementId}-{QuantidadeTotal}. - Configuração Flexível: Ativação e definição de prefixo via Admin.
- Visibilidade:
- Exibição na página de sucesso do checkout.
- Coluna dedicada na grid de pedidos (Sales Grid).
- Bloco informativo no detalhe do pedido no Admin.
- Retroatividade: Comando de console para popular pedidos antigos.
Instalação
Via Composer (Recomendado)
- No terminal, execute:
composer require refersonprado/order-custom-code
(Nota: Requer que o repositório esteja configurado no teu composer.json). - Atualize os módulos:
bin/magento setup:upgrade
Via app/code (Manual)
- Cria a estrutura de pastas:
app/code/Certisign/OrderCustomCode. - Copie todos os arquivos do módulo para este diretório.
- Execute os seguintes comandos do Magento:
bin/magento module:enable Certisign_OrderCustomCode bin/magento setup:upgrade bin/magento setup:di:compile bin/magento setup:static-content:deploy
Configuração
- Navegue até Lojas > Configuração > Certisign > Order Custom Code.
- Enable: Ativa a funcionalidade.
- Prefix: Define o prefixo desejado (ex: VAL).
Comandos CLI
Para gerar códigos para pedidos que foram criados antes da instalação do módulo, utilize o comando:
bin/magento certisign:order:populate-custom-code
Informações Adicionais
Caso deseje fazer consultar SQL irei deixar algumas para facilitar o processo, como consulta por custom_code, update em massa para resetar o campo e update em massa para popular campos de pedidos que já foram feitos antes da implementação.
- SELECT para consulta por custom code
SELECT * FROM sales_order WHERE custom_code = 'VALOR-DO-CUSTOM-CODE';
- UPDATE para limpar todos os custom_code
UPDATE sales_order SET custom_code = '' WHERE custom_code IS NOT NULL;
- UPDATE para pedidos que já foram feitos
UPDATE sales_order
SET
custom_code = CONCAT(
'VAL', '-',
DATE_FORMAT(created_at, '%Y%m'), '-',
increment_id, '-',
CAST(total_qty_ordered AS UNSIGNED)
),
updated_at = NOW()
WHERE
custom_code