feat(web,api): teto de desconto em tempo real no carrinho do pedido
- GET /politicas/alcada: limites de desconto do proprio usuario logado - Carrinho (desktop e mobile) mostra "teto: X%" sob o campo de desconto de cada item - max(alcada do grupo, promocao, regra vigente), espelho do assertAlcadaItens; acima do teto o campo fica vermelho com aviso de que a transmissao sera bloqueada Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -97,6 +97,18 @@ export const UpdateRegraDescontoBodySchema = CreateRegraDescontoBodySchema.parti
|
||||
});
|
||||
export type UpdateRegraDescontoBody = z.infer<typeof UpdateRegraDescontoBodySchema>;
|
||||
|
||||
// Alçada do usuário logado — usada pelo carrinho para mostrar o teto por item
|
||||
export const AlcadaRepItemSchema = z.object({
|
||||
codGrupo: z.number().int(),
|
||||
limitePerc: z.number(),
|
||||
});
|
||||
export type AlcadaRepItem = z.infer<typeof AlcadaRepItemSchema>;
|
||||
|
||||
export const AlcadaRepResponseSchema = z.object({
|
||||
limites: z.array(AlcadaRepItemSchema),
|
||||
});
|
||||
export type AlcadaRepResponse = z.infer<typeof AlcadaRepResponseSchema>;
|
||||
|
||||
// Promoções vigentes hoje — visíveis ao rep para sinalizar condição no catálogo
|
||||
export const PromocaoVigenteSchema = z.object({
|
||||
id: z.number().int(),
|
||||
|
||||
Reference in New Issue
Block a user