diff --git a/wrenchboard/src/include/wrenchboard_api.h b/wrenchboard/src/include/wrenchboard_api.h index 55dfa802..b12c1dad 100644 --- a/wrenchboard/src/include/wrenchboard_api.h +++ b/wrenchboard/src/include/wrenchboard_api.h @@ -257,8 +257,8 @@ enum { PARTNER_STRIPE }; #define WRENCHBOARD_COUPON_ACTIVATE 85015 #define WRENCHBOARD_COUPON_REDEEM 85020 #define WRENCHBOARD_COUPON_MEMLIST 85025 - -#define WRENCHBOARD_COUPON_END 85999 +#define WRENCHBOARD_COUPON_PENDLIST 85030 +#define WRENCHBOARD_COUPON_END 85999 //************************************************************** diff --git a/wrenchboard/src/shared_tool/account.cc b/wrenchboard/src/shared_tool/account.cc index 78d035d1..b1610bf7 100644 --- a/wrenchboard/src/shared_tool/account.cc +++ b/wrenchboard/src/shared_tool/account.cc @@ -1240,6 +1240,8 @@ long SessionCheck(long uid, const char *sessionid, int create) { return 0L; // No route } + + long LoginWrenchBoardAccount(CVars in, CVars &out) { long ret = PHP_API_BAD_PARAM; logfmt(logINFO, "LoginWrenchBoardAccount()"); diff --git a/wrenchboard/src/shared_tool/coupons.cc b/wrenchboard/src/shared_tool/coupons.cc index cb4a04a6..a3611e1b 100644 --- a/wrenchboard/src/shared_tool/coupons.cc +++ b/wrenchboard/src/shared_tool/coupons.cc @@ -23,6 +23,9 @@ #define WRENCHBOARD_COUPON_ACTIVATE 85015 #define WRENCHBOARD_COUPON_REDEEM 85020 +#define WRENCHBOARD_COUPON_MEMLIST 85025 +#define WRENCHBOARD_COUPON_PENDLIST 85030 + #define WRENCHBOARD_COUPON_END 85999 ****** */ long MemberCouponList( CVars in, CVars &out ); @@ -56,6 +59,10 @@ logfmt(logINFO, "coupons_calls()"); return MemberCouponList(in, out); break; + case WRENCHBOARD_COUPON_PENDLIST: // member list + return MemberCouponList(in, out); + break; + } logfmt(logINFO, "/coupons_calls()"); return ret; @@ -166,26 +173,48 @@ return ret; long MemberCouponList( CVars in, CVars &out ){ -/* -wrenchboard=> select * from coupons_allocation WHERE member_id = 1 ORDER BY added DESC; - id | code | amount | member_id | added | active | loc | status -----+------------+--------+-----------+----------------------------+----------------------------+-----+-------- - 7 | WE4BXKLMDP | 200000 | 1 | 2022-06-03 01:07:50.321491 | 2022-06-03 01:12:01.209814 | | 500 - 6 | QPKM5NEACA | 200000 | 1 | 2022-06-03 01:07:48.053047 | 2022-06-03 01:12:59.395797 | | 500 - 5 | RGSPQUDOVA | 200000 | 1 | 2022-06-03 01:04:01.632499 | 2022-06-03 01:14:43.54169 | | 500 - 4 | TH9UGRZV0D | 200000 | 1 | 2022-05-31 19:58:09.980929 | | | 500 - 3 | I2B5OCO8LP | 200000 | 1 | 2022-05-31 19:55:29.376655 | 2022-06-02 00:27:43.371677 | | 500 - 2 | U1RBYNH9QV | 0 | 1 | 2022-05-31 19:52:30.010599 | 2022-06-02 00:26:36.12992 | | 500 - 1 | 1M5IXDSGRK | 0 | 1 | 2022-05-31 19:16:00.499092 | 2022-06-02 00:24:38.080741 | | 500 -(7 rows) + logfmt(logINFO, "MemberCouponList()"); + char vname[30]; + long ret = PHP_API_BAD_PARAM; -wrenchboard=> -wrenchboard=> -wrenchboard=> -wrenchboard=> -*/ -return 0; + try { + REQ_LONG(in, "member_id", 1, -1); + out["total_record"] = "0"; + const PGresult *res; + res = pgsql_query("SELECT id AS coupon_id, ca.code, ca.amount, ca.added::date,ca.status FROM coupons_allocation ca WHERE ca.member_id = %lu AND ca.active IS NULL ORDER BY ca.id DESC", in["member_id"].Long()); + + if (res != NULL && pgsql_num_rows(res) > 0) { + out["total_record"] = pgsql_num_rows(res); + + for (int i = 0, n = pgsql_num_rows(res); i < n; i++) { + mapf = pgsql_fetch_assoc(res, i); + if (f.empty()) continue; + CVars rec; + map_to_cvars(f, rec); + + snprintf(vname, sizeof (vname), "coupon_id_%05d", i); + out[vname] = rec["coupon_id"]; + + snprintf(vname, sizeof (vname), "code_%05d", i); + out[vname] = rec["code"]; + + snprintf(vname, sizeof (vname), "added_%05d", i); + out[vname] = rec["added"]; + + snprintf(vname, sizeof (vname), "status_%05d", i); + out[vname] = rec["status"]; + + } + } + ret = PHP_API_OK; + out["status"] = "OK"; + } catch (bad_parameter) { + logfmt(logINFO, "ERROR CALL long MemberCouponList(CVars in, CVars &out)"); + } + logfmt(logINFO, "/MemberCouponList()"); + return ret; } + long CreateCoupon( CVars in, CVars &out ){ long ret = 0; logfmt(logINFO, "CreateCoupon()");