Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
pms-ci-test
Commits
92587869
提交
92587869
authored
6月 07, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改:商品新增
上级
5636b32c
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
25 个修改的文件
包含
604 行增加
和
31 行删除
+604
-31
BackstageGoodsManageController.java
...om/mmc/pms/controller/BackstageGoodsManageController.java
+28
-3
GoodsInfoDao.java
src/main/java/com/mmc/pms/dao/GoodsInfoDao.java
+14
-0
IndustrySpecDao.java
src/main/java/com/mmc/pms/dao/IndustrySpecDao.java
+2
-1
ProductDao.java
src/main/java/com/mmc/pms/dao/ProductDao.java
+18
-1
GoodsInfo.java
src/main/java/com/mmc/pms/entity/GoodsInfo.java
+2
-0
IndustrySku.java
src/main/java/com/mmc/pms/entity/IndustrySku.java
+1
-1
MallGoodsSpecInfoDO.java
src/main/java/com/mmc/pms/entity/MallGoodsSpecInfoDO.java
+23
-0
SkuSpecDO.java
src/main/java/com/mmc/pms/entity/SkuSpecDO.java
+23
-0
MallGoodsShopCarDTO.java
src/main/java/com/mmc/pms/model/dto/MallGoodsShopCarDTO.java
+58
-0
MallProductSpecPriceDTO.java
...n/java/com/mmc/pms/model/dto/MallProductSpecPriceDTO.java
+31
-0
MallSkuInfoSpecDTO.java
src/main/java/com/mmc/pms/model/dto/MallSkuInfoSpecDTO.java
+36
-0
OrderGoodsIndstDTO.java
src/main/java/com/mmc/pms/model/dto/OrderGoodsIndstDTO.java
+60
-0
OrderGoodsProdDTO.java
src/main/java/com/mmc/pms/model/dto/OrderGoodsProdDTO.java
+64
-0
ProductSkuDTO.java
src/main/java/com/mmc/pms/model/dto/ProductSkuDTO.java
+4
-0
MallOrderGoodsInfoQO.java
src/main/java/com/mmc/pms/model/qo/MallOrderGoodsInfoQO.java
+28
-0
ProductSpecPriceQO.java
src/main/java/com/mmc/pms/model/qo/ProductSpecPriceQO.java
+29
-0
GoodsProdSpecVO.java
src/main/java/com/mmc/pms/model/vo/GoodsProdSpecVO.java
+1
-1
IndustrySkuVO.java
src/main/java/com/mmc/pms/model/vo/IndustrySkuVO.java
+2
-0
GoodsInfoService.java
src/main/java/com/mmc/pms/service/GoodsInfoService.java
+12
-1
GoodsInfoServiceImpl.java
...n/java/com/mmc/pms/service/Impl/GoodsInfoServiceImpl.java
+0
-0
ProductServiceImpl.java
...ain/java/com/mmc/pms/service/Impl/ProductServiceImpl.java
+29
-6
CategoriesDao.xml
src/main/resources/mapper/CategoriesDao.xml
+1
-1
GoodsInfoDao.xml
src/main/resources/mapper/GoodsInfoDao.xml
+57
-3
IndustrySpecDao.xml
src/main/resources/mapper/IndustrySpecDao.xml
+11
-9
ProductDao.xml
src/main/resources/mapper/ProductDao.xml
+70
-4
没有找到文件。
src/main/java/com/mmc/pms/controller/BackstageGoodsManageController.java
浏览文件 @
92587869
package
com
.
mmc
.
pms
.
controller
;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.model.dto.
MallGoodsDetailDTO
;
import
com.mmc.pms.model.
dto.SkuUnitDT
O
;
import
com.mmc.pms.model.dto.
*
;
import
com.mmc.pms.model.
qo.ProductSpecPriceQ
O
;
import
com.mmc.pms.model.vo.Create
;
import
com.mmc.pms.model.vo.GoodsAddVO
;
import
com.mmc.pms.model.vo.Update
;
...
...
@@ -10,8 +10,10 @@ import com.mmc.pms.service.GoodsInfoService;
import
io.swagger.annotations.*
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
springfox.documentation.annotations.ApiIgnore
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* @Author LW
...
...
@@ -52,6 +54,29 @@ public class BackstageGoodsManageController {
public
ResultBody
getSkuUnit
()
{
return
goodsInfoService
.
getSkuUnit
();
}
@ApiOperation
(
value
=
"根据购物车信息填充未知信息"
)
@ApiIgnore
@PostMapping
(
"fillGoodsInfo"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
MallGoodsShopCarDTO
.
class
)})
public
List
<
MallGoodsShopCarDTO
>
fillGoodsInfo
(
@RequestBody
List
<
MallGoodsShopCarDTO
>
param
)
{
return
goodsInfoService
.
fillGoodsInfo
(
param
);
}
@ApiOperation
(
value
=
"根据渠道等级和产品规格id获取对应价格"
)
@ApiIgnore
@PostMapping
(
"feignListProductSpecPrice"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
List
<
MallProductSpecPriceDTO
>
feignListProductSpecPrice
(
@RequestBody
ProductSpecPriceQO
productSpecPriceQO
)
{
return
goodsInfoService
.
feignListProductSpecPrice
(
productSpecPriceQO
);
}
@ApiOperation
(
value
=
"feign根据渠道等级获取单价信息"
)
@GetMapping
(
"feignGetUnitPriceByTag"
)
@ApiIgnore
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ProductSpecPriceDTO
.
class
)})
public
ProductSpecPriceDTO
feignGetUnitPriceByTag
(
@RequestParam
(
value
=
"specId"
)
Integer
specId
,
@RequestParam
(
value
=
"tagId"
)
Integer
tagId
)
{
return
goodsInfoService
.
feignGetUnitPriceByTag
(
specId
,
tagId
);
}
}
src/main/java/com/mmc/pms/dao/GoodsInfoDao.java
浏览文件 @
92587869
...
...
@@ -3,8 +3,10 @@ package com.mmc.pms.dao;
import
com.mmc.pms.entity.*
;
import
com.mmc.pms.model.vo.GoodsAddVO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
java.util.Set
;
/**
* @author 23214
...
...
@@ -63,6 +65,18 @@ public interface GoodsInfoDao {
List
<
SkuUnitDO
>
getSkuUnit
();
List
<
GoodsInfo
>
listSimpleGoodsInfoByIds
(
@Param
(
"ids"
)
Set
<
Integer
>
ids
);
void
insertMallProdSkuInfo
(
MallProdInfoDO
mallProdSkuInfoDO
);
void
insertMallProdSkuInfoSpec
(
MallProdSkuInfoSpecDO
mallProdSkuInfoSpecDO
);
void
batchUpdateMallProSpec
(
@Param
(
"list"
)
List
<
Integer
>
list
,
@Param
(
"id"
)
Integer
id
);
List
<
MallProdSkuInfoSpecDO
>
listMallProdSpecInfo
(
List
<
Integer
>
mallSkuIds
);
void
batchUpdateMallProdSpec
(
List
<
Integer
>
delSpecId
);
}
...
...
src/main/java/com/mmc/pms/dao/IndustrySpecDao.java
浏览文件 @
92587869
...
...
@@ -53,7 +53,7 @@ public interface IndustrySpecDao {
void
deleteIndustryProductInventory
(
Integer
id
);
int
countListPageIndustrySpec
(
Integer
i
ndustrySkuI
d
,
String
keyword
);
int
countListPageIndustrySpec
(
Integer
id
,
String
keyword
);
List
<
IndustrySpecDO
>
listPageIndustrySpec
(
int
i
,
Integer
pageSize
,
Integer
industrySkuId
,
String
keyword
);
...
...
@@ -95,4 +95,5 @@ public interface IndustrySpecDao {
void
removeIndustrySpec
(
Integer
id
);
List
<
MallIndustrySkuInfoSpecDO
>
getIndustrySkuInfoSpec
(
Integer
goodsInfoId
);
}
src/main/java/com/mmc/pms/dao/ProductDao.java
浏览文件 @
92587869
...
...
@@ -2,6 +2,7 @@ package com.mmc.pms.dao;
import
com.mmc.pms.entity.*
;
import
com.mmc.pms.model.dto.ProductSkuVO
;
import
com.mmc.pms.model.dto.ProductSpecPriceDTO
;
import
com.mmc.pms.model.dto.ProductSpecVO
;
import
com.mmc.pms.model.qo.ProductSkuQO
;
import
com.mmc.pms.model.vo.PriceAcquisition
;
...
...
@@ -48,7 +49,7 @@ public interface ProductDao {
int
countListPageProductSpec
(
Integer
productSkuId
);
List
<
ProductSpecDO
>
listPageProductSpec
(
int
i
,
Integer
pageSize
,
Integer
productSkuId
);
List
<
ProductSpecDO
>
listPageProductSpec
(
int
pageNo
,
Integer
pageSize
,
Integer
productSkuId
);
int
batchInsertSpecPrice
(
List
<
ProductSpecPriceDO
>
list
);
...
...
@@ -87,6 +88,22 @@ public interface ProductDao {
BigDecimal
feignGetUnitPriceByTag
(
PriceAcquisition
priceAcquisition
);
List
<
MallGoodsSpecInfoDO
>
listProdSpecInfo
(
@Param
(
"prodIds"
)
Set
<
Integer
>
prodIds
);
/**
* 根据渠道等级、商品specId获取price信息
*
* @param tagInfoId
* @param prodSkuSpecIds
* @return
*/
List
<
ProductSpecPriceDO
>
listProductSpecPrice
(
Integer
tagInfoId
,
Set
<
Integer
>
prodSkuSpecIds
);
ProductSpecPriceDTO
feignGetUnitPrice
(
Integer
id
,
Integer
tagId
);
List
<
ProductSpecDO
>
getProductSpecList
(
List
<
Integer
>
productSkuIds
);
List
<
MallProdSkuInfoSpecDO
>
getProductSpecByIds
(
List
<
Integer
>
delProductSpecId
);
}
...
...
src/main/java/com/mmc/pms/entity/GoodsInfo.java
浏览文件 @
92587869
...
...
@@ -52,6 +52,8 @@ public class GoodsInfo implements Serializable {
private
String
videoUrl
;
private
String
mainImg
;
private
static
final
long
serialVersionUID
=
1L
;
public
GoodsInfo
(
GoodsAddVO
goodsAddVO
)
{
...
...
src/main/java/com/mmc/pms/entity/IndustrySku.java
浏览文件 @
92587869
...
...
@@ -46,7 +46,7 @@ public class IndustrySku implements Serializable {
public
IndustrySkuVO
buildIndustrySku
()
{
return
IndustrySkuVO
.
builder
().
id
(
this
.
id
).
description
(
this
.
description
)
.
categoryId
(
this
.
categoriesId
).
solutionName
(
this
.
solutionName
).
build
();
.
categoryId
(
this
.
categoriesId
).
categoryName
(
typeName
).
solutionName
(
this
.
solutionName
).
build
();
}
public
IndustrySkuDTO
buildIndustrySkuDTO
()
{
...
...
src/main/java/com/mmc/pms/entity/MallGoodsSpecInfoDO.java
0 → 100644
浏览文件 @
92587869
package
com
.
mmc
.
pms
.
entity
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* author:zhenjie
* Date:2022/10/15
* time:20:52
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
MallGoodsSpecInfoDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7264365143820916901L
;
private
Integer
id
;
private
Integer
sortTypeId
;
private
List
<
SkuSpecDO
>
skuSpecDOList
;
}
src/main/java/com/mmc/pms/entity/SkuSpecDO.java
0 → 100644
浏览文件 @
92587869
package
com
.
mmc
.
pms
.
entity
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* author:zhenjie
* Date:2022/10/15
* time:20:55
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
SkuSpecDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7601558723724855293L
;
private
Integer
id
;
private
Integer
specDeleted
;
private
Integer
skuSpecDeleted
;
private
String
specName
;
}
src/main/java/com/mmc/pms/model/dto/MallGoodsShopCarDTO.java
0 → 100644
浏览文件 @
92587869
package
com
.
mmc
.
pms
.
model
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* author:zhenjie
* Date:2022/10/11
* time:14:54
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
value
=
"com.mmc.csf.mall.dto.MallGoodsShopCarDTO"
,
description
=
"小程序购物车列表DTO"
)
public
class
MallGoodsShopCarDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
766856809957374985L
;
@ApiModelProperty
(
"id"
)
private
Integer
id
;
@ApiModelProperty
(
"用户id"
)
private
Integer
mallUserId
;
@ApiModelProperty
(
"商品id"
)
private
Integer
goodsInfoId
;
@ApiModelProperty
(
"购买数量"
)
private
Integer
buyNum
;
@ApiModelProperty
(
"0:待下单 1:已下单"
)
private
Integer
saleStatus
;
@ApiModelProperty
(
"推荐人id"
)
private
Integer
recMallUserId
;
@ApiModelProperty
(
"备注"
)
private
String
remark
;
@ApiModelProperty
(
"是否删除"
)
private
Integer
deleted
;
@ApiModelProperty
(
"生成时间"
)
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
createTime
;
//区分产品或者行业
@ApiModelProperty
(
"区分产品或者行业"
)
private
Integer
directoryId
;
@ApiModelProperty
(
"商品名称"
)
private
String
goodsName
;
@ApiModelProperty
(
"商品主图"
)
private
String
mainImg
;
@ApiModelProperty
(
"状态:0:下架 1:上架"
)
private
Integer
shelfStatus
;
@ApiModelProperty
(
"商品产品规格信息"
)
private
List
<
MallSkuInfoSpecDTO
>
skuList
;
}
src/main/java/com/mmc/pms/model/dto/MallProductSpecPriceDTO.java
0 → 100644
浏览文件 @
92587869
package
com
.
mmc
.
pms
.
model
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* author:zhenjie
* Date:2022/11/9
* time:17:17
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
value
=
"com.mmc.csf.mall.dto.MallProductSpecPriceDTO"
,
description
=
"产品对应价格"
)
public
class
MallProductSpecPriceDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
4717398210156973205L
;
@ApiModelProperty
(
value
=
"产品规格id"
)
private
Integer
productSpecId
;
@ApiModelProperty
(
value
=
"合作价格"
)
private
BigDecimal
opPrice
;
@ApiModelProperty
(
value
=
"市场价格"
)
private
BigDecimal
mkPrice
;
}
src/main/java/com/mmc/pms/model/dto/MallSkuInfoSpecDTO.java
0 → 100644
浏览文件 @
92587869
package
com
.
mmc
.
pms
.
model
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* author:zhenjie
* Date:2022/10/11
* time:15:03
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
value
=
"com.mmc.csf.mall.dto.MallSkuInfoSpecDTO"
,
description
=
"商品规格DTO"
)
public
class
MallSkuInfoSpecDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
4214771967767248990L
;
@ApiModelProperty
(
"id"
)
private
Integer
id
;
@ApiModelProperty
(
"商品最小规格id"
)
private
Integer
mallSkuInfoSpecId
;
private
Integer
deleted
;
private
Boolean
valid
;
private
Date
createTime
;
@ApiModelProperty
(
"产品或者行业规格名称"
)
private
String
specName
;
}
src/main/java/com/mmc/pms/model/dto/OrderGoodsIndstDTO.java
0 → 100644
浏览文件 @
92587869
package
com
.
mmc
.
pms
.
model
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
/**
* author:zhenjie
* Date:2022/10/21
* time:17:40
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
value
=
"com.mmc.csf.mall.dto.OrderGoodsIndstDTO"
,
description
=
"行业订单DTO"
)
public
class
OrderGoodsIndstDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1809741999941834440L
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"订单id"
)
private
Long
orderId
;
@ApiModelProperty
(
value
=
"购物车id"
)
private
Integer
mallIndstShopCarId
;
@ApiModelProperty
(
value
=
"商品id"
)
private
Integer
goodsInfoId
;
@ApiModelProperty
(
value
=
"商品所属类型id"
)
private
Integer
sortTypeId
;
@ApiModelProperty
(
value
=
"商品所有规格金额"
)
private
BigDecimal
goodsAmount
;
@ApiModelProperty
(
value
=
"商品编号"
)
private
String
goodsNo
;
@ApiModelProperty
(
value
=
"商品名称"
)
private
String
goodsName
;
@ApiModelProperty
(
value
=
"商品主图"
)
private
String
mainImg
;
@ApiModelProperty
(
value
=
"购买数量"
)
private
Integer
buyNum
;
@ApiModelProperty
(
value
=
"生成时间"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"更新时间"
)
private
Date
updateTime
;
@ApiModelProperty
(
value
=
"是否有效"
)
private
Boolean
valid
;
//
// @ApiModelProperty(value = "行业订单规格")
// private List<OrderGoodsIndstDetailDTO> orderGoodsIndstDetailDTOS;
@ApiModelProperty
(
"商品服务列表"
)
private
List
<
GoodsServiceDTO
>
services
;
}
src/main/java/com/mmc/pms/model/dto/OrderGoodsProdDTO.java
0 → 100644
浏览文件 @
92587869
package
com
.
mmc
.
pms
.
model
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
/**
* author:zhenjie
* Date:2022/10/19
* time:15:26
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
value
=
"com.mmc.csf.mall.dto.OrderGoodsProdDTO"
,
description
=
"订单商品sku信息DTO"
)
public
class
OrderGoodsProdDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
2066849435828937057L
;
@ApiModelProperty
(
value
=
"orderGoodsProdId"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"订单id"
)
private
Long
orderId
;
@ApiModelProperty
(
value
=
"产品购物车id"
)
private
Integer
mallProdShopCarId
;
@ApiModelProperty
(
value
=
"商品id"
)
private
Integer
goodsInfoId
;
@ApiModelProperty
(
value
=
"商品所属类型"
)
private
Integer
sortTypeId
;
@ApiModelProperty
(
value
=
"全部sku金额"
)
private
BigDecimal
goodsAmount
;
@ApiModelProperty
(
value
=
"商品编号"
)
private
String
goodsNo
;
@ApiModelProperty
(
value
=
"商品名称"
)
private
String
goodsName
;
@ApiModelProperty
(
value
=
"商品主图"
)
private
String
mainImg
;
@ApiModelProperty
(
value
=
"购买数量"
)
private
Integer
buyNum
;
@ApiModelProperty
(
value
=
"生成时间"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"更新时间"
)
private
Date
updateTime
;
@ApiModelProperty
(
value
=
"是否有效"
)
private
Boolean
valid
;
@ApiModelProperty
(
value
=
"是否上架"
)
private
Integer
shelfStatus
;
@ApiModelProperty
(
value
=
"是否删除"
)
private
Integer
deleted
;
@ApiModelProperty
(
"商品服务列表"
)
private
List
<
GoodsServiceDTO
>
services
;
// @ApiModelProperty(value = "订单详情")
// private List<OrderGoodsProdDetailDTO> orderGoodsProdDetailDTOS;
}
src/main/java/com/mmc/pms/model/dto/ProductSkuDTO.java
浏览文件 @
92587869
...
...
@@ -8,6 +8,7 @@ import lombok.NoArgsConstructor;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* @Author small @Date 2023/5/16 16:29 @Version 1.0
...
...
@@ -48,4 +49,7 @@ public class ProductSkuDTO implements Serializable {
@ApiModelProperty
(
value
=
"目录名称"
)
private
String
directoryName
;
@ApiModelProperty
(
value
=
"产品规格信息对象"
)
private
List
<
ProductSpecDTO
>
productSpecList
;
}
src/main/java/com/mmc/pms/model/qo/MallOrderGoodsInfoQO.java
0 → 100644
浏览文件 @
92587869
package
com
.
mmc
.
pms
.
model
.
qo
;
import
io.swagger.annotations.ApiModel
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Set
;
/**
* author:zhenjie
* Date:2022/10/18
* time:21:45
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
value
=
"com.mmc.csf.mall.qo.MallOrderGoodsInfoQO"
,
description
=
"订单查询商品信息QO"
)
public
class
MallOrderGoodsInfoQO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
3807569067697485137L
;
private
Integer
mallUserId
;
private
Integer
channelClass
;
private
Set
<
Integer
>
mallProdSkuSpecIds
;
private
Set
<
Integer
>
mallIndstSkuSpecIds
;
}
src/main/java/com/mmc/pms/model/qo/ProductSpecPriceQO.java
0 → 100644
浏览文件 @
92587869
package
com
.
mmc
.
pms
.
model
.
qo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* author:zhenjie
* Date:2022/11/10
* time:11:13
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
value
=
"com.mmc.csf.model.qo.ProductSpecPriceQO"
,
description
=
"无人机城产品规格价格QO"
)
public
class
ProductSpecPriceQO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
8086345532713123505L
;
@ApiModelProperty
(
"用户id"
)
private
Integer
mallUserId
;
@ApiModelProperty
(
"渠道等级标签"
)
private
Integer
channelClass
;
@ApiModelProperty
(
"产品规格id"
)
private
List
<
Integer
>
productSpecIds
;
}
src/main/java/com/mmc/pms/model/vo/GoodsProdSpecVO.java
浏览文件 @
92587869
...
...
@@ -38,7 +38,7 @@ public class GoodsProdSpecVO implements Serializable {
private
String
productName
;
@ApiModelProperty
(
value
=
"选项来源"
)
private
List
<
Integer
>
specIds
;
private
List
<
MallProductSpecVO
>
specIds
;
@ApiModelProperty
(
value
=
"选择方式"
)
private
Integer
chooseType
;
...
...
src/main/java/com/mmc/pms/model/vo/IndustrySkuVO.java
浏览文件 @
92587869
...
...
@@ -29,6 +29,8 @@ public class IndustrySkuVO implements Serializable {
@NotNull
(
message
=
"行业分类id不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
@ApiModelProperty
(
value
=
"所属行业分类id"
)
private
Integer
categoryId
;
@ApiModelProperty
(
value
=
"行业名称"
)
private
String
categoryName
;
@ApiModelProperty
(
value
=
"描述"
)
private
String
description
;
}
src/main/java/com/mmc/pms/service/GoodsInfoService.java
浏览文件 @
92587869
package
com
.
mmc
.
pms
.
service
;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.model.dto.MallGoodsShopCarDTO
;
import
com.mmc.pms.model.dto.MallProductSpecPriceDTO
;
import
com.mmc.pms.model.dto.ProductSpecPriceDTO
;
import
com.mmc.pms.model.qo.ProductSpecPriceQO
;
import
com.mmc.pms.model.vo.GoodsAddVO
;
import
java.util.List
;
/**
* @author 23214
* @description 针对表【goods_info(商品基本信息)】的数据库操作Service
...
...
@@ -17,5 +23,10 @@ public interface GoodsInfoService {
ResultBody
getGoodsInfoDetail
(
Integer
goodsInfoId
);
ResultBody
getSkuUnit
();
List
<
MallGoodsShopCarDTO
>
fillGoodsInfo
(
List
<
MallGoodsShopCarDTO
>
param
);
List
<
MallProductSpecPriceDTO
>
feignListProductSpecPrice
(
ProductSpecPriceQO
productSpecPriceQO
);
ProductSpecPriceDTO
feignGetUnitPriceByTag
(
Integer
specId
,
Integer
tagId
);
}
src/main/java/com/mmc/pms/service/Impl/GoodsInfoServiceImpl.java
浏览文件 @
92587869
差异被折叠。
点击展开。
src/main/java/com/mmc/pms/service/Impl/ProductServiceImpl.java
浏览文件 @
92587869
...
...
@@ -14,11 +14,10 @@ import com.mmc.pms.service.ProductSkuService;
import
org.jetbrains.annotations.NotNull
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -84,7 +83,20 @@ public class ProductServiceImpl implements ProductSkuService {
Integer
pageNo
=
productSkuQO
.
getPageNo
();
productSkuQO
.
buildCurrentPage
();
List
<
ProductSkuDO
>
productSkuList
=
productDao
.
listPageProductSku
(
productSkuQO
);
List
<
ProductSkuDTO
>
list
=
productSkuList
.
stream
().
map
(
ProductSkuDO:
:
buildProductSkuDTO
).
collect
(
Collectors
.
toList
());
List
<
Integer
>
productSkuIds
=
productSkuList
.
stream
().
map
(
ProductSkuDO:
:
getId
).
collect
(
Collectors
.
toList
());
List
<
ProductSpecDO
>
productSpecList
=
productDao
.
getProductSpecList
(
productSkuIds
);
Map
<
Integer
,
List
<
ProductSpecDO
>>
productSpecMap
=
productSpecList
.
stream
().
collect
(
Collectors
.
groupingBy
(
ProductSpecDO:
:
getProductSkuId
));
List
<
ProductSkuDTO
>
list
=
productSkuList
.
stream
()
.
map
(
ProductSkuDO:
:
buildProductSkuDTO
)
.
collect
(
Collectors
.
toList
());
list
.
stream
().
peek
(
d
->
{
List
<
ProductSpecDO
>
productSpecDOS
=
productSpecMap
.
get
(
d
.
getId
());
if
(
CollectionUtils
.
isEmpty
(
productSpecDOS
))
{
d
.
setProductSpecList
(
null
);
}
else
{
d
.
setProductSpecList
(
productSpecDOS
.
stream
().
map
(
ProductSpecDO:
:
buildProductSpecDTO
).
collect
(
Collectors
.
toList
()));
}
}).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
productSkuQO
.
getPageSize
(),
count
,
list
));
}
...
...
@@ -250,8 +262,19 @@ public class ProductServiceImpl implements ProductSkuService {
@Override
public
BigDecimal
feignGetUnitPriceByTag
(
PriceAcquisition
priceAcquisition
)
{
BigDecimal
price
=
productDao
.
feignGetUnitPriceByTag
(
priceAcquisition
);
return
price
==
null
?
null
:
price
;
Map
<
Integer
,
Integer
>
dayMap
=
new
HashMap
<>();
dayMap
.
put
(
0
,
7
);
dayMap
.
put
(
8
,
15
);
dayMap
.
put
(
16
,
30
);
dayMap
.
put
(
31
,
Integer
.
MAX_VALUE
);
Integer
dayRange
=
dayMap
.
entrySet
().
stream
()
.
filter
(
entry
->
priceAcquisition
.
getDay
()
<=
entry
.
getKey
())
.
findFirst
()
.
map
(
Map
.
Entry
::
getValue
)
.
orElseThrow
(()
->
new
RuntimeException
(
"租赁期限错误错误!"
));
priceAcquisition
.
setDay
(
dayRange
);
return
productDao
.
feignGetUnitPriceByTag
(
priceAcquisition
);
}
}
...
...
src/main/resources/mapper/CategoriesDao.xml
浏览文件 @
92587869
...
...
@@ -153,6 +153,6 @@
FROM categories
WHERE is_deleted = 0
AND directory_id = #{directoryId}
AND
type
= #{type}
AND
`type`
= #{type}
</select>
</mapper>
src/main/resources/mapper/GoodsInfoDao.xml
浏览文件 @
92587869
...
...
@@ -63,6 +63,17 @@
insert into mall_industry_sku_info_spec(mall_industry_sku_info_id, industry_spec_id, goods_info_id)
values (#{mallIndustrySkuInfoId}, #{industrySpecId}, #{goodsInfoId})
</insert>
<insert
id=
"insertMallProdSkuInfo"
parameterType=
"com.mmc.pms.entity.MallProdInfoDO"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into mall_prod_sku_info (goods_info_id, product_id, prod_sku_spec_name, categories_id, choose_type,
sku_unit_id, is_must, flag)
values (#{goodsInfoId}, #{prodSkuId}, #{prodSkuSpecName}, #{categoriesId}, #{chooseType}, #{skuUnitId}, #{must},
#{flag}) >
</insert>
<insert
id=
"insertMallProdSkuInfoSpec"
>
insert into mall_prod_info_spec (goods_info_id, mall_prod_info_id, product_spec_id)
values (#{goodsInfoId}, #{mallProdSkuInfoId}, #{productSpecId})
</insert>
<update
id=
"updateGoodsInfo"
>
update goods_info
...
...
@@ -108,15 +119,30 @@
prod_spec_name = #{d.prodSkuSpecName},
choose_type = #{d.chooseType},
sku_unit_id = #{d.skuUnitId},
is_must = #{d.must},
product_spec_id_list = #{d.productSpecIdList},
before_update_spec = #{d.beforeUpdateSpec}
is_must = #{d.must}
</set>
<where>
id = #{d.id}
</where>
</foreach>
</update>
<update
id=
"batchUpdateMallProSpec"
>
<foreach
collection=
"list"
separator=
";"
item=
"d"
>
update mall_prod_sku_info_spec
set is_deleted = 1
where mall_prod_info_id = #{d}
and goods_info_id =#{id}
and is_deleted = 0
</foreach>
</update>
<update
id=
"batchUpdateMallProdSpec"
>
<foreach
collection=
"list"
item=
"d"
separator=
";"
>
update mall_prod_info_spec
set is_deleted = 1
where id = #{d}
and is_deleted = 0
</foreach>
</update>
<delete
id=
"deleteGoodsServiceByGoodsId"
>
delete
from goods_service
...
...
@@ -229,4 +255,32 @@
FROM sku_unit
WHERE is_deleted = 0
</select>
<select
id=
"listSimpleGoodsInfoByIds"
resultType=
"com.mmc.pms.entity.GoodsInfo"
>
SELECT
gi.id,
gi.shelf_status,
img.img_url as mainImg,
gi.goods_name,
gi.directory_id
FROM
goods_info gi
LEFT JOIN goods_img img ON img.goods_info_id = gi.id
AND img.is_deleted = 0 AND img.img_type = 0
<where>
<if
test=
"ids != null"
>
<foreach
collection=
"ids"
item=
"id"
open=
"and gi.id in ("
close=
")"
index=
"index"
separator=
","
>
#{id}
</foreach>
</if>
</where>
</select>
<select
id=
"listMallProdSpecInfo"
resultType=
"com.mmc.pms.entity.MallProdSkuInfoSpecDO"
>
select id, goods_info_id goodsInfoId, mall_prod_info_id mallProdSkuInfoId, product_spec_id productSpecId
from mall_prod_info_spec
where mall_prod_info_id in
<foreach
collection=
"list"
separator=
","
item=
"d"
open=
"("
close=
")"
index=
"index"
>
#{d}
</foreach>
and is_deleted = 0
</select>
</mapper>
src/main/resources/mapper/IndustrySpecDao.xml
浏览文件 @
92587869
...
...
@@ -142,13 +142,15 @@
and is_deleted = 0
</select>
<select
id=
"getIndustrySkuById"
resultType=
"com.mmc.pms.entity.IndustrySku"
>
SELECT id,
solution_name,
categories_id,
description,
create_time
FROM industry_sku
WHERE id = #{id}
SELECT ins.id,
ins.solution_name,
ins.categories_id,
ins.description,
ins.create_time,
c.`name` typeName
FROM industry_sku ins
INNER JOIN categories c ON ins.categories_id = c.id
WHERE ins.id = #{id}
</select>
<select
id=
"countListPageIndustrySku"
resultType=
"java.lang.Integer"
>
select count(*) from industry_sku
...
...
@@ -157,7 +159,7 @@
<if
test=
"solutionName != null and solutionName != ''"
>
and solution_name like CONCAT('%',#{solutionName},'%')
</if>
<if
test=
"
goodsType
Id != null"
>
<if
test=
"
category
Id != null"
>
and categories_id like CONCAT('%',#{categoryId},'%')
</if>
</where>
...
...
@@ -169,7 +171,7 @@
ps.categories_id,
ps.description,
ps.create_time,
c.
type_
name typeName
c.name typeName
FROM
industry_sku ps
INNER JOIN categories c ON ps.categories_id = c.id
...
...
src/main/resources/mapper/ProductDao.xml
浏览文件 @
92587869
...
...
@@ -28,11 +28,12 @@
(#{item.productSpecId},#{item.cooperationTag},#{item.price},#{item.type},#{item.leaseTerm})
</foreach>
</insert>
<insert
id=
"insertMallProdSkuInfo"
>
<insert
id=
"insertMallProdSkuInfo"
parameterType=
"com.mmc.pms.entity.MallProdInfoDO"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into mall_prod_info (goods_info_id, prod_sku_id, prod_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})
#{flag})
</insert>
<update
id=
"updateProductSku"
>
update product
...
...
@@ -119,7 +120,6 @@
</select>
<select
id=
"listPageProductSku"
resultType=
"com.mmc.pms.entity.ProductSkuDO"
>
SELECT
SELECT
ps.id,
ps.product_name,
ps.model,
...
...
@@ -137,7 +137,7 @@
LEFT JOIN brand_info bi ON ps.brand_info_id = bi.id
<where>
ps.is_deleted = 0
and
is_
customize
<![CDATA[<>]]>
1
and customize
<![CDATA[<>]]>
1
<if
test=
"productName != null and productName != ''"
>
and ps.product_name like CONCAT ('%',#{productName},'%')
</if>
...
...
@@ -323,5 +323,71 @@
from product_spec_price
where product_spec_id = #{specsId}
and cooperation_tag = #{channelLevelId}
and `type` = 1
and lease_term = #{day}
</select>
<select
id=
"listProdSpecInfo"
resultType=
"com.mmc.pms.entity.MallGoodsSpecInfoDO"
>
SELECT
gi.id, gi.directory_id, mpsip.id as mallSkuInfoSpecId, mpsip.is_deleted as sku_spec_deleted, ps.spec_name,
ps.is_deleted as spec_deleted
FROM
goods_info gi
INNER JOIN mall_prod_sku_info mpsi ON gi.id = mpsi.goods_info_id
INNER JOIN mall_prod_sku_info_spec mpsip ON mpsi.id = mpsip.mall_prod_sku_info_id
INNER JOIN product_spec ps ON ps.id = mpsip.product_spec_id
<where>
mpsip.id in (
<if
test=
"prodIds != null"
>
<foreach
collection=
"prodIds"
item=
"id"
index=
"index"
separator=
","
>
#{id}
</foreach>
</if>
)
</where>
</select>
<select
id=
"listProductSpecPrice"
resultType=
"com.mmc.pms.entity.ProductSpecPriceDO"
>
SELECT
psp.id,
psp.product_spec_id,
psp.cooperation_tag,
psp.price
FROM
product_spec_price psp
where psp.cooperation_tag = #{tagInfoId} and psp.product_spec_id in (
<foreach
collection=
"prodSkuSpecIds"
item=
"id"
index=
"index"
separator=
","
>
#{id}
</foreach>
)
</select>
<select
id=
"feignGetUnitPrice"
resultType=
"com.mmc.pms.model.dto.ProductSpecPriceDTO"
>
select price
from product_spec_price
where product_spec_id = #{id}
and tag_info_id = #{tagId}
</select>
<select
id=
"getProductSpecList"
resultType=
"com.mmc.pms.entity.ProductSpecDO"
>
SELECT
id,
product_id productSkuId,
spec_name specName,
spec_image specImage,
part_no partNo,
version_desc versionDesc
FROM
product_spec
WHERE
product_id in
<foreach
collection=
"list"
item=
"item"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
</select>
<select
id=
"getProductSpecByIds"
resultType=
"com.mmc.pms.entity.MallProdSkuInfoSpecDO"
>
select id, goods_info_id goodsInfoId, mall_prod_info_id mallProdSkuInfoId, product_spec_id productSpecId
from mall_prod_sku_info_spec
where id in
<foreach
collection=
"list"
separator=
","
item=
"d"
open=
"("
close=
")"
index=
"index"
>
#{d}
</foreach>
and is_deleted = 0
</select>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论