Merge remote-tracking branch 'origin/master'

This commit is contained in:
M_Kececi
2026-04-03 14:56:22 +03:00
parent 415e3db084
commit 07c000358e
2 changed files with 40 additions and 6 deletions

View File

@@ -15,11 +15,12 @@ import (
) )
type sendOrderMarketMailPayload struct { type sendOrderMarketMailPayload struct {
OrderHeaderID string `json:"orderHeaderID"` OrderHeaderID string `json:"orderHeaderID"`
Operation string `json:"operation"` Operation string `json:"operation"`
DeletedItems []string `json:"deletedItems"` DeletedItems []string `json:"deletedItems"`
UpdatedItems []string `json:"updatedItems"` UpdatedItems []string `json:"updatedItems"`
AddedItems []string `json:"addedItems"` AddedItems []string `json:"addedItems"`
ExtraRecipients []string `json:"extraRecipients"`
} }
func SendOrderMarketMailHandler(pg *sql.DB, mssql *sql.DB, ml *mailer.GraphMailer) http.HandlerFunc { func SendOrderMarketMailHandler(pg *sql.DB, mssql *sql.DB, ml *mailer.GraphMailer) http.HandlerFunc {
@@ -67,6 +68,7 @@ func SendOrderMarketMailHandler(pg *sql.DB, mssql *sql.DB, ml *mailer.GraphMaile
http.Error(w, "recipient query error: "+err.Error(), http.StatusInternalServerError) http.Error(w, "recipient query error: "+err.Error(), http.StatusInternalServerError)
return return
} }
recipients = appendUniqueRecipients(recipients, payload.ExtraRecipients...)
if len(recipients) == 0 { if len(recipients) == 0 {
http.Error(w, "no active email mapping for market", http.StatusBadRequest) http.Error(w, "no active email mapping for market", http.StatusBadRequest)
return return
@@ -242,6 +244,37 @@ ORDER BY email
return out, nil return out, nil
} }
func appendUniqueRecipients(base []string, extras ...string) []string {
seen := make(map[string]struct{}, len(base)+len(extras))
out := make([]string, 0, len(base)+len(extras))
for _, raw := range base {
mail := strings.ToLower(strings.TrimSpace(raw))
if mail == "" {
continue
}
if _, ok := seen[mail]; ok {
continue
}
seen[mail] = struct{}{}
out = append(out, mail)
}
for _, raw := range extras {
mail := strings.ToLower(strings.TrimSpace(raw))
if mail == "" {
continue
}
if _, ok := seen[mail]; ok {
continue
}
seen[mail] = struct{}{}
out = append(out, mail)
}
return out
}
func buildOrderPDFBytesForMail(db *sql.DB, pgDB *sql.DB, orderID string) ([]byte, *OrderHeader, error) { func buildOrderPDFBytesForMail(db *sql.DB, pgDB *sql.DB, orderID string) ([]byte, *OrderHeader, error) {
header, err := getOrderHeaderFromDB(db, orderID) header, err := getOrderHeaderFromDB(db, orderID)
if err != nil { if err != nil {

View File

@@ -1166,7 +1166,8 @@ async function sendUpdateMailAfterApply (selectedRows) {
operation: payload.operation, operation: payload.operation,
deletedItems: payload.deletedItems, deletedItems: payload.deletedItems,
updatedItems: payload.updatedItems, updatedItems: payload.updatedItems,
addedItems: payload.addedItems addedItems: payload.addedItems,
extraRecipients: ['urun@baggi.com.tr']
}) })
const sentCount = Number(res?.data?.sentCount || 0) const sentCount = Number(res?.data?.sentCount || 0)