更新N个复活礼包
This commit is contained in:
parent
0b9a0b93fb
commit
8ab07ab52f
|
|
@ -96,6 +96,7 @@ export default async function (ctx: FunctionContext) {
|
||||||
userPowerTime: migratedUser?.userPowerTime ?? 0,
|
userPowerTime: migratedUser?.userPowerTime ?? 0,
|
||||||
monthCardReward: migratedUser?.monthCardReward ?? 0,
|
monthCardReward: migratedUser?.monthCardReward ?? 0,
|
||||||
monthCardTime: migratedUser?.monthCardTime ?? 0,
|
monthCardTime: migratedUser?.monthCardTime ?? 0,
|
||||||
|
miniProgramWelfare: { favorite: false, desktop: false },
|
||||||
rebornGiftCount: 0,
|
rebornGiftCount: 0,
|
||||||
rebornGiftTime: 0,
|
rebornGiftTime: 0,
|
||||||
useravatar: Math.floor(Math.random() * 4) + "",
|
useravatar: Math.floor(Math.random() * 4) + "",
|
||||||
|
|
@ -303,6 +304,11 @@ export default async function (ctx: FunctionContext) {
|
||||||
userData.shareLv = [];
|
userData.shareLv = [];
|
||||||
}
|
}
|
||||||
userData.careerAmount = userData.careerAmount || 0;
|
userData.careerAmount = userData.careerAmount || 0;
|
||||||
|
// 老用户缺少字段或某一项时按未领取返回,不写回整对象,避免覆盖并发领取。
|
||||||
|
userData.miniProgramWelfare = {
|
||||||
|
favorite: userData.miniProgramWelfare?.favorite === true,
|
||||||
|
desktop: userData.miniProgramWelfare?.desktop === true,
|
||||||
|
};
|
||||||
if (dbname === "users") {
|
if (dbname === "users") {
|
||||||
userData.abTests = abTests;
|
userData.abTests = abTests;
|
||||||
}
|
}
|
||||||
|
|
@ -453,6 +459,10 @@ async function getIosOrder(openid, ctx) {
|
||||||
await db.collection("users").where({ _id: res1.data._id }).update({ pay_user: true });
|
await db.collection("users").where({ _id: res1.data._id }).update({ pay_user: true });
|
||||||
break;
|
break;
|
||||||
case "reborn_Gift":
|
case "reborn_Gift":
|
||||||
|
case "reborn_Gift_2":
|
||||||
|
case "reborn_Gift_3":
|
||||||
|
case "reborn_Gift_4":
|
||||||
|
case "reborn_Gift_5":
|
||||||
db.collection("users").where({ _id: res1.data._id }).update({ rebornGiftTime: Date.now(), rebornGiftCount: 0, pay_user: true });
|
db.collection("users").where({ _id: res1.data._id }).update({ rebornGiftTime: Date.now(), rebornGiftCount: 0, pay_user: true });
|
||||||
break;
|
break;
|
||||||
case "starter_pack":
|
case "starter_pack":
|
||||||
|
|
@ -463,7 +473,8 @@ async function getIosOrder(openid, ctx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// 月卡补单确认成功后进入待客户端补发状态。
|
// 月卡补单确认成功后进入待客户端补发状态。
|
||||||
if (res.data[i].itemid === "month_Card" || jungleTier || /^battlepass(?:_30|_12)?$/.test(res.data[i].itemid)) {
|
if (res.data[i].itemid === "month_Card" || jungleTier || /^battlepass(?:_30|_12)?$/.test(res.data[i].itemid)
|
||||||
|
|| /^reborn_Gift(?:_[2-5])?$/.test(res.data[i].itemid)) {
|
||||||
await db.collection("order").where({ outTradeNo: res.data[i].outTradeNo }).update({ state: 1 });
|
await db.collection("order").where({ outTradeNo: res.data[i].outTradeNo }).update({ state: 1 });
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
import * as StarterPackModule from "@/limitedTimeEvent";
|
import * as StarterPackModule from "@/limitedTimeEvent";
|
||||||
const StarterPack: any = StarterPackModule as any;
|
const StarterPack: any = StarterPackModule as any;
|
||||||
import * as StarterPackModule from "@/limitedTimeEvent";
|
|
||||||
const StarterPack: any = StarterPackModule as any;
|
|
||||||
import cloud from '@lafjs/cloud'
|
import cloud from '@lafjs/cloud'
|
||||||
import { passOrderFields, PASS_PRICES } from '@/passCheckUpgrade';
|
import { passOrderFields, PASS_PRICES } from '@/passCheckUpgrade';
|
||||||
// const token = "nika123";
|
// const token = "nika123";
|
||||||
|
|
@ -104,6 +102,8 @@ async function frontsign(data) {
|
||||||
return signature
|
return signature
|
||||||
}
|
}
|
||||||
const propName = {
|
const propName = {
|
||||||
|
reborn_Gift: "复活礼包6元", reborn_Gift_2: "复活礼包8元", reborn_Gift_3: "复活礼包10元",
|
||||||
|
reborn_Gift_4: "复活礼包12元", reborn_Gift_5: "复活礼包15元",
|
||||||
battlepass: '基础战令', battlepass_30: '高级战令', battlepass_12: '战令升级',
|
battlepass: '基础战令', battlepass_30: '高级战令', battlepass_12: '战令升级',
|
||||||
gold_1: "金币包1",
|
gold_1: "金币包1",
|
||||||
gold_2: "金币包2",
|
gold_2: "金币包2",
|
||||||
|
|
@ -153,6 +153,11 @@ async function PostMsg(OpenId, msg) {
|
||||||
return "ok"
|
return "ok"
|
||||||
}
|
}
|
||||||
async function PostImg(OpenId, outTradeNo, name, count, price, passInput: any = {}) {
|
async function PostImg(OpenId, outTradeNo, name, count, price, passInput: any = {}) {
|
||||||
|
const rebornPrice = { reborn_Gift: 600, reborn_Gift_2: 800, reborn_Gift_3: 1000, reborn_Gift_4: 1200, reborn_Gift_5: 1500 };
|
||||||
|
if (/^reborn_Gift(?:_[2-5])?$/.test(name)) {
|
||||||
|
count = 1;
|
||||||
|
price = rebornPrice[name];
|
||||||
|
}
|
||||||
let passFields: any = {};
|
let passFields: any = {};
|
||||||
if (Object.prototype.hasOwnProperty.call(PASS_PRICES, name)) {
|
if (Object.prototype.hasOwnProperty.call(PASS_PRICES, name)) {
|
||||||
const owner = await db.collection('users').where({ openid: OpenId }).getOne();
|
const owner = await db.collection('users').where({ openid: OpenId }).getOne();
|
||||||
|
|
|
||||||
|
|
@ -15,5 +15,14 @@ export default async function (ctx: FunctionContext) {
|
||||||
if (order.data.itemid !== "month_Card") {
|
if (order.data.itemid !== "month_Card") {
|
||||||
await db.collection("order").where({ outTradeNo: outTradeNo }).update({ state: 2, getTime: new Date(Date.now() + 8 * 3600000) });
|
await db.collection("order").where({ outTradeNo: outTradeNo }).update({ state: 2, getTime: new Date(Date.now() + 8 * 3600000) });
|
||||||
}
|
}
|
||||||
|
if (/^reborn_Gift(?:_[2-5])?$/.test(order.data.itemid)) {
|
||||||
|
const user = await db.collection("users").where({ _id: ctx.body.uid }).getOne();
|
||||||
|
if (!user.data || user.data.openid !== order.data.openid) {
|
||||||
|
return { code: 0, data: null, msg: "充值订单不属于当前玩家" };
|
||||||
|
}
|
||||||
|
if (order.data.state !== 1 && order.data.state !== 2) {
|
||||||
|
return { code: 0, data: null, msg: "充值尚未成功" };
|
||||||
|
}
|
||||||
|
}
|
||||||
return { code: 1, data: "ok", msg: "成功" };
|
return { code: 1, data: "ok", msg: "成功" };
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,9 @@ export default async function (ctx: FunctionContext) {
|
||||||
return { code: 0, data: null, msg: "未获取到充值信息" };
|
return { code: 0, data: null, msg: "未获取到充值信息" };
|
||||||
}
|
}
|
||||||
let payment_name = ret.data?.itemid;
|
let payment_name = ret.data?.itemid;
|
||||||
|
const rebornGift = /^reborn_Gift(?:_[2-5])?$/.test(payment_name);
|
||||||
|
const rebornPending = rebornGift && Number(ctx.body.rebornGiftVersion) === 1;
|
||||||
|
if (rebornGift && !uid) return { code: 0, data: null, msg: "未获取到玩家数据" };
|
||||||
if (isUpgradeOrder(ret.data) && ret.data.state === 2) return { code: 1, data: { payment_name, goodsPrice: ret.data.goodsPrice } };
|
if (isUpgradeOrder(ret.data) && ret.data.state === 2) return { code: 1, data: { payment_name, goodsPrice: ret.data.goodsPrice } };
|
||||||
if (res && payment_name === "starter_pack") {
|
if (res && payment_name === "starter_pack") {
|
||||||
try {
|
try {
|
||||||
|
|
@ -45,6 +48,9 @@ export default async function (ctx: FunctionContext) {
|
||||||
if (!res1.data) {
|
if (!res1.data) {
|
||||||
return { code: 0, data: null, msg: "未获取到玩家数据" };
|
return { code: 0, data: null, msg: "未获取到玩家数据" };
|
||||||
}
|
}
|
||||||
|
if (rebornGift && ret.data.openid !== res1.data.openid) {
|
||||||
|
return { code: 0, data: null, msg: "充值订单不属于当前玩家" };
|
||||||
|
}
|
||||||
paidUser = res1.data;
|
paidUser = res1.data;
|
||||||
if (!iosOrder) {
|
if (!iosOrder) {
|
||||||
iosOrder = {};
|
iosOrder = {};
|
||||||
|
|
@ -65,6 +71,10 @@ export default async function (ctx: FunctionContext) {
|
||||||
await db.collection("users").where({ _id: uid }).update({ pay_user: true });
|
await db.collection("users").where({ _id: uid }).update({ pay_user: true });
|
||||||
break;
|
break;
|
||||||
case "reborn_Gift":
|
case "reborn_Gift":
|
||||||
|
case "reborn_Gift_2":
|
||||||
|
case "reborn_Gift_3":
|
||||||
|
case "reborn_Gift_4":
|
||||||
|
case "reborn_Gift_5":
|
||||||
db.collection("users").where({ _id: uid }).update({ rebornGiftTime: Date.now(), rebornGiftCount: 0, pay_user: true });
|
db.collection("users").where({ _id: uid }).update({ rebornGiftTime: Date.now(), rebornGiftCount: 0, pay_user: true });
|
||||||
break;
|
break;
|
||||||
case "starter_pack":
|
case "starter_pack":
|
||||||
|
|
@ -75,11 +85,11 @@ export default async function (ctx: FunctionContext) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 月卡等待 monthlyCard 完成加时后再进入 state=2,其他商品保持原逻辑。
|
// 新版复活礼包等待客户端去重发奖后确认;旧客户端保持直接完成订单。
|
||||||
await db.collection("order").where({ outTradeNo: outTradeNo, ...(isUpgradeOrder(ret.data) ? { state: ret.data.state } : {}) }).update({
|
await db.collection("order").where({ outTradeNo: outTradeNo, ...(isUpgradeOrder(ret.data) ? { state: ret.data.state } : {}) }).update({
|
||||||
state: payment_name === "month_Card" || isUpgradeOrder(ret.data) ? 1 : 2,
|
state: payment_name === "month_Card" || isUpgradeOrder(ret.data) || rebornPending ? 1 : 2,
|
||||||
chargeTime: new Date(Date.now() + 8 * 3600000),
|
chargeTime: new Date(Date.now() + 8 * 3600000),
|
||||||
...(payment_name === "month_Card" || isUpgradeOrder(ret.data) ? {} : { getTime: new Date(Date.now() + 8 * 3600000) }),
|
...(payment_name === "month_Card" || isUpgradeOrder(ret.data) || rebornPending ? {} : { getTime: new Date(Date.now() + 8 * 3600000) }),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,11 @@ export default async function (ctx: FunctionContext) {
|
||||||
let itemid = ctx.body.itemid;
|
let itemid = ctx.body.itemid;
|
||||||
let itemCount = ctx.body.itemCount;
|
let itemCount = ctx.body.itemCount;
|
||||||
let itemPrice = ctx.body.itemPrice;
|
let itemPrice = ctx.body.itemPrice;
|
||||||
|
const rebornPrice = { reborn_Gift: 600, reborn_Gift_2: 800, reborn_Gift_3: 1000, reborn_Gift_4: 1200, reborn_Gift_5: 1500 };
|
||||||
|
if (/^reborn_Gift(?:_[2-5])?$/.test(itemid)) {
|
||||||
|
itemCount = 1;
|
||||||
|
itemPrice = rebornPrice[itemid];
|
||||||
|
}
|
||||||
let user = await db.collection("users").where({ _id: uid }).getOne();
|
let user = await db.collection("users").where({ _id: uid }).getOne();
|
||||||
if (user.data == null) {
|
if (user.data == null) {
|
||||||
return { code: 0, data: null, msg: "未获取到玩家数据" };
|
return { code: 0, data: null, msg: "未获取到玩家数据" };
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,11 @@ export default async function (ctx: FunctionContext) {
|
||||||
let itemid = ctx.body.itemid;
|
let itemid = ctx.body.itemid;
|
||||||
let itemCount = ctx.body.itemCount;
|
let itemCount = ctx.body.itemCount;
|
||||||
let itemPrice = ctx.body.itemPrice;
|
let itemPrice = ctx.body.itemPrice;
|
||||||
|
const rebornPrice = { reborn_Gift: 600, reborn_Gift_2: 800, reborn_Gift_3: 1000, reborn_Gift_4: 1200, reborn_Gift_5: 1500 };
|
||||||
|
if (/^reborn_Gift(?:_[2-5])?$/.test(itemid)) {
|
||||||
|
itemCount = 1;
|
||||||
|
itemPrice = rebornPrice[itemid];
|
||||||
|
}
|
||||||
let user = await db.collection("users").where({ _id: uid }).getOne();
|
let user = await db.collection("users").where({ _id: uid }).getOne();
|
||||||
if (user.data == null) {
|
if (user.data == null) {
|
||||||
return { code: 0, data: null, msg: "未获取到玩家数据" };
|
return { code: 0, data: null, msg: "未获取到玩家数据" };
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user