Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hilo-user
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
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
chenweijian
hilo-user
Commits
f2a75bd4
Commit
f2a75bd4
authored
Jun 17, 2023
by
hujiebin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Feature/3.9.0 fix
parent
d96a06e0
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
77 additions
and
44 deletions
+77
-44
anniversary.go
_const/enum/cp_e/anniversary.go
+3
-1
level.go
_const/enum/cp_e/level.go
+10
-10
space.go
cv/cp_cv/space.go
+9
-8
anniversary.go
domain/model/cp_m/anniversary.go
+16
-16
anniversary.go
route/cp_r/anniversary.go
+15
-3
space.go
route/cp_r/space.go
+12
-5
cp_test.go
test/cp_test.go
+12
-1
No files found.
_const/enum/cp_e/anniversary.go
View file @
f2a75bd4
...
@@ -5,5 +5,7 @@ type AnniversaryItemType int
...
@@ -5,5 +5,7 @@ type AnniversaryItemType int
const
(
const
(
AnniversaryItemTypeNormal
AnniversaryItemType
=
0
// 普通类型
AnniversaryItemTypeNormal
AnniversaryItemType
=
0
// 普通类型
AnniversaryItemTypeAvatar
AnniversaryItemType
=
1
// 头像类型
AnniversaryItemTypeAvatar
AnniversaryItemType
=
1
// 头像类型
AnniversaryItemTypeAnniversary
AnniversaryItemType
=
2
// 纪念日类型(一年一度,如生日/结婚纪念日)
AnniversaryItemTypeBirthday1
AnniversaryItemType
=
2
// user1的生日
AnniversaryItemTypeBirthday2
AnniversaryItemType
=
3
// user2的生日
AnniversaryItemTypeAnniversary
AnniversaryItemType
=
4
// 纪念日
)
)
_const/enum/cp_e/level.go
View file @
f2a75bd4
...
@@ -69,16 +69,16 @@ var (
...
@@ -69,16 +69,16 @@ var (
CpPrivilegeActiveProfile
:
270
,
CpPrivilegeActiveProfile
:
270
,
CpPrivilegeMicEffect
:
271
,
CpPrivilegeMicEffect
:
271
,
}
}
// cp特权icon
// todo ui
// cp特权icon
CpPrivilegeIcon
=
map
[
CpPrivilege
]
string
{
CpPrivilegeIcon
=
map
[
CpPrivilege
]
map
[
CpLevel
]
string
{
CpPrivilegeSpace
:
"icon_p_1.png"
,
CpPrivilegeSpace
:
{
CpLevel0
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_space.png"
,
CpLevel1
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_space.png"
,
CpLevel2
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_space.png"
,
CpLevel3
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_space.png"
,
CpLevel4
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_space.png"
,
CpLevel5
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_space.png"
}
,
CpPrivilegeBanner
:
"icon_p_2.png"
,
CpPrivilegeBanner
:
{
CpLevel1
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_banner1.png"
,
CpLevel2
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_banner2.png"
,
CpLevel3
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_banner3.png"
,
CpLevel4
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_banner4.png"
,
CpLevel5
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_banner5.png"
}
,
CpPrivilegeMedal
:
"icon_p_3.png"
,
CpPrivilegeMedal
:
{
CpLevel1
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_medal1.png"
,
CpLevel2
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_medal2.png"
,
CpLevel3
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_medal3.png"
,
CpLevel4
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_medal4.png"
,
CpLevel5
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_medal5.png"
}
,
CpPrivilegeCert
:
"icon_p_4.png"
,
CpPrivilegeCert
:
{
CpLevel0
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_cert0.png"
,
CpLevel1
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_cert1.png"
,
CpLevel2
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_cert2.png"
,
CpLevel3
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_cert3.png"
,
CpLevel4
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_cert4.png"
,
CpLevel5
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_cert5.png"
}
,
CpPrivilegeRoomEffect
:
"icon_p_5.png"
,
CpPrivilegeRoomEffect
:
{
CpLevel2
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_enter2.png"
,
CpLevel3
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_enter3.png"
,
CpLevel4
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_enter4.png"
,
CpLevel5
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_enter5.png"
}
,
CpPrivilegeHeadwear
:
"icon_p_6.png"
,
CpPrivilegeHeadwear
:
{
CpLevel3
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_headwear.png"
,
CpLevel4
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_headwear.png"
,
CpLevel5
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_headwear.png"
}
,
CpPrivilegeActiveProfile
:
"icon_p_7.png"
,
CpPrivilegeActiveProfile
:
{
CpLevel4
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_profile.png"
,
CpLevel5
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_profile.png"
}
,
CpPrivilegeMicEffect
:
"icon_p_8.png"
,
CpPrivilegeMicEffect
:
{
CpLevel5
:
"https://image.whoisamy.shop/hilo/resource/cp/cp_p_mic.png"
}
,
}
}
)
)
...
...
cv/cp_cv/space.go
View file @
f2a75bd4
...
@@ -72,14 +72,14 @@ var CvResLevelList = []CvResLevel{
...
@@ -72,14 +72,14 @@ var CvResLevelList = []CvResLevel{
}
}
var
(
var
(
CvPrivilege1
=
CvPrivilege
{
cp_e
.
CpPrivilegeSpace
,
cp_e
.
CpPrivilegeNameMsgId
[
cp_e
.
CpPrivilegeSpace
],
""
,
cp_e
.
CpPrivilegeDescMsgId
[
cp_e
.
CpPrivilegeSpace
],
""
,
cp_e
.
CpPrivilegeIcon
[
cp_e
.
CpPrivilegeSpace
]
,
false
,
false
,
CpPrivilegeLevelList
[
cp_e
.
CpPrivilegeSpace
]}
CvPrivilege1
=
CvPrivilege
{
cp_e
.
CpPrivilegeSpace
,
cp_e
.
CpPrivilegeNameMsgId
[
cp_e
.
CpPrivilegeSpace
],
""
,
cp_e
.
CpPrivilegeDescMsgId
[
cp_e
.
CpPrivilegeSpace
],
""
,
""
,
false
,
false
,
CpPrivilegeLevelList
[
cp_e
.
CpPrivilegeSpace
]}
CvPrivilege2
=
CvPrivilege
{
cp_e
.
CpPrivilegeBanner
,
cp_e
.
CpPrivilegeNameMsgId
[
cp_e
.
CpPrivilegeBanner
],
""
,
cp_e
.
CpPrivilegeDescMsgId
[
cp_e
.
CpPrivilegeBanner
],
""
,
cp_e
.
CpPrivilegeIcon
[
cp_e
.
CpPrivilegeBanner
]
,
false
,
false
,
CpPrivilegeLevelList
[
cp_e
.
CpPrivilegeBanner
]}
CvPrivilege2
=
CvPrivilege
{
cp_e
.
CpPrivilegeBanner
,
cp_e
.
CpPrivilegeNameMsgId
[
cp_e
.
CpPrivilegeBanner
],
""
,
cp_e
.
CpPrivilegeDescMsgId
[
cp_e
.
CpPrivilegeBanner
],
""
,
""
,
false
,
false
,
CpPrivilegeLevelList
[
cp_e
.
CpPrivilegeBanner
]}
CvPrivilege3
=
CvPrivilege
{
cp_e
.
CpPrivilegeMedal
,
cp_e
.
CpPrivilegeNameMsgId
[
cp_e
.
CpPrivilegeMedal
],
""
,
cp_e
.
CpPrivilegeDescMsgId
[
cp_e
.
CpPrivilegeMedal
],
""
,
cp_e
.
CpPrivilegeIcon
[
cp_e
.
CpPrivilegeMedal
]
,
false
,
false
,
CpPrivilegeLevelList
[
cp_e
.
CpPrivilegeMedal
]}
CvPrivilege3
=
CvPrivilege
{
cp_e
.
CpPrivilegeMedal
,
cp_e
.
CpPrivilegeNameMsgId
[
cp_e
.
CpPrivilegeMedal
],
""
,
cp_e
.
CpPrivilegeDescMsgId
[
cp_e
.
CpPrivilegeMedal
],
""
,
""
,
false
,
false
,
CpPrivilegeLevelList
[
cp_e
.
CpPrivilegeMedal
]}
CvPrivilege4
=
CvPrivilege
{
cp_e
.
CpPrivilegeCert
,
cp_e
.
CpPrivilegeNameMsgId
[
cp_e
.
CpPrivilegeCert
],
""
,
cp_e
.
CpPrivilegeDescMsgId
[
cp_e
.
CpPrivilegeCert
],
""
,
cp_e
.
CpPrivilegeIcon
[
cp_e
.
CpPrivilegeCert
]
,
false
,
false
,
CpPrivilegeLevelList
[
cp_e
.
CpPrivilegeCert
]}
CvPrivilege4
=
CvPrivilege
{
cp_e
.
CpPrivilegeCert
,
cp_e
.
CpPrivilegeNameMsgId
[
cp_e
.
CpPrivilegeCert
],
""
,
cp_e
.
CpPrivilegeDescMsgId
[
cp_e
.
CpPrivilegeCert
],
""
,
""
,
false
,
false
,
CpPrivilegeLevelList
[
cp_e
.
CpPrivilegeCert
]}
CvPrivilege5
=
CvPrivilege
{
cp_e
.
CpPrivilegeRoomEffect
,
cp_e
.
CpPrivilegeNameMsgId
[
cp_e
.
CpPrivilegeRoomEffect
],
""
,
cp_e
.
CpPrivilegeDescMsgId
[
cp_e
.
CpPrivilegeRoomEffect
],
""
,
cp_e
.
CpPrivilegeIcon
[
cp_e
.
CpPrivilegeRoomEffect
]
,
true
,
false
,
CpPrivilegeLevelList
[
cp_e
.
CpPrivilegeRoomEffect
]}
CvPrivilege5
=
CvPrivilege
{
cp_e
.
CpPrivilegeRoomEffect
,
cp_e
.
CpPrivilegeNameMsgId
[
cp_e
.
CpPrivilegeRoomEffect
],
""
,
cp_e
.
CpPrivilegeDescMsgId
[
cp_e
.
CpPrivilegeRoomEffect
],
""
,
""
,
true
,
false
,
CpPrivilegeLevelList
[
cp_e
.
CpPrivilegeRoomEffect
]}
CvPrivilege6
=
CvPrivilege
{
cp_e
.
CpPrivilegeHeadwear
,
cp_e
.
CpPrivilegeNameMsgId
[
cp_e
.
CpPrivilegeHeadwear
],
""
,
cp_e
.
CpPrivilegeDescMsgId
[
cp_e
.
CpPrivilegeHeadwear
],
""
,
cp_e
.
CpPrivilegeIcon
[
cp_e
.
CpPrivilegeHeadwear
]
,
false
,
false
,
CpPrivilegeLevelList
[
cp_e
.
CpPrivilegeHeadwear
]}
CvPrivilege6
=
CvPrivilege
{
cp_e
.
CpPrivilegeHeadwear
,
cp_e
.
CpPrivilegeNameMsgId
[
cp_e
.
CpPrivilegeHeadwear
],
""
,
cp_e
.
CpPrivilegeDescMsgId
[
cp_e
.
CpPrivilegeHeadwear
],
""
,
""
,
false
,
false
,
CpPrivilegeLevelList
[
cp_e
.
CpPrivilegeHeadwear
]}
CvPrivilege7
=
CvPrivilege
{
cp_e
.
CpPrivilegeActiveProfile
,
cp_e
.
CpPrivilegeNameMsgId
[
cp_e
.
CpPrivilegeActiveProfile
],
""
,
cp_e
.
CpPrivilegeDescMsgId
[
cp_e
.
CpPrivilegeActiveProfile
],
""
,
cp_e
.
CpPrivilegeIcon
[
cp_e
.
CpPrivilegeActiveProfile
]
,
true
,
false
,
CpPrivilegeLevelList
[
cp_e
.
CpPrivilegeActiveProfile
]}
CvPrivilege7
=
CvPrivilege
{
cp_e
.
CpPrivilegeActiveProfile
,
cp_e
.
CpPrivilegeNameMsgId
[
cp_e
.
CpPrivilegeActiveProfile
],
""
,
cp_e
.
CpPrivilegeDescMsgId
[
cp_e
.
CpPrivilegeActiveProfile
],
""
,
""
,
true
,
false
,
CpPrivilegeLevelList
[
cp_e
.
CpPrivilegeActiveProfile
]}
CvPrivilege8
=
CvPrivilege
{
cp_e
.
CpPrivilegeMicEffect
,
cp_e
.
CpPrivilegeNameMsgId
[
cp_e
.
CpPrivilegeMicEffect
],
""
,
cp_e
.
CpPrivilegeDescMsgId
[
cp_e
.
CpPrivilegeMicEffect
],
""
,
cp_e
.
CpPrivilegeIcon
[
cp_e
.
CpPrivilegeMicEffect
]
,
false
,
false
,
CpPrivilegeLevelList
[
cp_e
.
CpPrivilegeMicEffect
]}
CvPrivilege8
=
CvPrivilege
{
cp_e
.
CpPrivilegeMicEffect
,
cp_e
.
CpPrivilegeNameMsgId
[
cp_e
.
CpPrivilegeMicEffect
],
""
,
cp_e
.
CpPrivilegeDescMsgId
[
cp_e
.
CpPrivilegeMicEffect
],
""
,
""
,
false
,
false
,
CpPrivilegeLevelList
[
cp_e
.
CpPrivilegeMicEffect
]}
)
)
var
CpLevelPrivilegeList
=
map
[
cp_e
.
CpLevel
][]
CvPrivilege
{
var
CpLevelPrivilegeList
=
map
[
cp_e
.
CpLevel
][]
CvPrivilege
{
...
@@ -108,6 +108,7 @@ func CopyCpLevelPrivilegeList(Level cp_e.CpLevel, lang string) []CvPrivilege {
...
@@ -108,6 +108,7 @@ func CopyCpLevelPrivilegeList(Level cp_e.CpLevel, lang string) []CvPrivilege {
for
i
,
v
:=
range
privileges
{
for
i
,
v
:=
range
privileges
{
privileges
[
i
]
.
Name
=
GetTranslate
(
v
.
NameMsgId
,
lang
)
privileges
[
i
]
.
Name
=
GetTranslate
(
v
.
NameMsgId
,
lang
)
privileges
[
i
]
.
Desc
=
GetTranslate
(
v
.
DescMsgId
,
lang
)
privileges
[
i
]
.
Desc
=
GetTranslate
(
v
.
DescMsgId
,
lang
)
privileges
[
i
]
.
Icon
=
cp_e
.
CpPrivilegeIcon
[
v
.
Type
][
Level
]
}
}
return
privileges
return
privileges
}
}
...
...
domain/model/cp_m/anniversary.go
View file @
f2a75bd4
...
@@ -36,10 +36,10 @@ func InitCpAnniversary(model *domain.Model, cp CpRelation, lang string) error {
...
@@ -36,10 +36,10 @@ func InitCpAnniversary(model *domain.Model, cp CpRelation, lang string) error {
if
err
:=
AddCpAnniversary
(
model
,
cp_e
.
AnniversaryItemTypeNormal
,
cp
,
GetTranslate
(
259
,
lang
),
time
.
Now
()
.
Unix
(),
true
,
100
,
259
);
err
!=
nil
{
if
err
:=
AddCpAnniversary
(
model
,
cp_e
.
AnniversaryItemTypeNormal
,
cp
,
GetTranslate
(
259
,
lang
),
time
.
Now
()
.
Unix
(),
true
,
100
,
259
);
err
!=
nil
{
return
err
return
err
}
}
if
err
:=
AddCpAnniversary
(
model
,
cp_e
.
AnniversaryItemType
Anniversary
,
cp
,
fmt
.
Sprintf
(
GetTranslate
(
260
,
lang
),
users
[
cp
.
UserId1
]
.
Nick
),
0
,
true
,
0
,
260
);
err
!=
nil
{
if
err
:=
AddCpAnniversary
(
model
,
cp_e
.
AnniversaryItemType
Birthday1
,
cp
,
fmt
.
Sprintf
(
GetTranslate
(
260
,
lang
),
users
[
cp
.
UserId1
]
.
Nick
),
0
,
true
,
0
,
260
);
err
!=
nil
{
return
err
return
err
}
}
if
err
:=
AddCpAnniversary
(
model
,
cp_e
.
AnniversaryItemType
Anniversary
,
cp
,
fmt
.
Sprintf
(
GetTranslate
(
260
,
lang
),
users
[
cp
.
UserId2
]
.
Nick
),
0
,
true
,
0
,
260
);
err
!=
nil
{
if
err
:=
AddCpAnniversary
(
model
,
cp_e
.
AnniversaryItemType
Birthday2
,
cp
,
fmt
.
Sprintf
(
GetTranslate
(
260
,
lang
),
users
[
cp
.
UserId2
]
.
Nick
),
0
,
true
,
0
,
260
);
err
!=
nil
{
return
err
return
err
}
}
if
err
:=
AddCpAnniversary
(
model
,
cp_e
.
AnniversaryItemTypeNormal
,
cp
,
GetTranslate
(
261
,
lang
),
0
,
true
,
0
,
261
);
err
!=
nil
{
if
err
:=
AddCpAnniversary
(
model
,
cp_e
.
AnniversaryItemTypeNormal
,
cp
,
GetTranslate
(
261
,
lang
),
0
,
true
,
0
,
261
);
err
!=
nil
{
...
@@ -110,17 +110,14 @@ func GetAllCpAnniversary(model *domain.Model, userId mysql.ID, lang string) []Cp
...
@@ -110,17 +110,14 @@ func GetAllCpAnniversary(model *domain.Model, userId mysql.ID, lang string) []Cp
}
}
var
userIds
=
[]
mysql
.
ID
{
relation
.
UserId1
,
relation
.
UserId2
}
var
userIds
=
[]
mysql
.
ID
{
relation
.
UserId1
,
relation
.
UserId2
}
users
,
_
:=
user_m
.
GetUserMapByIds
(
model
,
userIds
)
users
,
_
:=
user_m
.
GetUserMapByIds
(
model
,
userIds
)
n
:=
0
for
i
,
v
:=
range
res
{
for
i
,
v
:=
range
res
{
if
v
.
CreatedTime
.
Equal
(
v
.
UpdatedTime
)
&&
v
.
MsgId
>
0
{
if
v
.
CreatedTime
.
Equal
(
v
.
UpdatedTime
)
&&
v
.
MsgId
>
0
{
res
[
i
]
.
Content
=
GetTranslate
(
v
.
MsgId
,
lang
)
if
v
.
Type
==
cp_e
.
AnniversaryItemTypeBirthday1
{
if
v
.
MsgId
==
260
{
n
++
if
n
==
1
{
res
[
i
]
.
Content
=
fmt
.
Sprintf
(
GetTranslate
(
v
.
MsgId
,
lang
),
users
[
relation
.
UserId1
]
.
Nick
)
res
[
i
]
.
Content
=
fmt
.
Sprintf
(
GetTranslate
(
v
.
MsgId
,
lang
),
users
[
relation
.
UserId1
]
.
Nick
)
}
else
{
}
else
if
v
.
Type
==
cp_e
.
AnniversaryItemTypeBirthday2
{
res
[
i
]
.
Content
=
fmt
.
Sprintf
(
GetTranslate
(
v
.
MsgId
,
lang
),
users
[
relation
.
UserId2
]
.
Nick
)
res
[
i
]
.
Content
=
fmt
.
Sprintf
(
GetTranslate
(
v
.
MsgId
,
lang
),
users
[
relation
.
UserId2
]
.
Nick
)
}
}
else
{
res
[
i
]
.
Content
=
GetTranslate
(
v
.
MsgId
,
lang
)
}
}
}
}
}
}
...
@@ -140,7 +137,7 @@ func GetNeedRemindCpAnniversary(model *domain.Model) []CpAnniversary {
...
@@ -140,7 +137,7 @@ func GetNeedRemindCpAnniversary(model *domain.Model) []CpAnniversary {
}
}
now
:=
time
.
Now
()
.
Unix
()
now
:=
time
.
Now
()
.
Unix
()
for
i
,
v
:=
range
rows
{
for
i
,
v
:=
range
rows
{
ts
:=
CalcNextAnniversary
(
v
.
Timestamp
)
ts
:=
CalcNextAnniversary
(
v
.
Timestamp
,
time
.
Local
)
if
now
>
ts
{
if
now
>
ts
{
res
=
append
(
res
,
rows
[
i
])
res
=
append
(
res
,
rows
[
i
])
}
}
...
@@ -149,7 +146,7 @@ func GetNeedRemindCpAnniversary(model *domain.Model) []CpAnniversary {
...
@@ -149,7 +146,7 @@ func GetNeedRemindCpAnniversary(model *domain.Model) []CpAnniversary {
}
}
// 获取cp当天需要提醒的纪念日
// 获取cp当天需要提醒的纪念日
func
GetUserTodayCpAnniversary
(
model
*
domain
.
Model
,
cpId
mysql
.
ID
)
[]
CpAnniversary
{
func
GetUserTodayCpAnniversary
(
model
*
domain
.
Model
,
cpId
mysql
.
ID
,
tz
*
time
.
Location
)
[]
CpAnniversary
{
var
rows
,
res
[]
CpAnniversary
var
rows
,
res
[]
CpAnniversary
if
err
:=
model
.
DB
()
.
Model
(
CpAnniversary
{})
.
if
err
:=
model
.
DB
()
.
Model
(
CpAnniversary
{})
.
Where
(
"`timestamp` > 0"
)
.
Where
(
"`timestamp` > 0"
)
.
...
@@ -161,7 +158,7 @@ func GetUserTodayCpAnniversary(model *domain.Model, cpId mysql.ID) []CpAnniversa
...
@@ -161,7 +158,7 @@ func GetUserTodayCpAnniversary(model *domain.Model, cpId mysql.ID) []CpAnniversa
}
}
now
:=
time
.
Now
()
.
Unix
()
now
:=
time
.
Now
()
.
Unix
()
for
i
,
v
:=
range
rows
{
for
i
,
v
:=
range
rows
{
ts
:=
CalcNextAnniversary
(
v
.
Timestamp
)
ts
:=
CalcNextAnniversary
(
v
.
Timestamp
,
tz
)
if
now
>
ts
{
if
now
>
ts
{
res
=
append
(
res
,
rows
[
i
])
res
=
append
(
res
,
rows
[
i
])
}
}
...
@@ -174,11 +171,14 @@ func UpdateCpAnniversaryReminded(model *domain.Model, id mysql.ID) error {
...
@@ -174,11 +171,14 @@ func UpdateCpAnniversaryReminded(model *domain.Model, id mysql.ID) error {
}
}
// 计算下一个纪念日
// 计算下一个纪念日
func
CalcNextAnniversary
(
timestamp
int64
)
int64
{
func
CalcNextAnniversary
(
timestamp
int64
,
tz
*
time
.
Location
)
int64
{
if
tz
==
nil
{
tz
=
time
.
Local
}
now
:=
time
.
Now
()
now
:=
time
.
Now
()
birthday
:=
time
.
Unix
(
timestamp
,
0
)
birthday
:=
time
.
Unix
(
timestamp
,
0
)
// 计算今年的生日日期
// 计算今年的生日日期
thisYearBirthday
:=
time
.
Date
(
now
.
Year
(),
birthday
.
Month
(),
birthday
.
Day
(),
0
,
0
,
0
,
0
,
t
ime
.
Local
)
thisYearBirthday
:=
time
.
Date
(
now
.
Year
(),
birthday
.
Month
(),
birthday
.
Day
(),
0
,
0
,
0
,
0
,
t
z
)
// 如果今年的生日还未到,则生日日期为今年的生日日期;否则为明年的生日日期
// 如果今年的生日还未到,则生日日期为今年的生日日期;否则为明年的生日日期
var
next
time
.
Time
var
next
time
.
Time
...
...
route/cp_r/anniversary.go
View file @
f2a75bd4
package
cp_r
package
cp_r
import
(
import
(
"git.hilo.cn/hilo-common/_const/enum/timezone_e"
"git.hilo.cn/hilo-common/domain"
"git.hilo.cn/hilo-common/domain"
"git.hilo.cn/hilo-common/mycontext"
"git.hilo.cn/hilo-common/mycontext"
"github.com/gin-gonic/gin"
"github.com/gin-gonic/gin"
...
@@ -92,8 +93,19 @@ func PageAnniversary(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -92,8 +93,19 @@ func PageAnniversary(c *gin.Context) (*mycontext.MyContext, error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
myCtx
,
err
return
myCtx
,
err
}
}
var
response
=
make
([]
cp_cv
.
CvCpAnniversary
,
0
)
model
:=
domain
.
CreateModelContext
(
myCtx
)
model
:=
domain
.
CreateModelContext
(
myCtx
)
loc
:=
timezone_e
.
GetFixedTimezone
(
c
.
GetHeader
(
mycontext
.
TIMEZONE
))
if
loc
==
nil
{
user
,
err
:=
user_m
.
GetUser
(
model
,
userId
)
if
err
!=
nil
{
return
myCtx
,
err
}
if
user
.
Language
==
"ar"
{
loc
=
timezone_e
.
KSATimezoneLoc
}
}
var
response
=
make
([]
cp_cv
.
CvCpAnniversary
,
0
)
cpRelation
,
exits
:=
cp_m
.
GetCpRelation
(
model
,
userId
)
cpRelation
,
exits
:=
cp_m
.
GetCpRelation
(
model
,
userId
)
if
exits
{
if
exits
{
userIds
:=
[]
uint64
{
cpRelation
.
UserId1
,
cpRelation
.
UserId2
}
userIds
:=
[]
uint64
{
cpRelation
.
UserId1
,
cpRelation
.
UserId2
}
...
@@ -121,8 +133,8 @@ func PageAnniversary(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -121,8 +133,8 @@ func PageAnniversary(c *gin.Context) (*mycontext.MyContext, error) {
anniversary
:=
cp_m
.
GetAllCpAnniversary
(
model
,
userId
,
lang
)
anniversary
:=
cp_m
.
GetAllCpAnniversary
(
model
,
userId
,
lang
)
for
_
,
v
:=
range
anniversary
{
for
_
,
v
:=
range
anniversary
{
timestamp
:=
v
.
Timestamp
timestamp
:=
v
.
Timestamp
if
v
.
Type
==
cp_e
.
AnniversaryItemTypeAnniversary
&&
timestamp
>
0
{
if
v
.
Type
>=
cp_e
.
AnniversaryItemTypeBirthday1
&&
timestamp
>
0
{
timestamp
=
cp_m
.
CalcNextAnniversary
(
timestamp
)
timestamp
=
cp_m
.
CalcNextAnniversary
(
timestamp
,
loc
)
}
}
// 客户端只认识0 1
// 客户端只认识0 1
Type
:=
v
.
Type
Type
:=
v
.
Type
...
...
route/cp_r/space.go
View file @
f2a75bd4
package
cp_r
package
cp_r
import
(
import
(
"git.hilo.cn/hilo-common/_const/enum/timezone_e"
"git.hilo.cn/hilo-common/domain"
"git.hilo.cn/hilo-common/domain"
"git.hilo.cn/hilo-common/mycontext"
"git.hilo.cn/hilo-common/mycontext"
"git.hilo.cn/hilo-common/resource/mysql"
"git.hilo.cn/hilo-common/resource/mysql"
...
@@ -30,15 +31,21 @@ func CpSpace(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -30,15 +31,21 @@ func CpSpace(c *gin.Context) (*mycontext.MyContext, error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
myContext
,
err
return
myContext
,
err
}
}
externalId
:=
c
.
Query
(
"externalId"
)
if
len
(
externalId
)
<=
0
{
return
myContext
,
bizerr
.
InvalidParameter
}
var
model
=
domain
.
CreateModelContext
(
myContext
)
var
model
=
domain
.
CreateModelContext
(
myContext
)
userInfo
,
err
:=
user_m
.
GetUser
(
model
,
userId
)
userInfo
,
err
:=
user_m
.
GetUser
(
model
,
userId
)
if
err
!=
nil
{
if
err
!=
nil
{
return
myContext
,
err
return
myContext
,
err
}
}
loc
:=
timezone_e
.
GetFixedTimezone
(
c
.
GetHeader
(
mycontext
.
TIMEZONE
))
if
loc
==
nil
{
if
userInfo
.
Language
==
"ar"
{
loc
=
timezone_e
.
KSATimezoneLoc
}
}
externalId
:=
c
.
Query
(
"externalId"
)
if
len
(
externalId
)
<=
0
{
return
myContext
,
bizerr
.
InvalidParameter
}
targetUserInfo
,
err
:=
user_m
.
GetUserByExtId
(
model
,
externalId
)
targetUserInfo
,
err
:=
user_m
.
GetUserByExtId
(
model
,
externalId
)
if
err
!=
nil
{
if
err
!=
nil
{
return
myContext
,
err
return
myContext
,
err
...
@@ -130,7 +137,7 @@ func CpSpace(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -130,7 +137,7 @@ func CpSpace(c *gin.Context) (*mycontext.MyContext, error) {
}
}
// 需要提醒的纪念日
// 需要提醒的纪念日
if
exists
&&
(
userId
==
cpRelation
.
UserId1
||
userId
==
cpRelation
.
UserId2
)
{
if
exists
&&
(
userId
==
cpRelation
.
UserId1
||
userId
==
cpRelation
.
UserId2
)
{
anniversary
:=
cp_m
.
GetUserTodayCpAnniversary
(
model
,
cpRelation
.
Id
)
anniversary
:=
cp_m
.
GetUserTodayCpAnniversary
(
model
,
cpRelation
.
Id
,
loc
)
for
_
,
a
:=
range
anniversary
{
for
_
,
a
:=
range
anniversary
{
response
.
CpAnniversary
=
append
(
response
.
CpAnniversary
,
cp_cv
.
CvCpAnniversary
{
response
.
CpAnniversary
=
append
(
response
.
CpAnniversary
,
cp_cv
.
CvCpAnniversary
{
Id
:
a
.
ID
,
Id
:
a
.
ID
,
...
...
test/cp_test.go
View file @
f2a75bd4
package
test
package
test
import
(
import
(
"git.hilo.cn/hilo-common/_const/enum/timezone_e"
"git.hilo.cn/hilo-common/domain"
"git.hilo.cn/hilo-common/domain"
"hilo-user/domain/model/cp_m"
"hilo-user/domain/model/cp_m"
"testing"
"testing"
"time"
)
)
func
TestInitCpAnniversary
(
t
*
testing
.
T
)
{
func
TestInitCpAnniversary
(
t
*
testing
.
T
)
{
...
@@ -16,6 +18,15 @@ func TestInitCpAnniversary(t *testing.T) {
...
@@ -16,6 +18,15 @@ func TestInitCpAnniversary(t *testing.T) {
}
}
func
TestCalcNextAnniversary
(
t
*
testing
.
T
)
{
func
TestCalcNextAnniversary
(
t
*
testing
.
T
)
{
t2
:=
cp_m
.
CalcNextAnniversary
(
1686211996
)
t2
:=
cp_m
.
CalcNextAnniversary
(
1686211996
,
time
.
Local
)
println
(
t2
)
println
(
t2
)
}
}
func
TestCalLoc
(
t
*
testing
.
T
)
{
loc
:=
timezone_e
.
GetFixedTimezone
(
"GMT+8"
)
println
(
time
.
Now
()
.
In
(
loc
)
.
Format
(
"2006-01-02 15:04:05"
))
loc
=
timezone_e
.
GetFixedTimezone
(
"GMT+3"
)
println
(
time
.
Now
()
.
In
(
loc
)
.
Format
(
"2006-01-02 15:04:05"
))
loc
=
timezone_e
.
GetFixedTimezone
(
"GMT+5"
)
println
(
time
.
Now
()
.
In
(
loc
)
.
Format
(
"2006-01-02 15:04:05"
))
}
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