This commit is contained in:
张成
2026-03-24 16:07:07 +08:00
parent aa8eaa6ccd
commit 268520a0f2
3 changed files with 66 additions and 11 deletions

View File

@@ -1,16 +1,8 @@
const crud = require("../service/biz_admin_crud");
const { getRequestBody } = crud;
const baseModel = require("../../middleware/baseModel");
const logic = require("../service/biz_subscription_logic");
function getRequestBody(ctx) {
if (ctx.request && ctx.request.body && Object.keys(ctx.request.body).length > 0) {
return ctx.request.body;
}
if (typeof ctx.getBody === "function") {
return ctx.getBody() || {};
}
return {};
}
const audit = require("../service/biz_audit_service");
module.exports = {
"POST /biz_subscription/page": async (ctx) => {
@@ -36,21 +28,53 @@ module.exports = {
"POST /biz_subscription/open": async (ctx) => {
const body = getRequestBody(ctx);
const row = await logic.openSubscription(body);
await audit.logAudit({
admin_user_id: audit.pickAdminId(ctx),
biz_user_id: body.user_id,
action: "biz_subscription.open",
resource_type: "biz_subscription",
resource_id: row.id,
detail: { plan_id: body.plan_id, status: row.status },
});
ctx.success(row);
},
"POST /biz_subscription/upgrade": async (ctx) => {
const body = getRequestBody(ctx);
const row = await logic.upgradeSubscription(body);
await audit.logAudit({
admin_user_id: audit.pickAdminId(ctx),
action: "biz_subscription.upgrade",
resource_type: "biz_subscription",
resource_id: body.subscription_id,
detail: { new_plan_id: body.new_plan_id },
});
ctx.success(row);
},
"POST /biz_subscription/renew": async (ctx) => {
const body = getRequestBody(ctx);
const row = await logic.renewSubscription(body);
await audit.logAudit({
admin_user_id: audit.pickAdminId(ctx),
action: "biz_subscription.renew",
resource_type: "biz_subscription",
resource_id: body.subscription_id,
});
ctx.success(row);
},
"POST /biz_subscription/cancel": async (ctx) => {
const body = getRequestBody(ctx);
const row = await logic.cancelSubscription(body);
await audit.logAudit({
admin_user_id: audit.pickAdminId(ctx),
action: "biz_subscription.cancel",
resource_type: "biz_subscription",
resource_id: body.subscription_id,
});
ctx.success(row);
},
"POST /biz_subscription/export": async (ctx) => {
const body = getRequestBody(ctx);
const res = await crud.exportCsv("biz_subscription", body);
ctx.success(res);
},
};