Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pms
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
pms
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;
...
@@ -3,6 +3,7 @@ package com.mmc.pms.controller;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.model.vo.Create
;
import
com.mmc.pms.model.vo.Create
;
import
com.mmc.pms.model.vo.GoodsAddVO
;
import
com.mmc.pms.model.vo.GoodsAddVO
;
import
com.mmc.pms.model.vo.Update
;
import
com.mmc.pms.service.GoodsInfoService
;
import
com.mmc.pms.service.GoodsInfoService
;
import
io.swagger.annotations.*
;
import
io.swagger.annotations.*
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
...
@@ -32,5 +33,10 @@ public class BackstageGoodsManageController {
...
@@ -32,5 +33,10 @@ public class BackstageGoodsManageController {
return
goodsInfoService
.
addGoods
(
goodsAddVO
);
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 {
...
@@ -29,6 +29,19 @@ public interface GoodsInfoDao {
void
insertGoodsService
(
List
<
GoodsServiceDO
>
otherList
);
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;
...
@@ -20,8 +20,8 @@ import java.util.List;
@AllArgsConstructor
@AllArgsConstructor
public
class
GoodsAddVO
implements
Serializable
{
public
class
GoodsAddVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7041502536618388167L
;
private
static
final
long
serialVersionUID
=
7041502536618388167L
;
@ApiModelProperty
(
value
=
"
id
"
)
@ApiModelProperty
(
value
=
"
商品类型:0:销售商品 1:租赁商品
"
)
@NotNull
(
message
=
"新增
时传商品类型:0:销售商品 1:租赁商品
"
,
groups
=
{
Create
.
class
})
@NotNull
(
message
=
"新增
商品类型不能为空
"
,
groups
=
{
Create
.
class
})
private
Integer
goodsType
;
private
Integer
goodsType
;
@ApiModelProperty
(
value
=
"id"
)
@ApiModelProperty
(
value
=
"id"
)
@NotNull
(
message
=
"修改时id不能为空"
,
groups
=
{
Update
.
class
})
@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;
...
@@ -11,4 +11,6 @@ import com.mmc.pms.model.vo.GoodsAddVO;
public
interface
GoodsInfoService
{
public
interface
GoodsInfoService
{
ResultBody
addGoods
(
GoodsAddVO
goodsAddVO
);
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;
...
@@ -5,10 +5,7 @@ import com.mmc.pms.common.ResultEnum;
import
com.mmc.pms.dao.GoodsInfoDao
;
import
com.mmc.pms.dao.GoodsInfoDao
;
import
com.mmc.pms.dao.ProductSkuDao
;
import
com.mmc.pms.dao.ProductSkuDao
;
import
com.mmc.pms.entity.*
;
import
com.mmc.pms.entity.*
;
import
com.mmc.pms.model.vo.GoodsAddVO
;
import
com.mmc.pms.model.vo.*
;
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.service.GoodsInfoService
;
import
com.mmc.pms.service.GoodsInfoService
;
import
com.mmc.pms.util.CodeUtil
;
import
com.mmc.pms.util.CodeUtil
;
import
com.mmc.pms.util.TDateUtil
;
import
com.mmc.pms.util.TDateUtil
;
...
@@ -19,6 +16,8 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -19,6 +16,8 @@ import org.springframework.transaction.annotation.Transactional;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -172,6 +171,88 @@ public class GoodsInfoServiceImpl implements GoodsInfoService {
...
@@ -172,6 +171,88 @@ public class GoodsInfoServiceImpl implements GoodsInfoService {
goodsInfoDao
.
insertVideoInfo
(
goodsVideoDO
);
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 @@
...
@@ -53,6 +53,39 @@
</foreach>
</foreach>
</insert>
</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
id=
"countGoodsInfoByName"
resultType=
"java.lang.Integer"
>
select count(*)
select count(*)
from goods_info
from goods_info
...
@@ -66,4 +99,18 @@
...
@@ -66,4 +99,18 @@
select count(*)
select count(*)
from goods_info
from goods_info
</select>
</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>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论