Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
taobao-mini-template
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
2
Issues
2
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
qinhaitao
taobao-mini-template
Commits
e3ce928b
Commit
e3ce928b
authored
Nov 04, 2021
by
王波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
养成类完成任务优化
parent
6fe57fb2
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
136 additions
and
36 deletions
+136
-36
awards.controller.ts
v2.0/src/controller/awards.controller.ts
+2
-2
base.controller.ts
v2.0/src/controller/base.controller.ts
+1
-1
growShare.controller.ts
v2.0/src/controller/growShare.controller.ts
+1
-24
growTask.controller.ts
v2.0/src/controller/growTask.controller.ts
+4
-3
growTask.service.ts
v2.0/src/service/common/growTask.service.ts
+3
-1
checkGrowHelpRecord.ts
v2.0/src/utils/common/check/checkGrowHelpRecord.ts
+28
-0
checkGrowInviteId.ts
v2.0/src/utils/common/check/checkGrowInviteId.ts
+71
-0
index.ts
v2.0/src/utils/common/check/index.ts
+8
-2
index.ts
v2.0/src/utils/common/update/index.ts
+5
-3
updateUserInfo.ts
v2.0/src/utils/common/update/updateUserInfo.ts
+13
-0
No files found.
v2.0/src/controller/awards.controller.ts
View file @
e3ce928b
...
@@ -73,7 +73,7 @@ export default class AwardsController {
...
@@ -73,7 +73,7 @@ export default class AwardsController {
@
checkParams
([
'activityId'
,
'prizeDataType'
])
@
checkParams
([
'activityId'
,
'prizeDataType'
])
@
services
([
CommonAwardsService
])
@
services
([
CommonAwardsService
])
@
preCheck
([
checkActivityTime
])
@
preCheck
([
checkActivityTime
])
async
drawLottery
Prize
(
async
drawLottery
(
context
:
IContext
<
IParams
>
,
context
:
IContext
<
IParams
>
,
{
userInfo
}:
IControllerInfos
,
{
userInfo
}:
IControllerInfos
,
[
awardSer
]:
[
CommonAwardsService
]
[
awardSer
]:
[
CommonAwardsService
]
...
@@ -97,7 +97,7 @@ export default class AwardsController {
...
@@ -97,7 +97,7 @@ export default class AwardsController {
*/
*/
@
noCheckUser
@
noCheckUser
@
services
([
CommonBaseService
,
CommonAwardsService
])
@
services
([
CommonBaseService
,
CommonAwardsService
])
async
endOfActivityRewards
(
async
openPrize
(
context
:
IContext
<
IParams
>
,
context
:
IContext
<
IParams
>
,
{},
{},
[
commonBaseService
,
commonAwardsService
]:
[
CommonBaseService
,
CommonAwardsService
]
[
commonBaseService
,
commonAwardsService
]:
[
CommonBaseService
,
CommonAwardsService
]
...
...
v2.0/src/controller/base.controller.ts
View file @
e3ce928b
...
@@ -30,7 +30,7 @@ export default class BaseController {
...
@@ -30,7 +30,7 @@ export default class BaseController {
@
checkParams
([
'itemIds'
])
@
checkParams
([
'itemIds'
])
@
registeInfos
([
'session'
])
@
registeInfos
([
'session'
])
@
services
([
CommonBaseService
])
@
services
([
CommonBaseService
])
async
get
ItemListByItemIds
(
async
get
TaobaoItemList
(
context
:
IContext
<
IParams
>
,
context
:
IContext
<
IParams
>
,
{
session
}:
IControllerInfos
,
{
session
}:
IControllerInfos
,
[
baseService
]:
[
CommonBaseService
]
[
baseService
]:
[
CommonBaseService
]
...
...
v2.0/src/controller/growShare.controller.ts
View file @
e3ce928b
...
@@ -8,27 +8,4 @@ import { checkActivityTime, checkInviteId, checkHelpRecord, checkNewVip } from '
...
@@ -8,27 +8,4 @@ import { checkActivityTime, checkInviteId, checkHelpRecord, checkNewVip } from '
import
{
updateHelpRecord
,
updateVip
}
from
'../utils/common/update'
import
{
updateHelpRecord
,
updateVip
}
from
'../utils/common/update'
import
{
getTask
}
from
'../utils'
import
{
getTask
}
from
'../utils'
export
default
class
Share
{
export
default
class
Share
{}
/**
* 完成分享
*/
@
checkParams
([
'activityId'
,
'inviteId'
,
'isVip'
])
@
registeInfos
([
'vipInfo'
])
@
services
([
CommonGrowtaskService
,
CommonStatService
])
@
preCheck
([
checkActivityTime
,
checkInviteId
,
checkNewVip
,
checkHelpRecord
])
@
preUpdate
([
updateVip
,
updateHelpRecord
])
async
doHelp
(
context
:
IContext
<
IParams
>
,
{
userInfo
,
activityInfo
}:
IControllerInfos
,
[
growTaskService
,
statService
]:
[
CommonGrowtaskService
,
CommonStatService
],
{
inviteUserInfo
}:
IPreCheckData
)
{
// 如果邀请任务是每日的,则需要请求每日任务信息
const
task
=
await
growTaskService
.
getTask
(
context
,
inviteUserInfo
.
openId
)
const
result
=
await
growTaskService
.
completeTask
(
'invite'
,
activityInfo
,
inviteUserInfo
,
task
)
statService
.
addStat
(
STAT_TYPE
.
INITE_SUCCESS
,
userInfo
)
return
resultsModel
.
success
(
result
)
}
}
v2.0/src/controller/growTask.controller.ts
View file @
e3ce928b
...
@@ -42,19 +42,20 @@ export default class Task {
...
@@ -42,19 +42,20 @@ export default class Task {
* 商品相关任务 需要传itemId参数
* 商品相关任务 需要传itemId参数
* 积分兑换任务 需要传credits参数
* 积分兑换任务 需要传credits参数
*/
*/
@
checkParams
([
'activityId'
,
'key'
,
'i
temId
?'
,
'credits?'
])
@
checkParams
([
'activityId'
,
'key'
,
'i
nviteId?'
,
'itemId?'
,
'isVip
?'
,
'credits?'
])
@
registeInfos
([
'session'
,
'task'
])
@
registeInfos
([
'session'
,
'task'
])
@
services
([
CommonGrowtaskService
])
@
services
([
CommonGrowtaskService
])
@
preCheck
([
checkActivityTime
,
checkGrowTaskLimit
,
checkExchangeCreditsTask
])
@
preCheck
([
checkActivityTime
,
checkGrowTaskLimit
,
checkExchangeCreditsTask
])
async
completeTask
(
async
completeTask
(
context
:
IContext
<
IParams
>
,
context
:
IContext
<
IParams
>
,
{
userInfo
,
activityInfo
,
task
}:
IControllerInfos
,
{
userInfo
,
activityInfo
,
task
}:
IControllerInfos
,
[
growTaskService
]:
[
CommonGrowtaskService
]
[
growTaskService
]:
[
CommonGrowtaskService
],
{
inviteUserInfo
}:
IPreCheckData
)
{
)
{
const
{
key
:
taskType
}
=
context
.
data
const
{
key
:
taskType
}
=
context
.
data
// 更新user表
// 更新user表
const
result
=
await
growTaskService
.
completeTask
(
taskType
,
activityInfo
,
userInfo
,
task
)
const
result
=
await
growTaskService
.
completeTask
(
context
.
data
.
key
,
activityInfo
,
userInfo
,
task
,
inviteUserInfo
)
return
resultsModel
.
success
(
result
)
return
resultsModel
.
success
(
result
)
}
}
...
...
v2.0/src/service/common/growTask.service.ts
View file @
e3ce928b
...
@@ -146,10 +146,12 @@ export default class TaskService extends UserService {
...
@@ -146,10 +146,12 @@ export default class TaskService extends UserService {
async
completeTask
(
async
completeTask
(
taskType
:
ITaskType
,
taskType
:
ITaskType
,
activityInfo
:
IActivityInfo
,
activityInfo
:
IActivityInfo
,
u
serInfo
:
IUserInfo
,
baseU
serInfo
:
IUserInfo
,
task
:
ITask
=
{},
task
:
ITask
=
{},
inviteUserInfo
:
IUserInfo
,
customRecord
:
Object
=
{}
customRecord
:
Object
=
{}
)
{
)
{
let
userInfo
=
taskType
===
'invite'
?
inviteUserInfo
:
baseUserInfo
const
today
=
getToday
()
const
today
=
getToday
()
const
reward
=
activityInfo
?.
tasks
?.[
taskType
]?.
reward
||
0
const
reward
=
activityInfo
?.
tasks
?.[
taskType
]?.
reward
||
0
const
{
tasks
}
=
activityInfo
const
{
tasks
}
=
activityInfo
...
...
v2.0/src/utils/common/check/checkGrowHelpRecord.ts
0 → 100644
View file @
e3ce928b
/** @format */
import
{
resultsModel
}
from
'../../../sdk'
import
{
CODE_TYPES
}
from
'../../../errorCode'
import
{
dbCount
}
from
'../mongodb'
import
{
STAT_DB_NAME
}
from
'../../../db'
import
{
STAT_TYPE
}
from
'../../../constants'
/**
* 检查邀请记录
* doHelp接口
*
* @export
* @param {IContext<{ activityId: string; inviteId: string }>} context
* @return {*}
*/
export
default
async
function
checkHelpRecord
(
context
:
IContext
<
{
activityId
:
string
;
inviteId
:
string
;
key
:
string
}
>
,
{
userInfo
}:
IControllerInfos
)
{
if
(
context
.
data
.
key
===
'invite'
)
{
const
{
inviteId
}
=
userInfo
// 邀请成功有该用户信息
if
(
inviteId
)
return
resultsModel
.
error
(
CODE_TYPES
.
ERROR_AREADY_INVITE_SUCCESS
)
return
{
inviteId
}
}
}
v2.0/src/utils/common/check/checkGrowInviteId.ts
0 → 100644
View file @
e3ce928b
/** @format */
import
{
resultsModel
}
from
'../../../sdk'
import
{
CODE_TYPES
}
from
'../../../errorCode'
import
{
dbFindOne
}
from
'../../common/mongodb'
import
{
USER_DB_NAME
}
from
'../../../db'
import
{
getTask
,
getTodayCompleteGrowTask
,
getTodayCompleteTask
,
getTotalCompleteTask
}
from
'../task'
import
{
TASK_RATE_TYPE
}
from
'../../../constants'
/**
* 检查inviteId是否合法 返回邀请人的用户信息
*
* @export
* @param {IContext<{ activityId: string; inviteId: string }>} context
* @return {*}
*/
export
default
async
function
checkGrowInviteId
(
context
:
IContext
<
{
activityId
:
string
;
inviteId
:
string
;
key
:
string
}
>
,
{
activityInfo
}:
IControllerInfos
)
{
const
{
openId
,
data
:
{
activityId
,
inviteId
,
key
}
}
=
context
if
(
key
===
'invite'
)
{
//如果类型为邀请
if
(
!
inviteId
)
{
//如果邀请id不为空
// 自己邀请自己
if
(
openId
===
inviteId
)
return
resultsModel
.
error
(
CODE_TYPES
.
ERROR_NO_INVITE_SELF
)
// 获取邀请者信息
const
inviteUserInfo
=
await
dbFindOne
<
IUserInfo
>
(
context
,
USER_DB_NAME
,
{
activityId
,
openId
:
inviteId
})
// inviteId的用户信息查询不到, 则inviteId无效
if
(
!
inviteUserInfo
)
return
resultsModel
.
error
(
CODE_TYPES
.
ERROR_INVALID_INVITE_ID
)
const
{
tasks
:
{
invite
}
}
=
activityInfo
const
{
rateType
,
times
}
=
invite
// 助力次数超限制
if
(
rateType
===
TASK_RATE_TYPE
.
EVERYDAY
)
{
const
task
=
await
getTask
(
context
,
inviteUserInfo
.
openId
)
// 每日任务今天已经完成
const
{
todayCompleteTimes
,
todayTaskInfo
}
=
getTodayCompleteGrowTask
(
key
,
task
)
if
(
todayCompleteTimes
>=
times
)
{
return
resultsModel
.
error
(
CODE_TYPES
.
ERROR_INVITE_TIMES_LIMIT
)
}
}
if
(
rateType
===
TASK_RATE_TYPE
.
FOREVER
)
{
// 永久邀请任务超出次数
const
{
completeTimes
}
=
getTotalCompleteTask
(
key
,
inviteUserInfo
)
if
(
completeTimes
>=
times
)
{
return
resultsModel
.
error
(
CODE_TYPES
.
ERROR_INVITE_TIMES_LIMIT
)
}
}
return
{
inviteUserInfo
}
}
else
{
return
resultsModel
.
error
(
CODE_TYPES
.
ERROR_INVALID_INVITE_ID
)
}
}
}
v2.0/src/utils/common/check/index.ts
View file @
e3ce928b
...
@@ -14,6 +14,8 @@ import checkJoinId from './checkJoinId'
...
@@ -14,6 +14,8 @@ import checkJoinId from './checkJoinId'
import
checkOpenPrizeStatus
from
'./checkOpenPrizeStatus'
import
checkOpenPrizeStatus
from
'./checkOpenPrizeStatus'
import
checkSign
from
'./checkSign'
import
checkSign
from
'./checkSign'
import
checkGrowTaskLimit
from
'./checkGrowTaskLimit'
import
checkGrowTaskLimit
from
'./checkGrowTaskLimit'
import
checkGrowInviteId
from
'./checkGrowInviteId'
import
checkGrowHelpRecord
from
'./checkGrowHelpRecord'
const
check
=
{
const
check
=
{
checkActivityTime
,
checkActivityTime
,
...
@@ -33,7 +35,9 @@ const check = {
...
@@ -33,7 +35,9 @@ const check = {
checkGameTimes
,
checkGameTimes
,
checkOpenPrizeStatus
,
checkOpenPrizeStatus
,
checkSign
,
checkSign
,
checkGrowTaskLimit
checkGrowTaskLimit
,
checkGrowInviteId
,
checkGrowHelpRecord
}
}
export
default
check
export
default
check
...
@@ -56,5 +60,7 @@ export {
...
@@ -56,5 +60,7 @@ export {
checkGameTimes
,
checkGameTimes
,
checkOpenPrizeStatus
,
checkOpenPrizeStatus
,
checkSign
,
checkSign
,
checkGrowTaskLimit
checkGrowTaskLimit
,
checkGrowInviteId
,
checkGrowHelpRecord
}
}
v2.0/src/utils/common/update/index.ts
View file @
e3ce928b
...
@@ -3,7 +3,7 @@ import updateVip from './updateVip'
...
@@ -3,7 +3,7 @@ import updateVip from './updateVip'
import
updateSignTask
from
'./updateSignTask'
import
updateSignTask
from
'./updateSignTask'
import
updateOrderGoods
from
'./updateOrderGoods'
import
updateOrderGoods
from
'./updateOrderGoods'
import
updateFirstLoginToday
from
'./updateFirstLoginToday'
import
updateFirstLoginToday
from
'./updateFirstLoginToday'
import
updateUserInfo
,
{
reduceGameTimes
,
updateHelpRecord
}
from
'./updateUserInfo'
import
updateUserInfo
,
{
reduceGameTimes
,
updateHelpRecord
,
updateGrowHelpRecord
}
from
'./updateUserInfo'
import
updateSignGrowTask
from
'./updateSignGrowTask'
import
updateSignGrowTask
from
'./updateSignGrowTask'
import
updateGrowOrderGoods
from
'./updateGrowOrderGoods'
import
updateGrowOrderGoods
from
'./updateGrowOrderGoods'
...
@@ -16,7 +16,8 @@ const update = {
...
@@ -16,7 +16,8 @@ const update = {
reduceGameTimes
,
reduceGameTimes
,
updateHelpRecord
,
updateHelpRecord
,
updateSignGrowTask
,
updateSignGrowTask
,
updateGrowOrderGoods
updateGrowOrderGoods
,
updateGrowHelpRecord
}
}
export
default
update
export
default
update
...
@@ -30,5 +31,6 @@ export {
...
@@ -30,5 +31,6 @@ export {
reduceGameTimes
,
reduceGameTimes
,
updateHelpRecord
,
updateHelpRecord
,
updateSignGrowTask
,
updateSignGrowTask
,
updateGrowOrderGoods
updateGrowOrderGoods
,
updateGrowHelpRecord
}
}
v2.0/src/utils/common/update/updateUserInfo.ts
View file @
e3ce928b
...
@@ -32,3 +32,16 @@ export async function updateHelpRecord(
...
@@ -32,3 +32,16 @@ export async function updateHelpRecord(
}
}
}
}
}
}
export
async
function
updateGrowHelpRecord
(
context
:
IContext
<
IParams
>
,
{
userInfo
}:
IControllerInfos
):
Promise
<
IPreUpdateQuery
|
undefined
>
{
const
{
inviteId
,
key
}
=
context
.
data
if
(
!
userInfo
||
key
!==
'invite'
||
!
inviteId
)
return
{}
return
{
$set
:
{
inviteId
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment