72 lines
1.8 KiB
JavaScript
72 lines
1.8 KiB
JavaScript
const dayjs = require("dayjs");
|
||
let db = null;
|
||
exports.main = async (event, mongodb) => {
|
||
db = mongodb;
|
||
switch (event.type) {
|
||
case "upDatetransferTime":
|
||
return await exports.upDatetransferTime(event);
|
||
case "judgeTransferTime":
|
||
return await exports.judgeTransferTime(event);
|
||
}
|
||
};
|
||
// 更新transferTime字段
|
||
exports.upDatetransferTime = async (event) => {
|
||
const { corpId, userId } = event;
|
||
try {
|
||
const transferTime = dayjs().valueOf();
|
||
await db.collection("corp-member").updateOne(
|
||
{ corpId, userid: userId }, // 查询条件
|
||
{ $set: { transferTime } } // 更新内容
|
||
);
|
||
return {
|
||
success: true,
|
||
message: "更新成功",
|
||
};
|
||
} catch (error) {
|
||
return {
|
||
success: false,
|
||
message: error.message,
|
||
};
|
||
}
|
||
};
|
||
|
||
// 判断transferTime是否过期 期限为30天
|
||
exports.judgeTransferTime = async (event) => {
|
||
const { corpId, userId, env } = event;
|
||
try {
|
||
const user = await db.collection("corp-member").findOne(
|
||
{ corpId, userid: userId } // 查询条件
|
||
);
|
||
// 如果没有transferTime字段,返回false
|
||
const { transferTime = "" } = user || {};
|
||
if (!transferTime) {
|
||
return {
|
||
success: true,
|
||
message: "获取成功",
|
||
data: {
|
||
isAfterToday: true,
|
||
remainingTime: 0,
|
||
},
|
||
};
|
||
}
|
||
const isAfterToday = dayjs().isAfter(dayjs(transferTime).add(30, "day"));
|
||
// 获取剩余天数
|
||
const remainingTime = dayjs(transferTime)
|
||
.add(30, "day")
|
||
.diff(dayjs(), "day");
|
||
return {
|
||
success: true,
|
||
message: "获取成功",
|
||
data: {
|
||
isAfterToday,
|
||
remainingTime,
|
||
},
|
||
};
|
||
} catch (error) {
|
||
return {
|
||
success: false,
|
||
message: error.message,
|
||
};
|
||
}
|
||
};
|