Commit 46d532cb authored by qinhaitao's avatar qinhaitao

feat: 🎸 增加排名

parent 6b9ac21a
...@@ -56,8 +56,7 @@ export declare const SHIP_STATUS: { ...@@ -56,8 +56,7 @@ export declare const SHIP_STATUS: {
HAS_SHIP: number; HAS_SHIP: number;
}; };
export declare enum STAT_TYPE { export declare enum STAT_TYPE {
CLICK_INVITE = 1, INITE_SUCCESS = 0
CLICK_FOLLOW_TASK = 2
} }
export declare const appId = "${\u9700\u8981\u8865\u5145}"; export declare const appId = "${\u9700\u8981\u8865\u5145}";
export declare const sellerId = "${\u5546\u94FAid}"; export declare const sellerId = "${\u5546\u94FAid}";
......
...@@ -86,8 +86,7 @@ exports.SHIP_STATUS = { ...@@ -86,8 +86,7 @@ exports.SHIP_STATUS = {
// 记录数据 // 记录数据
var STAT_TYPE; var STAT_TYPE;
(function (STAT_TYPE) { (function (STAT_TYPE) {
STAT_TYPE[STAT_TYPE["CLICK_INVITE"] = 1] = "CLICK_INVITE"; STAT_TYPE[STAT_TYPE["INITE_SUCCESS"] = 0] = "INITE_SUCCESS";
STAT_TYPE[STAT_TYPE["CLICK_FOLLOW_TASK"] = 2] = "CLICK_FOLLOW_TASK";
})(STAT_TYPE = exports.STAT_TYPE || (exports.STAT_TYPE = {})); })(STAT_TYPE = exports.STAT_TYPE || (exports.STAT_TYPE = {}));
exports.appId = '${需要补充}'; exports.appId = '${需要补充}';
// 商铺id 拼接vip链接用 // 商铺id 拼接vip链接用
......
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAAA,cAAc;;;;;;;;;;;;;AAEd,8CAA2B;AAE3B,cAAc;AACD,QAAA,OAAO,GAAG;IACrB,6CAA6C,EAAE,kBAAkB;IACjE,yBAAyB,EAAE,iBAAiB;IAC5C,oBAAoB,EAAE,aAAa;IACnC,sCAAsC,EAAE,gBAAgB;IACxD,iBAAiB,EAAE,cAAc;IACjC,YAAY,EAAE,YAAY;IAC1B,iBAAiB,EAAE,iBAAiB;CACrC,CAAA;AAED,SAAS;AACI,QAAA,WAAW,GAAG;IACzB,MAAM;IACN,SAAS,EAAE,CAAC;IACZ,MAAM;IACN,UAAU,EAAE,CAAC;IACb,OAAO;IACP,OAAO,EAAE,CAAC;IACV,OAAO;IACP,IAAI,EAAE,CAAC;IACP,MAAM;IACN,OAAO,EAAE,CAAC;IACV,OAAO;IACP,KAAK,EAAE,CAAC;CACT,CAAA;AAED,OAAO;AACM,QAAA,2BAA2B,GAAa;IACnD,wBAAwB;IACxB,uBAAuB;IACvB,0BAA0B;IAC1B,oBAAoB;IACpB,gBAAgB;IAChB,qBAAqB;CACtB,CAAA;AAcD,UAAU;AACG,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;CACX,CAAA;AAED,MAAM;AACO,QAAA,WAAW,GAAG;IACzB,OAAO,EAAE,CAAC;IACV,YAAY,EAAE,CAAC;IACf,IAAI,EAAE,CAAC,CAAC,MAAM;CACf,CAAA;AAED,OAAO;AACM,QAAA,UAAU,GAAG;IACxB,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;CACV,CAAA;AAED,OAAO;AACM,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,CAAC,CAAC,KAAK;CACrB,CAAA;AAED,WAAW;AACX,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,6CAAS,CAAA;IACT,mDAAY,CAAA;AACd,CAAC,EAHW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAGrB;AAED,MAAM;AACO,QAAA,WAAW,GAAG;IACzB,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;CACZ,CAAA;AAED,OAAO;AACP,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,yDAAgB,CAAA;IAChB,mEAAiB,CAAA;AACnB,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB;AAEY,QAAA,KAAK,GAAG,SAAS,CAAA;AAE9B,gBAAgB;AACH,QAAA,QAAQ,GAAG,SAAS,CAAA;AAEjC,cAAc;AACD,QAAA,UAAU,GAAW,qBAAmB,aAAO,CAAA"} {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAAA,cAAc;;;;;;;;;;;;;AAEd,8CAA2B;AAE3B,cAAc;AACD,QAAA,OAAO,GAAG;IACrB,6CAA6C,EAAE,kBAAkB;IACjE,yBAAyB,EAAE,iBAAiB;IAC5C,oBAAoB,EAAE,aAAa;IACnC,sCAAsC,EAAE,gBAAgB;IACxD,iBAAiB,EAAE,cAAc;IACjC,YAAY,EAAE,YAAY;IAC1B,iBAAiB,EAAE,iBAAiB;CACrC,CAAA;AAED,SAAS;AACI,QAAA,WAAW,GAAG;IACzB,MAAM;IACN,SAAS,EAAE,CAAC;IACZ,MAAM;IACN,UAAU,EAAE,CAAC;IACb,OAAO;IACP,OAAO,EAAE,CAAC;IACV,OAAO;IACP,IAAI,EAAE,CAAC;IACP,MAAM;IACN,OAAO,EAAE,CAAC;IACV,OAAO;IACP,KAAK,EAAE,CAAC;CACT,CAAA;AAED,OAAO;AACM,QAAA,2BAA2B,GAAa;IACnD,wBAAwB;IACxB,uBAAuB;IACvB,0BAA0B;IAC1B,oBAAoB;IACpB,gBAAgB;IAChB,qBAAqB;CACtB,CAAA;AAcD,UAAU;AACG,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;CACX,CAAA;AAED,MAAM;AACO,QAAA,WAAW,GAAG;IACzB,OAAO,EAAE,CAAC;IACV,YAAY,EAAE,CAAC;IACf,IAAI,EAAE,CAAC,CAAC,MAAM;CACf,CAAA;AAED,OAAO;AACM,QAAA,UAAU,GAAG;IACxB,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;CACV,CAAA;AAED,OAAO;AACM,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,CAAC,CAAC,KAAK;CACrB,CAAA;AAED,WAAW;AACX,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,6CAAS,CAAA;IACT,mDAAY,CAAA;AACd,CAAC,EAHW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAGrB;AAED,MAAM;AACO,QAAA,WAAW,GAAG;IACzB,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;CACZ,CAAA;AAED,OAAO;AACP,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,2DAAa,CAAA;AACf,CAAC,EAFW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEpB;AAEY,QAAA,KAAK,GAAG,SAAS,CAAA;AAE9B,gBAAgB;AACH,QAAA,QAAQ,GAAG,SAAS,CAAA;AAEjC,cAAc;AACD,QAAA,UAAU,GAAW,qBAAmB,aAAO,CAAA"}
\ No newline at end of file \ No newline at end of file
/** @format */ /** @format */
import { UserService, TaskService } from '../service'; import { UserService, AccessService, TaskService, StatService } from '../service';
export default class Share { export default class Share {
/** /**
* 获取邀请信息 * 获取邀请信息
...@@ -15,5 +15,5 @@ export default class Share { ...@@ -15,5 +15,5 @@ export default class Share {
doHelp(context: IContext<{ doHelp(context: IContext<{
activityId: string; activityId: string;
inviteId: string; inviteId: string;
}>, { userInfo, vipInfo, activityInfo }: IControllerInfos, [userService, taskService]: [UserService, TaskService]): Promise<IResult<boolean>>; }>, { userInfo, vipInfo, activityInfo }: IControllerInfos, [userService, taskService, statService]: [UserService, TaskService, StatService, AccessService]): Promise<IResult<boolean>>;
} }
...@@ -53,6 +53,7 @@ var sdk_1 = require("../sdk"); ...@@ -53,6 +53,7 @@ var sdk_1 = require("../sdk");
var utils_1 = require("../utils"); var utils_1 = require("../utils");
var service_1 = require("../service"); var service_1 = require("../service");
var registeInfos_1 = require("../decorator/registeInfos"); var registeInfos_1 = require("../decorator/registeInfos");
var constants_2 = require("../constants");
var Share = /** @class */ (function () { var Share = /** @class */ (function () {
function Share() { function Share() {
} }
...@@ -76,14 +77,14 @@ var Share = /** @class */ (function () { ...@@ -76,14 +77,14 @@ var Share = /** @class */ (function () {
*/ */
Share.prototype.doHelp = function (context, _a, _b) { Share.prototype.doHelp = function (context, _a, _b) {
var userInfo = _a.userInfo, vipInfo = _a.vipInfo, activityInfo = _a.activityInfo; var userInfo = _a.userInfo, vipInfo = _a.vipInfo, activityInfo = _a.activityInfo;
var userService = _b[0], taskService = _b[1]; var userService = _b[0], taskService = _b[1], statService = _b[2];
return __awaiter(this, void 0, void 0, function () { return __awaiter(this, void 0, void 0, function () {
var inviteId, openId, inviteUserInfo, taskInfo, tasks, value, isNewVip, isValidShare, today, inviteUserId; var _c, inviteId, activityId, openId, inviteUserInfo, userInviteSuccessCount, tasks, value, isNewVip, isValidShare, today, inviteUserId;
var _c; var _d;
return __generator(this, function (_d) { return __generator(this, function (_e) {
switch (_d.label) { switch (_e.label) {
case 0: case 0:
inviteId = context.data.inviteId; _c = context.data, inviteId = _c.inviteId, activityId = _c.activityId;
openId = context.openId; openId = context.openId;
if (openId === inviteId) if (openId === inviteId)
return [2 /*return*/, sdk_1.resultsModel.error(constants_1.CODE_TYPES.ERROR_NO_INVITE_SELF)]; return [2 /*return*/, sdk_1.resultsModel.error(constants_1.CODE_TYPES.ERROR_NO_INVITE_SELF)];
...@@ -91,52 +92,66 @@ var Share = /** @class */ (function () { ...@@ -91,52 +92,66 @@ var Share = /** @class */ (function () {
// inviteId的用户信息查询不到, 则inviteId无效 // inviteId的用户信息查询不到, 则inviteId无效
]; ];
case 1: case 1:
inviteUserInfo = _d.sent(); inviteUserInfo = _e.sent();
// inviteId的用户信息查询不到, 则inviteId无效 // inviteId的用户信息查询不到, 则inviteId无效
if (!inviteUserInfo) if (!inviteUserInfo)
return [2 /*return*/, sdk_1.resultsModel.error(constants_1.CODE_TYPES.ERROR_INVALID_INVITE_ID)]; return [2 /*return*/, sdk_1.resultsModel.error(constants_1.CODE_TYPES.ERROR_INVALID_INVITE_ID)
taskInfo = taskService.getCompleteTaskByUserTaskInfo('invites', inviteUserInfo).taskInfo; // 邀请成功有该用户信息
// 邀请成功列表有该用户信息 ];
if (taskInfo.some(function (v) { return v.openId === openId; })) { return [4 /*yield*/, statService.getStatCountByquery({
return [2 /*return*/, sdk_1.resultsModel.error(constants_1.CODE_TYPES.ERROR_AREADY_INVITE_SUCCESS)]; activityId: activityId,
} openId: openId,
type: constants_2.STAT_TYPE.INITE_SUCCESS
})];
case 2:
userInviteSuccessCount = _e.sent();
if (userInviteSuccessCount)
return [2 /*return*/, sdk_1.resultsModel.error(constants_1.CODE_TYPES.ERROR_AREADY_INVITE_SUCCESS)
// 获取活动基本信息
];
tasks = activityInfo.tasks; tasks = activityInfo.tasks;
value = tasks.invites.value; value = tasks.invites.value;
isNewVip = userService.checkNewVip(userInfo, vipInfo); isNewVip = utils_1.checkNewVip(userInfo, vipInfo);
if (!(isNewVip && !userInfo.member.newMember)) return [3 /*break*/, 3]; if (!(isNewVip && !userInfo.member.newMember)) return [3 /*break*/, 4];
return [4 /*yield*/, userService.updateUser(userInfo._id, { return [4 /*yield*/, userService.updateUser(userInfo._id, {
$set: { $set: {
member: userService.setNewVipUserData(userInfo.member) member: utils_1.setNewVipUserData(userInfo.member)
} }
})]; })];
case 2:
_d.sent();
_d.label = 3;
case 3: case 3:
_e.sent();
_e.label = 4;
case 4:
isValidShare = [isNewVip].every(function (v) { return !!v; }); isValidShare = [isNewVip].every(function (v) { return !!v; });
today = utils_1.getToday(); today = utils_1.getToday();
if (!isValidShare) return [3 /*break*/, 5]; if (!isValidShare)
return [2 /*return*/, sdk_1.resultsModel.error(constants_1.CODE_TYPES.ERROR_INVITE)
// 成功邀请
];
inviteUserId = inviteUserInfo._id; inviteUserId = inviteUserInfo._id;
// 增加邀请人的待领取次数和邀请记录 // 增加邀请人的待领取次数和邀请记录
return [4 /*yield*/, userService.updateUser(inviteUserId, { return [4 /*yield*/, userService.updateUser(inviteUserId, {
$inc: { $inc: {
'remainTimes.invites': value 'remainTimes.invites': value
}, },
$push: (_c = {}, $push: (_d = {},
_c["taskInfo." + today + ".invites"] = { openId: openId, createTime: Date.now() }, _d["taskInfo." + today + ".invites"] = { openId: openId, createTime: Date.now() },
_c) _d)
})]; })];
case 4: case 5:
// 增加邀请人的待领取次数和邀请记录 // 增加邀请人的待领取次数和邀请记录
_d.sent(); _e.sent();
_d.label = 5; return [4 /*yield*/, statService.addStat(constants_2.STAT_TYPE.INITE_SUCCESS, userInfo)];
case 5: return [2 /*return*/, sdk_1.resultsModel.success(true)]; case 6:
_e.sent();
return [2 /*return*/, sdk_1.resultsModel.success(true)];
} }
}); });
}); });
}; };
__decorate([ __decorate([
check_1.paramsCheck(['activityId']), check_1.paramsCheck(['activityId']),
check_1.userCheck({ intercept: true }),
registeInfos_1.registeInfos(['userInfo', 'activityInfo']), registeInfos_1.registeInfos(['userInfo', 'activityInfo']),
services_1.services([service_1.UserService]), services_1.services([service_1.UserService]),
__metadata("design:type", Function), __metadata("design:type", Function),
...@@ -146,8 +161,9 @@ var Share = /** @class */ (function () { ...@@ -146,8 +161,9 @@ var Share = /** @class */ (function () {
__decorate([ __decorate([
check_1.paramsCheck(['activityId', 'inviteId']), check_1.paramsCheck(['activityId', 'inviteId']),
check_1.activityTimeCheck, check_1.activityTimeCheck,
check_1.userCheck({ intercept: true }),
registeInfos_1.registeInfos(['userInfo', 'vipInfo', 'activityInfo']), registeInfos_1.registeInfos(['userInfo', 'vipInfo', 'activityInfo']),
services_1.services([service_1.UserService, service_1.TaskService, service_1.AccessService]), services_1.services([service_1.UserService, service_1.TaskService, service_1.StatService, service_1.AccessService]),
__metadata("design:type", Function), __metadata("design:type", Function),
__metadata("design:paramtypes", [Object, Object, Array]), __metadata("design:paramtypes", [Object, Object, Array]),
__metadata("design:returntype", Promise) __metadata("design:returntype", Promise)
......
{"version":3,"file":"share.controller.js","sourceRoot":"","sources":["../../src/controller/share.controller.ts"],"names":[],"mappings":"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"} {"version":3,"file":"share.controller.js","sourceRoot":"","sources":["../../src/controller/share.controller.ts"],"names":[],"mappings":"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"}
\ No newline at end of file \ No newline at end of file
...@@ -23,4 +23,33 @@ export default class User { ...@@ -23,4 +23,33 @@ export default class User {
* 获取会员信息 * 获取会员信息
*/ */
getVipInfo(context: IContext<IVipParams>, { session, activityUserNick }: IControllerInfos): Promise<IResult<IVipInfo>>; getVipInfo(context: IContext<IVipParams>, { session, activityUserNick }: IControllerInfos): Promise<IResult<IVipInfo>>;
/**
* 获取排行榜
*/
getRankList(context: IContext<{
activityId: string;
}>, { userInfo }: IControllerInfos, [userService]: [UserService]): Promise<import("taobao-mini-sdk/lib/utils/resultmodel").Result<{
userNick: string;
avatar: string;
rank: number;
score: any;
list: {
userNick: string;
rank: number;
_id?: string;
id?: string;
activityId: string;
avatar: string;
openId: string;
createTime: number;
updateTime: number;
createDay?: string;
inviteId?: string;
member?: IMemberInfo;
follow?: IFollowInfo;
remainTimes?: IRemainTimesInfo;
taskInfo?: object;
login?: object;
}[];
}, true>>;
} }
...@@ -106,6 +106,37 @@ var User = /** @class */ (function () { ...@@ -106,6 +106,37 @@ var User = /** @class */ (function () {
}); });
}); });
}; };
/**
* 获取排行榜
*/
User.prototype.getRankList = function (context, _a, _b) {
var userInfo = _a.userInfo;
var userService = _b[0];
return __awaiter(this, void 0, void 0, function () {
var sortKey, sortTime, userNick, avatar, rank, list;
return __generator(this, function (_c) {
switch (_c.label) {
case 0:
sortKey = 'score';
sortTime = 'updateScoreTime';
userNick = userInfo.userNick, avatar = userInfo.avatar;
return [4 /*yield*/, userService.getMyRank(sortKey, sortTime, userInfo[sortKey])];
case 1:
rank = _c.sent();
return [4 /*yield*/, userService.getRank(sortKey, sortTime, 200)];
case 2:
list = _c.sent();
return [2 /*return*/, sdk_1.resultsModel.success({
userNick: userNick,
avatar: avatar,
rank: rank,
score: userInfo[sortKey],
list: list
})];
}
});
});
};
__decorate([ __decorate([
decorator_1.paramsCheck(['activityId', 'userNick', 'avatar', 'isFollow']), decorator_1.paramsCheck(['activityId', 'userNick', 'avatar', 'isFollow']),
decorator_1.activityTimeCheck, decorator_1.activityTimeCheck,
...@@ -123,6 +154,14 @@ var User = /** @class */ (function () { ...@@ -123,6 +154,14 @@ var User = /** @class */ (function () {
__metadata("design:paramtypes", [Object, Object]), __metadata("design:paramtypes", [Object, Object]),
__metadata("design:returntype", Promise) __metadata("design:returntype", Promise)
], User.prototype, "getVipInfo", null); ], User.prototype, "getVipInfo", null);
__decorate([
decorator_1.paramsCheck(['activityId']),
decorator_1.userCheck({ intercept: true }),
decorator_1.services([service_1.UserService]),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object, Object, Array]),
__metadata("design:returntype", Promise)
], User.prototype, "getRankList", null);
return User; return User;
}()); }());
exports.default = User; exports.default = User;
......
{"version":3,"file":"user.controller.js","sourceRoot":"","sources":["../../src/controller/user.controller.ts"],"names":[],"mappings":";AAAA,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEd,0CAAqF;AACrF,8BAAqC;AACrC,sCAAuD;AACvD,4CAAiE;AAcjE;IAAA;IA4CA,CAAC;IA3CC;;OAEG;IAKG,oBAAK,GAAX,UACE,OAA+B,EAC/B,EAAqD,EACrD,EAA0D;YADxD,QAAQ,cAAA,EAAE,OAAO,aAAA,EAAE,YAAY,kBAAA;YAChC,WAAW,QAAA,EAAE,aAAa,QAAA;;;;;;wBAEnB,MAAM,GAAK,OAAO,OAAZ,CAAY;6BAEtB,CAAC,QAAQ,EAAT,wBAAS;wBACA,qBAAM,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,EAAA;;wBAAhE,QAAQ,GAAG,SAAqD,CAAA;;4BAErD,qBAAM,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAA;;wBAA5E,QAAQ,GAAG,SAAiE,CAAA;;;oBAG9E,UAAU;oBACV,qBAAM,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAA;;wBADvC,UAAU;wBACV,SAAuC,CAAA;wBAEvC,sBAAO,kBAAY,CAAC,OAAO,CAAC;gCAC1B,MAAM,QAAA;6BACP,CAAC,EAAA;;;;KACH;IACD;;OAEG;IAIG,yBAAU,GAAhB,UACE,OAA6B,EAC7B,EAA+C;YAA7C,OAAO,aAAA,EAAE,gBAAgB,sBAAA;;;;;;wBAEnB,WAAW,GAAK,OAAO,CAAC,IAAI,YAAjB,CAAiB;wBAErB,qBAAM,gBAAU,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,IAAI,oBAAc,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,EAAA;;wBAArG,MAAM,GAAG,SAA4F;wBAE3G,sBAAO,kBAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAA;;;;KACpC;IAnCD;QAJC,uBAAW,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC7D,6BAAiB;QACjB,wBAAY,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QACrD,oBAAQ,CAAC,CAAC,qBAAW,EAAE,uBAAa,CAAC,CAAC;;;;qCAoBtC;IAOD;QAHC,uBAAW,CAAC,CAAC,YAAY,CAAC,CAAC;QAC3B,wBAAY,CAAC,CAAC,SAAS,CAAC,CAAC;QACzB,oBAAQ,CAAC,EAAE,CAAC;;;;0CAUZ;IACH,WAAC;CAAA,AA5CD,IA4CC;kBA5CoB,IAAI"} {"version":3,"file":"user.controller.js","sourceRoot":"","sources":["../../src/controller/user.controller.ts"],"names":[],"mappings":"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"}
\ No newline at end of file \ No newline at end of file
...@@ -17,12 +17,38 @@ declare const _default: { ...@@ -17,12 +17,38 @@ declare const _default: {
list: IAwards[]; list: IAwards[];
}>>; }>>;
receiveObjectPrize: (context: IContext<import("./controller/awards.controller").IReceiveOjectParams>, {}: {}, [awardSer]: [import("./service").AwardsService]) => Promise<IResult<boolean>>; receiveObjectPrize: (context: IContext<import("./controller/awards.controller").IReceiveOjectParams>, {}: {}, [awardSer]: [import("./service").AwardsService]) => Promise<IResult<boolean>>;
receiveEnamePrize: (context: IContext<import("./controller/awards.controller").IReceiveEnameParams>, {}: {}, [awardSer]: [import("./service").AwardsService]) => Promise<import("taobao-mini-sdk/lib/utils/resultmodel").Result<string | boolean | object | string[] | object[] | number[], false> | import("taobao-mini-sdk/lib/utils/resultmodel").Result<import("taobao-mini-sdk/lib/utils/codetypes").CodeType | IAwards, true>>; receiveEnamePrize: (context: IContext<import("./controller/awards.controller").IReceiveEnameParams>, {}: {}, [awardSer]: [import("./service").AwardsService]) => Promise<import("taobao-mini-sdk/lib/utils/resultmodel").Result<string | boolean | object | string[] | object[] | number[], false> | import("taobao-mini-sdk/lib/utils/resultmodel").Result<IAwards | import("taobao-mini-sdk/lib/utils/codetypes").CodeType, true>>;
doHelp: (context: IContext<{ doHelp: (context: IContext<{
activityId: string; activityId: string;
inviteId: string; inviteId: string;
}>, { userInfo, vipInfo, activityInfo }: IControllerInfos, [userService, taskService]: [import("./service/user.service").default, import("./service").TaskService]) => Promise<IResult<boolean>>; }>, { userInfo, vipInfo, activityInfo }: IControllerInfos, [userService, taskService, statService]: [import("./service/user.service").default, import("./service").TaskService, import("./service").StatService, import("./service").AccessService]) => Promise<IResult<boolean>>;
getStats: (context: IContext<import("./controller/stat.controller").IGetStatsParams>) => Promise<import("taobao-mini-sdk/lib/utils/resultmodel").Result<string | boolean | object | string[] | object[] | number[], false> | import("taobao-mini-sdk/lib/utils/resultmodel").Result<any, true>>; getStats: (context: IContext<import("./controller/stat.controller").IGetStatsParams>) => Promise<import("taobao-mini-sdk/lib/utils/resultmodel").Result<string | boolean | object | string[] | object[] | number[], false> | import("taobao-mini-sdk/lib/utils/resultmodel").Result<any, true>>;
addStat: (context: IContext<import("./controller/stat.controller").IAddStatsParams>, { userInfo }: IControllerInfos, [statService]: [import("./service").StatService]) => Promise<import("taobao-mini-sdk/lib/utils/resultmodel").Result<boolean, true>>; addStat: (context: IContext<import("./controller/stat.controller").IAddStatsParams>, { userInfo }: IControllerInfos, [statService]: [import("./service").StatService]) => Promise<import("taobao-mini-sdk/lib/utils/resultmodel").Result<boolean, true>>;
getRankList: (context: IContext<{
activityId: string;
}>, { userInfo }: IControllerInfos, [userService]: [import("./service/user.service").default]) => Promise<import("taobao-mini-sdk/lib/utils/resultmodel").Result<{
userNick: string;
avatar: string;
rank: number;
score: any;
list: {
userNick: string;
rank: number;
_id?: string;
id?: string;
activityId: string;
avatar: string;
openId: string;
createTime: number;
updateTime: number;
createDay?: string;
inviteId?: string;
member?: IMemberInfo;
follow?: IFollowInfo;
remainTimes?: IRemainTimesInfo;
taskInfo?: object;
login?: object;
}[];
}, true>>;
}; };
export default _default; export default _default;
...@@ -8,7 +8,7 @@ var base_controller_1 = require("./controller/base.controller"); ...@@ -8,7 +8,7 @@ var base_controller_1 = require("./controller/base.controller");
var awards_controller_1 = require("./controller/awards.controller"); var awards_controller_1 = require("./controller/awards.controller");
var share_controller_1 = require("./controller/share.controller"); var share_controller_1 = require("./controller/share.controller");
var stat_controller_1 = require("./controller/stat.controller"); var stat_controller_1 = require("./controller/stat.controller");
var _a = new user_controller_1.default(), login = _a.login, getVipInfo = _a.getVipInfo; var _a = new user_controller_1.default(), login = _a.login, getVipInfo = _a.getVipInfo, getRankList = _a.getRankList;
var _b = new task_controller_1.default(), getTaskList = _b.getTaskList, receiveTaskRewards = _b.receiveTaskRewards, getCollectGoodsList = _b.getCollectGoodsList, // 获取收藏商品列表,包含收藏状态 var _b = new task_controller_1.default(), getTaskList = _b.getTaskList, receiveTaskRewards = _b.receiveTaskRewards, getCollectGoodsList = _b.getCollectGoodsList, // 获取收藏商品列表,包含收藏状态
doFollowTask = _b.doFollowTask, doJumpLinkTask = _b.doJumpLinkTask, doBrowseGoodsTask = _b.doBrowseGoodsTask, doCollectGoodsTask = _b.doCollectGoodsTask, doExchangeCreditsTask = _b.doExchangeCreditsTask; doFollowTask = _b.doFollowTask, doJumpLinkTask = _b.doJumpLinkTask, doBrowseGoodsTask = _b.doBrowseGoodsTask, doCollectGoodsTask = _b.doCollectGoodsTask, doExchangeCreditsTask = _b.doExchangeCreditsTask;
var _c = new base_controller_1.default(), getActivityBaseInfoById = _c.getActivityBaseInfoById, getItemListByItemIds = _c.getItemListByItemIds; var _c = new base_controller_1.default(), getActivityBaseInfoById = _c.getActivityBaseInfoById, getItemListByItemIds = _c.getItemListByItemIds;
...@@ -26,6 +26,7 @@ exports.default = { ...@@ -26,6 +26,7 @@ exports.default = {
receiveEnamePrize: receiveEnamePrize, receiveEnamePrize: receiveEnamePrize,
doHelp: doHelp, doHelp: doHelp,
getStats: getStats, getStats: getStats,
addStat: addStat addStat: addStat,
getRankList: getRankList
}; };
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map
\ No newline at end of file
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,cAAc;;AAEd,2CAA2C;AAC3C,gEAAyD;AACzD,gEAAyD;AACzD,gEAAyD;AACzD,oEAA6D;AAC7D,kEAA2D;AAC3D,gEAAyD;AAEnD,IAAA,KAAwB,IAAI,yBAAc,EAAE,EAA1C,KAAK,WAAA,EAAE,UAAU,gBAAyB,CAAA;AAC5C,IAAA,KASF,IAAI,yBAAc,EAAE,EARtB,WAAW,iBAAA,EACX,kBAAkB,wBAAA,EAClB,mBAAmB,yBAAA,EAAE,kBAAkB;AACvC,YAAY,kBAAA,EACZ,cAAc,oBAAA,EACd,iBAAiB,uBAAA,EACjB,kBAAkB,wBAAA,EAClB,qBAAqB,2BACC,CAAA;AAElB,IAAA,KAAoD,IAAI,yBAAc,EAAE,EAAtE,uBAAuB,6BAAA,EAAE,oBAAoB,0BAAyB,CAAA;AAExE,IAAA,KAA8E,IAAI,2BAAgB,EAAE,EAAlG,cAAc,oBAAA,EAAE,kBAAkB,wBAAA,EAAE,iBAAiB,uBAAA,EAAE,gBAAgB,sBAA2B,CAAA;AAElG,IAAA,MAAM,GAAK,IAAI,0BAAe,EAAE,OAA1B,CAA0B;AAElC,IAAA,KAAwB,IAAI,yBAAc,EAAE,EAA1C,QAAQ,cAAA,EAAE,OAAO,aAAyB,CAAA;AAElD,kBAAe;IACb,KAAK,OAAA;IACL,UAAU,YAAA;IACV,WAAW,aAAA;IACX,kBAAkB,oBAAA;IAClB,uBAAuB,yBAAA;IACvB,cAAc,gBAAA;IACd,kBAAkB,oBAAA;IAClB,iBAAiB,mBAAA;IACjB,MAAM,QAAA;IACN,QAAQ,UAAA;IACR,OAAO,SAAA;CACR,CAAA"} {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,cAAc;;AAEd,2CAA2C;AAC3C,gEAAyD;AACzD,gEAAyD;AACzD,gEAAyD;AACzD,oEAA6D;AAC7D,kEAA2D;AAC3D,gEAAyD;AAEnD,IAAA,KAAqC,IAAI,yBAAc,EAAE,EAAvD,KAAK,WAAA,EAAE,UAAU,gBAAA,EAAE,WAAW,iBAAyB,CAAA;AACzD,IAAA,KASF,IAAI,yBAAc,EAAE,EARtB,WAAW,iBAAA,EACX,kBAAkB,wBAAA,EAClB,mBAAmB,yBAAA,EAAE,kBAAkB;AACvC,YAAY,kBAAA,EACZ,cAAc,oBAAA,EACd,iBAAiB,uBAAA,EACjB,kBAAkB,wBAAA,EAClB,qBAAqB,2BACC,CAAA;AAElB,IAAA,KAAoD,IAAI,yBAAc,EAAE,EAAtE,uBAAuB,6BAAA,EAAE,oBAAoB,0BAAyB,CAAA;AAExE,IAAA,KAA8E,IAAI,2BAAgB,EAAE,EAAlG,cAAc,oBAAA,EAAE,kBAAkB,wBAAA,EAAE,iBAAiB,uBAAA,EAAE,gBAAgB,sBAA2B,CAAA;AAElG,IAAA,MAAM,GAAK,IAAI,0BAAe,EAAE,OAA1B,CAA0B;AAElC,IAAA,KAAwB,IAAI,yBAAc,EAAE,EAA1C,QAAQ,cAAA,EAAE,OAAO,aAAyB,CAAA;AAElD,kBAAe;IACb,KAAK,OAAA;IACL,UAAU,YAAA;IACV,WAAW,aAAA;IACX,kBAAkB,oBAAA;IAClB,uBAAuB,yBAAA;IACvB,cAAc,gBAAA;IACd,kBAAkB,oBAAA;IAClB,iBAAiB,mBAAA;IACjB,MAAM,QAAA;IACN,QAAQ,UAAA;IACR,OAAO,SAAA;IACP,WAAW,aAAA;CACZ,CAAA"}
\ No newline at end of file \ No newline at end of file
...@@ -17,4 +17,5 @@ export default class StatService { ...@@ -17,4 +17,5 @@ export default class StatService {
* @memberof StatService * @memberof StatService
*/ */
addStat(type: number, userInfo?: IUserInfo, customStatData?: object): Promise<string>; addStat(type: number, userInfo?: IUserInfo, customStatData?: object): Promise<string>;
getStatCountByquery(query: IMongoQuery): Promise<number>;
} }
...@@ -89,6 +89,16 @@ var StatService = /** @class */ (function () { ...@@ -89,6 +89,16 @@ var StatService = /** @class */ (function () {
}); });
}); });
}; };
StatService.prototype.getStatCountByquery = function (query) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.statdao.count(query)];
case 1: return [2 /*return*/, _a.sent()];
}
});
});
};
return StatService; return StatService;
}()); }());
exports.default = StatService; exports.default = StatService;
......
{"version":3,"file":"stat.service.js","sourceRoot":"","sources":["../../src/service/stat.service.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,8BAAgC;AAChC,4BAAoC;AACpC,kCAAmC;AACnC,0CAAwC;AAExC;IAGE,qBAAY,OAA0B;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,aAAO,CAAC,OAAO,EAAE,iBAAY,CAAC,CAAA;IACnD,CAAC;IAED;;;;;;;;OAQG;IACG,6BAAO,GAAb,UAAc,IAAY,EAAE,QAAqC,EAAE,cAA2B;QAAlE,yBAAA,EAAA,WAAsB,EAAe;QAAE,+BAAA,EAAA,mBAA2B;;;;;;wBACpF,MAAM,GAAK,IAAI,CAAC,OAAO,OAAjB,CAAiB;wBACvB,UAAU,GAAK,IAAI,CAAC,OAAO,CAAC,IAAI,WAAtB,CAAsB;wBAChC,QAAQ,GAAK,QAAQ,SAAb,CAAa;wBACtB,qBAAM,IAAI,CAAC,OAAO,CAAC,SAAS,qBACjC,UAAU,YAAA;gCACV,IAAI,MAAA,EACJ,QAAQ,EAAE,qBAAS,CAAC,IAAI,CAAC,EACzB,QAAQ,UAAA;gCACR,MAAM,QAAA,IACH,cAAc,KACjB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EACtB,SAAS,EAAE,gBAAQ,EAAE,IACrB,EAAA;4BATF,sBAAO,SASL,EAAA;;;;KACH;IACH,kBAAC;AAAD,CAAC,AAhCD,IAgCC"} {"version":3,"file":"stat.service.js","sourceRoot":"","sources":["../../src/service/stat.service.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,8BAAgC;AAChC,4BAAoC;AACpC,kCAAmC;AACnC,0CAAwC;AAExC;IAGE,qBAAY,OAA0B;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,aAAO,CAAC,OAAO,EAAE,iBAAY,CAAC,CAAA;IACnD,CAAC;IAED;;;;;;;;OAQG;IACG,6BAAO,GAAb,UAAc,IAAY,EAAE,QAAqC,EAAE,cAA2B;QAAlE,yBAAA,EAAA,WAAsB,EAAe;QAAE,+BAAA,EAAA,mBAA2B;;;;;;wBACpF,MAAM,GAAK,IAAI,CAAC,OAAO,OAAjB,CAAiB;wBACvB,UAAU,GAAK,IAAI,CAAC,OAAO,CAAC,IAAI,WAAtB,CAAsB;wBAChC,QAAQ,GAAK,QAAQ,SAAb,CAAa;wBACtB,qBAAM,IAAI,CAAC,OAAO,CAAC,SAAS,qBACjC,UAAU,YAAA;gCACV,IAAI,MAAA,EACJ,QAAQ,EAAE,qBAAS,CAAC,IAAI,CAAC,EACzB,QAAQ,UAAA;gCACR,MAAM,QAAA,IACH,cAAc,KACjB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EACtB,SAAS,EAAE,gBAAQ,EAAE,IACrB,EAAA;4BATF,sBAAO,SASL,EAAA;;;;KACH;IAEK,yCAAmB,GAAzB,UAA0B,KAAkB;;;;4BACnC,qBAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAA;4BAAtC,sBAAO,SAA+B,EAAA;;;;KACvC;IACH,kBAAC;AAAD,CAAC,AApCD,IAoCC"}
\ No newline at end of file \ No newline at end of file
...@@ -115,7 +115,7 @@ var TaskService = /** @class */ (function (_super) { ...@@ -115,7 +115,7 @@ var TaskService = /** @class */ (function (_super) {
var member = userInfo.member; var member = userInfo.member;
var newMember = member.newMember; var newMember = member.newMember;
var today = utils_1.getToday(); var today = utils_1.getToday();
var isNewVip = this.checkNewVip(userInfo, vipInfo); var isNewVip = utils_1.checkNewVip(userInfo, vipInfo);
var value = tasks.member.value; var value = tasks.member.value;
var projection = { var projection = {
$set: {}, $set: {},
...@@ -123,7 +123,7 @@ var TaskService = /** @class */ (function (_super) { ...@@ -123,7 +123,7 @@ var TaskService = /** @class */ (function (_super) {
$push: {} $push: {}
}; };
if (isNewVip && !newMember) { if (isNewVip && !newMember) {
member = this.setNewVipUserData(member); member = utils_1.setNewVipUserData(member);
// @ts-ignore // @ts-ignore
projection.$set.member = member; projection.$set.member = member;
projection.$inc['remainTimes.member'] = +value; projection.$inc['remainTimes.member'] = +value;
...@@ -229,7 +229,7 @@ var TaskService = /** @class */ (function (_super) { ...@@ -229,7 +229,7 @@ var TaskService = /** @class */ (function (_super) {
_id = userInfo._id, follow = userInfo.follow; _id = userInfo._id, follow = userInfo.follow;
tasks = activityInfo.tasks; tasks = activityInfo.tasks;
value = (tasks || {}).follow.value; value = (tasks || {}).follow.value;
followInfo = this.setNewFollowUserData(follow); followInfo = utils_1.setNewFollowUserData(follow);
return [4 /*yield*/, this.updateUser(_id, { return [4 /*yield*/, this.updateUser(_id, {
$set: { $set: {
follow: followInfo follow: followInfo
......
{"version":3,"file":"task.service.js","sourceRoot":"","sources":["../../src/service/task.service.ts"],"names":[],"mappings":"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"} {"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 \ No newline at end of file
...@@ -36,47 +36,39 @@ declare class UserService extends BaseService { ...@@ -36,47 +36,39 @@ declare class UserService extends BaseService {
* @returns 若更新成功,返回为1; 若更新失败,返回为 0 或系统直接报错 * @returns 若更新成功,返回为1; 若更新失败,返回为 0 或系统直接报错
*/ */
updateUser(_id: string, projection: IUpdateQuery): Promise<number>; updateUser(_id: string, projection: IUpdateQuery): Promise<number>;
/** getRank(sortValueKey: string, sortTimeKey: string, limit?: number): Promise<{
* @desc 排行榜 userNick: string;
* @param {查询条件} match rank: number;
* @param {排序规则} sort _id?: string;
* @param {查询条数} limit id?: string;
*/ activityId: string;
getRank(match: Object, sort: Object, limit: number): Promise<any>; avatar: string;
/** openId: string;
* @desc 获取我的排名 createTime: number;
* @param {查询条件} match updateTime: number;
* @param {排序规则} sort createDay?: string;
*/ inviteId?: string;
getMyRank(match: Object, sort: Object): Promise<any>; member?: IMemberInfo;
follow?: IFollowInfo;
remainTimes?: IRemainTimesInfo;
taskInfo?: object;
login?: object;
}[]>;
/** /**
* 获取用户排名 * 获取用户排名
*/
getUserRank(hotValue: number): Promise<string | number>;
/**
* updateUser projection 格式化
* *
* @param {object} projection * @param {string} sortValueKey 排名字段
* @return {*} * @param {number} userValue
* @param {string} sortTimeKey
* @return {number} 排行
* @memberof UserService * @memberof UserService
*/ */
formatUpdateUserProjection(projection: IUpdateQuery): IUpdateQuery; getMyRank(sortValueKey: string, sortTimeKey: string, userValue: number): Promise<number>;
/** /**
* @desc 根据用户主键id查找用户详情 * @desc 根据用户主键id查找用户详情
* @param {用户的主键id} _id * @param {用户的主键id} _id
* @returns 若用户不存在,返回null; 用户存在,返回用户信息(object对象) * @returns 若用户不存在,返回null; 用户存在,返回用户信息(object对象)
*/ */
getUserInfoById(_id: string): Promise<unknown>; getUserInfoById(_id: string): Promise<unknown>;
/**
*判断是否新会员
*
* @param {IUserInfo} userInfo
* @param {IVipInfo} vipInfo
* @returns {boolean}
* @memberof UserService
*/
checkNewVip(userInfo: IUserInfo, vipInfo: IVipInfo): boolean;
setNewVipUserData(member: IMemberInfo): IMemberInfo;
setNewFollowUserData(follow: IFollowInfo): IFollowInfo;
} }
export default UserService; export default UserService;
...@@ -69,6 +69,8 @@ var sdk_1 = require("../sdk"); ...@@ -69,6 +69,8 @@ var sdk_1 = require("../sdk");
var base_service_1 = require("./base.service"); var base_service_1 = require("./base.service");
var db_1 = require("../db"); var db_1 = require("../db");
var utils_1 = require("../utils"); var utils_1 = require("../utils");
var userUpdate_1 = require("../utils/package/userUpdate");
var format_1 = require("../utils/package/format");
var UserService = /** @class */ (function (_super) { var UserService = /** @class */ (function (_super) {
__extends(UserService, _super); __extends(UserService, _super);
function UserService(context) { function UserService(context) {
...@@ -210,7 +212,7 @@ var UserService = /** @class */ (function (_super) { ...@@ -210,7 +212,7 @@ var UserService = /** @class */ (function (_super) {
projection.$push["taskInfo." + today + ".follow"] = { createTime: Date.now() }; projection.$push["taskInfo." + today + ".follow"] = { createTime: Date.now() };
projection.$inc["remainTimes.follow"] = follow.value; projection.$inc["remainTimes.follow"] = follow.value;
} }
isNewVip = this.checkNewVip(userInfo, vipInfo); isNewVip = userUpdate_1.checkNewVip(userInfo, vipInfo);
if (isNewVip && !userInfo.member.newMember) { if (isNewVip && !userInfo.member.newMember) {
// @ts-ignore // @ts-ignore
projection.$set.member = this.setNewVipUserData(userInfo.member); projection.$set.member = this.setNewVipUserData(userInfo.member);
...@@ -239,140 +241,79 @@ var UserService = /** @class */ (function (_super) { ...@@ -239,140 +241,79 @@ var UserService = /** @class */ (function (_super) {
return __awaiter(this, void 0, void 0, function () { return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) { return __generator(this, function (_a) {
switch (_a.label) { switch (_a.label) {
case 0: return [4 /*yield*/, this.userdao.update({ _id: _id }, this.formatUpdateUserProjection(projection))]; case 0: return [4 /*yield*/, this.userdao.update({ _id: _id }, utils_1.formatUpdateUserProjection(projection))];
case 1: return [2 /*return*/, _a.sent()]; case 1: return [2 /*return*/, _a.sent()];
} }
}); });
}); });
}; };
/** // 获取排名列表
* @desc 排行榜 UserService.prototype.getRank = function (sortValueKey, sortTimeKey, limit) {
* @param {查询条件} match if (limit === void 0) { limit = 200; }
* @param {排序规则} sort
* @param {查询条数} limit
*/
UserService.prototype.getRank = function (match, sort, limit) {
return __awaiter(this, void 0, void 0, function () {
var data, activityId;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
data = this.context.data;
activityId = data.activityId;
return [4 /*yield*/, this.userdao.aggregate([
{ $match: __assign(__assign({}, match), { activityId: activityId }) },
{ $sort: sort },
{ $group: { _id: null, table: { $push: '$$ROOT' } } },
{ $unwind: { path: '$table', includeArrayIndex: 'no' } },
{
$project: {
_id: 0,
openId: '$table.openId',
userNick: '$table.userNick',
no: {
$add: ['$no', 1]
}
}
},
{ $limit: limit }
])];
case 1: return [2 /*return*/, _a.sent()];
}
});
});
};
/**
* @desc 获取我的排名
* @param {查询条件} match
* @param {排序规则} sort
*/
UserService.prototype.getMyRank = function (match, sort) {
return __awaiter(this, void 0, void 0, function () { return __awaiter(this, void 0, void 0, function () {
var _a, openId, data, activityId; var activityId, list;
return __generator(this, function (_b) { var _a, _b, _c;
switch (_b.label) { return __generator(this, function (_d) {
switch (_d.label) {
case 0: case 0:
_a = this.context, openId = _a.openId, data = _a.data; activityId = this.context.data.activityId;
activityId = data.activityId; return [4 /*yield*/, this.userdao.find((_a = {
return [4 /*yield*/, this.userdao.aggregate([ activityId: activityId
{ $match: __assign(__assign({}, match), { activityId: activityId }) },
{ $sort: sort },
{ $group: { _id: null, table: { $push: '$$ROOT' } } },
{ $unwind: { path: '$table', includeArrayIndex: 'no' } },
{
$project: {
_id: 0,
openId: '$table.openId',
userNick: '$table.userNick',
no: {
$add: ['$no', 1]
}
}
}, },
{ $match: { openId: openId } } _a[sortValueKey] = { $gt: 0 },
])]; _a), {
case 1: return [2 /*return*/, _b.sent()]; projection: (_b = {}, _b[sortValueKey] = 1, _b.userNick = 1, _b.avatar = 1, _b._id = 0, _b),
sort: (_c = {}, _c[sortValueKey] = -1, _c[sortTimeKey] = 1, _c),
limit: limit
})];
case 1:
list = _d.sent();
return [2 /*return*/, list.map(function (v, i) {
return __assign(__assign({}, v), { userNick: format_1.formatUserNick(v.userNick), rank: i + 1 });
})];
} }
}); });
}); });
}; };
/** /**
* 获取用户排名 * 获取用户排名
*
* @param {string} sortValueKey 排名字段
* @param {number} userValue
* @param {string} sortTimeKey
* @return {number} 排行
* @memberof UserService
*/ */
UserService.prototype.getUserRank = function (hotValue) { UserService.prototype.getMyRank = function (sortValueKey, sortTimeKey, userValue) {
return __awaiter(this, void 0, void 0, function () { return __awaiter(this, void 0, void 0, function () {
var activityId, openId, sameScoreList, rank, gap, j; var activityId, openId, sameScoreList, rank, gap, j;
return __generator(this, function (_a) { var _a, _b, _c;
switch (_a.label) { return __generator(this, function (_d) {
switch (_d.label) {
case 0: case 0:
activityId = this.context.data.activityId; activityId = this.context.data.activityId;
openId = this.context.openId; openId = this.context.openId;
return [4 /*yield*/, this.userdao.find({ hotValue: hotValue, activityId: activityId }, { return [4 /*yield*/, this.userdao.find((_a = {}, _a[sortValueKey] = userValue, _a.activityId = activityId, _a), {
sort: { updateTime: 1 } sort: (_b = {}, _b[sortTimeKey] = 1, _b)
})]; })];
case 1: case 1:
sameScoreList = _a.sent(); sameScoreList = _d.sent();
rank = '未上榜';
gap = 0; gap = 0;
//说明有多个跟自己同分数的人 //说明有多个跟自己同分数的人
for (j = 0; j < sameScoreList.length; j++) { for (j = 0; j < sameScoreList.length; j++) {
if (sameScoreList[j].openId == openId) { if (sameScoreList[j].openId === openId) {
gap = j; gap = j;
} }
} }
return [4 /*yield*/, this.userdao.count({ hotValue: { $gt: hotValue }, activityId: activityId })]; return [4 /*yield*/, this.userdao.count((_c = {}, _c[sortValueKey] = { $gt: userValue }, _c.activityId = activityId, _c))];
case 2: case 2:
rank = _a.sent(); rank = _d.sent();
rank = rank + 1 + gap; rank = rank + 1 + gap;
if (rank > 1000) {
rank = '1000+';
}
return [2 /*return*/, rank]; return [2 /*return*/, rank];
} }
}); });
}); });
}; };
/**
* updateUser projection 格式化
*
* @param {object} projection
* @return {*}
* @memberof UserService
*/
UserService.prototype.formatUpdateUserProjection = function (projection) {
projection['$set'] = projection['$set'] || {};
projection['$set'].updateTime = Date.now();
// $push不存在属性 删除$push
if (projection['$push'] && !Object.keys(projection['$push']).length) {
delete projection['$push'];
}
// $pushAll不存在属性 删除$pushAll
if (projection['$pushAll'] && !Object.keys(projection['$pushAll']).length) {
delete projection['$pushAll'];
}
console.log(projection);
return projection;
};
/** /**
* @desc 根据用户主键id查找用户详情 * @desc 根据用户主键id查找用户详情
* @param {用户的主键id} _id * @param {用户的主键id} _id
...@@ -388,27 +329,6 @@ var UserService = /** @class */ (function (_super) { ...@@ -388,27 +329,6 @@ var UserService = /** @class */ (function (_super) {
}); });
}); });
}; };
/**
*判断是否新会员
*
* @param {IUserInfo} userInfo
* @param {IVipInfo} vipInfo
* @returns {boolean}
* @memberof UserService
*/
UserService.prototype.checkNewVip = function (userInfo, vipInfo) {
var flag = userInfo.member.flag;
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; return UserService;
}(base_service_1.default)); }(base_service_1.default));
exports.default = UserService; exports.default = UserService;
......
{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/service/user.service.ts"],"names":[],"mappings":"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"} {"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 \ No newline at end of file
...@@ -9,3 +9,5 @@ export * from './package/getUserOrderlist'; ...@@ -9,3 +9,5 @@ export * from './package/getUserOrderlist';
export * from './package/vip'; export * from './package/vip';
export * from './package/exportHandlers'; export * from './package/exportHandlers';
export * from './package/helper'; export * from './package/helper';
export * from './package/userUpdate';
export * from './package/format';
...@@ -25,4 +25,6 @@ __exportStar(require("./package/getUserOrderlist"), exports); ...@@ -25,4 +25,6 @@ __exportStar(require("./package/getUserOrderlist"), exports);
__exportStar(require("./package/vip"), exports); __exportStar(require("./package/vip"), exports);
__exportStar(require("./package/exportHandlers"), exports); __exportStar(require("./package/exportHandlers"), exports);
__exportStar(require("./package/helper"), exports); __exportStar(require("./package/helper"), exports);
__exportStar(require("./package/userUpdate"), exports);
__exportStar(require("./package/format"), exports);
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map
\ No newline at end of file
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA,cAAc;;;;;;;;;;;;AAEd,cAAc;AACd,uDAAoC;AAEpC,iBAAiB;AACjB,qDAAkC;AAElC,gBAAgB;AAChB,wDAAqC;AAErC,SAAS;AACT,uDAAoC;AAEpC,mDAAgC;AAEhC,iDAA8B;AAE9B,6DAA0C;AAE1C,gDAA6B;AAE7B,2DAAwC;AAExC,mDAAgC"} {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA,cAAc;;;;;;;;;;;;AAEd,cAAc;AACd,uDAAoC;AAEpC,iBAAiB;AACjB,qDAAkC;AAElC,gBAAgB;AAChB,wDAAqC;AAErC,SAAS;AACT,uDAAoC;AAEpC,mDAAgC;AAEhC,iDAA8B;AAE9B,6DAA0C;AAE1C,gDAA6B;AAE7B,2DAAwC;AAExC,mDAAgC;AAEhC,uDAAoC;AAEpC,mDAAgC"}
\ No newline at end of file \ No newline at end of file
...@@ -94,8 +94,7 @@ export const SHIP_STATUS = { ...@@ -94,8 +94,7 @@ export const SHIP_STATUS = {
// 记录数据 // 记录数据
export enum STAT_TYPE { export enum STAT_TYPE {
CLICK_INVITE = 1, INITE_SUCCESS
CLICK_FOLLOW_TASK
} }
export const appId = '${需要补充}' export const appId = '${需要补充}'
......
...@@ -5,15 +5,17 @@ import { paramsCheck, userCheck, activityTimeCheck } from '../decorator/check' ...@@ -5,15 +5,17 @@ import { paramsCheck, userCheck, activityTimeCheck } from '../decorator/check'
import { services } from '../decorator/services' import { services } from '../decorator/services'
import { resultsModel } from '../sdk' import { resultsModel } from '../sdk'
import { getToday } from '../utils' import { getToday, setNewVipUserData, checkNewVip } from '../utils'
import { UserService, AccessService, TaskService } from '../service' import { UserService, AccessService, TaskService, StatService } from '../service'
import { registeInfos } from '../decorator/registeInfos' import { registeInfos } from '../decorator/registeInfos'
import { STAT_TYPE } from '../constants'
export default class Share { export default class Share {
/** /**
* 获取邀请信息 * 获取邀请信息
*/ */
@paramsCheck(['activityId']) @paramsCheck(['activityId'])
@userCheck({ intercept: true })
@registeInfos(['userInfo', 'activityInfo']) @registeInfos(['userInfo', 'activityInfo'])
@services([UserService]) @services([UserService])
async getShareInfo( async getShareInfo(
...@@ -39,31 +41,34 @@ export default class Share { ...@@ -39,31 +41,34 @@ export default class Share {
*/ */
@paramsCheck(['activityId', 'inviteId']) @paramsCheck(['activityId', 'inviteId'])
@activityTimeCheck @activityTimeCheck
@userCheck({ intercept: true })
@registeInfos(['userInfo', 'vipInfo', 'activityInfo']) @registeInfos(['userInfo', 'vipInfo', 'activityInfo'])
@services([UserService, TaskService, AccessService]) @services([UserService, TaskService, StatService, AccessService])
async doHelp( async doHelp(
context: IContext<{ context: IContext<{
activityId: string activityId: string
inviteId: string inviteId: string
}>, }>,
{ userInfo, vipInfo, activityInfo }: IControllerInfos, { userInfo, vipInfo, activityInfo }: IControllerInfos,
[userService, taskService]: [UserService, TaskService] [userService, taskService, statService]: [UserService, TaskService, StatService, AccessService]
): Promise<IResult<boolean>> { ): Promise<IResult<boolean>> {
const { inviteId } = context.data const { inviteId, activityId } = context.data
const { openId } = context const { openId } = context
if (openId === inviteId) return resultsModel.error(CODE_TYPES.ERROR_NO_INVITE_SELF) if (openId === inviteId) return resultsModel.error(CODE_TYPES.ERROR_NO_INVITE_SELF)
const inviteUserInfo: IUserInfo = await userService.getUserInfoByOpenId(inviteId) const inviteUserInfo: IUserInfo = await userService.getUserInfoByOpenId(inviteId)
// inviteId的用户信息查询不到, 则inviteId无效 // inviteId的用户信息查询不到, 则inviteId无效
if (!inviteUserInfo) return resultsModel.error(CODE_TYPES.ERROR_INVALID_INVITE_ID) if (!inviteUserInfo) return resultsModel.error(CODE_TYPES.ERROR_INVALID_INVITE_ID)
const { taskInfo } = taskService.getCompleteTaskByUserTaskInfo('invites', inviteUserInfo) // 邀请成功有该用户信息
const userInviteSuccessCount = await statService.getStatCountByquery({
// 邀请成功列表有该用户信息 activityId,
if (taskInfo.some(v => v.openId === openId)) { openId,
return resultsModel.error(CODE_TYPES.ERROR_AREADY_INVITE_SUCCESS) type: STAT_TYPE.INITE_SUCCESS
} })
if (userInviteSuccessCount) return resultsModel.error(CODE_TYPES.ERROR_AREADY_INVITE_SUCCESS)
// 获取活动基本信息 // 获取活动基本信息
const { tasks } = activityInfo const { tasks } = activityInfo
...@@ -73,13 +78,13 @@ export default class Share { ...@@ -73,13 +78,13 @@ export default class Share {
}: ITasks = tasks }: ITasks = tasks
// 新会员 // 新会员
const isNewVip = userService.checkNewVip(userInfo, vipInfo) const isNewVip = checkNewVip(userInfo, vipInfo)
// 新会员更新状态 // 新会员更新状态
if (isNewVip && !userInfo.member.newMember) { if (isNewVip && !userInfo.member.newMember) {
await userService.updateUser(userInfo._id, { await userService.updateUser(userInfo._id, {
$set: { $set: {
member: userService.setNewVipUserData(userInfo.member) member: setNewVipUserData(userInfo.member)
} }
}) })
} }
...@@ -88,7 +93,9 @@ export default class Share { ...@@ -88,7 +93,9 @@ export default class Share {
const isValidShare = [isNewVip].every(v => !!v) const isValidShare = [isNewVip].every(v => !!v)
const today = getToday() const today = getToday()
if (isValidShare) { if (!isValidShare) return resultsModel.error(CODE_TYPES.ERROR_INVITE)
// 成功邀请
const { _id: inviteUserId } = inviteUserInfo const { _id: inviteUserId } = inviteUserInfo
// 增加邀请人的待领取次数和邀请记录 // 增加邀请人的待领取次数和邀请记录
await userService.updateUser(inviteUserId, { await userService.updateUser(inviteUserId, {
...@@ -99,7 +106,8 @@ export default class Share { ...@@ -99,7 +106,8 @@ export default class Share {
[`taskInfo.${today}.invites`]: { openId, createTime: Date.now() } [`taskInfo.${today}.invites`]: { openId, createTime: Date.now() }
} }
}) })
}
await statService.addStat(STAT_TYPE.INITE_SUCCESS, userInfo)
return resultsModel.success(true) return resultsModel.success(true)
} }
......
/** @format */ /** @format */
import { services, paramsCheck, activityTimeCheck, registeInfos } from '../decorator' import { services, paramsCheck, activityTimeCheck, registeInfos, userCheck } from '../decorator'
import { resultsModel } from '../sdk' import { resultsModel } from '../sdk'
import { UserService, AccessService } from '../service' import { UserService, AccessService } from '../service'
import { formatVipCbUrl, getShopVip } from '../utils/package/vip' import { formatVipCbUrl, getShopVip } from '../utils/package/vip'
...@@ -61,4 +61,35 @@ export default class User { ...@@ -61,4 +61,35 @@ export default class User {
return resultsModel.success(result) return resultsModel.success(result)
} }
/**
* 获取排行榜
*/
@paramsCheck(['activityId'])
@userCheck({ intercept: true })
@services([UserService])
async getRankList(
context: IContext<{
activityId: string
}>,
{ userInfo }: IControllerInfos,
[userService]: [UserService]
) {
const sortKey = 'score'
const sortTime = 'updateScoreTime'
const { userNick, avatar } = userInfo
const rank = await userService.getMyRank(sortKey, sortTime, userInfo[sortKey])
const list = await userService.getRank(sortKey, sortTime, 200)
return resultsModel.success({
userNick,
avatar,
rank,
score: userInfo[sortKey],
list
})
}
} }
...@@ -68,6 +68,10 @@ export const BusinessError = { ...@@ -68,6 +68,10 @@ export const BusinessError = {
code: `430008`, code: `430008`,
defaultMsg: `自己不能给自己助力` defaultMsg: `自己不能给自己助力`
}, },
ERROR_INVITE: {
code: `430009`,
defaultMsg: `只有新会员才能助力哦~`
},
ERROR_FORBIDDEN_OPE: { ERROR_FORBIDDEN_OPE: {
code: `530001`, code: `530001`,
defaultMsg: `非法操作` defaultMsg: `非法操作`
......
...@@ -8,7 +8,7 @@ import AwardsController from './controller/awards.controller' ...@@ -8,7 +8,7 @@ import AwardsController from './controller/awards.controller'
import ShareController from './controller/share.controller' import ShareController from './controller/share.controller'
import StatController from './controller/stat.controller' import StatController from './controller/stat.controller'
const { login, getVipInfo } = new UserController() const { login, getVipInfo, getRankList } = new UserController()
const { const {
getTaskList, getTaskList,
receiveTaskRewards, receiveTaskRewards,
...@@ -39,5 +39,6 @@ export default { ...@@ -39,5 +39,6 @@ export default {
receiveEnamePrize, receiveEnamePrize,
doHelp, doHelp,
getStats, getStats,
addStat addStat,
getRankList
} }
...@@ -41,4 +41,8 @@ export default class StatService { ...@@ -41,4 +41,8 @@ export default class StatService {
createDay: getToday() createDay: getToday()
}) })
} }
async getStatCountByquery(query: IMongoQuery) {
return await this.statdao.count(query)
}
} }
...@@ -6,7 +6,17 @@ ...@@ -6,7 +6,17 @@
import { merge } from 'lodash' import { merge } from 'lodash'
import UserService from './user.service' import UserService from './user.service'
import { getToday, getUserOrderlist, logger, generateVipUrl, formatVipCbUrl, sleep } from '../utils' import {
getToday,
getUserOrderlist,
logger,
generateVipUrl,
formatVipCbUrl,
sleep,
setNewVipUserData,
setNewFollowUserData,
checkNewVip
} from '../utils'
import { TASK_RATE_TYPE, TASK_STATUS } from '../constants' import { TASK_RATE_TYPE, TASK_STATUS } from '../constants'
export interface ITaskInfo { export interface ITaskInfo {
...@@ -67,7 +77,7 @@ export default class TaskService extends UserService { ...@@ -67,7 +77,7 @@ export default class TaskService extends UserService {
const { newMember } = member const { newMember } = member
const today = getToday() const today = getToday()
const isNewVip = this.checkNewVip(userInfo, vipInfo) const isNewVip = checkNewVip(userInfo, vipInfo)
const { const {
member: { value } member: { value }
...@@ -80,7 +90,7 @@ export default class TaskService extends UserService { ...@@ -80,7 +90,7 @@ export default class TaskService extends UserService {
} }
if (isNewVip && !newMember) { if (isNewVip && !newMember) {
member = this.setNewVipUserData(member) member = setNewVipUserData(member)
// @ts-ignore // @ts-ignore
projection.$set.member = member projection.$set.member = member
...@@ -194,7 +204,7 @@ export default class TaskService extends UserService { ...@@ -194,7 +204,7 @@ export default class TaskService extends UserService {
} = tasks || {} } = tasks || {}
// 更新follow信息 // 更新follow信息
const followInfo: IFollowInfo = this.setNewFollowUserData(follow) const followInfo: IFollowInfo = setNewFollowUserData(follow)
// 增加待领取次数 // 增加待领取次数
return await this.updateUser(_id, { return await this.updateUser(_id, {
......
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
import { BaseDao, TBAPIS } from '../sdk' import { BaseDao, TBAPIS } from '../sdk'
import BaseService from './base.service' import BaseService from './base.service'
import { USER_DB_NAME } from '../db' import { USER_DB_NAME } from '../db'
import { formatVipCbUrl, getToday, isUseVipMock, generateVipUrl } from '../utils' import { getToday, formatUpdateUserProjection } from '../utils'
import { VIP_MOCK } from '../vipMock' import { checkNewVip } from '../utils/package/userUpdate'
import { sellerId } from '../constants' import { formatUserNick } from '../utils/package/format'
class UserService extends BaseService { class UserService extends BaseService {
userdao: IBaseDao userdao: IBaseDao
constructor(context: IContext<IParams>) { constructor(context: IContext<IParams>) {
...@@ -126,7 +126,7 @@ class UserService extends BaseService { ...@@ -126,7 +126,7 @@ class UserService extends BaseService {
} }
// 之前进入活动非会员,现在进入会员,则视为新会员用户 // 之前进入活动非会员,现在进入会员,则视为新会员用户
const isNewVip = this.checkNewVip(userInfo, vipInfo) const isNewVip = checkNewVip(userInfo, vipInfo)
if (isNewVip && !userInfo.member.newMember) { if (isNewVip && !userInfo.member.newMember) {
// @ts-ignore // @ts-ignore
projection.$set.member = this.setNewVipUserData(userInfo.member) projection.$set.member = this.setNewVipUserData(userInfo.member)
...@@ -152,115 +152,66 @@ class UserService extends BaseService { ...@@ -152,115 +152,66 @@ class UserService extends BaseService {
* @returns 若更新成功,返回为1; 若更新失败,返回为 0 或系统直接报错 * @returns 若更新成功,返回为1; 若更新失败,返回为 0 或系统直接报错
*/ */
async updateUser(_id: string, projection: IUpdateQuery) { async updateUser(_id: string, projection: IUpdateQuery) {
return await this.userdao.update({ _id }, this.formatUpdateUserProjection(projection)) return await this.userdao.update({ _id }, formatUpdateUserProjection(projection))
} }
/** // 获取排名列表
* @desc 排行榜 async getRank(sortValueKey: string, sortTimeKey: string, limit: number = 200) {
* @param {查询条件} match let { activityId } = this.context.data
* @param {排序规则} sort //获取排名
* @param {查询条数} limit let list = await this.userdao.find<IUserInfo>(
*/
async getRank(match: Object, sort: Object, limit: number) {
const { data } = this.context
const { activityId } = data
return await this.userdao.aggregate([
{ $match: { ...match, activityId } },
{ $sort: sort },
{ $group: { _id: null, table: { $push: '$$ROOT' } } },
{ $unwind: { path: '$table', includeArrayIndex: 'no' } },
{ {
$project: { activityId: activityId,
_id: 0, [sortValueKey]: { $gt: 0 }
openId: '$table.openId',
userNick: '$table.userNick',
no: {
$add: ['$no', 1]
}
}
}, },
{ $limit: limit }
])
}
/**
* @desc 获取我的排名
* @param {查询条件} match
* @param {排序规则} sort
*/
async getMyRank(match: Object, sort: Object) {
const { openId, data } = this.context
const { activityId } = data
return await this.userdao.aggregate([
{ $match: { ...match, activityId } },
{ $sort: sort },
{ $group: { _id: null, table: { $push: '$$ROOT' } } },
{ $unwind: { path: '$table', includeArrayIndex: 'no' } },
{ {
$project: { projection: { [sortValueKey]: 1, userNick: 1, avatar: 1, _id: 0 },
_id: 0, sort: { [sortValueKey]: -1, [sortTimeKey]: 1 },
openId: '$table.openId', limit
userNick: '$table.userNick',
no: {
$add: ['$no', 1]
} }
)
return list.map((v, i) => {
return {
...v,
userNick: formatUserNick(v.userNick),
rank: i + 1
} }
}, })
{ $match: { openId } }
])
} }
/** /**
* 获取用户排名 * 获取用户排名
*
* @param {string} sortValueKey 排名字段
* @param {number} userValue
* @param {string} sortTimeKey
* @return {number} 排行
* @memberof UserService
*/ */
async getUserRank(hotValue: number) { async getMyRank(sortValueKey: string, sortTimeKey: string, userValue: number): Promise<number> {
let { activityId } = this.context.data let { activityId } = this.context.data
const { openId } = this.context const { openId } = this.context
let sameScoreList = await this.userdao.find<IUserInfo>( let sameScoreList = await this.userdao.find<IUserInfo>(
{ hotValue, activityId }, { [sortValueKey]: userValue, activityId },
{ {
sort: { updateTime: 1 } sort: { [sortTimeKey]: 1 }
} }
) )
let rank: string | number = '未上榜' let rank: number
let gap = 0 let gap = 0
//说明有多个跟自己同分数的人 //说明有多个跟自己同分数的人
for (let j = 0; j < sameScoreList.length; j++) { for (let j = 0; j < sameScoreList.length; j++) {
if (sameScoreList[j].openId == openId) { if (sameScoreList[j].openId === openId) {
gap = j gap = j
} }
} }
rank = await this.userdao.count({ hotValue: { $gt: hotValue }, activityId }) rank = await this.userdao.count({ [sortValueKey]: { $gt: userValue }, activityId })
rank = rank + 1 + gap rank = rank + 1 + gap
if (rank > 1000) {
rank = '1000+'
}
return rank return rank
} }
/**
* updateUser projection 格式化
*
* @param {object} projection
* @return {*}
* @memberof UserService
*/
formatUpdateUserProjection(projection: IUpdateQuery): IUpdateQuery {
projection['$set'] = projection['$set'] || {}
projection['$set'].updateTime = Date.now()
// $push不存在属性 删除$push
if (projection['$push'] && !Object.keys(projection['$push']).length) {
delete projection['$push']
}
// $pushAll不存在属性 删除$pushAll
if (projection['$pushAll'] && !Object.keys(projection['$pushAll']).length) {
delete projection['$pushAll']
}
console.log(projection)
return projection
}
/** /**
* @desc 根据用户主键id查找用户详情 * @desc 根据用户主键id查找用户详情
* @param {用户的主键id} _id * @param {用户的主键id} _id
...@@ -269,44 +220,6 @@ class UserService extends BaseService { ...@@ -269,44 +220,6 @@ class UserService extends BaseService {
async getUserInfoById(_id: string) { async getUserInfoById(_id: string) {
return await this.userdao.findOne({ _id }) return await this.userdao.findOne({ _id })
} }
/**
*判断是否新会员
*
* @param {IUserInfo} userInfo
* @param {IVipInfo} vipInfo
* @returns {boolean}
* @memberof UserService
*/
checkNewVip(userInfo: IUserInfo, vipInfo: IVipInfo): boolean {
const {
member: { flag }
} = userInfo
const { isVip } = vipInfo
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 export default UserService
...@@ -130,6 +130,8 @@ interface IFindProjection { ...@@ -130,6 +130,8 @@ interface IFindProjection {
} }
maxTimeMS?: number maxTimeMS?: number
upsert?: boolean upsert?: boolean
limit?: number
skip?: number
returnOriginal?: boolean returnOriginal?: boolean
collation?: CollationDocument collation?: CollationDocument
} }
......
...@@ -23,3 +23,7 @@ export * from './package/vip' ...@@ -23,3 +23,7 @@ export * from './package/vip'
export * from './package/exportHandlers' export * from './package/exportHandlers'
export * from './package/helper' export * from './package/helper'
export * from './package/userUpdate'
export * from './package/format'
/**
* updateUser projection 格式化
*
* @format
* @param {object} projection
* @return {*}
* @memberof UserService
*/
export function formatUpdateUserProjection(projection: IUpdateQuery): IUpdateQuery {
projection['$set'] = projection['$set'] || {}
projection['$set'].updateTime = Date.now()
// $push不存在属性 删除$push
if (projection['$push'] && !Object.keys(projection['$push']).length) {
delete projection['$push']
}
console.log(projection)
return projection
}
// 用户昵称脱敏
export function formatUserNick(name: string) {
let newStr: string
if (name.length === 2) {
newStr = name.substr(0, 1) + '***' + name.substr(-1, 1)
} else if (name.length > 2) {
let char = '***'
newStr = name.substr(0, 1) + char + name.substr(-1, 1)
} else {
newStr = name + '***'
}
return newStr
}
/** @format */
import { getToday } from './getToday'
/**
* 判断是否新会员
*
* @format
* @param {IUserInfo} userInfo
* @param {IVipInfo} vipInfo
* @returns {boolean}
* @memberof UserService
*/
export function checkNewVip(userInfo: IUserInfo, vipInfo: IVipInfo): boolean {
const {
member: { flag }
} = userInfo
const { isVip } = vipInfo
return !flag && isVip
}
export function setNewVipUserData(member: IMemberInfo): IMemberInfo {
const today = getToday()
return {
...member,
newMember: true,
bememberTime: Date.now(),
bememberDay: today
}
}
export function setNewFollowUserData(follow: IFollowInfo): IFollowInfo {
const today = getToday()
return {
...follow,
newFollow: true,
followTime: Date.now(),
followDay: today
}
}
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