Commit 417aa155 authored by qinhaitao's avatar qinhaitao

opt

parent 5bc86ecb
......@@ -67,30 +67,35 @@ var Task = /** @class */ (function () {
var userInfo = _a.userInfo, vipInfo = _a.vipInfo, activityInfo = _a.activityInfo, session = _a.session;
var taskService = _b[0];
return __awaiter(this, void 0, void 0, function () {
var tasks, updatedUserInfo, _c, _d, _e, _f, vipTask, followTask, browseGoodsTask;
var tasks, startTime, updatedUserInfo, _c, _d, _e, _f, vipTask, followTask;
return __generator(this, function (_g) {
switch (_g.label) {
case 0:
tasks = activityInfo.tasks;
tasks = activityInfo.tasks, startTime = activityInfo.startTime;
_d = (_c = taskService).updateTasks;
_e = [userInfo._id];
_f = [taskService.updateVipTaskStatus(userInfo, vipInfo, tasks)];
return [4 /*yield*/, taskService.updateOrderGoodsTask(userInfo, tasks, session)];
return [4 /*yield*/, taskService.updateOrderGoodsTask(userInfo, tasks, startTime, session)];
case 1: return [4 /*yield*/, _d.apply(_c, _e.concat([_f.concat([
_g.sent()
])]))
// 会员任务
];
]), userInfo]))];
case 2:
updatedUserInfo = _g.sent();
if (!updatedUserInfo)
return [2 /*return*/, sdk_1.resultsModel.error(constants_1.CODE_TYPES.SYSTEM_ERROR, '更新任务列表失败')
// 会员任务
];
vipTask = taskService.initVipTask(updatedUserInfo, vipInfo, tasks);
followTask = taskService.initFollowTask(updatedUserInfo, tasks);
browseGoodsTask = taskService.initBrowseGoodsTask(updatedUserInfo, tasks);
// // 下单任务
// const orderGoodsTask = taskService.initOrderGoodsTask(updatedUserInfo, tasks)
// // 浏览商品任务
// const browseGoodsTask = taskService.initBrowseGoodsTask(updatedUserInfo, tasks)
// // 邀请任务
// const invitesTask = taskService.initInvitesTask(updatedUserInfo, tasks)
// 积分兑换
//const exchangeCreditsTask = taskService.initExchangeCreditsTask(updatedUserInfo, tasks)
return [2 /*return*/, sdk_1.resultsModel.success([vipTask, followTask, browseGoodsTask])];
return [2 /*return*/, sdk_1.resultsModel.success([vipTask, followTask])];
}
});
});
......@@ -128,7 +133,7 @@ var Task = /** @class */ (function () {
var userInfo = _a.userInfo, activityInfo = _a.activityInfo, session = _a.session;
var userService = _b[0], taskService = _b[1];
return __awaiter(this, void 0, void 0, function () {
var openId, credits, _id, _c, taskInfo, taskType, _d, value, times, taskRateType, today, todayTimes, myCredits, result;
var openId, credits, _id, _c, taskInfo, taskType, _d, value, times, taskRateType, today, todayCompleteTimes, myCredits, result;
return __generator(this, function (_e) {
switch (_e.label) {
case 0:
......@@ -138,9 +143,9 @@ var Task = /** @class */ (function () {
taskType = "exchangeCredits";
_d = activityInfo.tasks.exchangeCredits, value = _d.value, times = _d.times, taskRateType = _d.taskRateType;
today = utils_1.getToday();
todayTimes = taskService.getTodayCompleteTask(taskType, userInfo).todayTimes;
todayCompleteTimes = taskService.getTodayCompleteTask(taskType, userInfo).todayCompleteTimes;
// 如果每日限制次数并到达了限制次数
if (times && times === todayTimes && taskRateType === constants_1.TASK_RATE_TYPE.EVERYDAY) {
if (times && times === todayCompleteTimes && taskRateType === constants_1.TASK_RATE_TYPE.EVERYDAY) {
return [2 /*return*/, sdk_1.resultsModel.error(constants_1.CODE_TYPES.ERROR_TASK_LIMIT)];
}
return [4 /*yield*/, sdk_1.TBAPIS.queryCredits(context, session)];
......@@ -181,7 +186,7 @@ var Task = /** @class */ (function () {
var userInfo = _a.userInfo, activityInfo = _a.activityInfo;
var taskService = _b[0];
return __awaiter(this, void 0, void 0, function () {
var taskType, itemId, _c, taskRateType, times, itemIds, value, itemIdArray, _d, todayTaskInfo, todayTimes, hasCompleteToday;
var taskType, itemId, _c, taskRateType, times, itemIds, value, itemIdArray, _d, todayTaskInfo, todayCompleteTimes, hasCompleteToday;
return __generator(this, function (_e) {
switch (_e.label) {
case 0:
......@@ -192,7 +197,7 @@ var Task = /** @class */ (function () {
// B端配置商品ids不匹配正确
if (!itemIdArray.includes(+itemId))
return [2 /*return*/, sdk_1.resultsModel.error(constants_1.CODE_TYPES.PARAMS_ERROR, '商品id不匹配')];
_d = taskService.getTodayCompleteTask('browseGoods', userInfo), todayTaskInfo = _d.todayTaskInfo, todayTimes = _d.todayTimes;
_d = taskService.getTodayCompleteTask('browseGoods', userInfo), todayTaskInfo = _d.todayTaskInfo, todayCompleteTimes = _d.todayCompleteTimes;
hasCompleteToday = todayTaskInfo.filter(function (v) { return v.itemId === itemId; }).length &&
taskRateType === constants_1.TASK_RATE_TYPE.EVERYDAY;
// 今日任务已经完成
......@@ -200,7 +205,7 @@ var Task = /** @class */ (function () {
return [2 /*return*/, sdk_1.resultsModel.error(constants_1.CODE_TYPES.PARAMS_ERROR, '今日该商品任务已完成')];
}
// 次数超限
if (times && times === todayTimes && taskRateType === constants_1.TASK_RATE_TYPE.EVERYDAY) {
if (times && times === todayCompleteTimes && taskRateType === constants_1.TASK_RATE_TYPE.EVERYDAY) {
return [2 /*return*/, sdk_1.resultsModel.error(constants_1.CODE_TYPES.ERROR_TASK_LIMIT)];
}
// 更新user表
......
{"version":3,"file":"task.controller.js","sourceRoot":"","sources":["../../src/controller/task.controller.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
{"version":3,"file":"task.controller.js","sourceRoot":"","sources":["../../src/controller/task.controller.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
......@@ -11,7 +11,8 @@ interface ITaskInfo {
done?: boolean;
itemIds?: string;
todayCompleteTimes?: number;
taskLimitTimes?: number;
taskRateType: number;
times?: number;
waitReceive?: number;
title: string;
}
......@@ -21,25 +22,13 @@ export default class TaskService extends UserService {
initOrderGoodsTask(userInfo: IUserInfo, tasks: ITasks): ITaskInfo;
initBrowseGoodsTask(userInfo: IUserInfo, tasks: ITasks): ITaskInfo;
initInvitesTask(userInfo: IUserInfo, tasks: ITasks): ITaskInfo;
initFollowTask(userInfo: IUserInfo, tasks: ITasks): {
taskType: string;
title: string;
rewards: number;
waitReceive: number;
done: boolean;
};
initExchangeCreditsTask(userInfo: IUserInfo, tasks: ITasks): {
taskType: string;
title: string;
rewards: number;
waitReceive: number;
done: boolean;
};
initFollowTask(userInfo: IUserInfo, tasks: ITasks): ITaskInfo;
initExchangeCreditsTask(userInfo: IUserInfo, tasks: ITasks): ITaskInfo;
updateVipTaskStatus(userInfo: IUserInfo, vipInfo: IVipInfo, tasks: ITasks): {
member: IMemberInfo;
remainTimes: IRemainTimesInfo;
};
updateOrderGoodsTask(userInfo: IUserInfo, tasks: ITasks, session?: string): Promise<{
updateOrderGoodsTask(userInfo: IUserInfo, tasks: ITasks, activityStartTime: number, session?: string): Promise<{
remainTimes?: undefined;
taskInfo?: undefined;
} | {
......@@ -65,7 +54,7 @@ export default class TaskService extends UserService {
* @memberof TaskService
*/
getTodayCompleteTask(taskType: string, userInfo: IUserInfo): {
todayTimes: any;
todayCompleteTimes: any;
todayTaskInfo: any;
};
/**
......@@ -88,6 +77,16 @@ export default class TaskService extends UserService {
* @memberof TaskService
*/
updateUserTaskRecord(taskType: string, rewards: number, userInfo: IUserInfo, customRecord?: object): Promise<boolean>;
updateTasks(id: string, needUpdateKeysArray: object[]): Promise<any>;
/**
*
* 更新user表中,任务相关字段
*
* @param {string} id
* @param {object[]} needUpdateKeysArray
* @param {IUserInfo} userInfo
* @returns {IUserInfo | boolean} userInfo
* @memberof TaskService
*/
updateTasks(id: string, needUpdateKeysArray: object[], userInfo: IUserInfo): Promise<false | IUserInfo>;
}
export {};
......@@ -75,6 +75,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
var user_service_1 = require("./user.service");
var utils_1 = require("../utils");
var constants_1 = require("../constants");
var lodash_1 = require("lodash");
var TaskService = /** @class */ (function (_super) {
__extends(TaskService, _super);
function TaskService(context) {
......@@ -91,6 +92,7 @@ var TaskService = /** @class */ (function (_super) {
title: "\u52A0\u5165\u4F1A\u5458",
url: vipInfo.url,
rewards: value,
taskRateType: constants_1.TASK_RATE_TYPE.FOREVER,
waitReceive: remainTimes.member,
// 已经是会员, 说明完成任务
done: newMember || isVipBefore
......@@ -98,14 +100,19 @@ var TaskService = /** @class */ (function (_super) {
};
// 初始化下单任务
TaskService.prototype.initOrderGoodsTask = function (userInfo, tasks) {
var _a;
var _b = tasks.orderGoods, value = _b.value, itemIds = _b.itemIds, taskRateType = _b.taskRateType, times = _b.times;
var remainTimes = userInfo.remainTimes, _c = userInfo.taskInfo, taskInfo = _c === void 0 ? {} : _c;
var _a, _b;
var _c = tasks.orderGoods, value = _c.value, itemIds = _c.itemIds, taskRateType = _c.taskRateType, times = _c.times;
var remainTimes = userInfo.remainTimes, _d = userInfo.taskInfo, taskInfo = _d === void 0 ? {} : _d;
var today = utils_1.getToday();
var todayCompleteTimes = ((_b = (_a = taskInfo === null || taskInfo === void 0 ? void 0 : taskInfo[today]) === null || _a === void 0 ? void 0 : _a.orderGoods) === null || _b === void 0 ? void 0 : _b.length) || 0;
var orderTask = {
taskType: "orderGoods",
title: "\u4E0B\u5355\u5546\u54C1",
itemIds: itemIds,
rewards: value,
taskRateType: taskRateType,
times: times,
todayCompleteTimes: todayCompleteTimes,
waitReceive: remainTimes.orderGoods,
done: false
};
......@@ -115,8 +122,7 @@ var TaskService = /** @class */ (function (_super) {
orderTask.done = true;
}
// 每日限制完成且完成次数达到限制
var today = utils_1.getToday();
if (taskRateType === constants_1.TASK_RATE_TYPE.EVERYDAY && ((_a = taskInfo === null || taskInfo === void 0 ? void 0 : taskInfo[today]) === null || _a === void 0 ? void 0 : _a.orderGoods) >= times) {
if (taskRateType === constants_1.TASK_RATE_TYPE.EVERYDAY && todayCompleteTimes >= times) {
orderTask.done = true;
}
return orderTask;
......@@ -127,13 +133,14 @@ var TaskService = /** @class */ (function (_super) {
var _b = tasks.browseGoods, value = _b.value, itemIds = _b.itemIds, taskRateType = _b.taskRateType, times = _b.times;
var remainTimes = userInfo.remainTimes, _c = userInfo.taskInfo, taskInfo = _c === void 0 ? {} : _c;
var today = utils_1.getToday();
var todayCompleteTimes = (_a = taskInfo === null || taskInfo === void 0 ? void 0 : taskInfo[today]) === null || _a === void 0 ? void 0 : _a.browseGoods.length;
var orderTask = {
taskType: "browseGoods",
title: "\u6D4F\u89C8\u5546\u54C1",
itemIds: itemIds,
rewards: value,
waitReceive: remainTimes.browseGoods,
// todayCompeleTimes: taskInfo?.[today]?.browseGoods.length,
todayCompleteTimes: todayCompleteTimes,
taskRateType: taskRateType,
done: false
};
......@@ -143,20 +150,24 @@ var TaskService = /** @class */ (function (_super) {
orderTask.done = true;
}
// 每日限制完成且完成次数达到限制
if (taskRateType === constants_1.TASK_RATE_TYPE.EVERYDAY && ((_a = taskInfo === null || taskInfo === void 0 ? void 0 : taskInfo[today]) === null || _a === void 0 ? void 0 : _a.browseGoods.length) >= times) {
if (taskRateType === constants_1.TASK_RATE_TYPE.EVERYDAY && todayCompleteTimes >= times) {
orderTask.done = true;
}
return orderTask;
};
// 初始化邀请任务
TaskService.prototype.initInvitesTask = function (userInfo, tasks) {
var _a;
var _b = tasks.inviteFriends, value = _b.value, taskRateType = _b.taskRateType, times = _b.times;
var _a = tasks.inviteFriends, value = _a.value, taskRateType = _a.taskRateType, times = _a.times;
var remainTimes = userInfo.remainTimes, taskInfo = userInfo.taskInfo;
var today = utils_1.getToday();
var todayCompleteTimes = this.getTodayCompleteTask('invites', userInfo).todayCompleteTimes;
var orderTask = {
taskType: "invites",
title: "\u9080\u8BF7",
rewards: value,
taskRateType: taskRateType,
times: times,
todayCompleteTimes: todayCompleteTimes,
waitReceive: remainTimes.invites,
done: false
};
......@@ -166,8 +177,7 @@ var TaskService = /** @class */ (function (_super) {
orderTask.done = true;
}
// 每日限制完成且完成次数达到限制
var today = utils_1.getToday();
if (taskRateType === constants_1.TASK_RATE_TYPE.EVERYDAY && ((_a = taskInfo === null || taskInfo === void 0 ? void 0 : taskInfo[today]) === null || _a === void 0 ? void 0 : _a.invites) >= times) {
if (taskRateType === constants_1.TASK_RATE_TYPE.EVERYDAY && todayCompleteTimes >= times) {
orderTask.done = true;
}
return orderTask;
......@@ -181,23 +191,26 @@ var TaskService = /** @class */ (function (_super) {
taskType: "follow",
title: "\u5173\u6CE8\u5E97\u94FA",
rewards: value,
taskRateType: constants_1.TASK_RATE_TYPE.FOREVER,
waitReceive: remainTimes.follow,
done: !!orderGoodsCompleteList.length
};
};
// 积分兑换
TaskService.prototype.initExchangeCreditsTask = function (userInfo, tasks) {
var _a;
var _b = tasks.exchangeCredits, value = _b.value, times = _b.times;
var _a = tasks.exchangeCredits, value = _a.value, times = _a.times;
var remainTimes = userInfo.remainTimes, taskInfo = userInfo.taskInfo;
var today = utils_1.getToday();
var todayCompleteTimes = this.getTodayCompleteTask('exchangeCredits', userInfo).todayCompleteTimes;
return {
taskType: "exchangeCredits",
title: "\u79EF\u5206\u5151\u6362",
rewards: value,
times: times,
taskRateType: constants_1.TASK_RATE_TYPE.EVERYDAY,
todayCompleteTimes: todayCompleteTimes,
waitReceive: remainTimes.exchangeCredits,
// 积分兑换固定为每日限制
done: !!(((_a = taskInfo === null || taskInfo === void 0 ? void 0 : taskInfo[today]) === null || _a === void 0 ? void 0 : _a.exchangeCredits) >= times)
done: !!(todayCompleteTimes >= times)
};
};
// 根据会员状态更新
......@@ -208,9 +221,7 @@ var TaskService = /** @class */ (function (_super) {
var isNewVip = this.checkNewVipStatus(userInfo, vipInfo);
var value = tasks.beMembership.value;
if (isNewVip && !newMember) {
member.newMember = true;
member.bememberTime = Date.now();
member.bememberDay = today;
member = this.setNewVipUserData(member);
remainTimes.member = (remainTimes.member || 0) + value;
}
return {
......@@ -218,38 +229,40 @@ var TaskService = /** @class */ (function (_super) {
remainTimes: remainTimes
};
};
TaskService.prototype.updateOrderGoodsTask = function (userInfo, tasks, session) {
var _a;
TaskService.prototype.updateOrderGoodsTask = function (userInfo, tasks, activityStartTime, session) {
return __awaiter(this, void 0, void 0, function () {
var taskInfo, remainTimes, _b, value, itemIds, taskRateType, times, orderGoodsCompleteList, today, lastOrderInfo, orderResult, itemIdsArr;
return __generator(this, function (_c) {
switch (_c.label) {
var taskInfo, remainTimes, _a, value, itemIds, taskRateType, times, orderGoodsCompleteList, todayCompleteTimes, today, orderResult, itemIdsArr;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
taskInfo = userInfo.taskInfo, remainTimes = userInfo.remainTimes;
_b = tasks.orderGoods, value = _b.value, itemIds = _b.itemIds, taskRateType = _b.taskRateType, times = _b.times;
_a = tasks.orderGoods, value = _a.value, itemIds = _a.itemIds, taskRateType = _a.taskRateType, times = _a.times;
orderGoodsCompleteList = this.getCompleteTaskByUserTaskInfo('orderGoods', userInfo);
todayCompleteTimes = this.getTodayCompleteTask('orderGoods', userInfo).todayCompleteTimes;
// 永久任务且已完成
if (taskRateType === constants_1.TASK_RATE_TYPE.FOREVER && orderGoodsCompleteList) {
return [2 /*return*/, {}];
}
today = utils_1.getToday();
if (taskRateType === constants_1.TASK_RATE_TYPE.EVERYDAY && ((_a = taskInfo === null || taskInfo === void 0 ? void 0 : taskInfo[today]) === null || _a === void 0 ? void 0 : _a.orderGoods) >= times) {
if (taskRateType === constants_1.TASK_RATE_TYPE.EVERYDAY && todayCompleteTimes >= times) {
return [2 /*return*/, {}];
}
lastOrderInfo = (orderGoodsCompleteList === null || orderGoodsCompleteList === void 0 ? void 0 : orderGoodsCompleteList[orderGoodsCompleteList.length - 1]) || {};
return [4 /*yield*/, utils_1.getUserOrderlist(this.context,
//@ts-ignore
lastOrderInfo.createTime || Date.now(), Date.now(), session)];
activityStartTime || Date.now(), Date.now(), session)];
case 1:
orderResult = _c.sent();
orderResult = _b.sent();
itemIdsArr = itemIds.split(',').map(function (v) { return +v; });
orderResult.forEach(function (v) {
if (itemIdsArr.includes(v.itemId)) {
// @ts-ignore
// 商品订单包含目标商品 且orderId为新订单
if (itemIdsArr.includes(v.itemId) && !orderGoodsCompleteList.some(function (order) { return order.orderId === v.orderId; })) {
remainTimes.orderGoods += +value;
taskInfo[today] = (taskInfo === null || taskInfo === void 0 ? void 0 : taskInfo[today]) || {};
taskInfo[today].orderGoods = taskInfo[today].orderGoods || [];
taskInfo[today].orderGoods.push({
itemId: v.itemId,
orderId: v.orderId,
createTime: Date.now()
});
}
......@@ -272,28 +285,30 @@ var TaskService = /** @class */ (function (_super) {
*/
TaskService.prototype.updateFollowTask = function (userInfo, activityInfo) {
return __awaiter(this, void 0, void 0, function () {
var today, remainTimes, _id, _a, taskInfo, follow, tasks, value, followInfo;
var today, _id, _a, taskInfo, follow, tasks, value, followInfo;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
today = utils_1.getToday();
remainTimes = userInfo.remainTimes, _id = userInfo._id, _a = userInfo.taskInfo, taskInfo = _a === void 0 ? {} : _a, follow = userInfo.follow;
_id = userInfo._id, _a = userInfo.taskInfo, taskInfo = _a === void 0 ? {} : _a, follow = userInfo.follow;
tasks = activityInfo.tasks;
value = (tasks || {}).attentionStore.value;
followInfo = __assign(__assign({}, follow), { newFollow: true, followTime: Date.now(), followDay: today });
followInfo = this.setNewFollowUserData(follow);
// 记录数据
taskInfo[today] = taskInfo[today] || {};
taskInfo[today].follow = 1;
// 增加待领取次数
remainTimes.follow += value;
return [4 /*yield*/, this.updateUser(_id, {
$set: {
remainTimes: remainTimes,
follow: followInfo,
taskInfo: taskInfo
},
$inc: {
'remainTimes.follow': 1
}
})];
case 1: return [2 /*return*/, _b.sent()];
case 1:
// 增加待领取次数
return [2 /*return*/, _b.sent()];
}
});
});
......@@ -311,7 +326,7 @@ var TaskService = /** @class */ (function (_super) {
var _a, _b, _c, _d, _e;
var today = utils_1.getToday();
return {
todayTimes: ((_c = (_b = (_a = userInfo === null || userInfo === void 0 ? void 0 : userInfo.taskInfo) === null || _a === void 0 ? void 0 : _a[today]) === null || _b === void 0 ? void 0 : _b[taskType]) === null || _c === void 0 ? void 0 : _c.length) || 0,
todayCompleteTimes: ((_c = (_b = (_a = userInfo === null || userInfo === void 0 ? void 0 : userInfo.taskInfo) === null || _a === void 0 ? void 0 : _a[today]) === null || _b === void 0 ? void 0 : _b[taskType]) === null || _c === void 0 ? void 0 : _c.length) || 0,
todayTaskInfo: (_e = (_d = userInfo === null || userInfo === void 0 ? void 0 : userInfo.taskInfo) === null || _d === void 0 ? void 0 : _d[today]) === null || _e === void 0 ? void 0 : _e[taskType]
};
};
......@@ -371,20 +386,30 @@ var TaskService = /** @class */ (function (_super) {
});
});
};
TaskService.prototype.updateTasks = function (id, needUpdateKeysArray) {
/**
*
* 更新user表中,任务相关字段
*
* @param {string} id
* @param {object[]} needUpdateKeysArray
* @param {IUserInfo} userInfo
* @returns {IUserInfo | boolean} userInfo
* @memberof TaskService
*/
TaskService.prototype.updateTasks = function (id, needUpdateKeysArray, userInfo) {
return __awaiter(this, void 0, void 0, function () {
var updateKeys;
var updateKeys, result;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
updateKeys = Object.assign.apply(Object, __spreadArrays([{}], needUpdateKeysArray));
updateKeys = lodash_1.extend.apply(void 0, __spreadArrays([{}], needUpdateKeysArray));
return [4 /*yield*/, this.updateUser(id, {
$set: updateKeys
})];
case 1:
_a.sent();
return [4 /*yield*/, this.getUserInfo()];
case 2: return [2 /*return*/, _a.sent()];
result = _a.sent();
return [2 /*return*/, result === 1
? __assign(__assign({}, userInfo), updateKeys) : false];
}
});
});
......
{"version":3,"file":"task.service.js","sourceRoot":"","sources":["../../src/service/task.service.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
{"version":3,"file":"task.service.js","sourceRoot":"","sources":["../../src/service/task.service.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
......@@ -57,5 +57,7 @@ declare class UserService extends BaseService {
* @memberof UserService
*/
checkNewVipStatus(userInfo: IUserInfo, vipInfo: IVipInfo): boolean;
setNewVipUserData(member: IMemberInfo): IMemberInfo;
setNewFollowUserData(follow: IFollowInfo): IFollowInfo;
}
export default UserService;
......@@ -17,6 +17,17 @@ var __extends = (this && this.__extends) || (function () {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
......@@ -220,34 +231,33 @@ var UserService = /** @class */ (function (_super) {
UserService.prototype.updateUserData = function (vipInfo, userInfo) {
return __awaiter(this, void 0, void 0, function () {
var data, isFollow, followBefore, followNow, today, isNewVip;
return __generator(this, function (_a) {
switch (_a.label) {
var _a;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
data = this.context.data;
isFollow = data.isFollow;
followBefore = userInfo.follow.flag;
followNow = isFollow;
if (!followBefore && followNow && !userInfo.follow.newFollow) {
userInfo.follow.newFollow = true;
userInfo.follow.followTime = userInfo.follow.followTime || Date.now();
userInfo.follow = this.setNewFollowUserData(userInfo.follow);
}
today = utils_1.getToday();
isNewVip = this.checkNewVipStatus(userInfo, vipInfo);
if (isNewVip && !userInfo.member.newMember) {
userInfo.member.newMember = true;
userInfo.member.bememberTime = userInfo.member.bememberTime || Date.now();
userInfo.member = this.setNewVipUserData(userInfo.member);
}
// 添加登录次数
userInfo['login'][today] = userInfo['login'][today] ? userInfo['login'][today] + 1 : 1;
return [4 /*yield*/, this.updateUser(userInfo._id, {
$set: {
follow: userInfo.follow,
login: userInfo['login'],
member: userInfo.member
}
},
$inc: (_a = {},
_a["login." + today] = 1,
_a)
})];
case 1:
_a.sent();
_b.sent();
return [2 /*return*/];
}
});
......@@ -302,6 +312,14 @@ var UserService = /** @class */ (function (_super) {
var isVip = vipInfo.isVip;
return !flag && isVip;
};
UserService.prototype.setNewVipUserData = function (member) {
var today = utils_1.getToday();
return __assign(__assign({}, member), { newMember: true, bememberTime: Date.now(), bememberDay: today });
};
UserService.prototype.setNewFollowUserData = function (follow) {
var today = utils_1.getToday();
return __assign(__assign({}, follow), { newFollow: true, followTime: Date.now(), followDay: today });
};
return UserService;
}(base_service_1.default));
exports.default = UserService;
......
{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/service/user.service.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/service/user.service.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
......@@ -7,7 +7,9 @@
"license": "ISC",
"sdkVersion": "*",
"dependencies": {
"@types/lodash": "^4.14.160",
"dayjs": "^1.8.28",
"lodash": "^4.17.20",
"node-xlsx": "^0.15.0",
"source-map-support": "^0.5.19",
"taobao-mini-sdk": "0.1.6"
......
......@@ -26,13 +26,19 @@ export default class Task {
{ userInfo, vipInfo, activityInfo, session }: IControllerInfos,
[taskService]: [TaskService]
): Promise<Result> {
const { tasks } = activityInfo
const { tasks, startTime } = activityInfo
// 更新user状态
let updatedUserInfo = await taskService.updateTasks(userInfo._id, [
let updatedUserInfo = await taskService.updateTasks(
userInfo._id,
[
taskService.updateVipTaskStatus(userInfo, vipInfo, tasks),
await taskService.updateOrderGoodsTask(userInfo, tasks, session)
])
await taskService.updateOrderGoodsTask(userInfo, tasks, startTime, session)
],
userInfo
)
if (!updatedUserInfo) return resultsModel.error(CODE_TYPES.SYSTEM_ERROR, '更新任务列表失败')
// 会员任务
const vipTask = taskService.initVipTask(updatedUserInfo, vipInfo, tasks)
......@@ -41,13 +47,13 @@ export default class Task {
// // 下单任务
// const orderGoodsTask = taskService.initOrderGoodsTask(updatedUserInfo, tasks)
// // 浏览商品任务
const browseGoodsTask = taskService.initBrowseGoodsTask(updatedUserInfo, tasks)
// const browseGoodsTask = taskService.initBrowseGoodsTask(updatedUserInfo, tasks)
// // 邀请任务
// const invitesTask = taskService.initInvitesTask(updatedUserInfo, tasks)
// 积分兑换
//const exchangeCreditsTask = taskService.initExchangeCreditsTask(updatedUserInfo, tasks)
return resultsModel.success([vipTask, followTask, browseGoodsTask])
return resultsModel.success([vipTask, followTask])
}
/**
......@@ -93,10 +99,10 @@ export default class Task {
} = activityInfo
const today = getToday()
const { todayTimes } = taskService.getTodayCompleteTask(taskType, userInfo)
const { todayCompleteTimes } = taskService.getTodayCompleteTask(taskType, userInfo)
// 如果每日限制次数并到达了限制次数
if (times && times === todayTimes && taskRateType === TASK_RATE_TYPE.EVERYDAY) {
if (times && times === todayCompleteTimes && taskRateType === TASK_RATE_TYPE.EVERYDAY) {
return resultsModel.error(CODE_TYPES.ERROR_TASK_LIMIT)
}
......@@ -150,7 +156,7 @@ export default class Task {
// B端配置商品ids不匹配正确
if (!itemIdArray.includes(+itemId)) return resultsModel.error(CODE_TYPES.PARAMS_ERROR, '商品id不匹配')
const { todayTaskInfo, todayTimes } = taskService.getTodayCompleteTask('browseGoods', userInfo)
const { todayTaskInfo, todayCompleteTimes } = taskService.getTodayCompleteTask('browseGoods', userInfo)
const hasCompleteToday =
todayTaskInfo.filter((v: { itemId: string }) => v.itemId === itemId).length &&
......@@ -161,7 +167,7 @@ export default class Task {
return resultsModel.error(CODE_TYPES.PARAMS_ERROR, '今日该商品任务已完成')
}
// 次数超限
if (times && times === todayTimes && taskRateType === TASK_RATE_TYPE.EVERYDAY) {
if (times && times === todayCompleteTimes && taskRateType === TASK_RATE_TYPE.EVERYDAY) {
return resultsModel.error(CODE_TYPES.ERROR_TASK_LIMIT)
}
......
......@@ -9,6 +9,7 @@ import UserService from './user.service'
import { USER_DB_NAME } from '../db'
import { getToday, getUserOrderlist } from '../utils'
import { TASK_RATE_TYPE } from '../constants'
import { extend } from 'lodash'
interface ITaskInfo {
taskType?: string
......@@ -17,7 +18,8 @@ interface ITaskInfo {
done?: boolean
itemIds?: string
todayCompleteTimes?: number
taskLimitTimes?: number // 任务每日限制次数
taskRateType: number
times?: number // 任务每日限制次数
waitReceive?: number
title: string
}
......@@ -46,6 +48,7 @@ export default class TaskService extends UserService {
title: `加入会员`,
url: vipInfo.url,
rewards: value,
taskRateType: TASK_RATE_TYPE.FOREVER,
waitReceive: remainTimes.member,
// 已经是会员, 说明完成任务
done: newMember || isVipBefore
......@@ -59,12 +62,16 @@ export default class TaskService extends UserService {
} = tasks
const { remainTimes, taskInfo = {} } = userInfo
const today = getToday()
const todayCompleteTimes = taskInfo?.[today]?.orderGoods?.length || 0
let orderTask: ITaskInfo = {
taskType: `orderGoods`,
title: `下单商品`,
itemIds,
rewards: value,
taskRateType,
times,
todayCompleteTimes,
waitReceive: remainTimes.orderGoods,
done: false
}
......@@ -77,8 +84,7 @@ export default class TaskService extends UserService {
}
// 每日限制完成且完成次数达到限制
const today = getToday()
if (taskRateType === TASK_RATE_TYPE.EVERYDAY && taskInfo?.[today]?.orderGoods >= times) {
if (taskRateType === TASK_RATE_TYPE.EVERYDAY && todayCompleteTimes >= times) {
orderTask.done = true
}
......@@ -93,6 +99,7 @@ export default class TaskService extends UserService {
const { remainTimes, taskInfo = {} } = userInfo
const today = getToday()
const todayCompleteTimes = taskInfo?.[today]?.browseGoods.length
let orderTask: ITaskInfo = {
taskType: `browseGoods`,
......@@ -100,8 +107,8 @@ export default class TaskService extends UserService {
itemIds,
rewards: value,
waitReceive: remainTimes.browseGoods,
// todayCompeleTimes: taskInfo?.[today]?.browseGoods.length,
taskRateType: taskRateType,
todayCompleteTimes,
taskRateType,
done: false
}
......@@ -113,11 +120,9 @@ export default class TaskService extends UserService {
}
// 每日限制完成且完成次数达到限制
if (taskRateType === TASK_RATE_TYPE.EVERYDAY && taskInfo?.[today]?.browseGoods.length >= times) {
if (taskRateType === TASK_RATE_TYPE.EVERYDAY && todayCompleteTimes >= times) {
orderTask.done = true
}
return orderTask
}
......@@ -129,10 +134,15 @@ export default class TaskService extends UserService {
const { remainTimes, taskInfo } = userInfo
const today = getToday()
const { todayCompleteTimes } = this.getTodayCompleteTask('invites', userInfo)
let orderTask: ITaskInfo = {
taskType: `invites`,
title: `邀请`,
rewards: value,
taskRateType,
times,
todayCompleteTimes,
waitReceive: remainTimes.invites,
done: false
}
......@@ -145,8 +155,7 @@ export default class TaskService extends UserService {
}
// 每日限制完成且完成次数达到限制
const today = getToday()
if (taskRateType === TASK_RATE_TYPE.EVERYDAY && taskInfo?.[today]?.invites >= times) {
if (taskRateType === TASK_RATE_TYPE.EVERYDAY && todayCompleteTimes >= times) {
orderTask.done = true
}
......@@ -154,7 +163,7 @@ export default class TaskService extends UserService {
}
// 关注店铺
initFollowTask(userInfo: IUserInfo, tasks: ITasks) {
initFollowTask(userInfo: IUserInfo, tasks: ITasks): ITaskInfo {
const {
attentionStore: { value }
} = tasks
......@@ -166,27 +175,30 @@ export default class TaskService extends UserService {
taskType: `follow`,
title: `关注店铺`,
rewards: value,
taskRateType: TASK_RATE_TYPE.FOREVER,
waitReceive: remainTimes.follow,
done: !!orderGoodsCompleteList.length
}
}
// 积分兑换
initExchangeCreditsTask(userInfo: IUserInfo, tasks: ITasks) {
initExchangeCreditsTask(userInfo: IUserInfo, tasks: ITasks): ITaskInfo {
const {
exchangeCredits: { value, times }
} = tasks
const { remainTimes, taskInfo } = userInfo
const today = getToday()
const { todayCompleteTimes } = this.getTodayCompleteTask('exchangeCredits', userInfo)
return {
taskType: `exchangeCredits`,
title: `积分兑换`,
rewards: value,
times,
taskRateType: TASK_RATE_TYPE.EVERYDAY,
todayCompleteTimes,
waitReceive: remainTimes.exchangeCredits,
// 积分兑换固定为每日限制
done: !!(taskInfo?.[today]?.exchangeCredits >= times)
done: !!(todayCompleteTimes >= times)
}
}
......@@ -204,9 +216,7 @@ export default class TaskService extends UserService {
} = tasks
if (isNewVip && !newMember) {
member.newMember = true
member.bememberTime = Date.now()
member.bememberDay = today
member = this.setNewVipUserData(member)
remainTimes.member = (remainTimes.member || 0) + value
}
return {
......@@ -215,13 +225,13 @@ export default class TaskService extends UserService {
}
}
async updateOrderGoodsTask(userInfo: IUserInfo, tasks: ITasks, session?: string) {
async updateOrderGoodsTask(userInfo: IUserInfo, tasks: ITasks, activityStartTime: number, session?: string) {
let { taskInfo, remainTimes } = userInfo
const {
orderGoods: { value, itemIds, taskRateType, times }
} = tasks
const orderGoodsCompleteList: object[] = this.getCompleteTaskByUserTaskInfo('orderGoods', userInfo)
const { todayCompleteTimes } = this.getTodayCompleteTask('orderGoods', userInfo)
// 永久任务且已完成
if (taskRateType === TASK_RATE_TYPE.FOREVER && orderGoodsCompleteList) {
return {}
......@@ -229,16 +239,14 @@ export default class TaskService extends UserService {
// 每日限制完成且完成次数达到限制
const today = getToday()
if (taskRateType === TASK_RATE_TYPE.EVERYDAY && taskInfo?.[today]?.orderGoods >= times) {
if (taskRateType === TASK_RATE_TYPE.EVERYDAY && todayCompleteTimes >= times) {
return {}
}
const lastOrderInfo = orderGoodsCompleteList?.[orderGoodsCompleteList.length - 1] || {}
const orderResult = await getUserOrderlist(
this.context,
//@ts-ignore
lastOrderInfo.createTime || Date.now(),
activityStartTime || Date.now(),
Date.now(),
session
)
......@@ -246,12 +254,15 @@ export default class TaskService extends UserService {
const itemIdsArr = itemIds.split(',').map(v => +v)
orderResult.forEach(v => {
if (itemIdsArr.includes(v.itemId)) {
// @ts-ignore
// 商品订单包含目标商品 且orderId为新订单
if (itemIdsArr.includes(v.itemId) && !orderGoodsCompleteList.some(order => order.orderId === v.orderId)) {
remainTimes.orderGoods += +value
taskInfo[today] = taskInfo?.[today] || {}
taskInfo[today].orderGoods = taskInfo[today].orderGoods || []
taskInfo[today].orderGoods.push({
itemId: v.itemId,
orderId: v.orderId,
createTime: Date.now()
})
}
......@@ -272,7 +283,7 @@ export default class TaskService extends UserService {
*/
async updateFollowTask(userInfo: IUserInfo, activityInfo: IActivityInfo) {
const today = getToday()
let { remainTimes, _id, taskInfo = {}, follow } = userInfo
let { _id, taskInfo = {}, follow } = userInfo
// 获取活动基本信息
const { tasks } = activityInfo
// 获取关注店铺奖励
......@@ -281,24 +292,20 @@ export default class TaskService extends UserService {
} = tasks || {}
// 更新follow信息
const followInfo: IFollowInfo = {
...follow,
newFollow: true,
followTime: Date.now(),
followDay: today
}
const followInfo: IFollowInfo = this.setNewFollowUserData(follow)
// 记录数据
taskInfo[today] = taskInfo[today] || {}
taskInfo[today].follow = 1
// 增加待领取次数
remainTimes.follow += value
return await this.updateUser(_id, {
$set: {
remainTimes,
follow: followInfo,
taskInfo
},
$inc: {
'remainTimes.follow': 1
}
})
}
......@@ -315,7 +322,7 @@ export default class TaskService extends UserService {
getTodayCompleteTask(taskType: string, userInfo: IUserInfo) {
const today = getToday()
return {
todayTimes: userInfo?.taskInfo?.[today]?.[taskType]?.length || 0,
todayCompleteTimes: userInfo?.taskInfo?.[today]?.[taskType]?.length || 0,
todayTaskInfo: userInfo?.taskInfo?.[today]?.[taskType]
}
}
......@@ -353,7 +360,12 @@ export default class TaskService extends UserService {
* @returns {boolean}
* @memberof TaskService
*/
async updateUserTaskRecord(taskType: string, rewards: number, userInfo: IUserInfo, customRecord?: object) {
async updateUserTaskRecord(
taskType: string,
rewards: number,
userInfo: IUserInfo,
customRecord?: object
): Promise<boolean> {
const { _id } = userInfo
const { openId } = this.context
const today = getToday()
......@@ -368,11 +380,26 @@ export default class TaskService extends UserService {
return result === 1
}
async updateTasks(id: string, needUpdateKeysArray: object[]) {
const updateKeys = Object.assign({}, ...needUpdateKeysArray)
await this.updateUser(id, {
/**
*
* 更新user表中,任务相关字段
*
* @param {string} id
* @param {object[]} needUpdateKeysArray
* @param {IUserInfo} userInfo
* @returns {IUserInfo | boolean} userInfo
* @memberof TaskService
*/
async updateTasks(id: string, needUpdateKeysArray: object[], userInfo: IUserInfo): Promise<false | IUserInfo> {
const updateKeys: object = extend({}, ...needUpdateKeysArray)
const result = await this.updateUser(id, {
$set: updateKeys
})
return await this.getUserInfo()
return result === 1
? {
...userInfo,
...updateKeys
}
: false
}
}
......@@ -138,26 +138,23 @@ class UserService extends BaseService {
const followBefore = userInfo.follow.flag
const followNow = isFollow
if (!followBefore && followNow && !userInfo.follow.newFollow) {
userInfo.follow.newFollow = true
userInfo.follow.followTime = userInfo.follow.followTime || Date.now()
userInfo.follow = this.setNewFollowUserData(userInfo.follow)
}
const today = getToday()
// 之前进入活动非会员,现在进入会员,则视为新会员用户
const isNewVip = this.checkNewVipStatus(userInfo, vipInfo)
if (isNewVip && !userInfo.member.newMember) {
userInfo.member.newMember = true
userInfo.member.bememberTime = userInfo.member.bememberTime || Date.now()
userInfo.member = this.setNewVipUserData(userInfo.member)
}
// 添加登录次数
userInfo['login'][today] = userInfo['login'][today] ? userInfo['login'][today] + 1 : 1
await this.updateUser(userInfo._id, {
$set: {
follow: userInfo.follow,
login: userInfo['login'],
member: userInfo.member
},
$inc: {
[`login.${today}`]: 1
}
})
}
......@@ -201,6 +198,26 @@ class UserService extends BaseService {
return !flag && isVip
}
setNewVipUserData(member: IMemberInfo): IMemberInfo {
const today = getToday()
return {
...member,
newMember: true,
bememberTime: Date.now(),
bememberDay: today
}
}
setNewFollowUserData(follow: IFollowInfo): IFollowInfo {
const today = getToday()
return {
...follow,
newFollow: true,
followTime: Date.now(),
followDay: today
}
}
}
export default UserService
......@@ -38,6 +38,11 @@
resolved "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd"
integrity sha1-3M5EMOZLRDuolF8CkPtWStW6xt0=
"@types/lodash@^4.14.160":
version "4.14.160"
resolved "https://registry.npm.taobao.org/@types/lodash/download/@types/lodash-4.14.160.tgz?cache=0&sync_timestamp=1598288460918&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Flodash%2Fdownload%2F%40types%2Flodash-4.14.160.tgz#2f1bba6500bc3cb9a732c6d66a083378fb0b0b29"
integrity sha1-Lxu6ZQC8PLmnMsbWaggzePsLCyk=
"@types/node@^14.6.0":
version "14.6.0"
resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-14.6.0.tgz?cache=0&sync_timestamp=1597673176468&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.6.0.tgz#7d4411bf5157339337d7cff864d9ff45f177b499"
......@@ -632,7 +637,7 @@ levn@^0.4.1:
prelude-ls "^1.2.1"
type-check "~0.4.0"
lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19:
lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20:
version "4.17.20"
resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.20.tgz?cache=0&sync_timestamp=1597336053864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
integrity sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI=
......@@ -862,10 +867,10 @@ table@^5.2.3:
slice-ansi "^2.1.0"
string-width "^3.0.0"
taobao-mini-sdk@0.1.5:
version "0.1.5"
resolved "https://registry.npm.taobao.org/taobao-mini-sdk/download/taobao-mini-sdk-0.1.5.tgz?cache=0&sync_timestamp=1597738826643&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftaobao-mini-sdk%2Fdownload%2Ftaobao-mini-sdk-0.1.5.tgz#7cd64eaa581423c57f841fecd6bf76c827386771"
integrity sha1-fNZOqlgUI8V/hB/s1r92yCc4Z3E=
taobao-mini-sdk@0.1.6:
version "0.1.6"
resolved "https://registry.npm.taobao.org/taobao-mini-sdk/download/taobao-mini-sdk-0.1.6.tgz#cc20f10879a1b872a7358d24efc426fda104fce7"
integrity sha1-zCDxCHmhuHKnNY0k78Qm/aEE/Oc=
text-table@^0.2.0:
version "0.2.0"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment