Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_backend
Commits
84dd223f
Commit
84dd223f
authored
Dec 17, 2024
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
领取奖励的对应日期后的签到记录都往前挪
parent
5e076d76
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
57 additions
and
12 deletions
+57
-12
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/SysSupplierItemServiceImpl.java
...va/com/wwdz/ch/admin/impl/SysSupplierItemServiceImpl.java
+22
-0
ch-dao/src/main/java/com/wwdz/ch/db/dao/UserSignInDao.java
ch-dao/src/main/java/com/wwdz/ch/db/dao/UserSignInDao.java
+3
-1
ch-dao/src/main/java/com/wwdz/ch/db/impl/UserSignInDaoImpl.java
.../src/main/java/com/wwdz/ch/db/impl/UserSignInDaoImpl.java
+4
-1
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/UserSigninServiceImpl.java
.../main/java/com/wwdz/ch/wx/impl/UserSigninServiceImpl.java
+28
-10
No files found.
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/SysSupplierItemServiceImpl.java
View file @
84dd223f
...
...
@@ -21,6 +21,7 @@ import com.wwdz.ch.db.domain.UserSignIn;
import
com.wwdz.ch.db.domain.distribution.*
;
import
com.wwdz.ch.db.dto.request.distribution.AuctionConfigRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.AuctionRecordRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto
;
import
com.xxdxxs.utils.*
;
import
org.redisson.api.RedissonClient
;
...
...
@@ -635,6 +636,27 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
updateDto
.
setId
(
lastedRecord
.
getId
());
updateDto
.
setIsValid
(
false
);
userSignInDao
.
updateByPrimaryKey
(
updateDto
);
//如果创建了订单也取消
if
(
lastedRecord
.
getIsReward
()
&&
lastedRecord
.
getIsGet
())
{
int
level
=
lastedRecord
.
getRewardLevel
();
//查询签到奖励的商品信息
List
<
SupplierItem
>
supplierItemList
=
supplierItemDao
.
findSignInRewardItemList
();
long
itemId
=
supplierItemList
.
get
(
level
-
1
).
getId
();
DistributionOrderRequestDto
distributionOrderRequestDto
=
new
DistributionOrderRequestDto
();
distributionOrderRequestDto
.
setItemId
(
itemId
);
distributionOrderRequestDto
.
setType
(
DistributionEnum
.
DistributionTypeEnum
.
GIFT
.
getCode
());
distributionOrderRequestDto
.
setBuyerId
(
lastedRecord
.
getUserId
());
//防止审核的延后性导致错误的取消订单,所以则查询五天内的赠品订单
LocalDate
startTime
=
today
.
minusDays
(
5
);
LocalDateTime
startDateTime
=
startTime
.
atTime
(
LocalTime
.
MIN
);
distributionOrderRequestDto
.
setStartCreateTime
(
Date
.
from
(
startDateTime
.
atZone
(
java
.
time
.
ZoneId
.
systemDefault
()).
toInstant
()));
List
<
DistributionOrder
>
distributionOrderList
=
distributionOrderDao
.
findByPage
(
distributionOrderRequestDto
);
if
(!
org
.
springframework
.
util
.
CollectionUtils
.
isEmpty
(
distributionOrderList
))
{
String
orderId
=
distributionOrderList
.
get
(
0
).
getDistributionOrderId
();
distributionOrderDao
.
updateState
(
orderId
,
DistributionEnum
.
DistributionOrderStateEnum
.
CANCEL
.
getCode
());
}
}
msg
=
"您发布的"
+
oldItem
.
getName
()
+
",因质量过差无法达到平台要求,已被平台下架,并作废最新的签到记录,请前往"
+
url
+
"查看"
;
}
aliSmsSender
.
sendSms
(
oldItem
.
getCreatorId
(),
msg
);
...
...
ch-dao/src/main/java/com/wwdz/ch/db/dao/UserSignInDao.java
View file @
84dd223f
...
...
@@ -31,7 +31,7 @@ public interface UserSignInDao {
boolean
isExisted
(
long
userId
,
String
date
);
UserSignIn
findRecord
(
long
userId
,
String
date
);
UserSignIn
findRecord
(
long
userId
,
String
date
,
Integer
consecutiveDays
);
boolean
update
(
UserSignIn
userSignin
);
...
...
@@ -41,4 +41,6 @@ public interface UserSignInDao {
boolean
updateInvalid
(
UserSignInRequestDto
dto
);
}
ch-dao/src/main/java/com/wwdz/ch/db/impl/UserSignInDaoImpl.java
View file @
84dd223f
...
...
@@ -82,15 +82,18 @@ public class UserSignInDaoImpl implements UserSignInDao {
@Override
public
UserSignIn
findRecord
(
long
userId
,
String
date
)
{
public
UserSignIn
findRecord
(
long
userId
,
String
date
,
Integer
consecutiveDays
)
{
UserSignInExample
example
=
new
UserSignInExample
();
UserSignInExample
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andUserIdEqualTo
(
userId
);
criteria
.
andSignInDateEqualTo
(
date
);
JdbcHelper
.
ifPresent
(
consecutiveDays
,
criteria:
:
andConsecutiveDaysEqualTo
);
criteria
.
andIsValidEqualTo
(
true
);
return
userSignInMapper
.
selectOneByExample
(
example
);
}
@Override
public
boolean
update
(
UserSignIn
userSignin
)
{
UserSignInExample
example
=
new
UserSignInExample
();
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/UserSigninServiceImpl.java
View file @
84dd223f
...
...
@@ -143,7 +143,7 @@ public class UserSigninServiceImpl implements UserSigninService {
public
Result
getReward
(
UserSignInRequestDto
dto
)
{
try
{
//查询签到记录
UserSignIn
userSignin
=
userSignInDao
.
findRecord
(
dto
.
getUserId
(),
dto
.
getSignInDate
());
UserSignIn
userSignin
=
userSignInDao
.
findRecord
(
dto
.
getUserId
(),
dto
.
getSignInDate
()
,
null
);
if
(
userSignin
==
null
)
{
return
Result
.
failed
(
"该签到奖励已作废"
);
}
...
...
@@ -161,14 +161,34 @@ public class UserSigninServiceImpl implements UserSigninService {
updateDto
.
setUpdateTime
(
new
Date
());
userSignInDao
.
updateByPrimaryKey
(
updateDto
);
//领取完礼物后把签到天数清零,所有大于领取礼物日期的签到记录全部设置为无效
UserSignInRequestDto
userSignInRequestDto
=
new
UserSignInRequestDto
();
userSignInRequestDto
.
setUserId
(
dto
.
getUserId
());
userSignInRequestDto
.
setStartQueryTime
(
userSignin
.
getCreateTime
());
userSignInDao
.
updateInvalid
(
userSignInRequestDto
);
if
(
userSignin
.
getConsecutiveDays
()
>=
14
)
{
//一个周期内只能领取过一次礼物,领取奖励的对应日期后的签到记录都往前挪
int
spanNum
=
0
;
if
(
userSignin
.
getConsecutiveDays
()
==
7
)
{
spanNum
=
14
;
}
else
if
(
userSignin
.
getConsecutiveDays
()
==
14
)
{
spanNum
=
7
;
}
DateTimeFormatter
formatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
);
LocalDate
date
=
LocalDate
.
parse
(
dto
.
getSignInDate
(),
formatter
);
LocalDate
date
=
LocalDate
.
parse
(
userSignin
.
getSignInDate
(),
formatter
);
for
(
int
i
=
1
;
i
<=
spanNum
;
i
++)
{
LocalDate
newDate
=
date
.
plusDays
(
i
);
String
newDateStr
=
newDate
.
format
(
formatter
);
UserSignIn
record
=
userSignInDao
.
findRecord
(
dto
.
getUserId
(),
newDateStr
,
(
userSignin
.
getConsecutiveDays
()
+
i
));
if
(
record
==
null
)
{
break
;
}
else
{
UserSignIn
newDto
=
new
UserSignIn
();
newDto
.
setId
(
record
.
getId
());
newDto
.
setConsecutiveDays
(
record
.
getConsecutiveDays
()
-
userSignin
.
getConsecutiveDays
());
if
(
record
.
getIsReward
())
{
newDto
.
setRewardLevel
(
record
.
getRewardLevel
()
-
1
);
}
userSignInDao
.
updateByPrimaryKey
(
newDto
);
}
}
//把过去未领的奖励设置为无效
if
(
userSignin
.
getConsecutiveDays
()
>=
14
)
{
LocalDate
newDate
=
date
.
minusDays
(
7
);
String
newDateString
=
newDate
.
format
(
formatter
);
UserSignInRequestDto
beforeUpdateDto
=
new
UserSignInRequestDto
();
...
...
@@ -177,8 +197,6 @@ public class UserSigninServiceImpl implements UserSigninService {
userSignInDao
.
updateInvalid
(
beforeUpdateDto
);
}
if
(
userSignin
.
getConsecutiveDays
()
==
21
)
{
DateTimeFormatter
formatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
);
LocalDate
date
=
LocalDate
.
parse
(
dto
.
getSignInDate
(),
formatter
);
LocalDate
newDate
=
date
.
minusDays
(
14
);
String
newDateString
=
newDate
.
format
(
formatter
);
UserSignInRequestDto
beforeUpdateDto
=
new
UserSignInRequestDto
();
...
...
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