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
4d5c2a29
Commit
4d5c2a29
authored
Aug 28, 2025
by
万成波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
积分商品
parent
7c1c8c48
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
378 additions
and
0 deletions
+378
-0
safe-campus-moment/src/main/java/com/tangguo/controller/BbsPointsGoodsController.java
...java/com/tangguo/controller/BbsPointsGoodsController.java
+96
-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/ShowStatus.java
...us-moment/src/main/java/com/tangguo/enums/ShowStatus.java
+22
-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/IBbsPointsGoodsService.java
...main/java/com/tangguo/service/IBbsPointsGoodsService.java
+47
-0
safe-campus-moment/src/main/java/com/tangguo/service/impl/BbsPointsGoodsServiceImpl.java
...a/com/tangguo/service/impl/BbsPointsGoodsServiceImpl.java
+123
-0
No files found.
safe-campus-moment/src/main/java/com/tangguo/controller/BbsPointsGoodsController.java
0 → 100644
View file @
4d5c2a29
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.Arrays
;
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/BbsPointsGoods.java
0 → 100644
View file @
4d5c2a29
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/ShowStatus.java
0 → 100644
View file @
4d5c2a29
package
com
.
tangguo
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* 商品上下架状态
*
* @author 谈笑
* @createTime 2025-08-28 16:32:15 星期四
*/
@Getter
@AllArgsConstructor
public
enum
ShowStatus
{
SHOW
(
1
,
"上架"
),
NOT_SHOW
(
0
,
"下架"
);
private
final
int
status
;
private
final
String
desc
;
}
safe-campus-moment/src/main/java/com/tangguo/mapper/BbsPointsGoodsMapper.java
0 → 100644
View file @
4d5c2a29
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/IBbsPointsGoodsService.java
0 → 100644
View file @
4d5c2a29
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/BbsPointsGoodsServiceImpl.java
0 → 100644
View file @
4d5c2a29
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
);
}
}
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