Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
safe-campus-bbs
Project overview
Project overview
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
万成波
safe-campus-bbs
Commits
66e41680
Commit
66e41680
authored
Sep 01, 2025
by
万成波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
积分模块
parent
84996912
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
40 additions
and
33 deletions
+40
-33
safe-campus-points/src/main/java/com/tangguo/domain/dto/PointsDetail.java
...ts/src/main/java/com/tangguo/domain/dto/PointsDetail.java
+11
-1
safe-campus-points/src/main/java/com/tangguo/service/IBbsUserPointsService.java
.../main/java/com/tangguo/service/IBbsUserPointsService.java
+3
-7
safe-campus-points/src/main/java/com/tangguo/service/impl/BbsUserPointsExchangeServiceImpl.java
...angguo/service/impl/BbsUserPointsExchangeServiceImpl.java
+5
-3
safe-campus-points/src/main/java/com/tangguo/service/impl/BbsUserPointsServiceImpl.java
...va/com/tangguo/service/impl/BbsUserPointsServiceImpl.java
+21
-22
No files found.
safe-campus-points/src/main/java/com/tangguo/domain/dto/PointsDetail
DTO
.java
→
safe-campus-points/src/main/java/com/tangguo/domain/dto/PointsDetail.java
View file @
66e41680
...
...
@@ -9,7 +9,17 @@ import lombok.Data;
* @createTime 2025-08-29 17:23:29 星期五
*/
@Data
public
class
PointsDetailDTO
{
public
class
PointsDetail
{
/**
* 用户名
*/
private
String
userName
;
/**
* 积分
*/
private
int
points
;
/**
* 明细名称
...
...
safe-campus-points/src/main/java/com/tangguo/service/IBbsUserPointsService.java
View file @
66e41680
...
...
@@ -2,7 +2,7 @@ package com.tangguo.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.tangguo.domain.BbsUserPoints
;
import
com.tangguo.domain.dto.PointsDetail
DTO
;
import
com.tangguo.domain.dto.PointsDetail
;
import
java.util.List
;
...
...
@@ -51,20 +51,16 @@ public interface IBbsUserPointsService extends IService<BbsUserPoints> {
/**
* 增加用户积分
*
* @param userName 用户名
* @param points 积分
* @param detail 积分明细
*/
void
incrUserPoints
(
String
userName
,
int
points
,
PointsDetailDTO
detail
);
void
incrUserPoints
(
PointsDetail
detail
);
/**
* 扣减用户积分
*
* @param userName 用户名
* @param points 积分
* @param detail 积分明细
*/
void
decrUserPoints
(
String
userName
,
int
points
,
PointsDetailDTO
detail
);
void
decrUserPoints
(
PointsDetail
detail
);
}
safe-campus-points/src/main/java/com/tangguo/service/impl/BbsUserPointsExchangeServiceImpl.java
View file @
66e41680
...
...
@@ -5,7 +5,7 @@ import com.tangguo.common.exception.ServiceException;
import
com.tangguo.domain.BbsPointsGoods
;
import
com.tangguo.domain.BbsUserPoints
;
import
com.tangguo.domain.BbsUserPointsExchange
;
import
com.tangguo.domain.dto.PointsDetail
DTO
;
import
com.tangguo.domain.dto.PointsDetail
;
import
com.tangguo.mapper.BbsUserPointsExchangeMapper
;
import
com.tangguo.service.IBbsPointsGoodsService
;
import
com.tangguo.service.IBbsUserPointsExchangeService
;
...
...
@@ -85,11 +85,13 @@ public class BbsUserPointsExchangeServiceImpl extends ServiceImpl<BbsUserPointsE
this
.
pointsGoodsService
.
incrGoodsSales
(
goodsId
,
1
);
// 扣减用户积分
PointsDetailDTO
detail
=
new
PointsDetailDTO
();
PointsDetail
detail
=
new
PointsDetail
();
detail
.
setUserName
(
userName
);
detail
.
setPoints
(
exchangePoints
);
detail
.
setDetailName
(
dbGoods
.
getName
());
detail
.
setDetailCode
(
dbGoods
.
getCode
());
detail
.
setDescription
(
String
.
format
(
"用户【%s】兑换积分商品【%s-%s】"
,
userName
,
dbGoods
.
getName
(),
dbGoods
.
getCode
()));
this
.
userPointsService
.
decrUserPoints
(
userName
,
exchangePoints
,
detail
);
this
.
userPointsService
.
decrUserPoints
(
detail
);
// 添加兑换记录
BbsUserPointsExchange
addExchange
=
new
BbsUserPointsExchange
();
...
...
safe-campus-points/src/main/java/com/tangguo/service/impl/BbsUserPointsServiceImpl.java
View file @
66e41680
...
...
@@ -6,12 +6,11 @@ import com.tangguo.common.exception.ServiceException;
import
com.tangguo.common.utils.SecurityUtils
;
import
com.tangguo.domain.BbsUserPoints
;
import
com.tangguo.domain.BbsUserPointsDetail
;
import
com.tangguo.domain.dto.PointsDetail
DTO
;
import
com.tangguo.domain.dto.PointsDetail
;
import
com.tangguo.mapper.BbsUserPointsMapper
;
import
com.tangguo.service.IBbsUserPointsDetailService
;
import
com.tangguo.service.IBbsUserPointsService
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.TransactionManager
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -82,10 +81,12 @@ public class BbsUserPointsServiceImpl extends ServiceImpl<BbsUserPointsMapper, B
@Override
public
void
addUserPoints
(
BbsUserPoints
points
)
{
String
userName
=
points
.
getUserName
();
PointsDetailDTO
detail
=
new
PointsDetailDTO
();
PointsDetail
detail
=
new
PointsDetail
();
detail
.
setUserName
(
userName
);
detail
.
setPoints
(
points
.
getIncrOrDecrPoints
());
detail
.
setDetailName
(
"后台手动增加"
);
detail
.
setDescription
(
String
.
format
(
"管理员【%s】后台手动增加用户【%s】积分"
,
SecurityUtils
.
getUsername
(),
userName
));
this
.
incrUserPoints
(
userName
,
points
.
getIncrOrDecrPoints
(),
detail
);
this
.
incrUserPoints
(
detail
);
}
...
...
@@ -98,24 +99,24 @@ public class BbsUserPointsServiceImpl extends ServiceImpl<BbsUserPointsMapper, B
@Override
public
void
deleteUserPoints
(
BbsUserPoints
points
)
{
String
userName
=
points
.
getUserName
();
PointsDetailDTO
detail
=
new
PointsDetailDTO
();
PointsDetail
detail
=
new
PointsDetail
();
detail
.
setUserName
(
userName
);
detail
.
setPoints
(
points
.
getIncrOrDecrPoints
());
detail
.
setDetailName
(
"后台手动扣减"
);
detail
.
setDescription
(
String
.
format
(
"管理员【%s】后台手动扣减用户【%s】积分"
,
SecurityUtils
.
getUsername
(),
userName
));
this
.
decrUserPoints
(
userName
,
points
.
getIncrOrDecrPoints
(),
detail
);
this
.
decrUserPoints
(
detail
);
}
/**
* 增加用户积分
*
* @param userName 用户名
* @param points 积分
* @param detail 积分明细
*/
@Override
public
void
incrUserPoints
(
String
userName
,
int
points
,
PointsDetailDTO
detail
)
{
synchronized
(
userName
.
intern
())
{
this
.
userPointsServiceImpl
.
execIncrUserPoints
(
userName
,
points
,
detail
);
public
void
incrUserPoints
(
PointsDetail
detail
)
{
synchronized
(
detail
.
getUserName
()
.
intern
())
{
this
.
userPointsServiceImpl
.
privIncrUserPoints
(
detail
);
}
}
...
...
@@ -123,14 +124,12 @@ public class BbsUserPointsServiceImpl extends ServiceImpl<BbsUserPointsMapper, B
/**
* 扣减用户积分
*
* @param userName 用户名
* @param points 积分
* @param detail 积分明细
*/
@Override
public
void
decrUserPoints
(
String
userName
,
int
points
,
PointsDetailDTO
detail
)
{
synchronized
(
userName
.
intern
())
{
this
.
userPointsServiceImpl
.
execDecrUserPoints
(
userName
,
points
,
detail
);
public
void
decrUserPoints
(
PointsDetail
detail
)
{
synchronized
(
detail
.
getUserName
()
.
intern
())
{
this
.
userPointsServiceImpl
.
privDecrUserPoints
(
detail
);
}
}
...
...
@@ -138,17 +137,17 @@ public class BbsUserPointsServiceImpl extends ServiceImpl<BbsUserPointsMapper, B
/**
* 增加用户积分
*
* @param userName 用户名
* @param points 积分
* @param detail 积分明细
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
execIncrUserPoints
(
String
userName
,
int
points
,
PointsDetailDTO
detail
)
{
public
void
privIncrUserPoints
(
PointsDetail
detail
)
{
int
points
=
detail
.
getPoints
();
if
(
points
<
1
)
{
throw
new
ServiceException
(
"增加用户积分失败,增加的积分分值不能小于0。"
);
}
// 更新用户积分
String
userName
=
detail
.
getUserName
();
BbsUserPoints
userPoints
=
this
.
userPointsServiceImpl
.
getUserPoints
(
userName
);
Integer
currentPoints
=
userPoints
.
getCurrentPoints
();
int
incrCurrentPoints
=
currentPoints
+
points
;
...
...
@@ -172,17 +171,17 @@ public class BbsUserPointsServiceImpl extends ServiceImpl<BbsUserPointsMapper, B
/**
* 扣减用户积分
*
* @param userName 用户名
* @param points 积分
* @param detail 积分明细
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
execDecrUserPoints
(
String
userName
,
int
points
,
PointsDetailDTO
detail
)
{
public
void
privDecrUserPoints
(
PointsDetail
detail
)
{
int
points
=
detail
.
getPoints
();
if
(
points
<
1
)
{
throw
new
ServiceException
(
"扣减用户积分失败,扣减的积分分值不能小于0。"
);
}
// 更新用户积分
String
userName
=
detail
.
getUserName
();
BbsUserPoints
userPoints
=
this
.
userPointsServiceImpl
.
getUserPoints
(
userName
);
Integer
currentPoints
=
userPoints
.
getCurrentPoints
();
if
(
points
>
currentPoints
)
{
...
...
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