Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
pms-ci-test
Commits
cd53de73
提交
cd53de73
authored
5月 29, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
后台管理商品新增
上级
7c145017
隐藏空白字符变更
内嵌
并排
正在显示
21 个修改的文件
包含
891 行增加
和
132 行删除
+891
-132
BackstageBrandManageController.java
...om/mmc/pms/controller/BackstageBrandManageController.java
+1
-1
BackstageCategoriesController.java
...com/mmc/pms/controller/BackstageCategoriesController.java
+1
-1
BackstageGoodsManageController.java
...om/mmc/pms/controller/BackstageGoodsManageController.java
+36
-0
BackstageProductSpecController.java
...om/mmc/pms/controller/BackstageProductSpecController.java
+1
-1
GoodsInfoDao.java
src/main/java/com/mmc/pms/dao/GoodsInfoDao.java
+36
-0
ProductSkuDao.java
src/main/java/com/mmc/pms/dao/ProductSkuDao.java
+3
-0
GoodsInfo.java
src/main/java/com/mmc/pms/entity/GoodsInfo.java
+64
-0
MallProdSkuInfoDO.java
src/main/java/com/mmc/pms/entity/MallProdSkuInfoDO.java
+49
-44
ProductSpecDO.java
src/main/java/com/mmc/pms/entity/ProductSpecDO.java
+39
-39
ProductSpecVO.java
src/main/java/com/mmc/pms/model/dto/ProductSpecVO.java
+3
-0
GoodsAddVO.java
src/main/java/com/mmc/pms/model/vo/GoodsAddVO.java
+55
-0
GoodsDetailVO.java
src/main/java/com/mmc/pms/model/vo/GoodsDetailVO.java
+9
-16
GoodsProdSpecVO.java
src/main/java/com/mmc/pms/model/vo/GoodsProdSpecVO.java
+57
-0
GoodsSpecVO.java
src/main/java/com/mmc/pms/model/vo/GoodsSpecVO.java
+25
-25
GoodsInfoService.java
src/main/java/com/mmc/pms/service/GoodsInfoService.java
+14
-0
GoodsInfoServiceImpl.java
...n/java/com/mmc/pms/service/Impl/GoodsInfoServiceImpl.java
+179
-0
MiniProgramProductMallServiceImpl.java
...c/pms/service/Impl/MiniProgramProductMallServiceImpl.java
+1
-2
ProductSkuServiceImpl.java
.../java/com/mmc/pms/service/Impl/ProductSkuServiceImpl.java
+1
-1
CodeUtil.java
src/main/java/com/mmc/pms/util/CodeUtil.java
+238
-0
GoodsInfoDao.xml
src/main/resources/mapper/GoodsInfoDao.xml
+69
-0
ProductSkuDao.xml
src/main/resources/mapper/ProductSkuDao.xml
+10
-2
没有找到文件。
src/main/java/com/mmc/pms/controller/BrandManageController.java
→
src/main/java/com/mmc/pms/controller/B
ackstageB
randManageController.java
浏览文件 @
cd53de73
...
...
@@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping
(
"/brand"
)
@Api
(
tags
=
{
"品牌管理-相关接口"
})
public
class
BrandManageController
{
public
class
B
ackstageB
randManageController
{
@Autowired
private
BrandManageService
brandManageService
;
...
...
src/main/java/com/mmc/pms/controller/CategoriesController.java
→
src/main/java/com/mmc/pms/controller/
Backstage
CategoriesController.java
浏览文件 @
cd53de73
...
...
@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.*;
@Api
(
tags
=
{
"后台-分类管理-接口"
})
@RestController
@RequestMapping
(
"/classify"
)
public
class
CategoriesController
{
public
class
Backstage
CategoriesController
{
@Autowired
private
CategoriesService
categoriesService
;
...
...
src/main/java/com/mmc/pms/controller/BackstageGoodsManageController.java
0 → 100644
浏览文件 @
cd53de73
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.service.GoodsInfoService
;
import
io.swagger.annotations.*
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
/**
* @Author LW
* @date 2023/3/14 13:22
* 概要:
*/
@RestController
@RequestMapping
(
"/goods"
)
@Api
(
tags
=
{
"商品管理-相关接口"
})
public
class
BackstageGoodsManageController
{
@Resource
private
GoodsInfoService
goodsInfoService
;
@ApiOperation
(
value
=
"新增(租赁/销售)商品"
)
@PostMapping
(
"addGoodsInfo"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
ResultBody
addGoods
(
@ApiParam
(
"商品信息VO"
)
@Validated
(
Create
.
class
)
@RequestBody
GoodsAddVO
goodsAddVO
)
{
return
goodsInfoService
.
addGoods
(
goodsAddVO
);
}
}
src/main/java/com/mmc/pms/controller/ProductSpecController.java
→
src/main/java/com/mmc/pms/controller/
Backstage
ProductSpecController.java
浏览文件 @
cd53de73
...
...
@@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping
(
"/product/spec/"
)
@Api
(
tags
=
{
"产品管理模块-相关接口"
})
public
class
ProductSpecController
{
public
class
Backstage
ProductSpecController
{
@Autowired
private
ProductSkuService
productSkuService
;
...
...
src/main/java/com/mmc/pms/dao/GoodsInfoDao.java
0 → 100644
浏览文件 @
cd53de73
package
com
.
mmc
.
pms
.
dao
;
import
com.mmc.pms.entity.*
;
import
com.mmc.pms.model.vo.GoodsAddVO
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* @author 23214
* @description 针对表【goods_info(商品基本信息)】的数据库操作Mapper
* @createDate 2023-05-27 14:08:45
* @Entity com.mmc.pms.entity.GoodsInfo
*/
@Mapper
public
interface
GoodsInfoDao
{
int
countGoodsInfoByName
(
GoodsAddVO
goodsAddVO
);
void
insertGoodsInfo
(
GoodsInfo
goodsInfo
);
int
countGoodsInfo
();
void
insertGoodsImgInfo
(
List
<
GoodsImgDO
>
list
);
void
insertVideoInfo
(
GoodsVideoDO
goodsVideoDO
);
void
insertGoodsDetail
(
GoodsDetailDO
goodsDetailDO
);
void
insertGoodsService
(
List
<
GoodsServiceDO
>
otherList
);
}
src/main/java/com/mmc/pms/dao/ProductSkuDao.java
浏览文件 @
cd53de73
package
com
.
mmc
.
pms
.
dao
;
import
com.mmc.pms.entity.MallProdSkuInfoDO
;
import
com.mmc.pms.entity.ProductSkuDO
;
import
com.mmc.pms.entity.ProductSpecDO
;
import
com.mmc.pms.entity.ProductSpecPriceDO
;
...
...
@@ -56,6 +57,8 @@ public interface ProductSkuDao {
void
removeProductSpecCPQ
(
ProductSpecCPQVO
productSpecCPQVO
);
List
<
ProductSpecPriceDO
>
getProductSpecPrice
(
ProductSpecCPQVO
productSpecCPQVO
);
void
insertMallProdSkuInfo
(
MallProdSkuInfoDO
mallProdSkuInfoDO
);
}
...
...
src/main/java/com/mmc/pms/entity/GoodsInfo.java
0 → 100644
浏览文件 @
cd53de73
package
com
.
mmc
.
pms
.
entity
;
import
com.mmc.pms.model.vo.GoodsAddVO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author 23214
* @TableName goods_info
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
GoodsInfo
implements
Serializable
{
private
Integer
id
;
private
Integer
pid
;
private
String
goodsNo
;
private
String
goodsName
;
private
Integer
directoryId
;
private
Integer
addGoodsUserId
;
private
Integer
categoryByOne
;
private
Integer
categoryByTwo
;
private
String
ecoLabel
;
private
Integer
shelfStatus
;
private
Integer
showCode
;
private
Integer
sort
;
private
Date
createTime
;
private
Integer
goodsType
;
private
Date
updateTime
;
private
Integer
deleted
;
private
static
final
long
serialVersionUID
=
1L
;
public
GoodsInfo
(
GoodsAddVO
goodsAddVO
)
{
this
.
id
=
goodsAddVO
.
getId
();
this
.
goodsName
=
goodsAddVO
.
getGoodsName
();
this
.
shelfStatus
=
goodsAddVO
.
getShelfStatus
();
this
.
categoryByOne
=
goodsAddVO
.
getCategoryByOne
();
this
.
categoryByTwo
=
goodsAddVO
.
getCategoryByTwo
();
this
.
directoryId
=
goodsAddVO
.
getDirectoryId
();
this
.
ecoLabel
=
goodsAddVO
.
getTag
();
this
.
goodsType
=
goodsAddVO
.
getGoodsType
();
}
}
\ No newline at end of file
src/main/java/com/mmc/pms/entity/MallProdSkuInfoDO.java
浏览文件 @
cd53de73
...
...
@@ -18,51 +18,56 @@ import java.util.Date;
@AllArgsConstructor
@Accessors
(
chain
=
true
)
public
class
MallProdSkuInfoDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
3667714765929443857L
;
private
Integer
id
;
private
Integer
goodsInfoId
;
private
Integer
prodSkuId
;
private
String
prodSkuSpecName
;
private
Integer
goodsTypeId
;
private
Integer
chooseType
;
private
Integer
must
;
private
Integer
skuUnitId
;
private
Integer
deleted
;
private
Date
createTime
;
private
Date
updateTime
;
private
Integer
flag
;
private
static
final
long
serialVersionUID
=
3667714765929443857L
;
private
Integer
id
;
private
Integer
goodsInfoId
;
private
Integer
prodSkuId
;
private
String
prodSkuSpecName
;
private
Integer
categoryId
;
private
Integer
chooseType
;
private
Integer
must
;
private
Integer
skuUnitId
;
private
Integer
deleted
;
private
Date
createTime
;
private
Date
updateTime
;
private
Integer
flag
;
private
String
productSpecIdList
;
private
String
beforeUpdateSpec
;
/**
* 辅助字段 start
*/
private
String
typeName
;
/** 辅助字段 start */
private
String
typeName
;
private
String
unitName
;
private
String
productSkuName
;
private
Integer
brandInfoId
;
private
String
unitName
;
private
String
productSkuName
;
private
Integer
brandInfoId
;
/**
* 辅助字段 end
*/
public
MallProdSkuInfoDO
(
GoodsSpecVO
goodsSpecVO
)
{
this
.
categoryId
=
goodsSpecVO
.
getGoodsTypeId
();
this
.
prodSkuSpecName
=
goodsSpecVO
.
getGoodsSpecName
();
this
.
chooseType
=
goodsSpecVO
.
getChooseType
();
this
.
skuUnitId
=
goodsSpecVO
.
getSkuUnitId
();
this
.
must
=
goodsSpecVO
.
getMust
();
this
.
flag
=
goodsSpecVO
.
getFlag
();
}
/** 辅助字段 end */
public
MallProdSkuInfoDO
(
GoodsSpecVO
goodsSpecVO
)
{
this
.
goodsTypeId
=
goodsSpecVO
.
getGoodsTypeId
();
this
.
prodSkuSpecName
=
goodsSpecVO
.
getGoodsSpecName
();
this
.
chooseType
=
goodsSpecVO
.
getChooseType
();
this
.
skuUnitId
=
goodsSpecVO
.
getSkuUnitId
();
this
.
must
=
goodsSpecVO
.
getMust
();
this
.
flag
=
goodsSpecVO
.
getFlag
();
}
public
GoodsSpecDTO
buildGoodsSpecDTO
()
{
return
GoodsSpecDTO
.
builder
()
.
id
(
this
.
id
)
.
goodsSpecName
(
this
.
prodSkuSpecName
)
.
goodsTypeId
(
this
.
goodsTypeId
)
.
chooseType
(
this
.
chooseType
)
.
skuUnitId
(
skuUnitId
)
.
unitName
(
this
.
unitName
)
.
skuId
(
this
.
prodSkuId
)
.
typeName
(
this
.
typeName
)
.
must
(
must
)
.
skuName
(
this
.
productSkuName
)
.
brandInfoId
(
brandInfoId
)
.
flag
(
flag
)
.
build
();
}
public
GoodsSpecDTO
buildGoodsSpecDTO
()
{
return
GoodsSpecDTO
.
builder
()
.
id
(
this
.
id
)
.
goodsSpecName
(
this
.
prodSkuSpecName
)
.
goodsTypeId
(
this
.
categoryId
)
.
chooseType
(
this
.
chooseType
)
.
skuUnitId
(
skuUnitId
)
.
unitName
(
this
.
unitName
)
.
skuId
(
this
.
prodSkuId
)
.
typeName
(
this
.
typeName
)
.
must
(
must
)
.
skuName
(
this
.
productSkuName
)
.
brandInfoId
(
brandInfoId
)
.
flag
(
flag
)
.
build
();
}
}
src/main/java/com/mmc/pms/entity/ProductSpecDO.java
浏览文件 @
cd53de73
...
...
@@ -19,46 +19,46 @@ import java.util.Date;
@AllArgsConstructor
@Accessors
(
chain
=
true
)
public
class
ProductSpecDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
5476701567447257133L
;
private
Integer
id
;
private
Integer
productSkuId
;
private
String
specName
;
private
String
specImage
;
private
String
partNo
;
private
String
versionDesc
;
private
Date
createTime
;
private
Date
updateTime
;
private
Integer
deleted
;
private
static
final
long
serialVersionUID
=
-
5476701567447257133L
;
private
Integer
id
;
private
Integer
productSkuId
;
private
String
specName
;
private
String
specImage
;
private
String
partNo
;
private
String
versionDesc
;
private
Date
createTime
;
private
Date
updateTime
;
private
Integer
deleted
;
public
ProductSpecDO
(
ProductSpecVO
param
)
{
this
.
id
=
param
.
getId
();
this
.
productSkuId
=
param
.
getProductSkuId
();
this
.
specName
=
param
.
getSpecName
();
this
.
specImage
=
param
.
getSpecImage
();
this
.
partNo
=
param
.
getPartNo
();
this
.
versionDesc
=
param
.
getVersionDesc
();
}
public
ProductSpecDO
(
ProductSpecVO
param
)
{
this
.
id
=
param
.
getId
();
this
.
productSkuId
=
param
.
getProductSkuId
();
this
.
specName
=
param
.
getSpecName
();
this
.
specImage
=
param
.
getSpecImage
();
this
.
partNo
=
param
.
getPartNo
();
this
.
versionDesc
=
param
.
getVersionDesc
();
}
public
ProductSpecDTO
buildProductSpecDTO
()
{
return
ProductSpecDTO
.
builder
()
.
id
(
this
.
id
)
.
productSkuId
(
this
.
productSkuId
)
.
specName
(
this
.
specName
)
.
specImage
(
this
.
specImage
)
.
partNo
(
this
.
partNo
)
.
versionDesc
(
this
.
versionDesc
)
.
createTime
(
this
.
createTime
)
.
build
();
}
public
ProductSpecDTO
buildProductSpecDTO
()
{
return
ProductSpecDTO
.
builder
()
.
id
(
this
.
id
)
.
productSkuId
(
this
.
productSkuId
)
.
specName
(
this
.
specName
)
.
specImage
(
this
.
specImage
)
.
partNo
(
this
.
partNo
)
.
versionDesc
(
this
.
versionDesc
)
.
createTime
(
this
.
createTime
)
.
build
();
}
public
MallProductSpecDTO
buildMallProductSpecDTO
()
{
return
MallProductSpecDTO
.
builder
()
.
productSpec
(
this
.
id
)
.
productSkuId
(
this
.
productSkuId
)
.
specName
(
this
.
specName
)
.
specImage
(
this
.
specImage
)
.
partNo
(
this
.
partNo
)
.
versionDesc
(
this
.
versionDesc
)
.
build
();
}
public
MallProductSpecDTO
buildMallProductSpecDTO
()
{
return
MallProductSpecDTO
.
builder
()
.
productSpec
(
this
.
id
)
.
productSkuId
(
this
.
productSkuId
)
.
specName
(
this
.
specName
)
.
specImage
(
this
.
specImage
)
.
partNo
(
this
.
partNo
)
.
versionDesc
(
this
.
versionDesc
)
.
build
();
}
}
src/main/java/com/mmc/pms/model/dto/ProductSpecVO.java
浏览文件 @
cd53de73
package
com
.
mmc
.
pms
.
model
.
dto
;
import
com.mmc.pms.model.vo.Create
;
import
com.mmc.pms.model.vo.ProductSpecCPQVO
;
import
com.mmc.pms.model.vo.Update
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
...
...
@@ -42,4 +43,6 @@ public class ProductSpecVO implements Serializable {
@ApiModelProperty
(
value
=
"版本描述"
)
private
String
versionDesc
;
@ApiModelProperty
(
value
=
"价格配置信息"
)
private
ProductSpecCPQVO
productSpecCPQVO
;
}
src/main/java/com/mmc/pms/model/vo/GoodsAddVO.java
0 → 100644
浏览文件 @
cd53de73
package
com
.
mmc
.
pms
.
model
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* @Author LW
* @date 2022/10/14 11:30
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
GoodsAddVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7041502536618388167L
;
@ApiModelProperty
(
value
=
"id"
)
@NotNull
(
message
=
"新增时传商品类型:0:销售商品 1:租赁商品"
,
groups
=
{
Create
.
class
})
private
Integer
goodsType
;
@ApiModelProperty
(
value
=
"id"
)
@NotNull
(
message
=
"修改时id不能为空"
,
groups
=
{
Update
.
class
})
private
Integer
id
;
@ApiModelProperty
(
value
=
"商品图片"
)
@NotEmpty
(
message
=
"主图不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
List
<
GoodsImgVO
>
images
;
@ApiModelProperty
(
value
=
"商品视频"
)
private
String
goodsVideo
;
@ApiModelProperty
(
value
=
"商品名称"
)
@NotNull
(
message
=
"商品名称不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
String
goodsName
;
@ApiModelProperty
(
value
=
"商品详情"
)
private
GoodsDetailVO
goodsDetailVO
;
@ApiModelProperty
(
value
=
"所属目录"
)
@NotNull
(
message
=
"所属目录不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
Integer
directoryId
;
@ApiModelProperty
(
value
=
"一级分类id"
)
@NotNull
(
message
=
"分类不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
Integer
categoryByOne
;
@ApiModelProperty
(
value
=
"二级分类id"
)
private
Integer
categoryByTwo
;
@ApiModelProperty
(
value
=
"商品标签"
)
private
String
tag
;
@ApiModelProperty
(
value
=
"商品状态 0:下架 1:上架"
)
private
Integer
shelfStatus
;
@ApiModelProperty
(
value
=
"规格信息"
)
private
List
<
GoodsProdSpecVO
>
productSpec
;
@ApiModelProperty
(
value
=
"其他服务: 1:免费配送,2:专业飞手培训2日, 3:半年保修, 4:一年保修 "
)
private
List
<
Integer
>
otherService
;
}
src/main/java/com/mmc/pms/model/vo/GoodsDetailVO.java
浏览文件 @
cd53de73
...
...
@@ -14,24 +14,17 @@ import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
// @ApiModel(value = "com.mmc.csf.model.vo.GoodsDetailVO", description = "商品详情")
public
class
GoodsDetailVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
3842207843504795301L
;
private
static
final
long
serialVersionUID
=
-
3842207843504795301L
;
@ApiModelProperty
(
value
=
"商品描述 :70字内"
)
@Size
(
max
=
250
,
message
=
"商品描述不能超过250个字符"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
goodsDesc
;
@ApiModelProperty
(
value
=
"商品描述 :70字内"
)
@Size
(
max
=
250
,
message
=
"商品描述不能超过250个字符"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
goodsDesc
;
@ApiModelProperty
(
value
=
"产品介绍"
)
private
String
productDesc
;
@ApiModelProperty
(
value
=
"产品介绍"
)
private
String
productDesc
;
@ApiModelProperty
(
value
=
"商品备注:100字以内"
)
@Size
(
max
=
100
,
message
=
"商品备注不能超过100个字符"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
remark
;
@ApiModelProperty
(
value
=
"商品备注:100字以内"
)
@Size
(
max
=
100
,
message
=
"商品备注不能超过100个字符"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
remark
;
}
src/main/java/com/mmc/pms/model/vo/GoodsProdSpecVO.java
0 → 100644
浏览文件 @
cd53de73
package
com
.
mmc
.
pms
.
model
.
vo
;
import
com.mmc.pms.model.dto.ProductSpecVO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* @Author LW
* @date 2023/5/29 9:58
* 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
GoodsProdSpecVO
implements
Serializable
{
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"规格名称"
)
private
String
goodsSpecName
;
@ApiModelProperty
(
value
=
"产品类型id"
)
private
Integer
categoryId
;
@ApiModelProperty
(
value
=
"产品:自定义时此字段可不用填写"
)
private
Integer
skuId
;
@ApiModelProperty
(
value
=
"规格来源 0:获取 1:自定义"
)
private
Integer
flag
;
@ApiModelProperty
(
value
=
"产品名称(自定义的时候才需要传值)"
)
private
String
productName
;
@ApiModelProperty
(
value
=
"选项来源"
)
private
List
<
Integer
>
specIds
;
@ApiModelProperty
(
value
=
"选择方式"
)
private
Integer
chooseType
;
@ApiModelProperty
(
value
=
"规格单位"
)
private
Integer
skuUnitId
;
@ApiModelProperty
(
value
=
"是否必选"
)
private
Integer
must
;
@ApiModelProperty
(
value
=
"自定义规格的信息填充"
)
private
List
<
ProductSpecVO
>
customizeInfo
;
@ApiModelProperty
(
value
=
"删除的自定义规格id"
)
private
List
<
Integer
>
delProductSpecId
;
}
src/main/java/com/mmc/pms/model/vo/GoodsSpecVO.java
浏览文件 @
cd53de73
...
...
@@ -16,41 +16,41 @@ import java.util.List;
@NoArgsConstructor
@AllArgsConstructor
public
class
GoodsSpecVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
8681372139970849591L
;
private
static
final
long
serialVersionUID
=
-
8681372139970849591L
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"规格名称"
)
private
String
goodsSpecName
;
@ApiModelProperty
(
value
=
"规格名称"
)
private
String
goodsSpecName
;
@ApiModelProperty
(
value
=
"产品类型"
)
private
Integer
goodsTypeId
;
@ApiModelProperty
(
value
=
"产品类型"
)
private
Integer
goodsTypeId
;
@ApiModelProperty
(
value
=
"产品:自定义时此字段可不用填写"
)
private
Integer
skuId
;
@ApiModelProperty
(
value
=
"产品:自定义时此字段可不用填写"
)
private
Integer
skuId
;
@ApiModelProperty
(
value
=
"规格来源 0:获取 1:自定义"
)
private
Integer
flag
;
@ApiModelProperty
(
value
=
"规格来源 0:获取 1:自定义"
)
private
Integer
flag
;
@ApiModelProperty
(
value
=
"产品名称(自定义的时候才需要传值)"
)
private
String
productName
;
@ApiModelProperty
(
value
=
"产品名称(自定义的时候才需要传值)"
)
private
String
productName
;
@ApiModelProperty
(
value
=
"选项来源"
)
private
List
<
MallProductSpecVO
>
specIds
;
@ApiModelProperty
(
value
=
"选项来源"
)
private
List
<
MallProductSpecVO
>
specIds
;
@ApiModelProperty
(
value
=
"选择方式"
)
private
Integer
chooseType
;
@ApiModelProperty
(
value
=
"选择方式"
)
private
Integer
chooseType
;
@ApiModelProperty
(
value
=
"规格单位"
)
private
Integer
skuUnitId
;
@ApiModelProperty
(
value
=
"规格单位"
)
private
Integer
skuUnitId
;
@ApiModelProperty
(
value
=
"是否必选"
)
private
Integer
must
;
@ApiModelProperty
(
value
=
"是否必选"
)
private
Integer
must
;
@ApiModelProperty
(
value
=
"自定义的信息填充"
)
private
List
<
ProductSpecVO
>
customizeInfo
;
@ApiModelProperty
(
value
=
"自定义的信息填充"
)
private
List
<
ProductSpecVO
>
customizeInfo
;
@ApiModelProperty
(
value
=
"删除的自定义规格id"
)
private
List
<
Integer
>
delProductSpecId
;
@ApiModelProperty
(
value
=
"删除的自定义规格id"
)
private
List
<
Integer
>
delProductSpecId
;
}
src/main/java/com/mmc/pms/service/GoodsInfoService.java
0 → 100644
浏览文件 @
cd53de73
package
com
.
mmc
.
pms
.
service
;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.model.vo.GoodsAddVO
;
/**
* @author 23214
* @description 针对表【goods_info(商品基本信息)】的数据库操作Service
* @createDate 2023-05-27 14:08:45
*/
public
interface
GoodsInfoService
{
ResultBody
addGoods
(
GoodsAddVO
goodsAddVO
);
}
src/main/java/com/mmc/pms/service/Impl/GoodsInfoServiceImpl.java
0 → 100644
浏览文件 @
cd53de73
package
com
.
mmc
.
pms
.
service
.
Impl
;
import
com.mmc.pms.common.ResultBody
;
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.service.GoodsInfoService
;
import
com.mmc.pms.util.CodeUtil
;
import
com.mmc.pms.util.TDateUtil
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @author 23214
* @description 针对表【goods_info(商品基本信息)】的数据库操作Service实现
* @createDate 2023-05-27 14:08:45
*/
@Service
public
class
GoodsInfoServiceImpl
implements
GoodsInfoService
{
@Resource
private
GoodsInfoDao
goodsInfoDao
;
@Resource
private
ProductSkuDao
productSkuDao
;
@Resource
private
ProductSkuServiceImpl
productSkuService
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ResultBody
addGoods
(
GoodsAddVO
goodsAddVO
)
{
// 判断商品名称是否存在
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
);
}
String
YYYY_MM_DD_HH_MM_SS
=
"yyyyMMddHHmmss"
;
// 初始化商品对象,并构建对象
GoodsInfo
goodsInfo
=
new
GoodsInfo
(
goodsAddVO
);
goodsInfo
.
setGoodsNo
(
"IUAV"
+
TDateUtil
.
getDateStr
(
new
Date
(),
YYYY_MM_DD_HH_MM_SS
)
+
CodeUtil
.
getRandomNum
(
4
));
// 暂未接入用户默认传1
goodsInfo
.
setAddGoodsUserId
(
1
);
goodsInfo
.
setSort
(
goodsInfoDao
.
countGoodsInfo
()
+
1
);
// 插入商品基本信息
goodsInfoDao
.
insertGoodsInfo
(
goodsInfo
);
// 调用图片视频插入信息方法
addGoodsImageInfo
(
goodsInfo
.
getId
(),
goodsAddVO
);
// 调用商品详情信息方法
addGoodsDetail
(
goodsInfo
.
getId
(),
goodsAddVO
.
getGoodsDetailVO
());
// 判断其他服务是否为空,不为空则插入
if
(!
CollectionUtils
.
isEmpty
(
goodsAddVO
.
getOtherService
()))
{
addOtherService
(
goodsAddVO
.
getOtherService
(),
goodsInfo
.
getId
());
}
// 调用产品规格的新增方法
if
(!
goodsAddVO
.
getDirectoryId
().
equals
(
2
))
{
// 添加产品规格信息
productSkuSpecOperation
(
goodsInfo
,
goodsAddVO
.
getProductSpec
());
}
return
ResultBody
.
success
();
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
productSkuSpecOperation
(
GoodsInfo
goodsInfo
,
List
<
GoodsProdSpecVO
>
productSpec
)
{
// 遍历规格信息,获取其中非自定义的规格信息
List
<
GoodsProdSpecVO
>
customGoodsSpecList
=
productSpec
.
stream
().
filter
(
spec
->
spec
.
getFlag
().
equals
(
1
)).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isNotEmpty
(
customGoodsSpecList
))
{
addCustomization
(
goodsInfo
,
customGoodsSpecList
);
}
// 遍历规格信息,获取其中非自定义的规格信息
List
<
GoodsProdSpecVO
>
goodsSpecList
=
productSpec
.
stream
().
filter
(
spec
->
spec
.
getFlag
().
equals
(
0
)).
collect
(
Collectors
.
toList
());
for
(
GoodsProdSpecVO
goodsSpec
:
goodsSpecList
)
{
MallProdSkuInfoDO
mallProdSkuInfoDO
=
buildMallProdSkuInfo
(
goodsInfo
,
goodsSpec
,
goodsSpec
.
getSkuId
());
mallProdSkuInfoDO
.
setProductSpecIdList
(
goodsSpec
.
getSpecIds
().
stream
().
map
(
String:
:
valueOf
).
collect
(
Collectors
.
joining
(
","
)));
// 插入数据库商品对应的sku信息
productSkuDao
.
insertMallProdSkuInfo
(
mallProdSkuInfoDO
);
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
MallProdSkuInfoDO
buildMallProdSkuInfo
(
GoodsInfo
goodsInfo
,
GoodsProdSpecVO
goodsSpec
,
Integer
id
)
{
MallProdSkuInfoDO
mallProdSkuInfoDO
=
new
MallProdSkuInfoDO
();
mallProdSkuInfoDO
.
setGoodsInfoId
(
goodsInfo
.
getId
());
mallProdSkuInfoDO
.
setProdSkuId
(
id
);
mallProdSkuInfoDO
.
setProdSkuSpecName
(
goodsSpec
.
getGoodsSpecName
());
mallProdSkuInfoDO
.
setCategoryId
(
goodsSpec
.
getCategoryId
());
mallProdSkuInfoDO
.
setChooseType
(
goodsSpec
.
getChooseType
());
mallProdSkuInfoDO
.
setMust
(
goodsSpec
.
getMust
());
mallProdSkuInfoDO
.
setFlag
(
goodsSpec
.
getFlag
());
mallProdSkuInfoDO
.
setSkuUnitId
(
goodsSpec
.
getSkuUnitId
());
return
mallProdSkuInfoDO
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
addCustomization
(
GoodsInfo
goodsInfo
,
List
<
GoodsProdSpecVO
>
customGoodsSpecList
)
{
// 遍历自定义规格信息
for
(
GoodsProdSpecVO
productSpec
:
customGoodsSpecList
)
{
// 构建商品对应的sku信息
ProductSkuDO
productSkuDO
=
new
ProductSkuDO
().
setCategoriesId
(
productSpec
.
getCategoryId
())
.
setProductName
(
productSpec
.
getProductName
()).
setCustomize
(
1
)
.
setDirectoryId
(
goodsInfo
.
getDirectoryId
());
// 插入产品sku信息
productSkuDao
.
insertProductSku
(
productSkuDO
);
// 先将自定的信息存储到数据库中
List
<
ProductSpecDO
>
customizeSpec
=
productSpec
.
getCustomizeInfo
().
stream
().
map
(
param
->
{
ProductSpecDO
productSpecDO
=
new
ProductSpecDO
().
setProductSkuId
(
productSkuDO
.
getId
())
.
setVersionDesc
(
"自定义"
).
setSpecImage
(
param
.
getSpecImage
())
.
setSpecName
(
param
.
getSpecName
()).
setPartNo
(
param
.
getPartNo
());
// 新增产品sku
productSkuDao
.
insertProductSpec
(
productSpecDO
);
// 批量配置价格信息
ProductSpecCPQVO
productSpecCPQVO
=
param
.
getProductSpecCPQVO
();
if
(
productSpecCPQVO
!=
null
)
{
productSpecCPQVO
.
setProductSpecId
(
productSpecDO
.
getId
());
productSkuService
.
insertSpecPrice
(
productSpecCPQVO
);
}
return
productSpecDO
;
}).
collect
(
Collectors
.
toList
());
List
<
Integer
>
ids
=
customizeSpec
.
stream
().
map
(
ProductSpecDO:
:
getId
).
collect
(
Collectors
.
toList
());
MallProdSkuInfoDO
mallProdSkuInfoDO
=
buildMallProdSkuInfo
(
goodsInfo
,
productSpec
,
productSkuDO
.
getId
());
mallProdSkuInfoDO
.
setProductSpecIdList
(
ids
.
stream
().
map
(
String:
:
valueOf
).
collect
(
Collectors
.
joining
(
","
)));
// 插入数据库商品对应的sku信息
productSkuDao
.
insertMallProdSkuInfo
(
mallProdSkuInfoDO
);
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
addOtherService
(
List
<
Integer
>
otherService
,
Integer
goodsId
)
{
// 插入其他服务
List
<
GoodsServiceDO
>
otherList
=
otherService
.
stream
().
map
(
d
->
{
GoodsServiceDO
goodsServiceDO
=
new
GoodsServiceDO
();
goodsServiceDO
.
setGoodsInfoId
(
goodsId
);
goodsServiceDO
.
setSaleServiceId
(
d
);
return
goodsServiceDO
;
}).
collect
(
Collectors
.
toList
());
goodsInfoDao
.
insertGoodsService
(
otherList
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
addGoodsDetail
(
Integer
goodsId
,
GoodsDetailVO
goodsDetailVO
)
{
GoodsDetailDO
goodsDetailDO
=
new
GoodsDetailDO
(
goodsDetailVO
);
goodsDetailDO
.
setGoodsInfoId
(
goodsId
);
goodsInfoDao
.
insertGoodsDetail
(
goodsDetailDO
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
addGoodsImageInfo
(
Integer
goodsId
,
GoodsAddVO
goodsAddVO
)
{
List
<
GoodsImgDO
>
list
=
goodsAddVO
.
getImages
().
stream
().
map
(
d
->
{
GoodsImgDO
goodsImgDO
=
new
GoodsImgDO
(
d
);
goodsImgDO
.
setGoodsInfoId
(
goodsId
);
return
goodsImgDO
;
}).
collect
(
Collectors
.
toList
());
// 插入图片信息
goodsInfoDao
.
insertGoodsImgInfo
(
list
);
// 插入商品视频信息
if
(
goodsAddVO
.
getGoodsVideo
()
!=
null
)
{
GoodsVideoDO
goodsVideoDO
=
new
GoodsVideoDO
().
setGoodsInfoId
(
goodsId
).
setVideoUrl
(
goodsAddVO
.
getGoodsVideo
());
goodsInfoDao
.
insertVideoInfo
(
goodsVideoDO
);
}
}
}
src/main/java/com/mmc/pms/service/Impl/MiniProgramProductMallServiceImpl.java
浏览文件 @
cd53de73
...
...
@@ -4,7 +4,6 @@ import com.mmc.pms.common.ResultBody;
import
com.mmc.pms.common.ResultEnum
;
import
com.mmc.pms.dao.MiniProgramProductMallDao
;
import
com.mmc.pms.dao.WebDeviceDao
;
import
com.mmc.pms.entity.GoodsInfoDO
;
import
com.mmc.pms.entity.*
;
import
com.mmc.pms.model.dto.*
;
import
com.mmc.pms.model.qo.GoodsInfoQO
;
...
...
@@ -115,7 +114,7 @@ public class MiniProgramProductMallServiceImpl implements MiniProgramProductMall
.
setGoodsSpecName
(
d
.
getProdSkuSpecName
())
.
setSkuName
(
d
.
getProductSkuName
())
.
setBrandInfoId
(
d
.
getBrandInfoId
())
.
setGoodsTypeId
(
d
.
get
GoodsType
Id
())
.
setGoodsTypeId
(
d
.
get
Category
Id
())
.
setTypeName
(
d
.
getTypeName
())
.
setChooseType
(
d
.
getChooseType
())
.
setSkuUnitId
(
d
.
getSkuUnitId
())
...
...
src/main/java/com/mmc/pms/service/Impl/ProductSkuServiceImpl.java
浏览文件 @
cd53de73
...
...
@@ -165,7 +165,7 @@ public class ProductSkuServiceImpl implements ProductSkuService {
}
@NotNull
p
rivate
ResultBody
insertSpecPrice
(
ProductSpecCPQVO
productSpecCPQVO
)
{
p
ublic
ResultBody
insertSpecPrice
(
ProductSpecCPQVO
productSpecCPQVO
)
{
List
<
ProductSpecPriceDO
>
list
=
getProductSpecPriceDOS
(
productSpecCPQVO
);
// 批量插入规格销售价格
if
(
productSpecCPQVO
.
getType
().
equals
(
0
))
{
...
...
src/main/java/com/mmc/pms/util/CodeUtil.java
0 → 100644
浏览文件 @
cd53de73
package
com
.
mmc
.
pms
.
util
;
import
java.util.Random
;
/**
* @author 作者 geDuo
* @version 创建时间:2021年8月28日 下午3:17:24
* @explain 编号操作类
*/
public
class
CodeUtil
{
private
static
Random
random
=
new
Random
();
// 数据生成有位数字或字母的随机数
public
static
String
randomCode
(
int
num
)
{
// 0-61 9 9+26=35 35+26 =61 65-90 97-122
StringBuffer
sb
=
new
StringBuffer
();
for
(
int
i
=
0
;
i
<
num
;
i
++)
{
int
y
=
random
.
nextInt
(
62
);
if
(
y
<=
9
)
{
// 数值
sb
.
append
(
y
);
}
else
{
if
(
y
<=
35
)
{
// 大写字母
y
+=
55
;
}
else
{
// 小写字母
y
+=
61
;
}
sb
.
append
((
char
)
y
);
}
}
return
sb
.
toString
();
}
/**
* 生成随机数字
*
* @param length[生成随机数的长度]
* @return
*/
public
static
String
getRandomNum
(
int
length
)
{
StringBuffer
sb
=
new
StringBuffer
();
Random
random
=
new
Random
();
for
(
int
i
=
0
;
i
<
length
;
i
++)
{
sb
.
append
(
String
.
valueOf
(
random
.
nextInt
(
10
)));
}
return
sb
.
toString
();
}
/**
* 生成用户uid
*
* @return
*/
public
static
String
createUserUID
()
{
return
"UID"
+
CodeUtil
.
getRandomNum
(
7
);
}
/**
* 生成-现金流水账目no
*/
public
static
String
createPayCashNO
()
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"T"
);
sb
.
append
(
TDateUtil
.
getCurrentDateByType
(
"yyyyMMddHHmm"
));
sb
.
append
(
CodeUtil
.
getRandomNum
(
4
));
return
sb
.
toString
();
}
/**
* 生成-信用流水账目no
*/
public
static
String
createPayCreditNo
()
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"T"
);
sb
.
append
(
TDateUtil
.
getCurrentDateByType
(
"yyyyMMddHHmm"
));
sb
.
append
(
CodeUtil
.
getRandomNum
(
4
));
return
sb
.
toString
();
}
/**
* 生成-飞手工资流水账目no
*/
public
static
String
createPayWagNo
()
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"T"
);
sb
.
append
(
TDateUtil
.
getCurrentDateByType
(
"yyyyMMddHHmm"
));
sb
.
append
(
CodeUtil
.
getRandomNum
(
4
));
return
sb
.
toString
();
}
/**
* 生成订单no
*/
public
static
String
createOrderTaskNO
()
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"D"
);
sb
.
append
(
TDateUtil
.
getCurrentDateByType
(
"yyyyMMddHHmm"
));
sb
.
append
(
CodeUtil
.
getRandomNum
(
4
));
return
sb
.
toString
();
}
/**
* 生成-信用返利账目no
*/
public
static
String
createPayRebateNo
()
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"T"
);
sb
.
append
(
TDateUtil
.
getCurrentDateByType
(
"yyyyMMddHHmm"
));
sb
.
append
(
CodeUtil
.
getRandomNum
(
4
));
return
sb
.
toString
();
}
/**
* 生成行业no
*/
public
static
String
createIndustryNO
()
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"HY"
);
sb
.
append
(
TDateUtil
.
getCurrentDateByType
(
"yyyyMMddHHmm"
));
sb
.
append
(
CodeUtil
.
getRandomNum
(
4
));
return
sb
.
toString
();
}
/**
* 生成服务no
*/
public
static
String
createInspectionNO
()
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"FW"
);
sb
.
append
(
TDateUtil
.
getCurrentDateByType
(
"yyyyMMddHHmm"
));
sb
.
append
(
CodeUtil
.
getRandomNum
(
4
));
return
sb
.
toString
();
}
/**
* 生成服务no
*/
public
static
String
createRoleNo
()
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"JS"
);
sb
.
append
(
CodeUtil
.
getRandomNum
(
4
));
return
sb
.
toString
();
}
/**
* 生成商品编号
*
* @return
*/
public
static
String
createWareID
()
{
return
"ID"
+
CodeUtil
.
getRandomNum
(
10
);
}
/**
* 生成云仓订单编号
*/
public
static
String
createRepoOrderNo
()
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"R"
);
sb
.
append
(
TDateUtil
.
getCurrentDateByType
(
"yyyyMMddHHmm"
));
sb
.
append
(
CodeUtil
.
getRandomNum
(
4
));
return
sb
.
toString
();
}
/**
* 云仓现金流水
*/
public
static
String
createRepoCashNo
()
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"J"
);
sb
.
append
(
TDateUtil
.
getCurrentDateByType
(
"yyyyMMddHHmm"
));
sb
.
append
(
CodeUtil
.
getRandomNum
(
4
));
return
sb
.
toString
();
}
/**
* 生成商品编号
*
* @return
*/
public
static
String
createDeviceCode
()
{
return
"DC"
+
CodeUtil
.
getRandomNum
(
6
);
}
/**
* 云仓现金流水
*/
public
static
String
createOrderRefund
()
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"RD"
);
sb
.
append
(
TDateUtil
.
getCurrentDateByType
(
"yyyyMMddHHmm"
));
sb
.
append
(
CodeUtil
.
getRandomNum
(
4
));
return
sb
.
toString
();
}
/**
* 返祖订单号
*/
public
static
String
createShareOrderNo
()
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"GX"
);
sb
.
append
(
TDateUtil
.
getCurrentDateByType
(
"yyyyMMddHHmm"
));
sb
.
append
(
CodeUtil
.
getRandomNum
(
4
));
return
sb
.
toString
();
}
/**
* 型号编号
*/
public
static
String
createDeviceModelNo
()
{
return
"DM"
+
CodeUtil
.
getRandomNum
(
8
);
}
/**
* 仓库编号
*/
public
static
String
createRepoNo
()
{
return
"RN"
+
CodeUtil
.
getRandomNum
(
8
);
}
public
static
String
uavOrderCode
(
Long
id
)
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"UD"
);
sb
.
append
(
TDateUtil
.
getCurrentDateByType
(
"yyyyMMddHHmmss"
));
sb
.
append
(
CodeUtil
.
getRandomNum
(
4
));
return
sb
.
toString
();
}
/**
* 活动编号
*/
public
static
String
generateActivityNo
()
{
return
"AC"
+
CodeUtil
.
getRandomNum
(
5
);
}
}
src/main/resources/mapper/GoodsInfoDao.xml
0 → 100644
浏览文件 @
cd53de73
<?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.mmc.pms.dao.GoodsInfoDao"
>
<insert
id=
"insertGoodsInfo"
parameterType=
"com.mmc.pms.entity.GoodsInfo"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into goods_info(goods_no,
goods_name,
directory_id,
category_by_one,
category_by_two,
eco_label,
shelf_status,
sort,
goods_type,
add_goods_user_id)
values (#{goodsNo}, #{goodsName}, #{directoryId}, #{categoryByOne}, #{categoryByTwo}, #{ecoLabel},
#{shelfStatus}, #{sort}, #{goodsType}, #{addGoodsUserId})
</insert>
<insert
id=
"insertGoodsImgInfo"
>
insert into
goods_img
(goods_info_id,img_url,img_type)
values
<foreach
item=
"item"
index=
"index"
collection=
"list"
separator=
","
>
(
#{item.goodsInfoId},
#{item.imgUrl},
#{item.imgType}
)
</foreach>
</insert>
<insert
id=
"insertVideoInfo"
>
insert into goods_video
(goods_info_id, video_url)
values (#{goodsInfoId}, #{videoUrl})
</insert>
<insert
id=
"insertGoodsDetail"
>
insert into goods_detail (goods_info_id, goods_desc, content, remark)
values (#{goodsInfoId}, #{goodsDesc}, #{content}, #{remark})
</insert>
<insert
id=
"insertGoodsService"
>
insert into
goods_service
(goods_info_id,sale_service_id)
values
<foreach
item=
"item"
index=
"index"
collection=
"list"
separator=
","
>
(
#{item.goodsInfoId},
#{item.saleServiceId}
)
</foreach>
</insert>
<select
id=
"countGoodsInfoByName"
resultType=
"java.lang.Integer"
>
select count(*)
from goods_info
where is_deleted = 0
and goods_name = #{goodsName}
<if
test=
"id!=null and id!=''"
>
and id
<![CDATA[<>]]>
#{id}
</if>
</select>
<select
id=
"countGoodsInfo"
resultType=
"java.lang.Integer"
>
select count(*)
from goods_info
</select>
</mapper>
src/main/resources/mapper/ProductSkuDao.xml
浏览文件 @
cd53de73
...
...
@@ -3,11 +3,13 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.mmc.pms.dao.ProductSkuDao"
>
<insert
id=
"insertProductSku"
>
<insert
id=
"insertProductSku"
parameterType=
"com.mmc.pms.entity.ProductSkuDO"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into product_sku (product_name, categories_id, model, brand_info_id, directory_id)
values (#{productName}, #{categoriesId}, #{model}, #{brandInfoId}, #{directoryId})
</insert>
<insert
id=
"insertProductSpec"
>
<insert
id=
"insertProductSpec"
keyProperty=
"id"
useGeneratedKeys=
"true"
parameterType=
"com.mmc.pms.entity.ProductSpecDO"
>
insert into product_spec (product_sku_id, spec_name, spec_image, part_no, version_desc)
values (#{productSkuId}, #{specName}, #{specImage}, #{partNo}, #{versionDesc})
</insert>
...
...
@@ -26,6 +28,12 @@
(#{item.productSpecId},#{item.cooperationTag},#{item.price},#{item.type},#{item.leaseTerm})
</foreach>
</insert>
<insert
id=
"insertMallProdSkuInfo"
>
insert into mall_prod_sku_info (goods_info_id, prod_sku_id, prod_sku_spec_name, category_id, choose_type,
sku_unit_id, is_must, product_spec_id_list, flag)
values (#{goodsInfoId}, #{prodSkuId}, #{prodSkuSpecName}, #{categoryId}, #{chooseType}, #{skuUnitId}, #{must},
#{productSpecIdList}, #{flag})
</insert>
<update
id=
"updateProductSku"
>
update product_sku
set product_name = #{productName},
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论