From b2f8ac55a1e2cb75361ebacbfd8f748f0cf0453e Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Mon, 18 Nov 2024 06:45:10 -0500 Subject: [PATCH] protected duplicate --- wrenchboard/src/shared_tool/market.cc | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/wrenchboard/src/shared_tool/market.cc b/wrenchboard/src/shared_tool/market.cc index 5f000f35..c49991ce 100644 --- a/wrenchboard/src/shared_tool/market.cc +++ b/wrenchboard/src/shared_tool/market.cc @@ -120,6 +120,8 @@ long WrenchPromoAddList(CVars in, CVars &out){ logfmt(logINFO, "WrenchPromoAdminLogin()"); char vname[30]; long ret = PHP_API_BAD_PARAM; + CVars outX; + CVars x; try { @@ -133,13 +135,24 @@ logfmt(logINFO, "WrenchPromoAdminLogin()"); ret = load_db_record( out, "SELECT *,id AS promo_admin_id FROM promo_admin WHERE status=1 AND id=%lu AND uid::text='%s'", admin_id, in["admin_uid"].c_str() ); if (ret && out["promo_admin_id"].Long() > 0) { - x["admin_id"] = admin_id; x["admin_id"].set_valid(true); - x["email"] = in["email"]; x["email"].set_valid(true); - x["firstname"] = in["firstname"]; x["firstname"].set_valid(true); - x["lastname"] = in["lastname"]; x["lastname"].set_valid(true); + long retF = load_db_record( outX, "SELECT *,id AS promo_admin_id " + "FROM promo_member WHERE (email)=LOWER('%s') AND admin_id= %lu", in["email"].c_str(), admin_id ); + if (retF && outX["promo_admin_id"].Long() > 0) { + out["status_message"] = "Error Duplicate Found"; + ret = PHP_API_OK; + out["status"] = "OK"; + return 0; + } - x["loc"] = in["loc"]; x["loc"].set_valid(true); - long sid = insert_db_record(DBS_VALID, "promo_member", "promo_member_id_seq", x); + x["admin_id"] = admin_id; x["admin_id"].set_valid(true); + x["email"] = in["email"]; x["email"].set_valid(true); + x["firstname"] = in["firstname"]; x["firstname"].set_valid(true); + x["lastname"] = in["lastname"]; x["lastname"].set_valid(true); + x["loc"] = in["loc"]; x["loc"].set_valid(true); + long sid = insert_db_record(DBS_VALID, "promo_member", "promo_member_id_seq", x); + if (sid > 0 ){ + out["status_message"] = "New Entry Added"; + } // there will be promo action