Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
pms-ci-test
Commits
78b47f57
提交
78b47f57
authored
5月 29, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
后台管理商品修改
上级
9c9f3db2
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
156 行增加
和
7 行删除
+156
-7
BackstageGoodsManageController.java
...om/mmc/pms/controller/BackstageGoodsManageController.java
+7
-1
GoodsInfoDao.java
src/main/java/com/mmc/pms/dao/GoodsInfoDao.java
+13
-0
GoodsAddVO.java
src/main/java/com/mmc/pms/model/vo/GoodsAddVO.java
+2
-2
GoodsInfoService.java
src/main/java/com/mmc/pms/service/GoodsInfoService.java
+2
-0
GoodsInfoServiceImpl.java
...n/java/com/mmc/pms/service/Impl/GoodsInfoServiceImpl.java
+85
-4
GoodsInfoDao.xml
src/main/resources/mapper/GoodsInfoDao.xml
+47
-0
没有找到文件。
src/main/java/com/mmc/pms/controller/BackstageGoodsManageController.java
浏览文件 @
78b47f57
...
...
@@ -3,6 +3,7 @@ package com.mmc.pms.controller;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.model.vo.Create
;
import
com.mmc.pms.model.vo.GoodsAddVO
;
import
com.mmc.pms.model.vo.Update
;
import
com.mmc.pms.service.GoodsInfoService
;
import
io.swagger.annotations.*
;
import
org.springframework.validation.annotation.Validated
;
...
...
@@ -32,5 +33,10 @@ public class BackstageGoodsManageController {
return
goodsInfoService
.
addGoods
(
goodsAddVO
);
}
@ApiOperation
(
value
=
"修改(租赁/销售)商品"
)
@PostMapping
(
"editGoodsInfo"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
ResultBody
editGoodsInfo
(
@ApiParam
(
"商品信息VO"
)
@Validated
(
Update
.
class
)
@RequestBody
GoodsAddVO
goodsAddVO
)
{
return
goodsInfoService
.
editGoodsInfo
(
goodsAddVO
);
}
}
src/main/java/com/mmc/pms/dao/GoodsInfoDao.java
浏览文件 @
78b47f57
...
...
@@ -29,6 +29,19 @@ public interface GoodsInfoDao {
void
insertGoodsService
(
List
<
GoodsServiceDO
>
otherList
);
int
countGoodsInfoById
(
Integer
id
);
void
updateGoodsInfo
(
GoodsInfo
goodsInfo
);
void
updateGoodsDetail
(
GoodsDetailDO
goodsDetailDO
);
List
<
GoodsImgDO
>
listGoodsInfoByGoodsId
(
Integer
id
);
void
deleteImgByIds
(
List
<
Integer
>
deleteIds
);
void
deleteGoodsVideoById
(
Integer
id
);
void
deleteGoodsServiceByGoodsId
(
Integer
id
);
}
...
...
src/main/java/com/mmc/pms/model/vo/GoodsAddVO.java
浏览文件 @
78b47f57
...
...
@@ -20,8 +20,8 @@ import java.util.List;
@AllArgsConstructor
public
class
GoodsAddVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7041502536618388167L
;
@ApiModelProperty
(
value
=
"
id
"
)
@NotNull
(
message
=
"新增
时传商品类型:0:销售商品 1:租赁商品
"
,
groups
=
{
Create
.
class
})
@ApiModelProperty
(
value
=
"
商品类型:0:销售商品 1:租赁商品
"
)
@NotNull
(
message
=
"新增
商品类型不能为空
"
,
groups
=
{
Create
.
class
})
private
Integer
goodsType
;
@ApiModelProperty
(
value
=
"id"
)
@NotNull
(
message
=
"修改时id不能为空"
,
groups
=
{
Update
.
class
})
...
...
src/main/java/com/mmc/pms/service/GoodsInfoService.java
浏览文件 @
78b47f57
...
...
@@ -11,4 +11,6 @@ import com.mmc.pms.model.vo.GoodsAddVO;
public
interface
GoodsInfoService
{
ResultBody
addGoods
(
GoodsAddVO
goodsAddVO
);
ResultBody
editGoodsInfo
(
GoodsAddVO
goodsAddVO
);
}
src/main/java/com/mmc/pms/service/Impl/GoodsInfoServiceImpl.java
浏览文件 @
78b47f57
...
...
@@ -5,10 +5,7 @@ import com.mmc.pms.common.ResultEnum;
import
com.mmc.pms.dao.GoodsInfoDao
;
import
com.mmc.pms.dao.ProductSkuDao
;
import
com.mmc.pms.entity.*
;
import
com.mmc.pms.model.vo.GoodsAddVO
;
import
com.mmc.pms.model.vo.GoodsDetailVO
;
import
com.mmc.pms.model.vo.GoodsProdSpecVO
;
import
com.mmc.pms.model.vo.ProductSpecCPQVO
;
import
com.mmc.pms.model.vo.*
;
import
com.mmc.pms.service.GoodsInfoService
;
import
com.mmc.pms.util.CodeUtil
;
import
com.mmc.pms.util.TDateUtil
;
...
...
@@ -19,6 +16,8 @@ import org.springframework.transaction.annotation.Transactional;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -172,6 +171,88 @@ public class GoodsInfoServiceImpl implements GoodsInfoService {
goodsInfoDao
.
insertVideoInfo
(
goodsVideoDO
);
}
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ResultBody
editGoodsInfo
(
GoodsAddVO
goodsAddVO
)
{
// 判断商品是否还存在
int
count
=
goodsInfoDao
.
countGoodsInfoById
(
goodsAddVO
.
getId
());
if
(
count
<=
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
GOODS_NOT_EXIST_OR_ALREADY_DOWN_SHELF
);
}
// 判断商品名称是否存在
if
(
goodsInfoDao
.
countGoodsInfoByName
(
goodsAddVO
)
>
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
GOODS_CATEGORY_NAME_EXIST_ERROR
);
}
// 判断商品详情中描述是否为空
if
(
goodsAddVO
.
getGoodsDetailVO
().
getGoodsDesc
()
==
null
)
{
return
ResultBody
.
error
(
ResultEnum
.
GOODS_DESC_IS_NOT_NULL
);
}
// 初始化商品对象,并构建对象
GoodsInfo
goodsInfo
=
new
GoodsInfo
(
goodsAddVO
);
// 插入商品基本信息
goodsInfoDao
.
updateGoodsInfo
(
goodsInfo
);
// 修改商品详情信息
updateGoodsDetail
(
goodsAddVO
);
// 修改商品图片及视频信息
updateImageInfo
(
goodsAddVO
);
// 修改其他服务信息
updateOtherService
(
goodsAddVO
);
return
null
;
}
private
void
updateOtherService
(
GoodsAddVO
goodsAddVO
)
{
// 删除其他服务
goodsInfoDao
.
deleteGoodsServiceByGoodsId
(
goodsAddVO
.
getId
());
// 插入其他服务
if
(!
CollectionUtils
.
isEmpty
(
goodsAddVO
.
getOtherService
()))
{
List
<
Integer
>
other
=
goodsAddVO
.
getOtherService
();
List
<
GoodsServiceDO
>
otherList
=
other
.
stream
().
map
(
d
->
{
GoodsServiceDO
goodsServiceDO
=
new
GoodsServiceDO
();
goodsServiceDO
.
setGoodsInfoId
(
goodsAddVO
.
getId
());
goodsServiceDO
.
setSaleServiceId
(
d
);
return
goodsServiceDO
;
}).
collect
(
Collectors
.
toList
());
goodsInfoDao
.
insertGoodsService
(
otherList
);
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
updateImageInfo
(
GoodsAddVO
goodsAddVO
)
{
Set
<
Integer
>
imgIds
=
goodsAddVO
.
getImages
().
stream
().
map
(
GoodsImgVO:
:
getId
).
filter
(
Objects:
:
nonNull
).
collect
(
Collectors
.
toSet
());
List
<
GoodsImgDO
>
dbImgList
=
goodsInfoDao
.
listGoodsInfoByGoodsId
(
goodsAddVO
.
getId
());
List
<
Integer
>
deleteIds
=
dbImgList
.
stream
().
map
(
GoodsImgDO:
:
getId
).
filter
(
id
->
!
imgIds
.
contains
(
id
)).
collect
(
Collectors
.
toList
());
if
(
deleteIds
.
size
()
!=
0
)
{
// 删除多余的图片
goodsInfoDao
.
deleteImgByIds
(
deleteIds
);
}
// 新增图片
List
<
GoodsImgDO
>
imgDOList
=
goodsAddVO
.
getImages
().
stream
().
filter
(
d
->
d
.
getId
()
==
null
).
map
(
d
->
{
GoodsImgDO
goodsImgDO
=
new
GoodsImgDO
(
d
);
goodsImgDO
.
setGoodsInfoId
(
goodsAddVO
.
getId
());
return
goodsImgDO
;
}).
collect
(
Collectors
.
toList
());
if
(
imgDOList
.
size
()
!=
0
)
{
goodsInfoDao
.
insertGoodsImgInfo
(
imgDOList
);
}
// 删除视频
goodsInfoDao
.
deleteGoodsVideoById
(
goodsAddVO
.
getId
());
// 插入视频
if
(
goodsAddVO
.
getGoodsVideo
()
!=
null
)
{
GoodsVideoDO
goodsVideoDO
=
new
GoodsVideoDO
();
goodsVideoDO
.
setGoodsInfoId
(
goodsAddVO
.
getId
());
goodsVideoDO
.
setVideoUrl
(
goodsAddVO
.
getGoodsVideo
());
goodsInfoDao
.
insertVideoInfo
(
goodsVideoDO
);
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
updateGoodsDetail
(
GoodsAddVO
goodsAddVO
)
{
GoodsDetailDO
goodsDetailDO
=
new
GoodsDetailDO
(
goodsAddVO
.
getGoodsDetailVO
()).
setGoodsInfoId
(
goodsAddVO
.
getId
());
// 商品详情修改
goodsInfoDao
.
updateGoodsDetail
(
goodsDetailDO
);
}
}
...
...
src/main/resources/mapper/GoodsInfoDao.xml
浏览文件 @
78b47f57
...
...
@@ -53,6 +53,39 @@
</foreach>
</insert>
<update
id=
"updateGoodsInfo"
>
update goods_info
set goods_name = #{goodsName},
eco_label = #{ecoLabel},
category_by_one = #{categoryByOne},
category_by_two = #{categoryByTwo},
shelf_status = #{shelfStatus}
where id = #{id}
</update>
<update
id=
"updateGoodsDetail"
>
update goods_detail
set goods_desc = #{goodsDesc},
content = #{content},
remark = #{remark}
where goods_info_id = #{goodsInfoId}
</update>
<update
id=
"deleteImgByIds"
>
update goods_img set is_deleted = 1 where id in
<foreach
item=
"item"
index=
"index"
collection=
"list"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</update>
<update
id=
"deleteGoodsVideoById"
>
update goods_video
set is_deleted = 1
where goods_info_id = #{goodsId}
</update>
<delete
id=
"deleteGoodsServiceByGoodsId"
>
delete
from goods_service
where goods_info_id = #{goodsId}
</delete>
<select
id=
"countGoodsInfoByName"
resultType=
"java.lang.Integer"
>
select count(*)
from goods_info
...
...
@@ -66,4 +99,18 @@
select count(*)
from goods_info
</select>
<select
id=
"countGoodsInfoById"
resultType=
"java.lang.Integer"
>
select count(*)
from goods_info
where id = #{id}
and is_deleted = 0
</select>
<select
id=
"listGoodsInfoByGoodsId"
resultType=
"com.mmc.pms.entity.GoodsImgDO"
>
SELECT id,
img_url,
img_type
FROM goods_img
WHERE is_deleted = 0
AND goods_info_id = #{id}
</select>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论