Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pms
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
pms
Commits
262bfee5
提交
262bfee5
authored
6月 09, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增:租赁设备列表条件查询
上级
e15f88ea
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
795 行增加
和
624 行删除
+795
-624
BackstageProductSpecController.java
...om/mmc/pms/controller/BackstageProductSpecController.java
+124
-115
LeaseGoodsController.java
...a/com/mmc/pms/controller/common/LeaseGoodsController.java
+16
-11
ProductDao.java
src/main/java/com/mmc/pms/dao/ProductDao.java
+53
-54
LeaseGoodsDetailDTO.java
...java/com/mmc/pms/model/lease/dto/LeaseGoodsDetailDTO.java
+70
-0
ProductSpecDTO.java
src/main/java/com/mmc/pms/model/sale/dto/ProductSpecDTO.java
+19
-15
ProductServiceImpl.java
...ain/java/com/mmc/pms/service/Impl/ProductServiceImpl.java
+248
-224
WebDeviceServiceImpl.java
...n/java/com/mmc/pms/service/Impl/WebDeviceServiceImpl.java
+210
-173
ProductSkuService.java
src/main/java/com/mmc/pms/service/ProductSkuService.java
+15
-15
ProductDao.xml
src/main/resources/mapper/ProductDao.xml
+35
-12
WebDeviceDao.xml
src/main/resources/mapper/WebDeviceDao.xml
+3
-5
not-check.yml
src/main/resources/not-check.yml
+2
-0
没有找到文件。
src/main/java/com/mmc/pms/controller/BackstageProductSpecController.java
浏览文件 @
262bfee5
...
...
@@ -17,124 +17,133 @@ import java.math.BigDecimal;
/**
* @Author LW
*
@date 2022/9/22 10:28
* 概要:
*
*
@date 2022/9/22 10:28
概要:
*/
@RestController
@RequestMapping
(
"/product/spec/"
)
@Api
(
tags
=
{
"产品管理模块-相关接口"
})
public
class
BackstageProductSpecController
{
@Autowired
private
ProductSkuService
productSkuService
;
@ApiOperation
(
value
=
"新增产品sku"
)
@PostMapping
(
"addProductSku"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
ResultBody
addProductSku
(
@Validated
(
Create
.
class
)
@ApiParam
(
"产品skuVO"
)
@RequestBody
ProductSkuVO
param
)
{
return
productSkuService
.
addProductSku
(
param
);
}
@ApiOperation
(
value
=
"产品sku详情"
)
@GetMapping
(
"getProductSkuDetail"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ProductSkuDTO
.
class
)})
public
ResultBody
getProductSkuDetail
(
@ApiParam
(
"id"
)
@RequestParam
(
value
=
"id"
)
Integer
id
)
{
return
productSkuService
.
getProductSkuDetail
(
id
);
}
@ApiOperation
(
value
=
"编辑产品sku"
)
@PostMapping
(
"editProductSku"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
ResultBody
editProductSku
(
@Validated
(
Update
.
class
)
@ApiParam
(
"产品skuVO"
)
@RequestBody
ProductSkuVO
param
)
{
return
productSkuService
.
editProductSku
(
param
);
}
@ApiOperation
(
value
=
"产品sku分页列表"
)
@PostMapping
(
"listPageProductSku"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ProductSkuDTO
.
class
)})
public
ResultBody
listPageProductSku
(
@ApiParam
(
"条件参数"
)
@RequestBody
ProductSkuQO
productSkuQO
)
{
return
productSkuService
.
listPageProductSku
(
productSkuQO
);
}
@ApiOperation
(
value
=
"删除产品sku"
)
@GetMapping
(
"removeProductSku"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
ResultBody
removeProductSku
(
@ApiParam
(
"id"
)
@RequestParam
(
value
=
"id"
)
Integer
id
)
{
return
productSkuService
.
removeProductSku
(
id
);
}
@ApiOperation
(
value
=
"新增or修改产品规格"
)
@PostMapping
(
"addOrEditProductSpec"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
ResultBody
addOrEditProductSpec
(
@Validated
({
Create
.
class
,
Update
.
class
})
@ApiParam
(
"产品规格VO"
)
@RequestBody
ProductSpecVO
param
)
{
return
productSkuService
.
addOrEditProductSpec
(
param
);
}
@ApiOperation
(
value
=
"产品规格编辑回显"
)
@GetMapping
(
"getProductSpecDetail"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ProductSpecDTO
.
class
)})
public
ResultBody
getProductSpecDetail
(
@ApiParam
(
"id"
)
@RequestParam
(
value
=
"id"
)
Integer
id
)
{
return
productSkuService
.
getProductSpecDetail
(
id
);
}
@ApiOperation
(
value
=
"产品规格分页列表"
)
@GetMapping
(
"listPageProductSpec"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ProductSpecDTO
.
class
)})
public
ResultBody
listPageProductSpec
(
@ApiParam
(
value
=
"页码"
)
@RequestParam
(
value
=
"pageNo"
)
Integer
pageNo
,
@ApiParam
(
value
=
"每页显示数"
)
@RequestParam
(
value
=
"pageSize"
)
Integer
pageSize
,
@ApiParam
(
value
=
"产品skuId"
)
@RequestParam
(
value
=
"productSkuId"
)
Integer
productSkuId
)
{
return
productSkuService
.
listPageProductSpec
(
pageNo
,
pageSize
,
productSkuId
);
}
@ApiOperation
(
value
=
"产品规格管理-价格配置"
)
@PostMapping
(
"productSpecCPQ"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
ResultBody
productSpecCPQ
(
@RequestBody
ProductSpecCPQVO
productSpecCPQVO
)
{
return
productSkuService
.
productSpecCPQ
(
productSpecCPQVO
);
}
@ApiOperation
(
value
=
"价格配置信息的修改"
)
@PostMapping
(
"updateProductSpecCPQ"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
ResultBody
updateProductSpecCPQ
(
@RequestBody
ProductSpecCPQVO
productSpecCPQVO
)
{
return
productSkuService
.
updateProductSpecCPQ
(
productSpecCPQVO
);
}
@ApiOperation
(
value
=
"产品规格管理---获取价格配置信息"
)
@PostMapping
(
"getProductSpecCPQ"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ProductSpecPriceDTO
.
class
)})
public
ResultBody
getProductSpecCPQ
(
@RequestBody
ProductSpecCPQVO
productSpecCPQVO
)
{
return
productSkuService
.
getProductSpecCPQ
(
productSpecCPQVO
);
}
//
// @ApiOperation(value = "价格配置信息--恢复全局默认设置")
// @GetMapping("getDefaultSettings")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ProductSpecPriceDTO.class)})
// public ResultBody getDefaultSettings(@ApiParam(value = "规格id") @RequestParam(value = "productSpecId") Integer productSpecId) {
// return productSpecService.getDefaultSettings(productSpecId);
// }
//
@ApiOperation
(
value
=
"产品规格管理---删除规格"
)
@GetMapping
(
"removeProductSpec"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
RemoveSkuDTO
.
class
)})
public
ResultBody
removeProductSpec
(
@ApiParam
(
"id"
)
@RequestParam
(
value
=
"id"
)
Integer
id
)
{
return
productSkuService
.
removeProductSpec
(
id
);
}
//
// @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 productSpecService.feignGetUnitPriceByTag(specId,tagId);
// }
@ApiOperation
(
value
=
"feign根据渠道等级获取单价信息"
)
@PostMapping
(
"feignGetSpecLeaseUnitPrice"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
BigDecimal
feignGetUnitPriceByTag
(
@RequestBody
PriceAcquisition
priceAcquisition
)
{
return
productSkuService
.
feignGetUnitPriceByTag
(
priceAcquisition
);
}
@Autowired
private
ProductSkuService
productSkuService
;
@ApiOperation
(
value
=
"新增产品sku"
)
@PostMapping
(
"addProductSku"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
ResultBody
addProductSku
(
@Validated
(
Create
.
class
)
@ApiParam
(
"产品skuVO"
)
@RequestBody
ProductSkuVO
param
)
{
return
productSkuService
.
addProductSku
(
param
);
}
@ApiOperation
(
value
=
"产品sku详情"
)
@GetMapping
(
"getProductSkuDetail"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ProductSkuDTO
.
class
)})
public
ResultBody
getProductSkuDetail
(
@ApiParam
(
"id"
)
@RequestParam
(
value
=
"id"
)
Integer
id
)
{
return
productSkuService
.
getProductSkuDetail
(
id
);
}
@ApiOperation
(
value
=
"编辑产品sku"
)
@PostMapping
(
"editProductSku"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
ResultBody
editProductSku
(
@Validated
(
Update
.
class
)
@ApiParam
(
"产品skuVO"
)
@RequestBody
ProductSkuVO
param
)
{
return
productSkuService
.
editProductSku
(
param
);
}
@ApiOperation
(
value
=
"产品sku分页列表"
)
@PostMapping
(
"listPageProductSku"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ProductSkuDTO
.
class
)})
public
ResultBody
listPageProductSku
(
@ApiParam
(
"条件参数"
)
@RequestBody
ProductSkuQO
productSkuQO
)
{
return
productSkuService
.
listPageProductSku
(
productSkuQO
);
}
@ApiOperation
(
value
=
"删除产品sku"
)
@GetMapping
(
"removeProductSku"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
ResultBody
removeProductSku
(
@ApiParam
(
"id"
)
@RequestParam
(
value
=
"id"
)
Integer
id
)
{
return
productSkuService
.
removeProductSku
(
id
);
}
@ApiOperation
(
value
=
"新增or修改产品规格"
)
@PostMapping
(
"addOrEditProductSpec"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
ResultBody
addOrEditProductSpec
(
@Validated
({
Create
.
class
,
Update
.
class
})
@ApiParam
(
"产品规格VO"
)
@RequestBody
ProductSpecVO
param
)
{
return
productSkuService
.
addOrEditProductSpec
(
param
);
}
@ApiOperation
(
value
=
"产品规格编辑回显"
)
@GetMapping
(
"getProductSpecDetail"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ProductSpecDTO
.
class
)})
public
ResultBody
getProductSpecDetail
(
@ApiParam
(
"id"
)
@RequestParam
(
value
=
"id"
)
Integer
id
)
{
return
productSkuService
.
getProductSpecDetail
(
id
);
}
@ApiOperation
(
value
=
"产品规格分页列表"
)
@GetMapping
(
"listPageProductSpec"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ProductSpecDTO
.
class
)})
public
ResultBody
listPageProductSpec
(
@ApiParam
(
value
=
"页码"
)
@RequestParam
(
value
=
"pageNo"
)
Integer
pageNo
,
@ApiParam
(
value
=
"每页显示数"
)
@RequestParam
(
value
=
"pageSize"
)
Integer
pageSize
,
@ApiParam
(
value
=
"产品skuId"
)
@RequestParam
(
value
=
"productSkuId"
)
Integer
productSkuId
,
@ApiParam
(
value
=
"关键字"
)
@RequestParam
(
value
=
"keyword"
,
required
=
false
)
String
keyword
)
{
return
productSkuService
.
listPageProductSpec
(
pageNo
,
pageSize
,
productSkuId
,
keyword
);
}
@ApiOperation
(
value
=
"产品规格管理-价格配置"
)
@PostMapping
(
"productSpecCPQ"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
ResultBody
productSpecCPQ
(
@RequestBody
ProductSpecCPQVO
productSpecCPQVO
)
{
return
productSkuService
.
productSpecCPQ
(
productSpecCPQVO
);
}
@ApiOperation
(
value
=
"价格配置信息的修改"
)
@PostMapping
(
"updateProductSpecCPQ"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
ResultBody
updateProductSpecCPQ
(
@RequestBody
ProductSpecCPQVO
productSpecCPQVO
)
{
return
productSkuService
.
updateProductSpecCPQ
(
productSpecCPQVO
);
}
@ApiOperation
(
value
=
"产品规格管理---获取价格配置信息"
)
@PostMapping
(
"getProductSpecCPQ"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ProductSpecPriceDTO
.
class
)})
public
ResultBody
getProductSpecCPQ
(
@RequestBody
ProductSpecCPQVO
productSpecCPQVO
)
{
return
productSkuService
.
getProductSpecCPQ
(
productSpecCPQVO
);
}
//
// @ApiOperation(value = "价格配置信息--恢复全局默认设置")
// @GetMapping("getDefaultSettings")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response =
// ProductSpecPriceDTO.class)})
// public ResultBody getDefaultSettings(@ApiParam(value = "规格id") @RequestParam(value =
// "productSpecId") Integer productSpecId) {
// return productSpecService.getDefaultSettings(productSpecId);
// }
//
@ApiOperation
(
value
=
"产品规格管理---删除规格"
)
@GetMapping
(
"removeProductSpec"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
RemoveSkuDTO
.
class
)})
public
ResultBody
removeProductSpec
(
@ApiParam
(
"id"
)
@RequestParam
(
value
=
"id"
)
Integer
id
)
{
return
productSkuService
.
removeProductSpec
(
id
);
}
//
// @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 productSpecService.feignGetUnitPriceByTag(specId,tagId);
// }
@ApiOperation
(
value
=
"feign根据渠道等级获取单价信息"
)
@PostMapping
(
"feignGetSpecLeaseUnitPrice"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
BigDecimal
feignGetUnitPriceByTag
(
@RequestBody
PriceAcquisition
priceAcquisition
)
{
return
productSkuService
.
feignGetUnitPriceByTag
(
priceAcquisition
);
}
}
src/main/java/com/mmc/pms/controller/
mini/Mini
LeaseGoodsController.java
→
src/main/java/com/mmc/pms/controller/
common/
LeaseGoodsController.java
浏览文件 @
262bfee5
package
com
.
mmc
.
pms
.
controller
.
mini
;
package
com
.
mmc
.
pms
.
controller
.
common
;
import
com.mmc.pms.common.Page
;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.constant.TokenConstant
;
import
com.mmc.pms.controller.BaseController
;
import
com.mmc.pms.model.lease.dto.LeaseGoodsInfoDTO
;
import
com.mmc.pms.model.qo.WareInfoQO
;
...
...
@@ -21,20 +22,24 @@ import javax.servlet.http.HttpServletRequest;
/**
* @Author LW
*
@date 2023/6/8 17:16
* 概要:
*
*
@date 2023/6/8 17:16
概要:
*/
@Api
(
tags
=
{
"v1.0.1-设备租赁-相关接口"
})
@RestController
@RequestMapping
(
"/lease/goods"
)
public
class
MiniLeaseGoodsController
extends
BaseController
{
@Autowired
private
WebDeviceService
webDeviceService
;
public
class
LeaseGoodsController
extends
BaseController
{
@Autowired
private
WebDeviceService
webDeviceService
;
@ApiOperation
(
value
=
"设备列表筛选"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
LeaseGoodsInfoDTO
.
class
)})
@PostMapping
(
"/deviceList"
)
public
ResultBody
listWareInfoPage
(
@RequestBody
@Validated
(
Page
.
class
)
WareInfoQO
param
,
HttpServletRequest
request
)
{
return
webDeviceService
.
listWareInfoPage
(
param
,
request
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
());
@ApiOperation
(
value
=
"设备列表筛选"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
LeaseGoodsInfoDTO
.
class
)})
@PostMapping
(
"/deviceList"
)
public
ResultBody
listWareInfoPage
(
@RequestBody
@Validated
(
Page
.
class
)
WareInfoQO
param
,
HttpServletRequest
request
)
{
if
(
request
.
getHeader
(
TokenConstant
.
TOKEN
)
==
null
)
{
return
webDeviceService
.
listWareInfoPage
(
param
,
null
,
null
);
}
return
webDeviceService
.
listWareInfoPage
(
param
,
request
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
());
}
}
src/main/java/com/mmc/pms/dao/ProductDao.java
浏览文件 @
262bfee5
...
...
@@ -19,102 +19,101 @@ import java.util.Set;
/**
* @author 23214
* @description 针对表【product_sku(产品sku表)】的数据库操作Mapper
* @createDate 2023-05-25 14:55:56
* @Entity com.mmc.pms.entity.ProductSku
* @createDate 2023-05-25 14:55:56 @Entity com.mmc.pms.entity.ProductSku
*/
@Mapper
public
interface
ProductDao
{
int
countSkuName
(
ProductSkuVO
param
);
int
countSkuName
(
ProductSkuVO
param
);
int
insertProductSku
(
ProductSkuDO
productSkuDO
);
int
insertProductSku
(
ProductSkuDO
productSkuDO
);
int
countSkuIsExist
(
Integer
id
);
int
countSkuIsExist
(
Integer
id
);
ProductSkuDO
getProductSkuDetail
(
Integer
id
);
ProductSkuDO
getProductSkuDetail
(
Integer
id
);
int
updateProductSku
(
ProductSkuDO
productSkuDO
);
int
updateProductSku
(
ProductSkuDO
productSkuDO
);
int
countListPageProductSku
(
ProductSkuQO
productSkuQO
);
int
countListPageProductSku
(
ProductSkuQO
productSkuQO
);
List
<
ProductSkuDO
>
listPageProductSku
(
ProductSkuQO
productSkuQO
);
List
<
ProductSkuDO
>
listPageProductSku
(
ProductSkuQO
productSkuQO
);
int
countSpecName
(
ProductSpecVO
param
);
int
countSpecName
(
ProductSpecVO
param
);
int
insertProductSpec
(
ProductSpecDO
productSpecDO
);
int
insertProductSpec
(
ProductSpecDO
productSpecDO
);
int
updateProductSpec
(
ProductSpecDO
productSpecDO
);
int
updateProductSpec
(
ProductSpecDO
productSpecDO
);
int
countSpecIsExist
(
Integer
id
);
int
countSpecIsExist
(
Integer
id
);
ProductSpecDO
getProductSpecDetail
(
Integer
id
);
ProductSpecDO
getProductSpecDetail
(
Integer
id
);
int
countListPageProductSpec
(
Integer
productSkuI
d
);
int
countListPageProductSpec
(
@Param
(
"id"
)
Integer
id
,
@Param
(
"keyword"
)
String
keywor
d
);
List
<
ProductSpecDO
>
listPageProductSpec
(
int
pageNo
,
Integer
pageSize
,
Integer
productSkuId
);
List
<
ProductSpecDO
>
listPageProductSpec
(
@Param
(
value
=
"pageNo"
)
Integer
pageNo
,
@Param
(
value
=
"pageSize"
)
Integer
pageSize
,
@Param
(
value
=
"productSkuId"
)
Integer
productSkuId
,
@Param
(
value
=
"keyword"
)
String
keyword
);
int
batchInsertSpecPrice
(
List
<
ProductSpecPriceDO
>
list
);
int
batchInsertSpecPrice
(
List
<
ProductSpecPriceDO
>
list
);
void
batchInsertLeaseSpecPrice
(
List
<
ProductSpecPriceDO
>
list
);
void
batchInsertLeaseSpecPrice
(
List
<
ProductSpecPriceDO
>
list
);
void
removeProductSpecCPQ
(
ProductSpecCPQVO
productSpecCPQVO
);
void
removeProductSpecCPQ
(
ProductSpecCPQVO
productSpecCPQVO
);
List
<
ProductSpecPriceDO
>
getProductSpecPrice
(
ProductSpecCPQVO
productSpecCPQVO
);
List
<
ProductSpecPriceDO
>
getProductSpecPrice
(
ProductSpecCPQVO
productSpecCPQV
O
);
void
insertMallProdSkuInfo
(
MallProdInfoDO
mallProdInfoD
O
);
void
insertMallProdSkuInfo
(
MallProdInfoDO
mallProdInfoDO
);
List
<
ProductSpecDO
>
listProductSpec
(
Integer
id
);
List
<
ProductSpecDO
>
listProductSpec
(
Integer
i
d
);
List
<
ProductSkuDO
>
listProductSkuDO
(
List
<
Integer
>
productSkuI
d
);
List
<
ProductSkuDO
>
listProductSkuDO
(
List
<
Integer
>
productSkuId
);
List
<
InventorySpecDO
>
listInventorySpecInfo
(
List
<
Integer
>
industryProductInventoryIds
);
List
<
InventorySpecDO
>
listInventorySpecInfo
(
List
<
Integer
>
industryProductInventory
Ids
);
List
<
ProductSpecDO
>
listProductSpecInfo
(
List
<
Integer
>
productSpec
Ids
);
List
<
ProductSpecDO
>
listProductSpecInfo
(
List
<
Integer
>
productSpecIds
);
void
batchUpdateMallProdSpec
(
List
<
Integer
>
delProductSpecId
);
void
batchUpdateMallProdSpec
(
List
<
Integer
>
delProductSpecI
d
);
int
countProductSpecByBrandId
(
Integer
i
d
);
int
countProductSpecByBrand
Id
(
Integer
id
);
int
countSpecByProdSku
Id
(
Integer
id
);
int
countSpecByProdSkuId
(
Integer
id
);
void
removeProductSku
(
Integer
id
);
void
removeProductSku
(
Integer
id
);
List
<
MallProdInfoDO
>
listMallProdInfo
(
String
id
);
List
<
MallProdInfoDO
>
listMallProdInfo
(
String
id
);
void
removeProductSpec
(
Integer
id
);
void
removeProductSpec
(
Integer
id
);
List
<
IndustrySpecDO
>
listIndustrySpec
(
@Param
(
"industrySpecIds"
)
Set
<
Integer
>
industrySpecIds
);
List
<
IndustrySpecDO
>
listIndustrySpec
(
@Param
(
"industrySpecIds"
)
Set
<
Integer
>
industrySpecIds
);
List
<
InventorySpecDO
>
listInventorySpec
(
Integer
id
);
List
<
InventorySpecDO
>
listInventorySpec
(
Integer
id
);
BigDecimal
feignGetUnitPriceByTag
(
PriceAcquisition
priceAcquisition
);
BigDecimal
feignGetUnitPriceByTag
(
PriceAcquisition
priceAcquisition
);
List
<
MallGoodsSpecInfoDO
>
listProdSpecInfo
(
@Param
(
"prodIds"
)
Set
<
Integer
>
prodIds
);
List
<
MallGoodsSpecInfoDO
>
listProdSpecInfo
(
@Param
(
"prodIds"
)
Set
<
Integer
>
prodIds
);
/**
* 根据渠道等级、商品specId获取price信息
*
* @param tagInfoId
* @param prodSkuSpecIds
* @return
*/
List
<
ProductSpecPriceDO
>
listProductSpecPrice
(
Integer
tagInfoId
,
Set
<
Integer
>
prodSkuSpecIds
);
/**
* 根据渠道等级、商品specId获取price信息
*
* @param tagInfoId
* @param prodSkuSpecIds
* @return
*/
List
<
ProductSpecPriceDO
>
listProductSpecPrice
(
Integer
tagInfoId
,
Set
<
Integer
>
prodSkuSpecIds
);
ProductSpecPriceDTO
feignGetUnitPrice
(
Integer
id
,
Integer
tagId
);
ProductSpecPriceDTO
feignGetUnitPrice
(
Integer
id
,
Integer
tagId
);
List
<
ProductSpecDO
>
getProductSpecList
(
List
<
Integer
>
productSkuIds
);
List
<
ProductSpecDO
>
getProductSpecList
(
List
<
Integer
>
productSkuIds
);
List
<
MallProdSkuInfoSpecDO
>
getProductSpecByIds
(
List
<
Integer
>
delProductSpecId
);
List
<
MallProdSkuInfoSpecDO
>
getProductSpecByIds
(
List
<
Integer
>
delProductSpecId
);
Set
<
Integer
>
listProductSpecIds
(
@Param
(
"mallProdSkuSpecIds"
)
Set
<
Integer
>
mallProdSkuSpecIds
);
Set
<
Integer
>
listProductSpecIds
(
@Param
(
"mallProdSkuSpecIds"
)
Set
<
Integer
>
mallProdSkuSpecIds
);
List
<
OrderGoodsProdDTO
>
listProdGoodsSkuInfo
(
MallOrderGoodsInfoQO
mallOrderGoodsInfoQO
);
List
<
OrderGoodsProdDTO
>
listProdGoodsSkuInfo
(
MallOrderGoodsInfoQO
mallOrderGoodsInfoQO
);
List
<
MallProdSkuInfoSpecDO
>
listMallProductSpec
(
Integer
id
);
List
<
MallProdSkuInfoSpecDO
>
listMallProductSpec
(
Integer
id
);
List
<
ProductSpecPriceDO
>
getProductSpecPriceList
(
List
<
Integer
>
specIds
);
}
src/main/java/com/mmc/pms/model/lease/dto/LeaseGoodsDetailDTO.java
0 → 100644
浏览文件 @
262bfee5
package
com
.
mmc
.
pms
.
model
.
lease
.
dto
;
import
com.mmc.pms.model.sale.dto.GoodsDetailInfoDTO
;
import
com.mmc.pms.model.sale.dto.GoodsImgDTO
;
import
com.mmc.pms.model.sale.dto.GoodsOtherServiceDTO
;
import
com.mmc.pms.model.sale.dto.GoodsSpecDTO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* @Author LW
*
* @date 2022/11/8 15:57 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors
(
chain
=
true
)
public
class
LeaseGoodsDetailDTO
implements
Serializable
{
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"pid"
)
private
Integer
pid
;
@ApiModelProperty
(
value
=
"商品名称"
)
private
String
goodsName
;
@ApiModelProperty
(
value
=
"云享飞服务id"
)
private
Integer
shareFlyServiceId
;
@ApiModelProperty
(
value
=
"云仓配件id"
)
private
Integer
repoId
;
@ApiModelProperty
(
value
=
"规格信息"
)
private
List
<
GoodsSpecDTO
>
goodsSpec
;
@ApiModelProperty
(
value
=
"商品图片"
)
private
List
<
GoodsImgDTO
>
images
;
@ApiModelProperty
(
value
=
"商品视频"
)
private
String
goodsVideo
;
@ApiModelProperty
(
value
=
"商品视频id"
)
private
Integer
goodsVideoId
;
@ApiModelProperty
(
value
=
"商品详情"
)
private
GoodsDetailInfoDTO
goodsDetail
;
@ApiModelProperty
(
value
=
"所属目录"
)
private
Integer
sortTypeId
;
@ApiModelProperty
(
value
=
"一级分类id"
)
private
Integer
categoryByOne
;
@ApiModelProperty
(
value
=
"二级分类id"
)
private
Integer
categoryByTwo
;
@ApiModelProperty
(
value
=
"商品标签"
)
private
String
tag
;
@ApiModelProperty
(
value
=
"其他服务: 1:免费配送,2:专业飞手培训2日, 3:半年保修, 4:一年保修 "
)
private
List
<
GoodsOtherServiceDTO
>
otherService
;
}
src/main/java/com/mmc/pms/model/sale/dto/ProductSpecDTO.java
浏览文件 @
262bfee5
...
...
@@ -9,6 +9,7 @@ import lombok.experimental.Accessors;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* @Author small @Date 2023/5/16 15:30 @Version 1.0
...
...
@@ -19,26 +20,29 @@ import java.util.Date;
@Builder
@Accessors
public
class
ProductSpecDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
2681122778843398310L
;
private
static
final
long
serialVersionUID
=
-
2681122778843398310L
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"productSkuId"
)
private
Integer
productSkuId
;
@ApiModelProperty
(
value
=
"productSkuId"
)
private
Integer
productSkuId
;
@ApiModelProperty
(
value
=
"规格名称"
)
private
String
specName
;
@ApiModelProperty
(
value
=
"规格名称"
)
private
String
specName
;
@ApiModelProperty
(
value
=
"规格图片"
)
private
String
specImage
;
@ApiModelProperty
(
value
=
"规格图片"
)
private
String
specImage
;
@ApiModelProperty
(
value
=
"料号"
)
private
String
partNo
;
@ApiModelProperty
(
value
=
"料号"
)
private
String
partNo
;
@ApiModelProperty
(
value
=
"版本描述"
)
private
String
versionDesc
;
@ApiModelProperty
(
value
=
"版本描述"
)
private
String
versionDesc
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"价格配置"
)
private
List
<
ProductSpecPriceDTO
>
priceList
;
}
src/main/java/com/mmc/pms/service/Impl/ProductServiceImpl.java
浏览文件 @
262bfee5
...
...
@@ -27,257 +27,281 @@ import java.util.stream.Collectors;
*/
@Service
public
class
ProductServiceImpl
implements
ProductSkuService
{
@Autowired
private
ProductDao
productDao
;
@Autowired
private
IndustrySpecDao
industrySpecDao
;
@Autowired
private
ProductDao
productDao
;
@Autowired
private
IndustrySpecDao
industrySpecDao
;
@Override
public
ResultBody
addProductSku
(
ProductSkuVO
param
)
{
// 获取名称判断此前是否已经存在
int
count
=
productDao
.
countSkuName
(
param
);
if
(
count
>
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
GOODS_CATEGORY_NAME_EXIST_ERROR
);
}
ProductSkuDO
productSkuDO
=
new
ProductSkuDO
(
param
);
// 新增产品sku
int
status
=
productDao
.
insertProductSku
(
productSkuDO
);
if
(
status
<=
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
FAILED_TO_ADD_DATA
);
}
return
ResultBody
.
success
();
@Override
public
ResultBody
addProductSku
(
ProductSkuVO
param
)
{
// 获取名称判断此前是否已经存在
int
count
=
productDao
.
countSkuName
(
param
);
if
(
count
>
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
GOODS_CATEGORY_NAME_EXIST_ERROR
);
}
@Override
public
ResultBody
getProductSkuDetail
(
Integer
id
)
{
// 校验此sku是否还存在或已删除
int
count
=
productDao
.
countSkuIsExist
(
id
);
if
(
count
<=
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
SKU_DOES_NOT_EXIST_OR_HAS_BEEN_DELETED
);
}
ProductSkuDO
productSkuDO
=
productDao
.
getProductSkuDetail
(
id
);
return
ResultBody
.
success
(
productSkuDO
.
buildProductSkuDTO
());
ProductSkuDO
productSkuDO
=
new
ProductSkuDO
(
param
);
// 新增产品sku
int
status
=
productDao
.
insertProductSku
(
productSkuDO
);
if
(
status
<=
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
FAILED_TO_ADD_DATA
);
}
return
ResultBody
.
success
();
}
@Override
public
ResultBody
editProductSku
(
ProductSkuVO
param
)
{
// 获取名称判断此前是否已经存在
int
count
=
productDao
.
countSkuName
(
param
);
if
(
count
>
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
GOODS_CATEGORY_NAME_EXIST_ERROR
);
}
ProductSkuDO
productSkuDO
=
new
ProductSkuDO
(
param
);
int
status
=
productDao
.
updateProductSku
(
productSkuDO
);
if
(
status
<=
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
FAILED_TO_EDIT_DATA
);
}
return
ResultBody
.
success
();
@Override
public
ResultBody
getProductSkuDetail
(
Integer
id
)
{
// 校验此sku是否还存在或已删除
int
count
=
productDao
.
countSkuIsExist
(
id
);
if
(
count
<=
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
SKU_DOES_NOT_EXIST_OR_HAS_BEEN_DELETED
);
}
ProductSkuDO
productSkuDO
=
productDao
.
getProductSkuDetail
(
id
);
return
ResultBody
.
success
(
productSkuDO
.
buildProductSkuDTO
());
}
@Override
public
ResultBody
listPageProductSku
(
ProductSkuQO
productSkuQO
)
{
int
count
=
productDao
.
countListPageProductSku
(
productSkuQO
);
if
(
count
==
0
)
{
return
ResultBody
.
success
(
PageResult
.
buildPage
(
productSkuQO
.
getPageNo
(),
productSkuQO
.
getPageSize
(),
count
));
}
Integer
pageNo
=
productSkuQO
.
getPageNo
();
productSkuQO
.
buildCurrentPage
();
List
<
ProductSkuDO
>
productSkuList
=
productDao
.
listPageProductSku
(
productSkuQO
);
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
));
@Override
public
ResultBody
editProductSku
(
ProductSkuVO
param
)
{
// 获取名称判断此前是否已经存在
int
count
=
productDao
.
countSkuName
(
param
);
if
(
count
>
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
GOODS_CATEGORY_NAME_EXIST_ERROR
);
}
@Override
public
ResultBody
addOrEditProductSpec
(
ProductSpecVO
param
)
{
// 获取名称判断此前是否已经存在
int
count
=
productDao
.
countSpecName
(
param
);
if
(
count
>
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
GOODS_CATEGORY_NAME_EXIST_ERROR
);
}
if
(
param
.
getId
()
==
null
)
{
ProductSpecDO
productSpecDO
=
new
ProductSpecDO
(
param
);
// 新增产品sku
int
status
=
productDao
.
insertProductSpec
(
productSpecDO
);
if
(
status
<=
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
FAILED_TO_ADD_DATA
);
}
}
else
{
ProductSpecDO
productSpecDO
=
new
ProductSpecDO
(
param
);
int
status
=
productDao
.
updateProductSpec
(
productSpecDO
);
if
(
status
<=
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
FAILED_TO_EDIT_DATA
);
}
}
return
ResultBody
.
success
();
ProductSkuDO
productSkuDO
=
new
ProductSkuDO
(
param
);
int
status
=
productDao
.
updateProductSku
(
productSkuDO
);
if
(
status
<=
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
FAILED_TO_EDIT_DATA
);
}
return
ResultBody
.
success
();
}
@Override
public
ResultBody
getProductSpecDetail
(
Integer
id
)
{
// 校验此sku是否还存在或已删除
int
count
=
productDao
.
countSpecIsExist
(
id
);
if
(
count
<=
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
SPEC_DOES_NOT_EXIST_OR_HAS_BEEN_DELETED
);
}
ProductSpecDO
productSpecDO
=
productDao
.
getProductSpecDetail
(
id
);
return
ResultBody
.
success
(
productSpecDO
.
buildProductSpecDTO
());
@Override
public
ResultBody
listPageProductSku
(
ProductSkuQO
productSkuQO
)
{
int
count
=
productDao
.
countListPageProductSku
(
productSkuQO
);
if
(
count
==
0
)
{
return
ResultBody
.
success
(
PageResult
.
buildPage
(
productSkuQO
.
getPageNo
(),
productSkuQO
.
getPageSize
(),
count
));
}
Integer
pageNo
=
productSkuQO
.
getPageNo
();
productSkuQO
.
buildCurrentPage
();
List
<
ProductSkuDO
>
productSkuList
=
productDao
.
listPageProductSku
(
productSkuQO
);
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
));
}
@Override
public
ResultBody
listPageProductSpec
(
Integer
pageNo
,
Integer
pageSize
,
Integer
productSkuId
)
{
int
count
=
productDao
.
countListPageProductSpec
(
productSkuId
);
if
(
count
==
0
)
{
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
pageSize
,
count
));
}
List
<
ProductSpecDO
>
productSpecList
=
productDao
.
listPageProductSpec
((
pageNo
-
1
)
*
pageSize
,
pageSize
,
productSkuId
);
List
<
ProductSpecDTO
>
list
=
productSpecList
.
stream
().
map
(
ProductSpecDO:
:
buildProductSpecDTO
).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
pageSize
,
count
,
list
));
@Override
public
ResultBody
addOrEditProductSpec
(
ProductSpecVO
param
)
{
// 获取名称判断此前是否已经存在
int
count
=
productDao
.
countSpecName
(
param
);
if
(
count
>
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
GOODS_CATEGORY_NAME_EXIST_ERROR
);
}
@Override
public
ResultBody
productSpecCPQ
(
ProductSpecCPQVO
productSpecCPQVO
)
{
// 判断该规格是否存在
int
count
=
productDao
.
countSpecIsExist
(
productSpecCPQVO
.
getProductSpecId
());
if
(
count
<=
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
SPEC_DOES_NOT_EXIST_OR_HAS_BEEN_DELETED
);
}
// 批量插入规格销售或租赁价格
return
insertSpecPrice
(
productSpecCPQVO
);
if
(
param
.
getId
()
==
null
)
{
ProductSpecDO
productSpecDO
=
new
ProductSpecDO
(
param
);
// 新增产品sku
int
status
=
productDao
.
insertProductSpec
(
productSpecDO
);
if
(
status
<=
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
FAILED_TO_ADD_DATA
);
}
}
else
{
ProductSpecDO
productSpecDO
=
new
ProductSpecDO
(
param
);
int
status
=
productDao
.
updateProductSpec
(
productSpecDO
);
if
(
status
<=
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
FAILED_TO_EDIT_DATA
);
}
}
return
ResultBody
.
success
();
}
@Override
public
List
<
ProductSpecPriceDO
>
getProductSpecPriceDOS
(
ProductSpecCPQVO
productSpecCPQVO
)
{
// 批量插入规格价格
return
productSpecCPQVO
.
getSpecPrice
().
stream
().
map
(
d
->
{
ProductSpecPriceDO
productSpecPriceDO
=
new
ProductSpecPriceDO
();
productSpecPriceDO
.
setCooperationTag
(
d
.
getCooperationTag
());
productSpecPriceDO
.
setPrice
(
d
.
getPrice
());
productSpecPriceDO
.
setType
(
productSpecCPQVO
.
getType
());
productSpecPriceDO
.
setProductSpecId
(
productSpecCPQVO
.
getProductSpecId
());
if
(
productSpecCPQVO
.
getType
().
equals
(
1
))
{
productSpecPriceDO
.
setLeaseTerm
(
productSpecCPQVO
.
getLeaseTerm
());
}
return
productSpecPriceDO
;
}).
collect
(
Collectors
.
toList
());
@Override
public
ResultBody
getProductSpecDetail
(
Integer
id
)
{
// 校验此sku是否还存在或已删除
int
count
=
productDao
.
countSpecIsExist
(
id
);
if
(
count
<=
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
SPEC_DOES_NOT_EXIST_OR_HAS_BEEN_DELETED
);
}
ProductSpecDO
productSpecDO
=
productDao
.
getProductSpecDetail
(
id
);
return
ResultBody
.
success
(
productSpecDO
.
buildProductSpecDTO
());
}
@Override
public
ResultBody
updateProductSpecCPQ
(
ProductSpecCPQVO
productSpecCPQVO
)
{
// 先删除原来该规格下的所有价格配置信息
productDao
.
removeProductSpecCPQ
(
productSpecCPQVO
);
// 批量插入规格销售或租赁价格
return
insertSpecPrice
(
productSpecCPQVO
);
@Override
public
ResultBody
listPageProductSpec
(
Integer
pageNo
,
Integer
pageSize
,
Integer
productSkuId
,
String
keyword
)
{
int
count
=
productDao
.
countListPageProductSpec
(
productSkuId
,
keyword
);
if
(
count
==
0
)
{
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
pageSize
,
count
)
);
}
List
<
ProductSpecDO
>
productSpecList
=
productDao
.
listPageProductSpec
((
pageNo
-
1
)
*
pageSize
,
pageSize
,
productSkuId
,
keyword
);
List
<
ProductSpecDTO
>
list
=
productSpecList
.
stream
()
.
map
(
ProductSpecDO:
:
buildProductSpecDTO
)
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
pageSize
,
count
,
list
));
}
@NotNull
public
ResultBody
insertSpecPrice
(
ProductSpecCPQVO
productSpecCPQVO
)
{
List
<
ProductSpecPriceDO
>
list
=
getProductSpecPriceDOS
(
productSpecCPQVO
);
if
(
productSpecCPQVO
.
getType
().
equals
(
1
)
&&
productSpecCPQVO
.
getLeaseTerm
()
==
null
)
{
return
ResultBody
.
error
(
"租赁期限不能为空!"
);
}
// 批量插入规格销售价格
if
(
productSpecCPQVO
.
getType
().
equals
(
0
))
{
productDao
.
batchInsertSpecPrice
(
list
);
}
else
{
// 批量插入租赁价格
productDao
.
batchInsertLeaseSpecPrice
(
list
);
}
return
ResultBody
.
success
();
@Override
public
ResultBody
productSpecCPQ
(
ProductSpecCPQVO
productSpecCPQVO
)
{
// 判断该规格是否存在
int
count
=
productDao
.
countSpecIsExist
(
productSpecCPQVO
.
getProductSpecId
());
if
(
count
<=
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
SPEC_DOES_NOT_EXIST_OR_HAS_BEEN_DELETED
);
}
// 批量插入规格销售或租赁价格
return
insertSpecPrice
(
productSpecCPQVO
);
}
@Override
public
List
<
ProductSpecPriceDO
>
getProductSpecPriceDOS
(
ProductSpecCPQVO
productSpecCPQVO
)
{
// 批量插入规格价格
return
productSpecCPQVO
.
getSpecPrice
().
stream
()
.
map
(
d
->
{
ProductSpecPriceDO
productSpecPriceDO
=
new
ProductSpecPriceDO
();
productSpecPriceDO
.
setCooperationTag
(
d
.
getCooperationTag
());
productSpecPriceDO
.
setPrice
(
d
.
getPrice
());
productSpecPriceDO
.
setType
(
productSpecCPQVO
.
getType
());
productSpecPriceDO
.
setProductSpecId
(
productSpecCPQVO
.
getProductSpecId
());
if
(
productSpecCPQVO
.
getType
().
equals
(
1
))
{
productSpecPriceDO
.
setLeaseTerm
(
productSpecCPQVO
.
getLeaseTerm
());
}
return
productSpecPriceDO
;
})
.
collect
(
Collectors
.
toList
());
}
@Override
public
ResultBody
updateProductSpecCPQ
(
ProductSpecCPQVO
productSpecCPQVO
)
{
// 先删除原来该规格下的所有价格配置信息
productDao
.
removeProductSpecCPQ
(
productSpecCPQVO
);
// 批量插入规格销售或租赁价格
return
insertSpecPrice
(
productSpecCPQVO
);
}
@Override
public
ResultBody
getProductSpecCPQ
(
ProductSpecCPQVO
productSpecCPQVO
)
{
if
(
productSpecCPQVO
.
getType
().
equals
(
1
)
&&
productSpecCPQVO
.
getLeaseTerm
()
==
null
)
{
return
ResultBody
.
error
(
"租赁期限不能为空!"
);
}
List
<
ProductSpecPriceDO
>
productSpecPriceList
=
productDao
.
getProductSpecPrice
(
productSpecCPQVO
);
List
<
ProductSpecPriceDTO
>
list
=
productSpecPriceList
.
stream
()
.
map
(
ProductSpecPriceDO:
:
buildProductSpecPriceDTO
).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
list
);
@NotNull
public
ResultBody
insertSpecPrice
(
ProductSpecCPQVO
productSpecCPQVO
)
{
List
<
ProductSpecPriceDO
>
list
=
getProductSpecPriceDOS
(
productSpecCPQVO
);
if
(
productSpecCPQVO
.
getType
().
equals
(
1
)
&&
productSpecCPQVO
.
getLeaseTerm
()
==
null
)
{
return
ResultBody
.
error
(
"租赁期限不能为空!"
);
}
@Override
public
ResultBody
removeProductSku
(
Integer
id
)
{
// 判断该sku下是否有规格,没有则删除,有则不能删除
int
specCount
=
productDao
.
countSpecByProdSkuId
(
id
);
if
(
specCount
<=
0
)
{
// 删除
productDao
.
removeProductSku
(
id
);
return
ResultBody
.
success
();
}
else
{
return
ResultBody
.
error
(
ResultEnum
.
SPEC_EXIST_UNDER_THE_SKU
);
}
// 批量插入规格销售价格
if
(
productSpecCPQVO
.
getType
().
equals
(
0
))
{
productDao
.
batchInsertSpecPrice
(
list
);
}
else
{
// 批量插入租赁价格
productDao
.
batchInsertLeaseSpecPrice
(
list
);
}
return
ResultBody
.
success
();
}
@Override
public
ResultBody
removeProductSpec
(
Integer
id
)
{
// 根据规格id查询绑定的商品或者行业的sku
RemoveSkuDTO
removeSkuDTO
=
new
RemoveSkuDTO
();
List
<
MallProdSkuInfoSpecDO
>
mallProdSkuInfoSpecList
=
productDao
.
listMallProductSpec
(
id
);
// 拿到清单的id
List
<
InventorySpecDO
>
inventorySpecList
=
productDao
.
listInventorySpec
(
id
);
if
(
mallProdSkuInfoSpecList
.
size
()
!=
0
||
inventorySpecList
.
size
()
!=
0
)
{
if
(
inventorySpecList
.
size
()
!=
0
)
{
// 根据清单id 获取行业规格id
Set
<
Integer
>
inventoryIds
=
inventorySpecList
.
stream
().
map
(
InventorySpecDO:
:
getIndustryProductInventoryId
).
collect
(
Collectors
.
toSet
());
List
<
IndustryProductInventoryDO
>
industryProductInventoryList
=
industrySpecDao
.
listIndustryProdInventory
(
inventoryIds
);
// 获取行业规格id
Set
<
Integer
>
industrySpecIds
=
industryProductInventoryList
.
stream
().
map
(
IndustryProductInventoryDO:
:
getIndustrySpecId
).
collect
(
Collectors
.
toSet
());
// 分别获取规格对应的sku信息
List
<
IndustrySpecDO
>
industrySpecList
=
industrySpecDao
.
listIndustrySpec
(
industrySpecIds
);
List
<
SkuAndSpecDTO
>
industrySkuNameList
=
new
ArrayList
<>();
industrySpecList
.
stream
().
peek
(
d
->
{
SkuAndSpecDTO
skuAndSpecDTO
=
new
SkuAndSpecDTO
();
skuAndSpecDTO
.
setIndustrySkuName
(
d
.
getSolutionName
());
skuAndSpecDTO
.
setIndustrySpecNames
(
d
.
getSpecName
());
industrySkuNameList
.
add
(
skuAndSpecDTO
);
}).
collect
(
Collectors
.
toList
());
removeSkuDTO
.
setIndustrySkuName
(
industrySkuNameList
);
}
if
(
mallProdSkuInfoSpecList
.
size
()
!=
0
)
{
// 获取商品名称
List
<
String
>
goodsNameList
=
new
ArrayList
<>();
mallProdSkuInfoSpecList
.
forEach
(
d
->
goodsNameList
.
add
(
d
.
getGoodsName
()));
removeSkuDTO
.
setGoodsName
(
goodsNameList
);
}
return
ResultBody
.
success
(
removeSkuDTO
);
}
else
{
productDao
.
removeProductSpec
(
id
);
return
ResultBody
.
success
();
}
@Override
public
ResultBody
getProductSpecCPQ
(
ProductSpecCPQVO
productSpecCPQVO
)
{
if
(
productSpecCPQVO
.
getType
().
equals
(
1
)
&&
productSpecCPQVO
.
getLeaseTerm
()
==
null
)
{
return
ResultBody
.
error
(
"租赁期限不能为空!"
);
}
List
<
ProductSpecPriceDO
>
productSpecPriceList
=
productDao
.
getProductSpecPrice
(
productSpecCPQVO
);
List
<
ProductSpecPriceDTO
>
list
=
productSpecPriceList
.
stream
()
.
map
(
ProductSpecPriceDO:
:
buildProductSpecPriceDTO
)
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
list
);
}
@Override
public
BigDecimal
feignGetUnitPriceByTag
(
PriceAcquisition
priceAcquisition
)
{
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
);
@Override
public
ResultBody
removeProductSku
(
Integer
id
)
{
// 判断该sku下是否有规格,没有则删除,有则不能删除
int
specCount
=
productDao
.
countSpecByProdSkuId
(
id
);
if
(
specCount
<=
0
)
{
// 删除
productDao
.
removeProductSku
(
id
);
return
ResultBody
.
success
();
}
else
{
return
ResultBody
.
error
(
ResultEnum
.
SPEC_EXIST_UNDER_THE_SKU
);
}
}
}
@Override
public
ResultBody
removeProductSpec
(
Integer
id
)
{
// 根据规格id查询绑定的商品或者行业的sku
RemoveSkuDTO
removeSkuDTO
=
new
RemoveSkuDTO
();
List
<
MallProdSkuInfoSpecDO
>
mallProdSkuInfoSpecList
=
productDao
.
listMallProductSpec
(
id
);
// 拿到清单的id
List
<
InventorySpecDO
>
inventorySpecList
=
productDao
.
listInventorySpec
(
id
);
if
(
mallProdSkuInfoSpecList
.
size
()
!=
0
||
inventorySpecList
.
size
()
!=
0
)
{
if
(
inventorySpecList
.
size
()
!=
0
)
{
// 根据清单id 获取行业规格id
Set
<
Integer
>
inventoryIds
=
inventorySpecList
.
stream
()
.
map
(
InventorySpecDO:
:
getIndustryProductInventoryId
)
.
collect
(
Collectors
.
toSet
());
List
<
IndustryProductInventoryDO
>
industryProductInventoryList
=
industrySpecDao
.
listIndustryProdInventory
(
inventoryIds
);
// 获取行业规格id
Set
<
Integer
>
industrySpecIds
=
industryProductInventoryList
.
stream
()
.
map
(
IndustryProductInventoryDO:
:
getIndustrySpecId
)
.
collect
(
Collectors
.
toSet
());
// 分别获取规格对应的sku信息
List
<
IndustrySpecDO
>
industrySpecList
=
industrySpecDao
.
listIndustrySpec
(
industrySpecIds
);
List
<
SkuAndSpecDTO
>
industrySkuNameList
=
new
ArrayList
<>();
industrySpecList
.
stream
()
.
peek
(
d
->
{
SkuAndSpecDTO
skuAndSpecDTO
=
new
SkuAndSpecDTO
();
skuAndSpecDTO
.
setIndustrySkuName
(
d
.
getSolutionName
());
skuAndSpecDTO
.
setIndustrySpecNames
(
d
.
getSpecName
());
industrySkuNameList
.
add
(
skuAndSpecDTO
);
})
.
collect
(
Collectors
.
toList
());
removeSkuDTO
.
setIndustrySkuName
(
industrySkuNameList
);
}
if
(
mallProdSkuInfoSpecList
.
size
()
!=
0
)
{
// 获取商品名称
List
<
String
>
goodsNameList
=
new
ArrayList
<>();
mallProdSkuInfoSpecList
.
forEach
(
d
->
goodsNameList
.
add
(
d
.
getGoodsName
()));
removeSkuDTO
.
setGoodsName
(
goodsNameList
);
}
return
ResultBody
.
success
(
removeSkuDTO
);
}
else
{
productDao
.
removeProductSpec
(
id
);
return
ResultBody
.
success
();
}
}
@Override
public
BigDecimal
feignGetUnitPriceByTag
(
PriceAcquisition
priceAcquisition
)
{
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/java/com/mmc/pms/service/Impl/WebDeviceServiceImpl.java
浏览文件 @
262bfee5
...
...
@@ -2,6 +2,7 @@ package com.mmc.pms.service.Impl;
import
com.mmc.pms.auth.dto.UserAccountSimpleDTO
;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.common.ResultEnum
;
import
com.mmc.pms.constant.TokenConstant
;
import
com.mmc.pms.dao.GoodsInfoDao
;
import
com.mmc.pms.dao.ProductDao
;
...
...
@@ -21,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
...
...
@@ -31,184 +33,219 @@ import java.util.stream.Collectors;
@Service
public
class
WebDeviceServiceImpl
implements
WebDeviceService
{
@Autowired
WebDeviceDao
webDeviceDao
;
@Autowired
UserAppApi
userAppApi
;
@Autowired
ProductDao
productDao
;
@Autowired
GoodsInfoDao
goodsInfoDao
;
@Override
public
ResultBody
listSecondDistrict
()
{
List
<
DistrictDO
>
list
=
webDeviceDao
.
listSecondDistrict
();
List
<
DistrictInfoDTO
>
dtoList
=
list
.
stream
().
map
(
DistrictDO:
:
builderDistrictInfoDTO
).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
dtoList
);
}
@Override
public
ResultBody
category
()
{
List
<
DeviceCategory
>
category
=
webDeviceDao
.
category
();
List
<
DeviceCategoryDTO
>
collect
=
category
.
stream
()
.
map
(
t
->
{
return
t
.
deviceCategory
();
})
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
@Autowired
WebDeviceDao
webDeviceDao
;
@Autowired
UserAppApi
userAppApi
;
@Autowired
ProductDao
productDao
;
@Autowired
GoodsInfoDao
goodsInfoDao
;
@Override
public
ResultBody
listSecondDistrict
()
{
List
<
DistrictDO
>
list
=
webDeviceDao
.
listSecondDistrict
();
List
<
DistrictInfoDTO
>
dtoList
=
list
.
stream
().
map
(
DistrictDO:
:
builderDistrictInfoDTO
).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
dtoList
);
}
@Override
public
ResultBody
category
()
{
List
<
DeviceCategory
>
category
=
webDeviceDao
.
category
();
List
<
DeviceCategoryDTO
>
collect
=
category
.
stream
()
.
map
(
t
->
{
return
t
.
deviceCategory
();
})
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
}
@Override
public
ResultBody
brand
()
{
List
<
Brand
>
brand
=
webDeviceDao
.
brand
();
List
<
BrandDTO
>
collect
=
brand
.
stream
()
.
map
(
t
->
{
return
t
.
brandDTO
();
})
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
}
@Override
public
ResultBody
deviceBrand
()
{
List
<
Brand
>
brand
=
webDeviceDao
.
deviceBrand
();
List
<
BrandDTO
>
collect
=
brand
.
stream
()
.
map
(
t
->
{
return
t
.
brandDTO
();
})
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
}
@Override
public
ResultBody
model
()
{
List
<
Model
>
model
=
webDeviceDao
.
model
();
List
<
ModelDTO
>
collect
=
model
.
stream
()
.
map
(
t
->
{
return
t
.
modelDTO
();
})
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
}
@Override
public
ResultBody
deviceModel
()
{
List
<
Model
>
model
=
webDeviceDao
.
deviceModel
();
List
<
ModelDTO
>
collect
=
model
.
stream
()
.
map
(
t
->
{
return
t
.
modelDTO
();
})
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
}
@Override
public
ResultBody
deviceList
(
Integer
districtId
,
Integer
categoryId
,
Integer
brandId
,
Integer
modelId
)
{
List
<
DeviceListDO
>
deviceList
=
webDeviceDao
.
deviceList
(
districtId
,
categoryId
,
brandId
,
modelId
);
List
<
DeviceListDTO
>
collect
=
deviceList
.
stream
()
.
map
(
t
->
{
return
t
.
deviceListDTO
();
})
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
}
@Override
public
ResultBody
update
(
LeaseVo
param
)
{
InventoryDO
inventory
=
webDeviceDao
.
findInventory
(
param
.
getInventoryId
());
Integer
residueCount
=
inventory
.
getResidueCount
();
Integer
count
=
residueCount
-
param
.
getInventoryUsage
();
param
.
setInventoryUsage
(
count
);
int
update
=
webDeviceDao
.
update
(
param
);
return
ResultBody
.
success
(
update
);
}
@Override
public
ResultBody
detail
(
Integer
id
)
{
List
<
WareInfoDO
>
list
=
webDeviceDao
.
detail
(
id
);
List
<
WareInfoItemDTO
>
pageList
=
list
.
stream
()
.
map
(
d
->
{
return
d
.
buildWareInfoItemDTO
();
})
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
pageList
);
}
@Override
public
ResultBody
listWareInfoPage
(
WareInfoQO
param
,
HttpServletRequest
request
,
Integer
userAccountId
)
{
List
<
Integer
>
userIds
=
null
;
if
(
param
.
getProvinceId
()
!=
null
)
{
userIds
=
userAppApi
.
feignListUserAccountIds
(
param
.
getProvinceId
(),
null
,
null
,
request
==
null
?
null
:
request
.
getHeader
(
TokenConstant
.
TOKEN
));
if
(
userIds
==
null
||
userIds
.
size
()
==
0
)
{
userIds
=
Collections
.
singletonList
(-
1
);
}
}
@Override
public
ResultBody
brand
()
{
List
<
Brand
>
brand
=
webDeviceDao
.
brand
();
List
<
BrandDTO
>
collect
=
brand
.
stream
()
.
map
(
t
->
{
return
t
.
brandDTO
();
})
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
}
@Override
public
ResultBody
deviceBrand
()
{
List
<
Brand
>
brand
=
webDeviceDao
.
deviceBrand
();
List
<
BrandDTO
>
collect
=
brand
.
stream
()
.
map
(
t
->
{
return
t
.
brandDTO
();
})
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
int
count
=
webDeviceDao
.
countListWareInfoPage
(
param
.
getCategoryId
(),
userIds
);
if
(
count
==
0
)
{
return
ResultBody
.
success
(
PageResult
.
buildPage
(
param
.
getPageNo
(),
param
.
getPageSize
(),
count
));
}
@Override
public
ResultBody
model
()
{
List
<
Model
>
model
=
webDeviceDao
.
model
();
List
<
ModelDTO
>
collect
=
model
.
stream
()
.
map
(
t
->
{
return
t
.
modelDTO
();
})
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
int
pageNo
=
param
.
getPageNo
();
param
.
buildCurrentPage
();
if
(
request
==
null
)
{
List
<
GoodsInfo
>
list
=
webDeviceDao
.
listWareInfoPage
(
param
.
getCategoryId
(),
userIds
,
param
.
getPageNo
(),
param
.
getPageSize
());
List
<
LeaseGoodsInfoDTO
>
pageList
=
list
.
stream
().
map
(
GoodsInfo:
:
buildLeaseGoodsInfoDTO
).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
param
.
getPageSize
(),
count
,
pageList
));
}
@Override
public
ResultBody
deviceModel
()
{
List
<
Model
>
model
=
webDeviceDao
.
deviceModel
();
List
<
ModelDTO
>
collect
=
model
.
stream
()
.
map
(
t
->
{
return
t
.
modelDTO
();
})
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
UserAccountSimpleDTO
userAccountSimpleDTO
=
userAppApi
.
feignGetUserSimpleInfo
(
userAccountId
,
request
.
getHeader
(
TokenConstant
.
TOKEN
));
if
(
userAccountSimpleDTO
==
null
)
{
return
ResultBody
.
error
(
ResultEnum
.
INTERNAL_SERVER_ERROR
);
}
@Override
public
ResultBody
deviceList
(
Integer
districtId
,
Integer
categoryId
,
Integer
brandId
,
Integer
modelId
)
{
List
<
DeviceListDO
>
deviceList
=
webDeviceDao
.
deviceList
(
districtId
,
categoryId
,
brandId
,
modelId
);
List
<
DeviceListDTO
>
collect
=
deviceList
.
stream
()
.
map
(
t
->
{
return
t
.
deviceListDTO
();
})
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
List
<
GoodsInfo
>
list
=
webDeviceDao
.
listWareInfoPage
(
param
.
getCategoryId
(),
userIds
,
param
.
getPageNo
(),
param
.
getPageSize
());
List
<
LeaseGoodsInfoDTO
>
pageList
=
list
.
stream
().
map
(
GoodsInfo:
:
buildLeaseGoodsInfoDTO
).
collect
(
Collectors
.
toList
());
if
(
userAccountSimpleDTO
.
getCooperationTagId
()
==
null
)
{
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
param
.
getPageSize
(),
count
,
pageList
));
}
@Override
public
ResultBody
update
(
LeaseVo
param
)
{
InventoryDO
inventory
=
webDeviceDao
.
findInventory
(
param
.
getInventoryId
());
Integer
residueCount
=
inventory
.
getResidueCount
();
Integer
count
=
residueCount
-
param
.
getInventoryUsage
();
param
.
setInventoryUsage
(
count
);
int
update
=
webDeviceDao
.
update
(
param
);
return
ResultBody
.
success
(
update
);
List
<
Integer
>
goodsId
=
pageList
.
stream
().
map
(
LeaseGoodsInfoDTO:
:
getId
).
collect
(
Collectors
.
toList
());
List
<
MallProdSkuInfoSpecDO
>
mallProSkuInfoSpec
=
goodsInfoDao
.
listMallprodSpecById
(
goodsId
);
Map
<
Integer
,
MallProdSkuInfoSpecDO
>
specMap
=
mallProSkuInfoSpec
.
stream
()
.
collect
(
Collectors
.
toMap
(
MallProdSkuInfoSpecDO:
:
getGoodsInfoId
,
d
->
d
,
(
k1
,
k2
)
->
k1
));
pageList
.
stream
()
.
peek
(
d
->
{
MallProdSkuInfoSpecDO
mallProdSkuInfoSpecDO
=
specMap
.
get
(
d
.
getId
());
d
.
setPrice
(
mallProdSkuInfoSpecDO
.
getPrice
());
})
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
param
.
getPageSize
(),
count
,
pageList
));
}
@Override
public
WareInfoDTO
getWareInfoById
(
Integer
id
)
{
WareInfoDO
wareInfoDO
=
webDeviceDao
.
getWareInfoById
(
id
);
WareDetailDO
wareDetailDO
=
webDeviceDao
.
getWareDetailById
(
id
);
if
(
wareInfoDO
!=
null
)
{
wareInfoDO
.
setWareDetailContent
(
wareDetailDO
.
getContent
());
}
@Override
public
ResultBody
detail
(
Integer
id
)
{
List
<
WareInfoDO
>
list
=
webDeviceDao
.
detail
(
id
);
List
<
WareInfoItemDTO
>
pageList
=
list
.
stream
()
.
map
(
d
->
{
return
d
.
buildWareInfoItemDTO
();
})
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
pageList
);
}
@Override
public
ResultBody
listWareInfoPage
(
WareInfoQO
param
,
HttpServletRequest
request
,
Integer
userAccountId
)
{
UserAccountSimpleDTO
userAccountSimpleDTO
=
userAppApi
.
feignGetUserSimpleInfo
(
userAccountId
,
request
.
getHeader
(
TokenConstant
.
TOKEN
));
List
<
Integer
>
userIds
=
userAppApi
.
feignListUserAccountIds
(
param
.
getProvinceId
(),
null
,
null
,
request
.
getHeader
(
TokenConstant
.
TOKEN
));
int
count
=
webDeviceDao
.
countListWareInfoPage
(
param
.
getCategoryId
(),
userIds
);
if
(
count
==
0
)
{
return
ResultBody
.
success
(
PageResult
.
buildPage
(
param
.
getPageNo
(),
param
.
getPageSize
(),
count
));
}
int
pageNo
=
param
.
getPageNo
();
param
.
buildCurrentPage
();
List
<
GoodsInfo
>
list
=
webDeviceDao
.
listWareInfoPage
(
param
.
getCategoryId
(),
userIds
,
param
.
getPageNo
(),
param
.
getPageSize
());
List
<
LeaseGoodsInfoDTO
>
pageList
=
list
.
stream
().
map
(
GoodsInfo:
:
buildLeaseGoodsInfoDTO
).
collect
(
Collectors
.
toList
());
if
(
userAccountSimpleDTO
.
getCooperationTagId
()
==
null
)
{
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
param
.
getPageSize
(),
count
,
pageList
));
}
List
<
Integer
>
goodsId
=
pageList
.
stream
().
map
(
LeaseGoodsInfoDTO:
:
getId
).
collect
(
Collectors
.
toList
());
List
<
MallProdSkuInfoSpecDO
>
mallProSkuInfoSpec
=
goodsInfoDao
.
listMallprodSpecById
(
goodsId
);
Map
<
Integer
,
MallProdSkuInfoSpecDO
>
specMap
=
mallProSkuInfoSpec
.
stream
().
collect
(
Collectors
.
toMap
(
MallProdSkuInfoSpecDO:
:
getGoodsInfoId
,
d
->
d
,
(
k1
,
k2
)
->
k1
));
pageList
.
stream
().
peek
(
d
->
{
MallProdSkuInfoSpecDO
mallProdSkuInfoSpecDO
=
specMap
.
get
(
d
.
getId
());
d
.
setPrice
(
mallProdSkuInfoSpecDO
.
getPrice
());
}).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
param
.
getPageSize
(),
count
,
pageList
));
}
@Override
public
WareInfoDTO
getWareInfoById
(
Integer
id
)
{
WareInfoDO
wareInfoDO
=
webDeviceDao
.
getWareInfoById
(
id
);
WareDetailDO
wareDetailDO
=
webDeviceDao
.
getWareDetailById
(
id
);
if
(
wareInfoDO
!=
null
)
{
wareInfoDO
.
setWareDetailContent
(
wareDetailDO
.
getContent
());
}
return
wareInfoDO
==
null
?
null
:
wareInfoDO
.
buildWareInfoDTO
();
}
@Override
public
ResultBody
<
AdDTO
>
ad
()
{
List
<
AdDO
>
ad
=
webDeviceDao
.
ad
();
List
<
AdDTO
>
collect
=
ad
.
stream
()
.
map
(
t
->
{
return
t
.
adDTO
();
})
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
}
@Override
public
List
<
SkuInfoDTO
>
listWareSkuById
(
Integer
id
)
{
List
<
SkuInfoDO
>
skuInfoDOS
=
webDeviceDao
.
listSkuInfo
(
id
);
return
skuInfoDOS
.
isEmpty
()
?
null
:
skuInfoDOS
.
stream
().
map
(
d
->
{
return
d
.
buildSkuInfoDTO
();
}).
collect
(
Collectors
.
toList
());
}
return
wareInfoDO
==
null
?
null
:
wareInfoDO
.
buildWareInfoDTO
();
}
@Override
public
ResultBody
<
AdDTO
>
ad
()
{
List
<
AdDO
>
ad
=
webDeviceDao
.
ad
();
List
<
AdDTO
>
collect
=
ad
.
stream
()
.
map
(
t
->
{
return
t
.
adDTO
();
})
.
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
}
@Override
public
List
<
SkuInfoDTO
>
listWareSkuById
(
Integer
id
)
{
List
<
SkuInfoDO
>
skuInfoDOS
=
webDeviceDao
.
listSkuInfo
(
id
);
return
skuInfoDOS
.
isEmpty
()
?
null
:
skuInfoDOS
.
stream
()
.
map
(
d
->
{
return
d
.
buildSkuInfoDTO
();
})
.
collect
(
Collectors
.
toList
());
}
}
src/main/java/com/mmc/pms/service/ProductSkuService.java
浏览文件 @
262bfee5
...
...
@@ -18,32 +18,32 @@ import java.util.List;
*/
public
interface
ProductSkuService
{
ResultBody
addProductSku
(
ProductSkuVO
param
);
ResultBody
addProductSku
(
ProductSkuVO
param
);
ResultBody
getProductSkuDetail
(
Integer
id
);
ResultBody
getProductSkuDetail
(
Integer
id
);
ResultBody
editProductSku
(
ProductSkuVO
param
);
ResultBody
editProductSku
(
ProductSkuVO
param
);
ResultBody
listPageProductSku
(
ProductSkuQO
productSkuQO
);
ResultBody
listPageProductSku
(
ProductSkuQO
productSkuQO
);
ResultBody
addOrEditProductSpec
(
ProductSpecVO
param
);
ResultBody
addOrEditProductSpec
(
ProductSpecVO
param
);
ResultBody
getProductSpecDetail
(
Integer
id
);
ResultBody
getProductSpecDetail
(
Integer
id
);
ResultBody
listPageProductSpec
(
Integer
pageNo
,
Integer
pageSize
,
Integer
productSkuId
);
ResultBody
listPageProductSpec
(
Integer
pageNo
,
Integer
pageSize
,
Integer
productSkuId
,
String
keyword
);
ResultBody
productSpecCPQ
(
ProductSpecCPQVO
productSpecCPQVO
);
ResultBody
productSpecCPQ
(
ProductSpecCPQVO
productSpecCPQVO
);
List
<
ProductSpecPriceDO
>
getProductSpecPriceDOS
(
ProductSpecCPQVO
productSpecCPQVO
);
List
<
ProductSpecPriceDO
>
getProductSpecPriceDOS
(
ProductSpecCPQVO
productSpecCPQVO
);
ResultBody
updateProductSpecCPQ
(
ProductSpecCPQVO
productSpecCPQVO
);
ResultBody
updateProductSpecCPQ
(
ProductSpecCPQVO
productSpecCPQVO
);
ResultBody
getProductSpecCPQ
(
ProductSpecCPQVO
productSpecCPQVO
);
ResultBody
getProductSpecCPQ
(
ProductSpecCPQVO
productSpecCPQVO
);
ResultBody
removeProductSku
(
Integer
id
);
ResultBody
removeProductSku
(
Integer
id
);
ResultBody
removeProductSpec
(
Integer
id
);
BigDecimal
feignGetUnitPriceByTag
(
PriceAcquisition
priceAcquisition
);
ResultBody
removeProductSpec
(
Integer
id
);
BigDecimal
feignGetUnitPriceByTag
(
PriceAcquisition
priceAcquisition
);
}
src/main/resources/mapper/ProductDao.xml
浏览文件 @
262bfee5
...
...
@@ -111,7 +111,7 @@
and product_name like CONCAT ('%',#{productName},'%')
</if>
<if
test=
"categoryId != null"
>
and categories = #{categoryId}
and categories
_id
= #{categoryId}
</if>
<if
test=
"directoryId != null"
>
and directory_id = #{directoryId}
...
...
@@ -178,22 +178,32 @@
<select
id=
"countListPageProductSpec"
resultType=
"java.lang.Integer"
>
select count(*)
from product_spec
where is_deleted = 0
and product_id = #{id}
<where>
is_deleted = 0
and product_sku_id = #{id}
<if
test=
"keyword != null and keyword != ''"
>
and spec_name like CONCAT('%',#{keyword},'%')
</if>
</where>
</select>
<select
id=
"listPageProductSpec"
resultType=
"com.mmc.pms.entity.ProductSpecDO"
>
select id,
product_id
productSkuId,
spec_name
specName,
spec_image
specImage,
part_no
partNo,
version_desc versionDesc,
create_time
createTime
product_id
productSkuId,
spec_name
specName,
spec_image
specImage,
part_no
partNo,
version_desc versionDesc,
create_time
createTime
from product_spec
where is_deleted = 0
and product_id = #{productSkuId}
<where>
is_deleted = 0
and product_id = #{productSkuId}
<if
test=
"keyword != null and keyword != ''"
>
and spec_name like CONCAT('%',#{keyword},'%')
</if>
</where>
order by create_time desc
limit #{pageNo}, #{pageSize}
limit #{pageNo}, #{pageSize}
</select>
<select
id=
"getProductSpecPrice"
resultType=
"com.mmc.pms.entity.ProductSpecPriceDO"
>
select id,
...
...
@@ -479,4 +489,17 @@
AND mp.is_deleted = 0
AND gi.is_deleted = 0
</select>
<select
id=
"getProductSpecPriceList"
resultType=
"com.mmc.pms.entity.ProductSpecPriceDO"
>
SELECT
id,
product_spec_id productSpecId,
tag_info_id tagInfoId,
price
FROM
product_spec_price
WHERE product_spec_id in (
<foreach
collection=
"list"
separator=
","
index=
"index"
item=
"d"
>
#{d}
</foreach>
)
</select>
</mapper>
src/main/resources/mapper/WebDeviceDao.xml
浏览文件 @
262bfee5
...
...
@@ -153,14 +153,12 @@
</select>
<select
id=
"countListWareInfoPage"
parameterType=
"com.mmc.pms.entity.GoodsInfo"
resultType=
"int"
>
SELECT
count(*)
FROM
goods_info gi
SELECT count(*)
FROM goods_info gi
INNER JOIN goods_img img ON gi.id = img.goods_info_id
<where>
gi.is_deleted = 0 and gi.shelf_status = 0
<if
test=
"categoryIds != null"
>
<if
test=
"categoryIds != null
and categoryIds.size != 0
"
>
<foreach
collection=
"categoryIds"
item=
"item"
index=
"index"
open=
"and gi.category_by_one IN ("
close=
")"
separator=
","
>
#{item}
...
...
src/main/resources/not-check.yml
浏览文件 @
262bfee5
...
...
@@ -7,3 +7,5 @@ data-filter:
-
/pms/swagger-resources/**
-
/pms/webjars/**
-
/pms/product/spec/feignGetSpecLeaseUnitPrice
-
/pms//lease/goods/deviceList
-
/pms/classify/queryCategoryInfoByType
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论