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
0da4f991
Commit
0da4f991
authored
Feb 08, 2025
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
订阅消息
parent
b52c1d5d
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
129 additions
and
7 deletions
+129
-7
ch-dao/src/main/java/com/wwdz/ch/db/bean/QdUserSignInRecord.java
...src/main/java/com/wwdz/ch/db/bean/QdUserSignInRecord.java
+12
-0
ch-dao/src/main/java/com/wwdz/ch/db/dao/qiandao/QdUserSignInDao.java
...main/java/com/wwdz/ch/db/dao/qiandao/QdUserSignInDao.java
+9
-0
ch-dao/src/main/java/com/wwdz/ch/db/impl/qiandao/QdUserSignInDaoImpl.java
...java/com/wwdz/ch/db/impl/qiandao/QdUserSignInDaoImpl.java
+13
-0
ch-dao/src/main/java/com/wwdz/ch/db/mapper/qiandao/QdUserSignInMapper.java
...ava/com/wwdz/ch/db/mapper/qiandao/QdUserSignInMapper.java
+9
-0
ch-dao/src/main/resources/com/wwdz/ch/db/mapper/qiandao/QdUserSignInMapper.xml
...rces/com/wwdz/ch/db/mapper/qiandao/QdUserSignInMapper.xml
+10
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/qiandao/QdUserSignInTaskServiceImpl.java
.../wwdz/ch/wx/impl/qiandao/QdUserSignInTaskServiceImpl.java
+50
-4
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/qiandao/QdUserSignInTaskService.java
...m/wwdz/ch/wx/service/qiandao/QdUserSignInTaskService.java
+6
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/qiandao/QdUserSignInTaskController.java
...om/wwdz/ch/wx/web/qiandao/QdUserSignInTaskController.java
+17
-0
ch-wx-api/src/test/java/com/wwdz/ch/wx/api/WxPayServiceTest.java
...pi/src/test/java/com/wwdz/ch/wx/api/WxPayServiceTest.java
+3
-3
No files found.
ch-dao/src/main/java/com/wwdz/ch/db/bean/QdUserSignInRecord.java
0 → 100644
View file @
0da4f991
package
com.wwdz.ch.db.bean
;
import
com.xxdxxs.entity.Entity
;
import
lombok.Data
;
@Data
public
class
QdUserSignInRecord
implements
Entity
{
private
Long
userId
;
private
Long
totalDays
;
}
ch-dao/src/main/java/com/wwdz/ch/db/dao/qiandao/QdUserSignInDao.java
View file @
0da4f991
package
com.wwdz.ch.db.dao.qiandao
;
import
com.wwdz.ch.db.bean.QdUserSignInRecord
;
import
com.wwdz.ch.db.domain.qiandao.QdUserSignIn
;
import
com.wwdz.ch.db.dto.request.qiandao.QdUserSignInRequestDto
;
import
java.util.List
;
import
java.util.Map
;
public
interface
QdUserSignInDao
{
...
...
@@ -48,4 +50,11 @@ public interface QdUserSignInDao {
* 签到任务id为空时,则统计所有任务
*/
long
countTotalRecord
(
Long
userId
,
Long
taskId
);
/**
* 统计前100个用户的总打卡数
* @param taskId
* @return
*/
List
<
QdUserSignInRecord
>
countGroupByUser
(
long
taskId
);
}
ch-dao/src/main/java/com/wwdz/ch/db/impl/qiandao/QdUserSignInDaoImpl.java
View file @
0da4f991
package
com.wwdz.ch.db.impl.qiandao
;
import
com.github.pagehelper.PageHelper
;
import
com.wwdz.ch.db.bean.QdUserSignInRecord
;
import
com.wwdz.ch.db.dao.qiandao.QdUserSignInDao
;
import
com.wwdz.ch.db.domain.qiandao.QdUserSignIn
;
import
com.wwdz.ch.db.domain.qiandao.QdUserSignInExample
;
...
...
@@ -12,6 +14,7 @@ import org.springframework.boot.autoconfigure.quartz.QuartzProperties;
import
org.springframework.stereotype.Repository
;
import
java.time.LocalDate
;
import
java.util.List
;
import
java.util.Map
;
@Repository
public
class
QdUserSignInDaoImpl
implements
QdUserSignInDao
{
...
...
@@ -153,4 +156,14 @@ public class QdUserSignInDaoImpl implements QdUserSignInDao {
criteria
.
andIsValidEqualTo
(
true
);
return
qdUserSignInMapper
.
countByExample
(
example
);
}
@Override
public
List
<
QdUserSignInRecord
>
countGroupByUser
(
long
taskId
)
{
QdUserSignInExample
example
=
new
QdUserSignInExample
();
QdUserSignInExample
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andTaskIdEqualTo
(
taskId
);
criteria
.
andIsValidEqualTo
(
true
);
PageHelper
.
startPage
(
1
,
100
);
return
qdUserSignInMapper
.
countGroupByUser
(
example
);
}
}
ch-dao/src/main/java/com/wwdz/ch/db/mapper/qiandao/QdUserSignInMapper.java
View file @
0da4f991
package
com.wwdz.ch.db.mapper.qiandao
;
import
com.wwdz.ch.db.bean.QdUserSignInRecord
;
import
com.wwdz.ch.db.domain.qiandao.QdUserSignIn
;
import
com.wwdz.ch.db.domain.qiandao.QdUserSignInExample
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -66,4 +68,11 @@ public interface QdUserSignInMapper {
int
updateByPrimaryKeySelective
(
QdUserSignIn
record
);
int
updateByPrimaryKey
(
QdUserSignIn
record
);
/**
* 统计前100个用户的总打卡数
* @param example
* @return
*/
List
<
QdUserSignInRecord
>
countGroupByUser
(
QdUserSignInExample
example
);
}
\ No newline at end of file
ch-dao/src/main/resources/com/wwdz/ch/db/mapper/qiandao/QdUserSignInMapper.xml
View file @
0da4f991
...
...
@@ -401,4 +401,14 @@
</if>
limit 1
</select>
<select
id=
"countGroupByUser"
parameterType=
"com.wwdz.ch.db.domain.qiandao.QdUserSignInExample"
resultType=
"com.wwdz.ch.db.bean.QdUserSignInRecord"
>
select `user_id` as userId, count(1) as totalDays from qd_user_sign_in
<if
test=
"_parameter != null"
>
<include
refid=
"Example_Where_Clause"
/>
</if>
group by `user_id` order by totalDays desc
</select>
</mapper>
\ No newline at end of file
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/qiandao/QdUserSignInTaskServiceImpl.java
View file @
0da4f991
...
...
@@ -2,10 +2,10 @@ package com.wwdz.ch.wx.impl.qiandao;
import
com.wwdz.ch.core.consts.qiandao.SignInTaskEnum
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.db.
dao.qiandao.QdUserSignInDao
;
import
com.wwdz.ch.db.dao.qiandao.
QdUserSignInNoteDao
;
import
com.wwdz.ch.db.d
ao.qiandao.QdUserSignInTaskDao
;
import
com.wwdz.ch.db.d
ao.qiandao.SignInTaskDao
;
import
com.wwdz.ch.db.
bean.QdUserSignInRecord
;
import
com.wwdz.ch.db.dao.qiandao.
*
;
import
com.wwdz.ch.db.d
omain.User
;
import
com.wwdz.ch.db.d
omain.qiandao.QdUser
;
import
com.wwdz.ch.db.domain.qiandao.QdUserSignIn
;
import
com.wwdz.ch.db.domain.qiandao.QdUserSignInTask
;
import
com.wwdz.ch.db.domain.qiandao.SignInTask
;
...
...
@@ -47,6 +47,9 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService {
@Autowired
QdUserSignInService
qdUserSignInService
;
@Autowired
QdUserDao
qdUserDao
;
@Override
public
Result
join
(
QdUserSignInTaskRequestDto
dto
)
{
try
{
...
...
@@ -246,4 +249,47 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService {
}
}
@Override
public
Result
findCharts
(
QdUserSignInTaskRequestDto
dto
)
{
try
{
long
taskId
=
dto
.
getTaskId
();
long
userId
=
dto
.
getUserId
();
QdUser
cUser
=
qdUserDao
.
queryById
(
userId
);
//当前用户总打卡数
long
currentUserTotalDays
=
qdUserSignInDao
.
countTotalRecord
(
userId
,
taskId
);
//当期用户排名
int
currentUserRanking
=
0
;
List
<
QdUserSignInRecord
>
list
=
qdUserSignInDao
.
countGroupByUser
(
taskId
);
List
<
Map
<
String
,
Object
>>
dataList
=
new
ArrayList
<>();
Map
<
String
,
Object
>
chartsListInfo
=
new
HashMap
<>();
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
int
ranking
=
i
+
1
;
QdUser
qdUser
=
qdUserDao
.
queryById
(
list
.
get
(
i
).
getUserId
());
chartsListInfo
.
put
(
"ranking"
,
ranking
);
chartsListInfo
.
put
(
"avatar"
,
qdUser
.
getAvatar
());
chartsListInfo
.
put
(
"userName"
,
qdUser
.
getNickName
());
chartsListInfo
.
put
(
"totalDays"
,
list
.
get
(
i
).
getTotalDays
());
if
(
userId
==
list
.
get
(
i
).
getUserId
())
{
currentUserRanking
=
ranking
;
}
dataList
.
add
(
chartsListInfo
);
}
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<>();
resultMap
.
put
(
"currentUserName"
,
cUser
.
getNickName
());
resultMap
.
put
(
"currentAvatar"
,
cUser
.
getAvatar
());
resultMap
.
put
(
"currentAvatar"
,
cUser
.
getAvatar
());
if
(
currentUserRanking
==
0
)
{
resultMap
.
put
(
"currentUserRanking"
,
"未上榜"
);
}
else
{
resultMap
.
put
(
"currentUserRanking"
,
currentUserRanking
);
}
resultMap
.
put
(
"currentUserTotalDays"
,
currentUserTotalDays
);
resultMap
.
put
(
"list"
,
dataList
);
return
Result
.
success
(
resultMap
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"查询打卡排行榜失败 error :{}"
,
e
);
}
return
Result
.
failed
();
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/qiandao/QdUserSignInTaskService.java
View file @
0da4f991
...
...
@@ -39,4 +39,10 @@ public interface QdUserSignInTaskService {
* 检测过期任务
*/
void
checkInvalidTask
();
/**
* 打卡排行榜
* @return
*/
Result
findCharts
(
QdUserSignInTaskRequestDto
dto
);
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/qiandao/QdUserSignInTaskController.java
View file @
0da4f991
...
...
@@ -85,4 +85,21 @@ public class QdUserSignInTaskController {
}
return
qdUserSignInTaskService
.
findTaskList
(
dto
);
}
@ApiOperation
(
value
=
"打卡排行榜"
)
@PostMapping
(
"/findCharts"
)
public
Result
findCharts
(
@RequestBody
QdUserSignInTaskRequestDto
dto
)
{
logger
.
info
(
"【请求开始】打卡排行榜,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
Validator
validator
=
new
Validator
(
FormHandler
.
ofEntity
(
dto
));
validator
.
set
(
"userId"
,
"用户id"
).
must
().
number
()
.
set
(
"taskId"
,
"任务id"
).
must
().
number
()
.
end
();
if
(!
validator
.
isValid
())
{
return
Result
.
failed
(
ResultCode
.
PARAM_ERROR
);
}
return
qdUserSignInTaskService
.
findCharts
(
dto
);
}
}
ch-wx-api/src/test/java/com/wwdz/ch/wx/api/WxPayServiceTest.java
View file @
0da4f991
...
...
@@ -89,12 +89,12 @@ public class WxPayServiceTest {
@Test
public
void
refund
()
{
List
<
String
>
list
=
Arrays
.
asList
(
"
DA2501081948572456638
"
);
List
<
String
>
list
=
Arrays
.
asList
(
"
GM2411101240401270325
"
);
list
.
forEach
(
orderId
->{
DistributionOrderRequestDto
dto
=
new
DistributionOrderRequestDto
();
dto
.
setDistributionOrderId
(
orderId
);
dto
.
setAmount
(
"
128
"
);
dto
.
setRefundPrice
(
"
128
"
);
dto
.
setAmount
(
"
300
"
);
dto
.
setRefundPrice
(
"
300
"
);
Result
result
=
wxPayServiceApi
.
refund
(
dto
);
logger
.
info
(
"申请微信支付退款:{}"
,
result
);
});
...
...
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