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,
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
};
|