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
e3bc7785
Commit
e3bc7785
authored
Nov 24, 2021
by
杨梦雅
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
4b53d97b
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
41 additions
and
41 deletions
+41
-41
task.controller.ts
v2.0/src/controller/common/task.controller.ts
+7
-4
growTask.controller.ts
v2.0/src/controller/growTask.controller.ts
+3
-2
task.controller.ts
v2.0/src/controller/task.controller.ts
+10
-6
task.service.ts
v2.0/src/service/common/task.service.ts
+4
-20
checkInviteId.ts
v2.0/src/utils/common/check/checkInviteId.ts
+12
-4
checkJoinId.ts
v2.0/src/utils/common/check/checkJoinId.ts
+5
-5
No files found.
v2.0/src/controller/common/task.controller.ts
View file @
e3bc7785
...
@@ -4,7 +4,8 @@ import {
...
@@ -4,7 +4,8 @@ import {
checkActivityTime
,
checkActivityTime
,
checkGrowTaskLimit
,
checkGrowTaskLimit
,
checkExchangeCreditsTask
,
checkExchangeCreditsTask
,
checkRemainTimes
checkRemainTimes
,
checkGrowInviteId
}
from
'../../utils/common/check'
}
from
'../../utils/common/check'
import
{
updateVip
,
updateSignGrowTask
,
updateGrowOrderGoods
}
from
'../../utils/common/update'
import
{
updateVip
,
updateSignGrowTask
,
updateGrowOrderGoods
}
from
'../../utils/common/update'
import
customUtil
from
'../../utils/custom'
import
customUtil
from
'../../utils/custom'
...
@@ -36,17 +37,19 @@ export default class TaskController {
...
@@ -36,17 +37,19 @@ export default class TaskController {
@
checkParams
([
'activityId'
,
'key'
])
@
checkParams
([
'activityId'
,
'key'
])
@
registeInfos
([
'session'
,
'task'
])
@
registeInfos
([
'session'
,
'task'
])
@
services
([
CommonGrowtaskService
])
@
services
([
CommonGrowtaskService
])
@
preCheck
([
checkActivityTime
,
checkGrowTaskLimit
,
checkExchangeCreditsTask
])
@
preCheck
([
checkActivityTime
,
checkGrow
InviteId
,
checkGrow
TaskLimit
,
checkExchangeCreditsTask
])
async
completeTask
(
async
completeTask
(
context
:
IContext
<
IParams
>
,
context
:
IContext
<
IParams
>
,
{
activityInfo
,
userInfo
,
session
,
task
}:
IControllerInfos
,
{
activityInfo
,
userInfo
,
session
,
task
}:
IControllerInfos
,
[
commonGrowtaskService
]:
[
CommonGrowtaskService
]
[
commonGrowtaskService
]:
[
CommonGrowtaskService
],
{
inviteUserInfo
}:
IPreCheckData
)
{
)
{
const
commonGrowtaskCompleteTaskResult1
=
await
commonGrowtaskService
.
completeTask
(
const
commonGrowtaskCompleteTaskResult1
=
await
commonGrowtaskService
.
completeTask
(
context
.
data
.
key
,
context
.
data
.
key
,
activityInfo
,
activityInfo
,
userInfo
,
userInfo
,
task
task
,
inviteUserInfo
)
)
return
resultsModel
.
success
({
return
resultsModel
.
success
({
...
commonGrowtaskCompleteTaskResult1
...
commonGrowtaskCompleteTaskResult1
...
...
v2.0/src/controller/growTask.controller.ts
View file @
e3bc7785
...
@@ -9,7 +9,8 @@ import {
...
@@ -9,7 +9,8 @@ import {
checkGrowTaskLimit
,
checkGrowTaskLimit
,
checkExchangeCreditsTask
,
checkExchangeCreditsTask
,
checkRemainTimes
,
checkRemainTimes
,
checkInviteId
checkInviteId
,
checkGrowInviteId
}
from
'../utils/common/check'
}
from
'../utils/common/check'
import
{
preUpdate
}
from
'../decorator/common'
import
{
preUpdate
}
from
'../decorator/common'
import
{
updateVip
,
updateSignGrowTask
,
updateGrowOrderGoods
}
from
'../utils/common/update'
import
{
updateVip
,
updateSignGrowTask
,
updateGrowOrderGoods
}
from
'../utils/common/update'
...
@@ -45,7 +46,7 @@ export default class Task {
...
@@ -45,7 +46,7 @@ export default class Task {
@
checkParams
([
'activityId'
,
'key'
,
'inviteId?'
,
'itemId?'
,
'isVip?'
,
'credits?'
])
@
checkParams
([
'activityId'
,
'key'
,
'inviteId?'
,
'itemId?'
,
'isVip?'
,
'credits?'
])
@
registeInfos
([
'session'
,
'task'
])
@
registeInfos
([
'session'
,
'task'
])
@
services
([
CommonGrowtaskService
])
@
services
([
CommonGrowtaskService
])
@
preCheck
([
checkActivityTime
,
checkGrowTaskLimit
,
checkExchangeCreditsTask
])
@
preCheck
([
checkActivityTime
,
checkGrow
InviteId
,
checkGrow
TaskLimit
,
checkExchangeCreditsTask
])
async
completeTask
(
async
completeTask
(
context
:
IContext
<
IParams
>
,
context
:
IContext
<
IParams
>
,
{
userInfo
,
activityInfo
,
task
}:
IControllerInfos
,
{
userInfo
,
activityInfo
,
task
}:
IControllerInfos
,
...
...
v2.0/src/controller/task.controller.ts
View file @
e3bc7785
...
@@ -13,6 +13,7 @@ import {
...
@@ -13,6 +13,7 @@ import {
}
from
'../utils/common/check/'
}
from
'../utils/common/check/'
import
{
preUpdate
}
from
'../decorator/common'
import
{
preUpdate
}
from
'../decorator/common'
import
{
updateVip
,
updateSignTask
,
updateOrderGoods
}
from
'../utils/common/update'
import
{
updateVip
,
updateSignTask
,
updateOrderGoods
}
from
'../utils/common/update'
import
{
CODE_TYPES
}
from
'../errorCode'
export
default
class
Task
{
export
default
class
Task
{
/**
/**
...
@@ -42,20 +43,23 @@ export default class Task {
...
@@ -42,20 +43,23 @@ export default class Task {
* 商品相关任务 需要传itemId参数
* 商品相关任务 需要传itemId参数
* 积分兑换任务 需要传credits参数
* 积分兑换任务 需要传credits参数
*/
*/
@
checkParams
([
'activityId'
,
'key'
,
'itemId?'
,
'credits?'
,
'inviteId?'
])
@
checkParams
([
'activityId'
,
'key'
,
'itemId?'
,
'credits?'
,
'inviteId?'
,
'isVip?'
])
@
registeInfos
([
'session'
])
@
registeInfos
([
'session'
])
@
services
([
CommonTaskService
])
@
services
([
CommonTaskService
])
@
preCheck
([
checkActivityTime
,
checkTaskLimit
,
checkExchangeCreditsTask
])
@
preCheck
([
checkActivityTime
,
check
InviteId
,
check
TaskLimit
,
checkExchangeCreditsTask
])
async
completeTask
(
async
completeTask
(
context
:
IContext
<
IParams
>
,
context
:
IContext
<
IParams
>
,
{
userInfo
,
activityInfo
}:
IControllerInfos
,
{
userInfo
,
activityInfo
}:
IControllerInfos
,
[
taskService
]:
[
CommonTaskService
]
[
taskService
]:
[
CommonTaskService
],
{
inviteUserInfo
}:
IPreCheckData
)
{
)
{
const
{
key
:
taskType
}
=
context
.
data
const
{
key
:
taskType
,
isVip
}
=
context
.
data
// 更新user表
// 更新user表
const
result
=
await
taskService
.
completeTask
(
taskType
,
activityInfo
,
userInfo
)
const
result
=
await
taskService
.
completeTask
(
taskType
,
activityInfo
,
userInfo
,
inviteUserInfo
)
if
((
result
as
ICodeType
)?.
code
){
return
resultsModel
.
error
(
result
as
ICodeType
)
}
return
resultsModel
.
success
(
result
)
return
resultsModel
.
success
(
result
)
}
}
...
...
v2.0/src/service/common/task.service.ts
View file @
e3bc7785
...
@@ -69,7 +69,7 @@ export default class TaskService extends UserService {
...
@@ -69,7 +69,7 @@ export default class TaskService extends UserService {
times
,
times
,
url
:
taskType
===
'member'
?
generateVipUrl
(
formatVipCbUrl
(
this
.
context
))
:
link
,
url
:
taskType
===
'member'
?
generateVipUrl
(
formatVipCbUrl
(
this
.
context
))
:
link
,
todayCompleteTimes
,
todayCompleteTimes
,
completeTimes
,
completeTimes
:
rateType
===
TASK_RATE_TYPE
.
EVERYDAY
?
todayCompleteTimes
:
completeTimes
,
status
:
setTaskStatus
(
userInfo
,
taskType
,
rateType
,
times
),
status
:
setTaskStatus
(
userInfo
,
taskType
,
rateType
,
times
),
waitReceive
:
remainTimes
?.[
taskType
]
waitReceive
:
remainTimes
?.[
taskType
]
}
}
...
@@ -117,7 +117,7 @@ export default class TaskService extends UserService {
...
@@ -117,7 +117,7 @@ export default class TaskService extends UserService {
* @returns {boolean}
* @returns {boolean}
* @memberof TaskService
* @memberof TaskService
*/
*/
async
completeTask
(
taskType
:
ITaskType
,
activityInfo
:
IActivityInfo
,
userInfo
:
IUserInfo
,
customRecord
:
Object
=
{})
{
async
completeTask
(
taskType
:
ITaskType
,
activityInfo
:
IActivityInfo
,
userInfo
:
IUserInfo
,
customRecord
:
Object
=
{}
,
inviteUserInfo
=
{}
)
{
const
today
=
getToday
()
const
today
=
getToday
()
const
reward
=
activityInfo
?.
tasks
?.[
taskType
]?.
reward
||
0
const
reward
=
activityInfo
?.
tasks
?.[
taskType
]?.
reward
||
0
let
{
let
{
...
@@ -128,31 +128,15 @@ export default class TaskService extends UserService {
...
@@ -128,31 +128,15 @@ export default class TaskService extends UserService {
// 邀请任务由被邀请人完成,单独处理
// 邀请任务由被邀请人完成,单独处理
const
{
_id
:
srcId
,
openId
:
srcOpenId
,
userNick
:
srcUserNick
,
member
:
srcMember
}
=
userInfo
const
{
_id
:
srcId
,
openId
:
srcOpenId
,
userNick
:
srcUserNick
,
member
:
srcMember
}
=
userInfo
if
(
taskType
===
'invite'
)
{
if
(
taskType
===
'invite'
)
{
if
(
!
inviteId
)
return
CODE_TYPES
.
ERROR_INVALID_INVITE_ID
// 已经助力过
if
(
openId
===
inviteId
)
return
CODE_TYPES
.
ERROR_NO_INVITE_SELF
if
(
userInfo
?.
inviteId
)
return
CODE_TYPES
.
ERROR_AREADY_INVITE_SUCCESS
if
(
userInfo
?.
inviteId
)
return
CODE_TYPES
.
ERROR_AREADY_INVITE_SUCCESS
// 是否是新会员助力
// 是否是新会员助力
if
(
!
isVip
)
return
CODE_TYPES
.
ERROR_NO_VIP
if
(
!
isVip
)
return
CODE_TYPES
.
ERROR_NO_VIP
const
isNewVip
=
!
userInfo
?.
member
?.
flag
&&
isVip
const
isNewVip
=
!
userInfo
?.
member
?.
flag
&&
isVip
if
(
!
isNewVip
)
return
CODE_TYPES
.
ERROR_INVITE
if
(
!
isNewVip
)
return
CODE_TYPES
.
ERROR_INVITE
const
{
_id
,
tasks
:
{
invite
}
}
=
activityInfo
// 获取邀请者信息
const
inviteUserInfo
=
await
this
.
userdao
.
findOne
<
IUserInfo
>
({
activityId
:
_id
,
openId
:
inviteId
})
// inviteId的用户信息查询不到, 则inviteId无效
if
(
!
inviteUserInfo
)
return
CODE_TYPES
.
ERROR_INVALID_INVITE_ID
const
{
rateType
,
times
}
=
invite
const
{
todayCompleteTimes
}
=
getTodayCompleteTask
(
'invite'
,
inviteUserInfo
)
// 助力次数超限制
if
(
rateType
===
TASK_RATE_TYPE
.
EVERYDAY
&&
todayCompleteTimes
>=
times
)
{
return
CODE_TYPES
.
ERROR_INVITE_TIMES_LIMIT
}
openId
=
inviteId
openId
=
inviteId
userInfo
=
inviteUserInfo
userInfo
=
inviteUserInfo
as
IUserInfo
}
}
// 完成任务
// 完成任务
...
...
v2.0/src/utils/common/check/checkInviteId.ts
View file @
e3bc7785
...
@@ -15,13 +15,21 @@ import { TASK_RATE_TYPE } from '../../../constants'
...
@@ -15,13 +15,21 @@ import { TASK_RATE_TYPE } from '../../../constants'
* @return {*}
* @return {*}
*/
*/
export
default
async
function
checkInviteId
(
export
default
async
function
checkInviteId
(
context
:
IContext
<
{
activityId
:
string
;
inviteId
:
string
}
>
,
context
:
IContext
<
{
activityId
:
string
;
inviteId
:
string
,
key
:
string
}
>
,
{
activityInfo
}:
IControllerInfos
{
activityInfo
}:
IControllerInfos
)
{
)
{
const
{
const
{
openId
,
openId
,
data
:
{
activityId
,
inviteId
}
data
:
{
activityId
,
inviteId
,
key
}
}
=
context
}
=
context
// 非任务
if
(
key
!==
'invite'
){
return
}
// 无效的inviteId
if
(
!
inviteId
)
return
CODE_TYPES
.
ERROR_INVALID_INVITE_ID
// 自己邀请自己
// 自己邀请自己
if
(
openId
===
inviteId
)
return
resultsModel
.
error
(
CODE_TYPES
.
ERROR_NO_INVITE_SELF
)
if
(
openId
===
inviteId
)
return
resultsModel
.
error
(
CODE_TYPES
.
ERROR_NO_INVITE_SELF
)
...
@@ -40,7 +48,7 @@ export default async function checkInviteId(
...
@@ -40,7 +48,7 @@ export default async function checkInviteId(
}
=
activityInfo
}
=
activityInfo
const
{
rateType
,
times
}
=
invite
const
{
rateType
,
times
}
=
invite
const
{
todayCompleteTimes
}
=
getTodayCompleteTask
(
'invite
s
'
,
inviteUserInfo
)
const
{
todayCompleteTimes
}
=
getTodayCompleteTask
(
'invite'
,
inviteUserInfo
)
// 助力次数超限制
// 助力次数超限制
if
(
rateType
===
TASK_RATE_TYPE
.
EVERYDAY
&&
todayCompleteTimes
>=
times
)
{
if
(
rateType
===
TASK_RATE_TYPE
.
EVERYDAY
&&
todayCompleteTimes
>=
times
)
{
...
...
v2.0/src/utils/common/check/checkJoinId.ts
View file @
e3bc7785
...
@@ -7,17 +7,17 @@ import { JOIN_DB_NAME } from '../../../db'
...
@@ -7,17 +7,17 @@ import { JOIN_DB_NAME } from '../../../db'
export
default
async
function
checkJoinId
(
context
:
IContext
<
IParams
>
)
{
export
default
async
function
checkJoinId
(
context
:
IContext
<
IParams
>
)
{
const
{
openId
}
=
context
const
{
openId
}
=
context
const
{
i
d
,
activityId
}
=
context
.
data
const
{
gameI
d
,
activityId
}
=
context
.
data
if
(
!
i
d
)
{
if
(
!
gameI
d
)
{
return
resultsModel
.
error
(
CODE_TYPES
.
PARAMS_ERROR
,
`缺少
i
d参数`
)
return
resultsModel
.
error
(
CODE_TYPES
.
PARAMS_ERROR
,
`缺少
gameI
d参数`
)
}
}
const
joinInfo
=
await
dbFindOne
<
IJoinRecord
>
(
context
,
JOIN_DB_NAME
,
{
_id
:
i
d
,
activityId
})
const
joinInfo
=
await
dbFindOne
<
IJoinRecord
>
(
context
,
JOIN_DB_NAME
,
{
_id
:
gameI
d
,
activityId
})
if
(
joinInfo
?.
submitTime
)
return
resultsModel
.
error
(
CODE_TYPES
.
PARAMS_ERROR
,
`重复提交游戏!`
)
if
(
joinInfo
?.
submitTime
)
return
resultsModel
.
error
(
CODE_TYPES
.
PARAMS_ERROR
,
`重复提交游戏!`
)
if
(
joinInfo
?.
openId
!==
openId
)
return
resultsModel
.
error
(
CODE_TYPES
.
PARAMS_ERROR
,
`无权限提交!`
)
if
(
joinInfo
?.
openId
!==
openId
)
return
resultsModel
.
error
(
CODE_TYPES
.
PARAMS_ERROR
,
`无权限提交!`
)
if
(
!
joinInfo
)
return
resultsModel
.
error
(
CODE_TYPES
.
SYSTEM_ERROR
,
'本局
i
d不存在'
)
if
(
!
joinInfo
)
return
resultsModel
.
error
(
CODE_TYPES
.
SYSTEM_ERROR
,
'本局
gameI
d不存在'
)
return
{
return
{
joinInfo
joinInfo
...
...
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