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
dad21b04
Commit
dad21b04
authored
Aug 29, 2025
by
yuwenwen
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.tangguo.ren/2300064869/safe-campus-bbs
parents
79efdbbc
f1d981da
Changes
31
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
1180 additions
and
42 deletions
+1180
-42
safe-campus-admin/src/main/resources/application.yml
safe-campus-admin/src/main/resources/application.yml
+1
-1
safe-campus-common/pom.xml
safe-campus-common/pom.xml
+6
-0
safe-campus-common/src/main/java/com/tangguo/common/core/redis/RedisCache.java
...c/main/java/com/tangguo/common/core/redis/RedisCache.java
+0
-1
safe-campus-moment/src/main/java/com/tangguo/controller/BbsMomentCommentController.java
...va/com/tangguo/controller/BbsMomentCommentController.java
+73
-0
safe-campus-moment/src/main/java/com/tangguo/controller/BbsPointsGoodsController.java
...java/com/tangguo/controller/BbsPointsGoodsController.java
+95
-0
safe-campus-moment/src/main/java/com/tangguo/domain/BbsMomentComment.java
...nt/src/main/java/com/tangguo/domain/BbsMomentComment.java
+105
-0
safe-campus-moment/src/main/java/com/tangguo/domain/BbsPointsGoods.java
...ment/src/main/java/com/tangguo/domain/BbsPointsGoods.java
+77
-0
safe-campus-moment/src/main/java/com/tangguo/enums/CommentStatus.java
...moment/src/main/java/com/tangguo/enums/CommentStatus.java
+22
-0
safe-campus-moment/src/main/java/com/tangguo/enums/ShowStatus.java
...us-moment/src/main/java/com/tangguo/enums/ShowStatus.java
+22
-0
safe-campus-moment/src/main/java/com/tangguo/enums/TopicTopStatus.java
...oment/src/main/java/com/tangguo/enums/TopicTopStatus.java
+4
-4
safe-campus-moment/src/main/java/com/tangguo/mapper/BbsMomentCommentMapper.java
.../main/java/com/tangguo/mapper/BbsMomentCommentMapper.java
+23
-0
safe-campus-moment/src/main/java/com/tangguo/mapper/BbsPointsGoodsMapper.java
...rc/main/java/com/tangguo/mapper/BbsPointsGoodsMapper.java
+13
-0
safe-campus-moment/src/main/java/com/tangguo/service/IBbsMomentCommentService.java
...in/java/com/tangguo/service/IBbsMomentCommentService.java
+40
-0
safe-campus-moment/src/main/java/com/tangguo/service/IBbsPointsGoodsService.java
...main/java/com/tangguo/service/IBbsPointsGoodsService.java
+47
-0
safe-campus-moment/src/main/java/com/tangguo/service/impl/BbsGradeServiceImpl.java
...in/java/com/tangguo/service/impl/BbsGradeServiceImpl.java
+0
-1
safe-campus-moment/src/main/java/com/tangguo/service/impl/BbsMomentCommentServiceImpl.java
...com/tangguo/service/impl/BbsMomentCommentServiceImpl.java
+79
-0
safe-campus-moment/src/main/java/com/tangguo/service/impl/BbsPointsGoodsServiceImpl.java
...a/com/tangguo/service/impl/BbsPointsGoodsServiceImpl.java
+123
-0
safe-campus-moment/src/main/java/com/tangguo/service/impl/BbsSensitiveWordServiceImpl.java
...com/tangguo/service/impl/BbsSensitiveWordServiceImpl.java
+0
-2
safe-campus-moment/src/main/java/com/tangguo/service/impl/BbsTopicServiceImpl.java
...in/java/com/tangguo/service/impl/BbsTopicServiceImpl.java
+4
-5
safe-campus-moment/src/main/resources/mapper/BbsGradeMapper.xml
...ampus-moment/src/main/resources/mapper/BbsGradeMapper.xml
+9
-0
safe-campus-moment/src/main/resources/mapper/BbsMomentCommentMapper.xml
...ment/src/main/resources/mapper/BbsMomentCommentMapper.xml
+41
-0
safe-campus-moment/src/main/resources/mapper/BbsPointsGoodsMapper.xml
...moment/src/main/resources/mapper/BbsPointsGoodsMapper.xml
+9
-0
safe-campus-moment/src/main/resources/mapper/BbsSensitiveWordMapper.xml
...ment/src/main/resources/mapper/BbsSensitiveWordMapper.xml
+0
-12
safe-campus-moment/src/main/resources/mapper/BbsTopicMapper.xml
...ampus-moment/src/main/resources/mapper/BbsTopicMapper.xml
+0
-16
safe-campus-points/src/main/java/com/tangguo/controller/BbsPointsGoodsController.java
...java/com/tangguo/controller/BbsPointsGoodsController.java
+95
-0
safe-campus-points/src/main/java/com/tangguo/domain/BbsPointsGoods.java
...ints/src/main/java/com/tangguo/domain/BbsPointsGoods.java
+77
-0
safe-campus-points/src/main/java/com/tangguo/enums/GoodsShowStatus.java
...ints/src/main/java/com/tangguo/enums/GoodsShowStatus.java
+22
-0
safe-campus-points/src/main/java/com/tangguo/mapper/BbsPointsGoodsMapper.java
...rc/main/java/com/tangguo/mapper/BbsPointsGoodsMapper.java
+13
-0
safe-campus-points/src/main/java/com/tangguo/service/IBbsPointsGoodsService.java
...main/java/com/tangguo/service/IBbsPointsGoodsService.java
+48
-0
safe-campus-points/src/main/java/com/tangguo/service/impl/BbsPointsGoodsServiceImpl.java
...a/com/tangguo/service/impl/BbsPointsGoodsServiceImpl.java
+123
-0
safe-campus-points/src/main/resources/mapper/BbsPointsGoodsMapper.xml
...points/src/main/resources/mapper/BbsPointsGoodsMapper.xml
+9
-0
No files found.
safe-campus-admin/src/main/resources/application.yml
View file @
dad21b04
...
...
@@ -74,7 +74,7 @@ token:
mybatis-plus
:
# 不支持多包, 如有需要可在注解配置 或 提升扫包等级
# 例如 com.**.**.mapper
mapperPackage
:
com.
**
.**.mapper
mapperPackage
:
com.
tangguo
.**.mapper
# 对应的 XML 文件位置
mapper-locations
:
classpath*:mapper/**/*Mapper.xml
# 实体扫描,多个package用逗号或者分号分隔
...
...
safe-campus-common/pom.xml
View file @
dad21b04
...
...
@@ -175,6 +175,12 @@
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
</dependency>
<dependency>
<groupId>
com.github.binarywang
</groupId>
<artifactId>
weixin-java-cp
</artifactId>
<version>
4.7.0
</version>
</dependency>
</dependencies>
</project>
safe-campus-common/src/main/java/com/tangguo/common/core/redis/RedisCache.java
View file @
dad21b04
package
com
.
tangguo
.
common
.
core
.
redis
;
import
org.apache.poi.ss.formula.functions.T
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.BoundSetOperations
;
import
org.springframework.data.redis.core.HashOperations
;
...
...
safe-campus-moment/src/main/java/com/tangguo/controller/BbsMomentCommentController.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
controller
;
import
java.util.List
;
import
javax.annotation.Resource
;
import
com.tangguo.domain.BbsMomentComment
;
import
com.tangguo.service.IBbsMomentCommentService
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
com.tangguo.common.annotation.Log
;
import
com.tangguo.common.core.controller.BaseController
;
import
com.tangguo.common.core.domain.AjaxResult
;
import
com.tangguo.common.enums.BusinessType
;
import
com.tangguo.common.core.page.TableDataInfo
;
/**
* 动态评论记录Controller
*
* @author ruoyi
* @date 2025-08-28
*/
@Api
(
tags
=
"动态评论记录管理"
)
@RestController
@RequestMapping
(
"/comment/comment"
)
public
class
BbsMomentCommentController
extends
BaseController
{
@Resource
private
IBbsMomentCommentService
bbsMomentCommentService
;
/**
* 查询动态评论记录列表
*/
@ApiOperation
(
"查询动态评论记录列表"
)
@PreAuthorize
(
"@ss.hasPermi('comment:comment:list')"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
BbsMomentComment
comment
)
{
startPage
();
List
<
BbsMomentComment
>
list
=
bbsMomentCommentService
.
selectBbsMomentCommentList
(
comment
);
return
getDataTable
(
list
);
}
/**
* 获取动态评论记录详细信息
*/
@ApiOperation
(
"获取动态评论记录详细信息"
)
@PreAuthorize
(
"@ss.hasPermi('comment:comment:query')"
)
@GetMapping
(
value
=
"/{id}"
)
public
AjaxResult
getInfo
(
@PathVariable
(
"id"
)
Long
id
)
{
return
success
(
bbsMomentCommentService
.
getById
(
id
));
}
/**
* 删除动态评论记录
*/
@ApiOperation
(
"删除动态评论记录"
)
@PreAuthorize
(
"@ss.hasPermi('comment:comment:remove')"
)
@Log
(
title
=
"动态评论记录"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{id}"
)
public
AjaxResult
remove
(
@PathVariable
Long
id
)
{
this
.
bbsMomentCommentService
.
deleteComment
(
id
);
return
AjaxResult
.
success
();
}
}
safe-campus-moment/src/main/java/com/tangguo/controller/BbsPointsGoodsController.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
controller
;
import
com.tangguo.common.annotation.Log
;
import
com.tangguo.common.core.controller.BaseController
;
import
com.tangguo.common.core.domain.AjaxResult
;
import
com.tangguo.common.core.page.TableDataInfo
;
import
com.tangguo.common.enums.BusinessType
;
import
com.tangguo.domain.BbsPointsGoods
;
import
com.tangguo.service.IBbsPointsGoodsService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* 积分商品Controller
*
* @author ruoyi
* @date 2025-08-28
*/
@Api
(
tags
=
"积分商品管理"
)
@RestController
@RequestMapping
(
"/bbs/moment/goods"
)
public
class
BbsPointsGoodsController
extends
BaseController
{
@Resource
private
IBbsPointsGoodsService
bbsPointsGoodsService
;
/**
* 查询积分商品列表
*/
@ApiOperation
(
"查询积分商品列表"
)
@PreAuthorize
(
"@ss.hasPermi('goods:goods:list')"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
BbsPointsGoods
bbsPointsGoods
)
{
startPage
();
List
<
BbsPointsGoods
>
list
=
bbsPointsGoodsService
.
selectBbsPointsGoodsList
(
bbsPointsGoods
);
return
getDataTable
(
list
);
}
/**
* 获取积分商品详细信息
*/
@ApiOperation
(
"获取积分商品详细信息"
)
@PreAuthorize
(
"@ss.hasPermi('goods:goods:query')"
)
@GetMapping
(
value
=
"/{id}"
)
public
AjaxResult
getInfo
(
@PathVariable
(
"id"
)
Long
id
)
{
return
success
(
bbsPointsGoodsService
.
getById
(
id
));
}
/**
* 新增积分商品
*/
@ApiOperation
(
"新增积分商品"
)
@PreAuthorize
(
"@ss.hasPermi('goods:goods:add')"
)
@Log
(
title
=
"积分商品"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
public
AjaxResult
add
(
@RequestBody
BbsPointsGoods
goods
)
{
this
.
bbsPointsGoodsService
.
addGoods
(
goods
);
return
AjaxResult
.
success
();
}
/**
* 修改积分商品
*/
@ApiOperation
(
"修改积分商品"
)
@PreAuthorize
(
"@ss.hasPermi('goods:goods:edit')"
)
@Log
(
title
=
"积分商品"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
public
AjaxResult
edit
(
@RequestBody
BbsPointsGoods
goods
)
{
this
.
bbsPointsGoodsService
.
editGoods
(
goods
);
return
AjaxResult
.
success
();
}
/**
* 删除积分商品
*/
@ApiOperation
(
"删除积分商品"
)
@PreAuthorize
(
"@ss.hasPermi('goods:goods:remove')"
)
@Log
(
title
=
"积分商品"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{id}"
)
public
AjaxResult
remove
(
@PathVariable
Long
id
)
{
this
.
bbsPointsGoodsService
.
deleteGoods
(
id
);
return
AjaxResult
.
success
();
}
}
safe-campus-moment/src/main/java/com/tangguo/domain/BbsMomentComment.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
domain
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.tangguo.common.core.domain.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.ToString
;
import
lombok.experimental.Accessors
;
import
com.tangguo.common.annotation.Excel
;
import
java.util.List
;
/**
* 动态评论记录对象 bbs_moment_comment
*
* @author ruoyi
* @date 2025-08-28
*/
@Data
@ToString
@NoArgsConstructor
@Accessors
(
chain
=
true
)
@TableName
(
"bbs_moment_comment"
)
@ApiModel
(
value
=
"BbsMomentComment"
,
description
=
"动态评论记录实体"
)
public
class
BbsMomentComment
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/** ID */
@TableId
(
type
=
IdType
.
AUTO
)
@ApiModelProperty
(
"ID"
)
private
Long
id
;
/** 轻享内容ID */
@Excel
(
name
=
"轻享内容ID"
)
@ApiModelProperty
(
"轻享内容ID"
)
private
Long
momentId
;
/** 评论用户姓名 */
@Excel
(
name
=
"评论用户姓名"
)
@ApiModelProperty
(
"评论用户姓名"
)
private
String
nikeName
;
/** 评论用户名 */
@Excel
(
name
=
"评论用户名"
)
@ApiModelProperty
(
"评论用户名"
)
private
String
userName
;
/** 评论内容 */
@Excel
(
name
=
"评论内容"
)
@ApiModelProperty
(
"评论内容"
)
private
String
content
;
/** 评论图片地址(1-3张) */
@Excel
(
name
=
"评论图片地址"
,
readConverterExp
=
"1=-3张"
)
@ApiModelProperty
(
"评论图片地址(1-3张)"
)
private
String
imgsUrl
;
/** 评论状态:0 删除、1 正常、2 隐藏 */
@Excel
(
name
=
"评论状态:0 删除、1 正常、2 隐藏"
)
@ApiModelProperty
(
"评论状态:0 删除、1 正常、2 隐藏"
)
private
Integer
status
;
/** 评论是否精选:0 否、1 是 */
@Excel
(
name
=
"评论是否精选:0 否、1 是"
)
@ApiModelProperty
(
"评论是否精选:0 否、1 是"
)
private
Integer
isFeatured
;
/** 父级评论ID(为空为评论,否则为回复。) */
@Excel
(
name
=
"父级评论ID"
,
readConverterExp
=
"为=空为评论,否则为回复。"
)
@ApiModelProperty
(
"父级评论ID(为空为评论,否则为回复。)"
)
private
Long
parentId
;
/** 回复的用户姓名 */
@Excel
(
name
=
"回复的用户姓名"
)
@ApiModelProperty
(
"回复的用户姓名"
)
private
String
replyNikeName
;
/** 评论祖级路径(逗号分隔) */
@Excel
(
name
=
"评论祖级路径"
,
readConverterExp
=
"逗=号分隔"
)
@ApiModelProperty
(
"评论祖级路径(逗号分隔)"
)
private
String
ancestorPath
;
/** 删除评论内容 */
@Excel
(
name
=
"删除评论内容"
)
@ApiModelProperty
(
"删除评论内容"
)
private
String
deleteContent
;
/**
* 动态内容
*/
@TableField
(
exist
=
false
)
private
String
momentContent
;
/**
* 子评论和回复
*/
@TableField
(
exist
=
false
)
private
List
<
BbsMomentComment
>
comments
;
}
safe-campus-moment/src/main/java/com/tangguo/domain/BbsPointsGoods.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
domain
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.tangguo.common.annotation.Excel
;
import
com.tangguo.common.core.domain.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.ToString
;
import
lombok.experimental.Accessors
;
import
java.math.BigDecimal
;
/**
* 积分商品对象 bbs_points_goods
*
* @author ruoyi
* @date 2025-08-28
*/
@Data
@ToString
@NoArgsConstructor
@Accessors
(
chain
=
true
)
@TableName
(
"bbs_points_goods"
)
@ApiModel
(
value
=
"BbsPointsGoods"
,
description
=
"积分商品实体"
)
public
class
BbsPointsGoods
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/** ID */
@TableId
(
type
=
IdType
.
AUTO
)
@ApiModelProperty
(
"ID"
)
private
Long
id
;
/** 商品名称 */
@Excel
(
name
=
"商品名称"
)
@ApiModelProperty
(
"商品名称"
)
private
String
name
;
/** 商品编码 */
@Excel
(
name
=
"商品编码"
)
@ApiModelProperty
(
"商品编码"
)
private
String
code
;
/** 商品图片地址 */
@Excel
(
name
=
"商品图片地址"
)
@ApiModelProperty
(
"商品图片地址"
)
private
String
imgsUrl
;
/** 销售价格 */
@Excel
(
name
=
"销售价格"
)
@ApiModelProperty
(
"销售价格"
)
private
BigDecimal
salesPrice
;
/** 兑换积分 */
@Excel
(
name
=
"兑换积分"
)
@ApiModelProperty
(
"兑换积分"
)
private
Integer
exchangePoints
;
/** 库存数量 */
@Excel
(
name
=
"库存数量"
)
@ApiModelProperty
(
"库存数量"
)
private
Integer
stockNum
;
/** 已兑数量 */
@Excel
(
name
=
"已兑数量"
)
@ApiModelProperty
(
"已兑数量"
)
private
Integer
salesNum
;
/** 上架状态:0 下架、1 上架 */
@Excel
(
name
=
"上架状态:0 下架、1 上架"
)
@ApiModelProperty
(
"上架状态:0 下架、1 上架"
)
private
Integer
showStatus
;
}
safe-campus-moment/src/main/java/com/tangguo/enums/CommentStatus.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* 动态评论状态
*
* @author 谈笑
* @createTime 2025-08-29 10:29:27 星期五
*/
@Getter
@AllArgsConstructor
public
enum
CommentStatus
{
SC
(
0
,
"删除"
),
ZC
(
1
,
"正常"
),
YC
(
2
,
"隐藏"
);
private
final
int
status
;
private
final
String
desc
;
}
safe-campus-moment/src/main/java/com/tangguo/enums/ShowStatus.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* 商品上下架状态
*
* @author 谈笑
* @createTime 2025-08-28 16:32:15 星期四
*/
@Getter
@AllArgsConstructor
public
enum
ShowStatus
{
SJ
(
1
,
"上架"
),
XJ
(
0
,
"下架"
);
private
final
int
status
;
private
final
String
desc
;
}
safe-campus-moment/src/main/java/com/tangguo/enums/
IsTop
.java
→
safe-campus-moment/src/main/java/com/tangguo/enums/
TopicTopStatus
.java
View file @
dad21b04
...
...
@@ -4,18 +4,18 @@ import lombok.AllArgsConstructor;
import
lombok.Getter
;
/**
*
是否置顶
*
话题置顶状态
*
* @author 谈笑
* @createTime 2025-08-27 16:27:34 星期三
*/
@Getter
@AllArgsConstructor
public
enum
IsTop
{
public
enum
TopicTopStatus
{
TOP
(
1
,
"置顶"
),
NOT_TOP
(
0
,
"不置顶"
);
ZD
(
1
,
"置顶"
),
BZD
(
0
,
"不置顶"
);
private
final
int
isTop
;
private
final
int
value
;
private
final
String
desc
;
...
...
safe-campus-moment/src/main/java/com/tangguo/mapper/BbsMomentCommentMapper.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.tangguo.domain.BbsMomentComment
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 动态评论记录Mapper接口
*
* @author ruoyi
* @date 2025-08-28
*/
public
interface
BbsMomentCommentMapper
extends
BaseMapper
<
BbsMomentComment
>
{
List
<
BbsMomentComment
>
selectBbsMomentCommentList
(
@Param
(
"comment"
)
BbsMomentComment
comment
);
List
<
BbsMomentComment
>
selectBbsMomentComments
(
@Param
(
"commentId"
)
Long
commentId
);
}
safe-campus-moment/src/main/java/com/tangguo/mapper/BbsPointsGoodsMapper.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.tangguo.domain.BbsPointsGoods
;
/**
* 积分商品Mapper接口
*
* @author ruoyi
* @date 2025-08-28
*/
public
interface
BbsPointsGoodsMapper
extends
BaseMapper
<
BbsPointsGoods
>
{
}
safe-campus-moment/src/main/java/com/tangguo/service/IBbsMomentCommentService.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
service
;
import
java.util.List
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.tangguo.domain.BbsMomentComment
;
/**
* 动态评论记录Service接口
*
* @author ruoyi
* @date 2025-08-28
*/
public
interface
IBbsMomentCommentService
extends
IService
<
BbsMomentComment
>
{
/**
* 查询动态评论记录列表
*
* @param comment 动态评论记录
* @return 动态评论记录集合
*/
List
<
BbsMomentComment
>
selectBbsMomentCommentList
(
BbsMomentComment
comment
);
/**
* 查询动态评论记录详情
*
* @param commentId 动态评论记录Id
* @return 动态评论记录详情
*/
BbsMomentComment
getBbsMomentComment
(
Long
commentId
);
/**
* 删除评论
*
* @param commentId 评论Id
*/
void
deleteComment
(
Long
commentId
);
}
safe-campus-moment/src/main/java/com/tangguo/service/IBbsPointsGoodsService.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
service
;
import
java.util.List
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.tangguo.domain.BbsPointsGoods
;
/**
* 积分商品Service接口
*
* @author ruoyi
* @date 2025-08-28
*/
public
interface
IBbsPointsGoodsService
extends
IService
<
BbsPointsGoods
>
{
/**
* 查询积分商品列表
*
* @param bbsPointsGoods 积分商品
* @return 积分商品集合
*/
List
<
BbsPointsGoods
>
selectBbsPointsGoodsList
(
BbsPointsGoods
bbsPointsGoods
);
/**
* 添加积分商品
*
* @param goods 积分商品
*/
void
addGoods
(
BbsPointsGoods
goods
);
/**
* 修改积分商品
*
* @param goods 积分商品
*/
void
editGoods
(
BbsPointsGoods
goods
);
/**
* 删除积分商品
*
* @param goodsId 积分商品Id
*/
void
deleteGoods
(
Long
goodsId
);
}
safe-campus-moment/src/main/java/com/tangguo/service/impl/BbsGradeServiceImpl.java
View file @
dad21b04
...
...
@@ -11,7 +11,6 @@ import com.tangguo.mapper.BbsGradeMapper;
import
com.tangguo.service.IBbsGradeService
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Generated
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.Objects
;
...
...
safe-campus-moment/src/main/java/com/tangguo/service/impl/BbsMomentCommentServiceImpl.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.tangguo.common.exception.ServiceException
;
import
com.tangguo.domain.BbsMomentComment
;
import
com.tangguo.enums.CommentStatus
;
import
com.tangguo.mapper.BbsMomentCommentMapper
;
import
com.tangguo.service.IBbsMomentCommentService
;
import
org.springframework.security.core.parameters.P
;
import
org.springframework.stereotype.Service
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Objects
;
import
javax.annotation.Resource
;
/**
* 动态评论记录Service业务层处理
*
* @author ruoyi
* @date 2025-08-28
*/
@Service
public
class
BbsMomentCommentServiceImpl
extends
ServiceImpl
<
BbsMomentCommentMapper
,
BbsMomentComment
>
implements
IBbsMomentCommentService
{
@Resource
private
BbsMomentCommentMapper
bbsMomentCommentMapper
;
/**
* 查询动态评论记录列表
*
* @param comment 动态评论记录
* @return 动态评论记录
*/
@Override
public
List
<
BbsMomentComment
>
selectBbsMomentCommentList
(
BbsMomentComment
comment
)
{
return
this
.
baseMapper
.
selectBbsMomentCommentList
(
comment
);
}
/**
* 查询动态评论记录详情
*
* @param commentId 动态评论记录Id
* @return 动态评论记录详情
*/
@Override
public
BbsMomentComment
getBbsMomentComment
(
Long
commentId
)
{
BbsMomentComment
dbComment
=
this
.
getById
(
commentId
);
if
(
Objects
.
nonNull
(
dbComment
))
{
List
<
BbsMomentComment
>
comments
=
this
.
baseMapper
.
selectBbsMomentComments
(
commentId
);
dbComment
.
setComments
(
comments
);
}
return
dbComment
;
}
/**
* 删除评论
*
* @param commentId 评论Id
*/
@Override
public
void
deleteComment
(
Long
commentId
)
{
BbsMomentComment
dbComment
=
this
.
getById
(
commentId
);
if
(
Objects
.
isNull
(
dbComment
))
{
throw
new
ServiceException
(
"删除失败,未查询到当前评论数据。"
);
}
BbsMomentComment
updComment
=
new
BbsMomentComment
();
updComment
.
setId
(
dbComment
.
getId
());
updComment
.
setStatus
(
CommentStatus
.
SC
.
getStatus
());
updComment
.
setDeleteContent
(
"该评论已被删除"
);
this
.
updateById
(
updComment
);
}
}
safe-campus-moment/src/main/java/com/tangguo/service/impl/BbsPointsGoodsServiceImpl.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
service
.
impl
;
import
cn.hutool.core.util.IdUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.tangguo.common.exception.ServiceException
;
import
com.tangguo.common.utils.StringUtils
;
import
com.tangguo.domain.BbsPointsGoods
;
import
com.tangguo.mapper.BbsPointsGoodsMapper
;
import
com.tangguo.service.IBbsPointsGoodsService
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.Objects
;
/**
* 积分商品Service业务层处理
*
* @author ruoyi
* @date 2025-08-28
*/
@Service
public
class
BbsPointsGoodsServiceImpl
extends
ServiceImpl
<
BbsPointsGoodsMapper
,
BbsPointsGoods
>
implements
IBbsPointsGoodsService
{
@Resource
private
BbsPointsGoodsMapper
bbsPointsGoodsMapper
;
/**
* 查询积分商品列表
*
* @param goods 积分商品
* @return 积分商品
*/
@Override
public
List
<
BbsPointsGoods
>
selectBbsPointsGoodsList
(
BbsPointsGoods
goods
)
{
LambdaQueryWrapper
<
BbsPointsGoods
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
orderByDesc
(
BbsPointsGoods:
:
getCreateTime
);
lqw
.
like
(
StringUtils
.
isNotBlank
(
goods
.
getName
()),
BbsPointsGoods:
:
getName
,
goods
.
getName
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
goods
.
getCode
()),
BbsPointsGoods:
:
getCode
,
goods
.
getCode
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
goods
.
getImgsUrl
()),
BbsPointsGoods:
:
getImgsUrl
,
goods
.
getImgsUrl
());
lqw
.
eq
(
goods
.
getSalesPrice
()
!=
null
,
BbsPointsGoods:
:
getSalesPrice
,
goods
.
getSalesPrice
());
lqw
.
eq
(
goods
.
getExchangePoints
()
!=
null
,
BbsPointsGoods:
:
getExchangePoints
,
goods
.
getExchangePoints
());
lqw
.
eq
(
goods
.
getStockNum
()
!=
null
,
BbsPointsGoods:
:
getStockNum
,
goods
.
getStockNum
());
lqw
.
eq
(
goods
.
getSalesNum
()
!=
null
,
BbsPointsGoods:
:
getSalesNum
,
goods
.
getSalesNum
());
lqw
.
eq
(
goods
.
getShowStatus
()
!=
null
,
BbsPointsGoods:
:
getShowStatus
,
goods
.
getShowStatus
());
return
bbsPointsGoodsMapper
.
selectList
(
lqw
);
}
/**
* 添加积分商品
*
* @param goods 积分商品
*/
@Override
public
void
addGoods
(
BbsPointsGoods
goods
)
{
long
nameCount
=
this
.
count
(
Wrappers
.
lambdaQuery
(
BbsPointsGoods
.
class
).
eq
(
BbsPointsGoods:
:
getName
,
goods
.
getName
())
);
if
(
nameCount
>
0
)
{
throw
new
ServiceException
(
"添加失败,当前商品名称已存在。"
);
}
BbsPointsGoods
addGoods
=
new
BbsPointsGoods
();
addGoods
.
setName
(
goods
.
getName
());
addGoods
.
setCode
(
IdUtil
.
fastSimpleUUID
());
addGoods
.
setImgsUrl
(
goods
.
getImgsUrl
());
addGoods
.
setSalesPrice
(
goods
.
getSalesPrice
());
addGoods
.
setExchangePoints
(
goods
.
getExchangePoints
());
addGoods
.
setStockNum
(
goods
.
getStockNum
());
addGoods
.
setSalesNum
(
0
);
addGoods
.
setShowStatus
(
goods
.
getShowStatus
());
this
.
save
(
addGoods
);
}
/**
* 修改积分商品
*
* @param goods 积分商品
*/
@Override
public
void
editGoods
(
BbsPointsGoods
goods
)
{
BbsPointsGoods
dbGoods
=
this
.
getById
(
goods
.
getId
());
if
(
Objects
.
isNull
(
dbGoods
))
{
throw
new
ServiceException
(
"修改失败,未查询到当前商品数据。"
);
}
if
(!
dbGoods
.
getName
().
equals
(
goods
.
getName
()))
{
long
nameCount
=
this
.
count
(
Wrappers
.
lambdaQuery
(
BbsPointsGoods
.
class
).
eq
(
BbsPointsGoods:
:
getName
,
goods
.
getName
())
);
if
(
nameCount
>
0
)
{
throw
new
ServiceException
(
"修改失败,当前商品名称已存在。"
);
}
}
BbsPointsGoods
addGoods
=
new
BbsPointsGoods
();
addGoods
.
setId
(
dbGoods
.
getId
());
addGoods
.
setName
(
goods
.
getName
());
addGoods
.
setImgsUrl
(
goods
.
getImgsUrl
());
addGoods
.
setSalesPrice
(
goods
.
getSalesPrice
());
addGoods
.
setExchangePoints
(
goods
.
getExchangePoints
());
addGoods
.
setStockNum
(
goods
.
getStockNum
());
addGoods
.
setShowStatus
(
goods
.
getShowStatus
());
this
.
updateById
(
addGoods
);
}
/**
* 删除积分商品
*
* @param goodsId 积分商品Id
*/
@Override
public
void
deleteGoods
(
Long
goodsId
)
{
this
.
removeById
(
goodsId
);
}
}
safe-campus-moment/src/main/java/com/tangguo/service/impl/BbsSensitiveWordServiceImpl.java
View file @
dad21b04
...
...
@@ -14,13 +14,11 @@ import com.tangguo.mapper.BbsSensitiveWordMapper;
import
com.tangguo.service.IBbsSensitiveWordService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.annotation.PostConstruct
;
import
javax.annotation.Resource
;
import
java.io.*
;
import
java.nio.file.Files
;
import
java.util.*
;
/**
...
...
safe-campus-moment/src/main/java/com/tangguo/service/impl/BbsTopicServiceImpl.java
View file @
dad21b04
...
...
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
com.tangguo.common.exception.ServiceException
;
import
com.tangguo.common.utils.StringUtils
;
import
com.tangguo.domain.BbsTopic
;
import
com.tangguo.enums.
IsTop
;
import
com.tangguo.enums.
TopicTopStatus
;
import
com.tangguo.mapper.BbsTopicMapper
;
import
com.tangguo.service.IBbsTopicService
;
import
org.springframework.stereotype.Service
;
...
...
@@ -15,7 +15,6 @@ import org.springframework.stereotype.Service;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
/**
...
...
@@ -117,11 +116,11 @@ public class BbsTopicServiceImpl extends ServiceImpl<BbsTopicMapper, BbsTopic> i
if
(!
dbTopic
.
getIsTop
().
equals
(
isTop
))
{
LambdaUpdateWrapper
<
BbsTopic
>
wrapper
=
Wrappers
.
lambdaUpdate
(
BbsTopic
.
class
);
wrapper
.
eq
(
BbsTopic:
:
getId
,
dbTopic
.
getId
());
if
(
IsTop
.
TOP
.
getIsTop
()
==
isTop
)
{
wrapper
.
set
(
BbsTopic:
:
getIsTop
,
IsTop
.
TOP
.
getIsTop
());
if
(
TopicTopStatus
.
ZD
.
getValue
()
==
isTop
)
{
wrapper
.
set
(
BbsTopic:
:
getIsTop
,
TopicTopStatus
.
ZD
.
getValue
());
wrapper
.
set
(
BbsTopic:
:
getTopTime
,
new
Date
());
}
else
{
wrapper
.
set
(
BbsTopic:
:
getIsTop
,
IsTop
.
NOT_TOP
.
getIsTop
());
wrapper
.
set
(
BbsTopic:
:
getIsTop
,
TopicTopStatus
.
BZD
.
getValue
());
wrapper
.
set
(
BbsTopic:
:
getTopTime
,
null
);
}
this
.
update
(
wrapper
);
...
...
safe-campus-moment/src/main/resources/mapper/BbsGradeMapper.xml
0 → 100644
View file @
dad21b04
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.tangguo.mapper.BbsGradeMapper"
>
</mapper>
safe-campus-moment/src/main/resources/mapper/BbsMomentCommentMapper.xml
0 → 100644
View file @
dad21b04
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.tangguo.mapper.BbsMomentCommentMapper"
>
<select
id=
"selectBbsMomentCommentList"
resultType=
"com.tangguo.domain.BbsMomentComment"
>
SELECT
m.content AS moment_content,
c.*
FROM
bbs_moment_comment c
LEFT JOIN
bbs_moment m ON m.id = c.moment_id
<where>
<if
test=
"1==1"
>
c.parent_id IS NULL
</if>
<if
test=
"comment.momentContent != null and comment.momentContent != ''"
>
AND m.content LIKE CONCAT('%', #{comment.momentContent}, '%')
</if>
</where>
ORDER BY
c.create_time DESC
</select>
<select
id=
"selectBbsMomentComments"
resultType=
"com.tangguo.domain.BbsMomentComment"
>
SELECT
c1.*
FROM
bbs_moment_comment c1
LEFT JOIN
bbs_moment_comment c2 ON c2.id = c1.parent_id
WHERE
FIND_IN_SET(#{commentId}, c1.ancestor_path)
ORDER BY
c1.create_time
</select>
</mapper>
safe-campus-moment/src/main/resources/mapper/BbsPointsGoodsMapper.xml
0 → 100644
View file @
dad21b04
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.tangguo.mapper.BbsPointsGoodsMapper"
>
</mapper>
safe-campus-moment/src/main/resources/mapper/BbsSensitiveWordMapper.xml
View file @
dad21b04
...
...
@@ -4,17 +4,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.tangguo.mapper.BbsSensitiveWordMapper"
>
<resultMap
type=
"BbsSensitiveWord"
id=
"BbsSensitiveWordResult"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"createBy"
column=
"create_by"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"name"
column=
"name"
/>
<result
property=
"sort"
column=
"sort"
/>
<result
property=
"enableStatus"
column=
"enable_status"
/>
</resultMap>
</mapper>
safe-campus-moment/src/main/resources/mapper/BbsTopicMapper.xml
View file @
dad21b04
...
...
@@ -4,21 +4,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.tangguo.mapper.BbsTopicMapper"
>
<resultMap
type=
"BbsTopic"
id=
"BbsTopicResult"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"createBy"
column=
"create_by"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"name"
column=
"name"
/>
<result
property=
"sort"
column=
"sort"
/>
<result
property=
"isTop"
column=
"is_top"
/>
<result
property=
"topTime"
column=
"top_time"
/>
<result
property=
"likeCount"
column=
"like_count"
/>
<result
property=
"commentCount"
column=
"comment_count"
/>
<result
property=
"heat"
column=
"heat"
/>
</resultMap>
</mapper>
safe-campus-points/src/main/java/com/tangguo/controller/BbsPointsGoodsController.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
controller
;
import
com.tangguo.common.annotation.Log
;
import
com.tangguo.common.core.controller.BaseController
;
import
com.tangguo.common.core.domain.AjaxResult
;
import
com.tangguo.common.core.page.TableDataInfo
;
import
com.tangguo.common.enums.BusinessType
;
import
com.tangguo.domain.BbsPointsGoods
;
import
com.tangguo.service.IBbsPointsGoodsService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* 积分商品Controller
*
* @author ruoyi
* @date 2025-08-28
*/
@Api
(
tags
=
"积分商品管理"
)
@RestController
@RequestMapping
(
"/bbs/points/goods"
)
public
class
BbsPointsGoodsController
extends
BaseController
{
@Resource
private
IBbsPointsGoodsService
bbsPointsGoodsService
;
/**
* 查询积分商品列表
*/
@ApiOperation
(
"查询积分商品列表"
)
@PreAuthorize
(
"@ss.hasPermi('goods:goods:list')"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
BbsPointsGoods
bbsPointsGoods
)
{
startPage
();
List
<
BbsPointsGoods
>
list
=
bbsPointsGoodsService
.
selectBbsPointsGoodsList
(
bbsPointsGoods
);
return
getDataTable
(
list
);
}
/**
* 获取积分商品详细信息
*/
@ApiOperation
(
"获取积分商品详细信息"
)
@PreAuthorize
(
"@ss.hasPermi('goods:goods:query')"
)
@GetMapping
(
value
=
"/{id}"
)
public
AjaxResult
getInfo
(
@PathVariable
(
"id"
)
Long
id
)
{
return
success
(
bbsPointsGoodsService
.
getById
(
id
));
}
/**
* 新增积分商品
*/
@ApiOperation
(
"新增积分商品"
)
@PreAuthorize
(
"@ss.hasPermi('goods:goods:add')"
)
@Log
(
title
=
"积分商品"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
public
AjaxResult
add
(
@RequestBody
BbsPointsGoods
goods
)
{
this
.
bbsPointsGoodsService
.
addGoods
(
goods
);
return
AjaxResult
.
success
();
}
/**
* 修改积分商品
*/
@ApiOperation
(
"修改积分商品"
)
@PreAuthorize
(
"@ss.hasPermi('goods:goods:edit')"
)
@Log
(
title
=
"积分商品"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
public
AjaxResult
edit
(
@RequestBody
BbsPointsGoods
goods
)
{
this
.
bbsPointsGoodsService
.
editGoods
(
goods
);
return
AjaxResult
.
success
();
}
/**
* 删除积分商品
*/
@ApiOperation
(
"删除积分商品"
)
@PreAuthorize
(
"@ss.hasPermi('goods:goods:remove')"
)
@Log
(
title
=
"积分商品"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{id}"
)
public
AjaxResult
remove
(
@PathVariable
Long
id
)
{
this
.
bbsPointsGoodsService
.
deleteGoods
(
id
);
return
AjaxResult
.
success
();
}
}
safe-campus-points/src/main/java/com/tangguo/domain/BbsPointsGoods.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
domain
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.tangguo.common.annotation.Excel
;
import
com.tangguo.common.core.domain.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.ToString
;
import
lombok.experimental.Accessors
;
import
java.math.BigDecimal
;
/**
* 积分商品对象 bbs_points_goods
*
* @author ruoyi
* @date 2025-08-28
*/
@Data
@ToString
@NoArgsConstructor
@Accessors
(
chain
=
true
)
@TableName
(
"bbs_points_goods"
)
@ApiModel
(
value
=
"BbsPointsGoods"
,
description
=
"积分商品实体"
)
public
class
BbsPointsGoods
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/** ID */
@TableId
(
type
=
IdType
.
AUTO
)
@ApiModelProperty
(
"ID"
)
private
Long
id
;
/** 商品名称 */
@Excel
(
name
=
"商品名称"
)
@ApiModelProperty
(
"商品名称"
)
private
String
name
;
/** 商品编码 */
@Excel
(
name
=
"商品编码"
)
@ApiModelProperty
(
"商品编码"
)
private
String
code
;
/** 商品图片地址 */
@Excel
(
name
=
"商品图片地址"
)
@ApiModelProperty
(
"商品图片地址"
)
private
String
imgsUrl
;
/** 销售价格 */
@Excel
(
name
=
"销售价格"
)
@ApiModelProperty
(
"销售价格"
)
private
BigDecimal
salesPrice
;
/** 兑换积分 */
@Excel
(
name
=
"兑换积分"
)
@ApiModelProperty
(
"兑换积分"
)
private
Integer
exchangePoints
;
/** 库存数量 */
@Excel
(
name
=
"库存数量"
)
@ApiModelProperty
(
"库存数量"
)
private
Integer
stockNum
;
/** 已兑数量 */
@Excel
(
name
=
"已兑数量"
)
@ApiModelProperty
(
"已兑数量"
)
private
Integer
salesNum
;
/** 上架状态:0 下架、1 上架 */
@Excel
(
name
=
"上架状态:0 下架、1 上架"
)
@ApiModelProperty
(
"上架状态:0 下架、1 上架"
)
private
Integer
showStatus
;
}
safe-campus-points/src/main/java/com/tangguo/enums/GoodsShowStatus.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* 商品上下架状态
*
* @author 谈笑
* @createTime 2025-08-28 16:32:15 星期四
*/
@Getter
@AllArgsConstructor
public
enum
GoodsShowStatus
{
SJ
(
1
,
"上架"
),
XJ
(
0
,
"下架"
);
private
final
int
status
;
private
final
String
desc
;
}
safe-campus-points/src/main/java/com/tangguo/mapper/BbsPointsGoodsMapper.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.tangguo.domain.BbsPointsGoods
;
/**
* 积分商品Mapper接口
*
* @author ruoyi
* @date 2025-08-28
*/
public
interface
BbsPointsGoodsMapper
extends
BaseMapper
<
BbsPointsGoods
>
{
}
safe-campus-points/src/main/java/com/tangguo/service/IBbsPointsGoodsService.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.tangguo.domain.BbsPointsGoods
;
import
java.util.List
;
/**
* 积分商品Service接口
*
* @author ruoyi
* @date 2025-08-28
*/
public
interface
IBbsPointsGoodsService
extends
IService
<
BbsPointsGoods
>
{
/**
* 查询积分商品列表
*
* @param bbsPointsGoods 积分商品
* @return 积分商品集合
*/
List
<
BbsPointsGoods
>
selectBbsPointsGoodsList
(
BbsPointsGoods
bbsPointsGoods
);
/**
* 添加积分商品
*
* @param goods 积分商品
*/
void
addGoods
(
BbsPointsGoods
goods
);
/**
* 修改积分商品
*
* @param goods 积分商品
*/
void
editGoods
(
BbsPointsGoods
goods
);
/**
* 删除积分商品
*
* @param goodsId 积分商品Id
*/
void
deleteGoods
(
Long
goodsId
);
}
safe-campus-points/src/main/java/com/tangguo/service/impl/BbsPointsGoodsServiceImpl.java
0 → 100644
View file @
dad21b04
package
com
.
tangguo
.
service
.
impl
;
import
cn.hutool.core.util.IdUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.tangguo.common.exception.ServiceException
;
import
com.tangguo.common.utils.StringUtils
;
import
com.tangguo.domain.BbsPointsGoods
;
import
com.tangguo.mapper.BbsPointsGoodsMapper
;
import
com.tangguo.service.IBbsPointsGoodsService
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.Objects
;
/**
* 积分商品Service业务层处理
*
* @author ruoyi
* @date 2025-08-28
*/
@Service
public
class
BbsPointsGoodsServiceImpl
extends
ServiceImpl
<
BbsPointsGoodsMapper
,
BbsPointsGoods
>
implements
IBbsPointsGoodsService
{
@Resource
private
BbsPointsGoodsMapper
bbsPointsGoodsMapper
;
/**
* 查询积分商品列表
*
* @param goods 积分商品
* @return 积分商品
*/
@Override
public
List
<
BbsPointsGoods
>
selectBbsPointsGoodsList
(
BbsPointsGoods
goods
)
{
LambdaQueryWrapper
<
BbsPointsGoods
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
orderByDesc
(
BbsPointsGoods:
:
getCreateTime
);
lqw
.
like
(
StringUtils
.
isNotBlank
(
goods
.
getName
()),
BbsPointsGoods:
:
getName
,
goods
.
getName
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
goods
.
getCode
()),
BbsPointsGoods:
:
getCode
,
goods
.
getCode
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
goods
.
getImgsUrl
()),
BbsPointsGoods:
:
getImgsUrl
,
goods
.
getImgsUrl
());
lqw
.
eq
(
goods
.
getSalesPrice
()
!=
null
,
BbsPointsGoods:
:
getSalesPrice
,
goods
.
getSalesPrice
());
lqw
.
eq
(
goods
.
getExchangePoints
()
!=
null
,
BbsPointsGoods:
:
getExchangePoints
,
goods
.
getExchangePoints
());
lqw
.
eq
(
goods
.
getStockNum
()
!=
null
,
BbsPointsGoods:
:
getStockNum
,
goods
.
getStockNum
());
lqw
.
eq
(
goods
.
getSalesNum
()
!=
null
,
BbsPointsGoods:
:
getSalesNum
,
goods
.
getSalesNum
());
lqw
.
eq
(
goods
.
getShowStatus
()
!=
null
,
BbsPointsGoods:
:
getShowStatus
,
goods
.
getShowStatus
());
return
bbsPointsGoodsMapper
.
selectList
(
lqw
);
}
/**
* 添加积分商品
*
* @param goods 积分商品
*/
@Override
public
void
addGoods
(
BbsPointsGoods
goods
)
{
long
nameCount
=
this
.
count
(
Wrappers
.
lambdaQuery
(
BbsPointsGoods
.
class
).
eq
(
BbsPointsGoods:
:
getName
,
goods
.
getName
())
);
if
(
nameCount
>
0
)
{
throw
new
ServiceException
(
"添加失败,当前商品名称已存在。"
);
}
BbsPointsGoods
addGoods
=
new
BbsPointsGoods
();
addGoods
.
setName
(
goods
.
getName
());
addGoods
.
setCode
(
IdUtil
.
fastSimpleUUID
());
addGoods
.
setImgsUrl
(
goods
.
getImgsUrl
());
addGoods
.
setSalesPrice
(
goods
.
getSalesPrice
());
addGoods
.
setExchangePoints
(
goods
.
getExchangePoints
());
addGoods
.
setStockNum
(
goods
.
getStockNum
());
addGoods
.
setSalesNum
(
0
);
addGoods
.
setShowStatus
(
goods
.
getShowStatus
());
this
.
save
(
addGoods
);
}
/**
* 修改积分商品
*
* @param goods 积分商品
*/
@Override
public
void
editGoods
(
BbsPointsGoods
goods
)
{
BbsPointsGoods
dbGoods
=
this
.
getById
(
goods
.
getId
());
if
(
Objects
.
isNull
(
dbGoods
))
{
throw
new
ServiceException
(
"修改失败,未查询到当前商品数据。"
);
}
if
(!
dbGoods
.
getName
().
equals
(
goods
.
getName
()))
{
long
nameCount
=
this
.
count
(
Wrappers
.
lambdaQuery
(
BbsPointsGoods
.
class
).
eq
(
BbsPointsGoods:
:
getName
,
goods
.
getName
())
);
if
(
nameCount
>
0
)
{
throw
new
ServiceException
(
"修改失败,当前商品名称已存在。"
);
}
}
BbsPointsGoods
addGoods
=
new
BbsPointsGoods
();
addGoods
.
setId
(
dbGoods
.
getId
());
addGoods
.
setName
(
goods
.
getName
());
addGoods
.
setImgsUrl
(
goods
.
getImgsUrl
());
addGoods
.
setSalesPrice
(
goods
.
getSalesPrice
());
addGoods
.
setExchangePoints
(
goods
.
getExchangePoints
());
addGoods
.
setStockNum
(
goods
.
getStockNum
());
addGoods
.
setShowStatus
(
goods
.
getShowStatus
());
this
.
updateById
(
addGoods
);
}
/**
* 删除积分商品
*
* @param goodsId 积分商品Id
*/
@Override
public
void
deleteGoods
(
Long
goodsId
)
{
this
.
removeById
(
goodsId
);
}
}
safe-campus-points/src/main/resources/mapper/BbsPointsGoodsMapper.xml
0 → 100644
View file @
dad21b04
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.tangguo.mapper.BbsPointsGoodsMapper"
>
</mapper>
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