Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
pms-ci-test
Commits
902af792
提交
902af792
authored
8月 12, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
功能:租赁设备商品新增
上级
07a0ff83
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
18 个修改的文件
包含
871 行增加
和
31 行删除
+871
-31
LeaseGoodsController.java
...va/com/mmc/pms/controller/lease/LeaseGoodsController.java
+3
-4
LeaseGoodsDao.java
src/main/java/com/mmc/pms/dao/lease/LeaseGoodsDao.java
+25
-0
LeaseGoodsDO.java
src/main/java/com/mmc/pms/entity/lease/LeaseGoodsDO.java
+114
-0
LeaseGoodsResourcesDO.java
.../java/com/mmc/pms/entity/lease/LeaseGoodsResourcesDO.java
+39
-0
LeasePartsListDO.java
src/main/java/com/mmc/pms/entity/lease/LeasePartsListDO.java
+40
-0
LeasePriceStockDO.java
...main/java/com/mmc/pms/entity/lease/LeasePriceStockDO.java
+94
-0
LeaseServiceDO.java
src/main/java/com/mmc/pms/entity/lease/LeaseServiceDO.java
+30
-0
LeaseSpecAttrDO.java
src/main/java/com/mmc/pms/entity/lease/LeaseSpecAttrDO.java
+36
-0
LeaseSpecAttrValueDO.java
...n/java/com/mmc/pms/entity/lease/LeaseSpecAttrValueDO.java
+32
-0
LeaseTermInfoDO.java
src/main/java/com/mmc/pms/entity/lease/LeaseTermInfoDO.java
+25
-0
LeaseGoodsVO.java
src/main/java/com/mmc/pms/model/lease/vo/LeaseGoodsVO.java
+105
-0
LeasePartsListVO.java
...ain/java/com/mmc/pms/model/lease/vo/LeasePartsListVO.java
+24
-0
LeasePriceStockVO.java
...in/java/com/mmc/pms/model/lease/vo/LeasePriceStockVO.java
+60
-0
LeaseGoodsService.java
...ain/java/com/mmc/pms/service/lease/LeaseGoodsService.java
+4
-0
LeaseGoodsServiceImpl.java
...com/mmc/pms/service/lease/impl/LeaseGoodsServiceImpl.java
+48
-0
MallGoodsService.java
src/main/java/com/mmc/pms/service/mall/MallGoodsService.java
+12
-0
MallGoodsServiceImpl.java
...a/com/mmc/pms/service/mall/impl/MallGoodsServiceImpl.java
+85
-27
LeaseGoodsDao.xml
src/main/resources/mapper/lease/LeaseGoodsDao.xml
+95
-0
没有找到文件。
src/main/java/com/mmc/pms/controller/lease/LeaseGoodsController.java
浏览文件 @
902af792
...
@@ -8,7 +8,7 @@ package com.mmc.pms.controller.lease;
...
@@ -8,7 +8,7 @@ package com.mmc.pms.controller.lease;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.controller.BaseController
;
import
com.mmc.pms.controller.BaseController
;
import
com.mmc.pms.model.
mall.Mall
GoodsVO
;
import
com.mmc.pms.model.
lease.vo.Lease
GoodsVO
;
import
com.mmc.pms.service.lease.LeaseGoodsService
;
import
com.mmc.pms.service.lease.LeaseGoodsService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
...
@@ -36,8 +36,7 @@ public class LeaseGoodsController extends BaseController {
...
@@ -36,8 +36,7 @@ public class LeaseGoodsController extends BaseController {
@ApiOperation
(
value
=
"新增商城商品"
)
@ApiOperation
(
value
=
"新增商城商品"
)
@PostMapping
(
"addLeaseGoods"
)
@PostMapping
(
"addLeaseGoods"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
ResultBody
addLeaseGoods
(
@RequestBody
MallGoodsVO
mallGoodsVO
,
HttpServletRequest
request
)
{
public
ResultBody
addLeaseGoods
(
@RequestBody
LeaseGoodsVO
leaseGoodsVO
,
HttpServletRequest
request
)
{
return
null
;
return
leaseGoodsService
.
addLeaseGoods
(
leaseGoodsVO
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
());
// return leaseGoodsService.addLeaseGoods(mallGoodsVO, this.getUserLoginInfoFromRedis(request).getUserAccountId());
}
}
}
}
src/main/java/com/mmc/pms/dao/lease/LeaseGoodsDao.java
浏览文件 @
902af792
package
com
.
mmc
.
pms
.
dao
.
lease
;
package
com
.
mmc
.
pms
.
dao
.
lease
;
import
com.mmc.pms.entity.lease.LeaseGoodsDO
;
import
com.mmc.pms.entity.lease.LeasePartsListDO
;
import
com.mmc.pms.entity.lease.LeasePriceStockDO
;
import
com.mmc.pms.entity.mall.MallGoodsResourcesDO
;
import
com.mmc.pms.entity.mall.SpecAttrDO
;
import
com.mmc.pms.entity.mall.SpecAttrValueDO
;
import
com.mmc.pms.model.lease.vo.LeaseGoodsVO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
/**
* @Author LW
* @Author LW
...
@@ -9,4 +19,19 @@ import org.apache.ibatis.annotations.Mapper;
...
@@ -9,4 +19,19 @@ import org.apache.ibatis.annotations.Mapper;
*/
*/
@Mapper
@Mapper
public
interface
LeaseGoodsDao
{
public
interface
LeaseGoodsDao
{
int
countLeaseGoodsByName
(
@Param
(
"leaseGoodsVO"
)
LeaseGoodsVO
leaseGoodsVO
,
@Param
(
"userAccountId"
)
Integer
userAccountId
);
int
countLeaseGoodsByUserAccountId
(
Integer
userAccountId
);
void
insertLeaseGoodsBaseInfo
(
LeaseGoodsDO
leaseGoodsDO
);
void
batchInsertLeaseGoodsResources
(
List
<
MallGoodsResourcesDO
>
mallGoodsResourcesList
);
void
insertSpecAttr
(
SpecAttrDO
specAttrDO
);
void
batchInsertSpecAttr
(
List
<
SpecAttrValueDO
>
list
);
void
batchInsertPriceStock
(
List
<
LeasePriceStockDO
>
list
);
void
batchInsertLeaseParts
(
List
<
LeasePartsListDO
>
list
);
}
}
src/main/java/com/mmc/pms/entity/lease/LeaseGoodsDO.java
0 → 100644
浏览文件 @
902af792
package
com
.
mmc
.
pms
.
entity
.
lease
;
import
com.mmc.pms.model.lease.vo.LeaseGoodsVO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 租赁商品信息(LeaseGoodsDO)实体类
*
* @author makejava
* @since 2023-08-11 14:53:01
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LeaseGoodsDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
99441568098401769L
;
private
Integer
id
;
/**
* 商品名称
*/
private
String
tradeName
;
/**
* 商品卖点
*/
private
String
sellingPoint
;
/**
* 商品成新
*/
private
Integer
level
;
/**
* 状态:0: 下架 1:上架
*/
private
Integer
shelfStatus
;
/**
* 商品类型
*/
private
Integer
productTypeId
;
/**
* 品牌id
*/
private
Integer
brandInfoId
;
/**
* 型号id
*/
private
Integer
deviceModeId
;
/**
* 商品参数
*/
private
String
productParam
;
/**
* 商品详情
*/
private
String
productDetails
;
/**
* 最短租期
*/
private
Integer
minLeaseTerm
;
/**
* 最长租期
*/
private
Integer
maxLeaseTerm
;
/**
* 发货地址
*/
private
Integer
shipAddress
;
/**
* 归还地址
*/
private
Integer
returnAddress
;
/**
* 寄出物流
*/
private
Integer
logisticsCompany
;
/**
* 配送方式
*/
private
Integer
modeOfDelivery
;
/**
* 上架店铺id
*/
private
Integer
userAccountId
;
private
Date
createTime
;
private
Date
updateTime
;
private
Integer
sort
;
public
LeaseGoodsDO
(
LeaseGoodsVO
leaseGoodsVO
)
{
this
.
id
=
leaseGoodsVO
.
getId
();
this
.
tradeName
=
leaseGoodsVO
.
getTradeName
();
this
.
sellingPoint
=
leaseGoodsVO
.
getSellingPoint
();
this
.
level
=
leaseGoodsVO
.
getLevel
();
this
.
shelfStatus
=
leaseGoodsVO
.
getShelfStatus
();
this
.
productTypeId
=
leaseGoodsVO
.
getProductTypeId
();
this
.
brandInfoId
=
leaseGoodsVO
.
getBrandInfoId
();
this
.
deviceModeId
=
leaseGoodsVO
.
getDeviceModeId
();
this
.
productParam
=
leaseGoodsVO
.
getProductParam
();
this
.
productDetails
=
leaseGoodsVO
.
getProductDetails
();
this
.
minLeaseTerm
=
leaseGoodsVO
.
getMinLeaseTerm
();
this
.
maxLeaseTerm
=
leaseGoodsVO
.
getMaxLeaseTerm
();
this
.
shipAddress
=
leaseGoodsVO
.
getShipAddress
();
this
.
returnAddress
=
leaseGoodsVO
.
getReturnAddress
();
this
.
logisticsCompany
=
leaseGoodsVO
.
getLogisticsCompany
();
this
.
modeOfDelivery
=
leaseGoodsVO
.
getModeOfDelivery
();
}
}
src/main/java/com/mmc/pms/entity/lease/LeaseGoodsResourcesDO.java
0 → 100644
浏览文件 @
902af792
package
com
.
mmc
.
pms
.
entity
.
lease
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* (LeaseGoodsResourcesDO)实体类
*
* @author makejava
* @since 2023-08-11 14:53:12
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
LeaseGoodsResourcesDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
184452413040400338L
;
private
Integer
id
;
private
Integer
mallGoodsId
;
/**
* 资源url
*/
private
String
url
;
/**
* 类型:0主图 1副图 2视频
*/
private
Integer
type
;
private
Date
createTime
;
private
Date
updateTime
;
}
src/main/java/com/mmc/pms/entity/lease/LeasePartsListDO.java
0 → 100644
浏览文件 @
902af792
package
com
.
mmc
.
pms
.
entity
.
lease
;
import
com.mmc.pms.model.lease.vo.LeasePartsListVO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* (LeasePartsListDO)实体类
*
* @author makejava
* @since 2023-08-11 14:53:22
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
LeasePartsListDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
474304471357903661L
;
private
Integer
id
;
private
Integer
leaseGoodsId
;
private
String
name
;
private
Integer
number
;
private
BigDecimal
price
;
public
LeasePartsListDO
(
LeasePartsListVO
param
)
{
this
.
id
=
param
.
getId
();
this
.
number
=
param
.
getNumber
();
this
.
name
=
param
.
getName
();
this
.
price
=
param
.
getPrice
();
}
}
src/main/java/com/mmc/pms/entity/lease/LeasePriceStockDO.java
0 → 100644
浏览文件 @
902af792
package
com
.
mmc
.
pms
.
entity
.
lease
;
import
com.mmc.pms.model.lease.vo.LeasePriceStockVO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* 价格库存表(LeasePriceStockDO)实体类
*
* @author makejava
* @since 2023-08-11 14:55:42
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
LeasePriceStockDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
909783790755484524L
;
private
Integer
id
;
/**
* 租赁商品id
*/
private
Integer
leaseGoodsId
;
/**
* 商品规格
*/
private
String
productSpec
;
/**
* sku图片
*/
private
String
skuImage
;
/**
* 押金
*/
private
BigDecimal
cashPledge
;
/**
* 3天租金
*/
private
BigDecimal
threeDaysRental
;
/**
* 7天租金
*/
private
BigDecimal
sevenDaysRental
;
/**
* 30天租金
*/
private
BigDecimal
thirtyDaysRental
;
/**
* 90天租金
*/
private
BigDecimal
ninetyDaysRental
;
/**
* 180天租金
*/
private
BigDecimal
maxDaysRental
;
/**
* 展示最低价
*/
private
BigDecimal
showPrice
;
/**
* 库存
*/
private
Integer
stock
;
/**
* 0:否 1:是
*/
private
Integer
stockOut
;
private
Date
createTime
;
private
Date
updateTime
;
public
LeasePriceStockDO
(
LeasePriceStockVO
param
,
Integer
id
)
{
this
.
leaseGoodsId
=
id
;
this
.
productSpec
=
param
.
getProductSpec
();
this
.
cashPledge
=
param
.
getCashPledge
();
this
.
skuImage
=
param
.
getSkuImage
();
this
.
stock
=
param
.
getStock
();
this
.
threeDaysRental
=
param
.
getThreeDaysRental
();
this
.
sevenDaysRental
=
param
.
getSevenDaysRental
();
this
.
thirtyDaysRental
=
param
.
getThirtyDaysRental
();
this
.
ninetyDaysRental
=
param
.
getNinetyDaysRental
();
this
.
maxDaysRental
=
param
.
getMaxDaysRental
();
this
.
showPrice
=
param
.
getShowPrice
();
this
.
stockOut
=
param
.
getStockOut
();
}
}
src/main/java/com/mmc/pms/entity/lease/LeaseServiceDO.java
0 → 100644
浏览文件 @
902af792
package
com
.
mmc
.
pms
.
entity
.
lease
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* (LeaseServiceDO)实体类
*
* @author makejava
* @since 2023-08-11 14:56:08
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
LeaseServiceDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
10400818294747116L
;
private
Integer
id
;
private
Integer
goodsInfoId
;
private
Integer
saleServiceId
;
private
Date
createTime
;
}
src/main/java/com/mmc/pms/entity/lease/LeaseSpecAttrDO.java
0 → 100644
浏览文件 @
902af792
package
com
.
mmc
.
pms
.
entity
.
lease
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 规格属性表(LeaseSpecAttrDO)实体类
*
* @author makejava
* @since 2023-08-11 14:56:29
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
LeaseSpecAttrDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
71136469129605718L
;
private
Integer
id
;
/**
* 商品id
*/
private
Integer
mallGoodsId
;
/**
* 规格名称
*/
private
String
specName
;
private
Date
createTime
;
private
Date
updateTime
;
}
src/main/java/com/mmc/pms/entity/lease/LeaseSpecAttrValueDO.java
0 → 100644
浏览文件 @
902af792
package
com
.
mmc
.
pms
.
entity
.
lease
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 规格属性表(LeaseSpecAttrValueDO)实体类
*
* @author makejava
* @since 2023-08-11 14:56:41
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
LeaseSpecAttrValueDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
96267116189395775L
;
private
Integer
id
;
private
Integer
specAttrId
;
/**
* 规格值名称
*/
private
String
specValueName
;
private
Date
createTime
;
}
src/main/java/com/mmc/pms/entity/lease/LeaseTermInfoDO.java
0 → 100644
浏览文件 @
902af792
package
com
.
mmc
.
pms
.
entity
.
lease
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* (LeaseTermInfoDO)实体类
*
* @author makejava
* @since 2023-08-11 14:56:52
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
LeaseTermInfoDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
273133269479111689L
;
private
Integer
id
;
private
String
leaseDate
;
}
src/main/java/com/mmc/pms/model/lease/vo/LeaseGoodsVO.java
0 → 100644
浏览文件 @
902af792
package
com
.
mmc
.
pms
.
model
.
lease
.
vo
;
import
com.mmc.pms.model.group.Create
;
import
com.mmc.pms.model.group.Update
;
import
com.mmc.pms.model.mall.GoodsResourcesVO
;
import
com.mmc.pms.model.mall.SpecAttrVO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* @Author LW
* @date 2023/7/24 17:44
* 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
LeaseGoodsVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
3147170430919703826L
;
@ApiModelProperty
(
value
=
"id"
,
example
=
"1"
)
@NotNull
(
message
=
"id不能为空"
,
groups
=
{
Update
.
class
})
private
Integer
id
;
@ApiModelProperty
(
value
=
"商品标题"
,
example
=
"商品标题"
,
required
=
true
)
@NotBlank
(
message
=
"商品标题不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
String
tradeName
;
@ApiModelProperty
(
value
=
"商品卖点"
,
example
=
"商品卖点"
)
private
String
sellingPoint
;
@ApiModelProperty
(
value
=
"商品成新"
,
example
=
"1"
,
required
=
true
)
private
Integer
level
;
@ApiModelProperty
(
value
=
"商品状态"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"商品状态不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
Integer
shelfStatus
;
@ApiModelProperty
(
value
=
"商品类型id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"商品类型id不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
Integer
productTypeId
;
@ApiModelProperty
(
value
=
"品牌id"
,
example
=
"2"
,
required
=
true
)
@NotNull
(
message
=
"品牌id不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
Integer
brandInfoId
;
@ApiModelProperty
(
value
=
"型号id"
,
example
=
"2"
,
required
=
true
)
@NotNull
(
message
=
"型号id不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
Integer
deviceModeId
;
@ApiModelProperty
(
value
=
"商品参数"
,
example
=
"示例:[{\"起飞重量\":\"595g\"}]"
)
private
String
productParam
;
@ApiModelProperty
(
value
=
"商品资源:图片or视频及其他"
)
@NotEmpty
(
message
=
"图片不能为空"
)
private
List
<
GoodsResourcesVO
>
resourcesList
;
@ApiModelProperty
(
value
=
"规格"
)
@NotEmpty
(
message
=
"规格不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
List
<
SpecAttrVO
>
specAttrList
;
@ApiModelProperty
(
value
=
"价格库存排列组合表信息"
)
private
List
<
LeasePriceStockVO
>
priceStock
;
@ApiModelProperty
(
value
=
"商品详情 富文本"
)
private
String
productDetails
;
@ApiModelProperty
(
value
=
"最短租期"
)
private
Integer
minLeaseTerm
;
@ApiModelProperty
(
value
=
"最长租期"
)
private
Integer
maxLeaseTerm
;
@ApiModelProperty
(
value
=
"配件清单"
)
private
List
<
LeasePartsListVO
>
leasePartsList
;
@ApiModelProperty
(
value
=
"发货地址"
)
private
Integer
shipAddress
;
@ApiModelProperty
(
value
=
"归还地址"
)
private
Integer
returnAddress
;
@ApiModelProperty
(
value
=
"寄出物流"
)
private
Integer
logisticsCompany
;
@ApiModelProperty
(
value
=
"配送方式"
)
private
Integer
modeOfDelivery
;
@ApiModelProperty
(
value
=
"创建时间 用作列表回显"
,
hidden
=
true
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"店铺id 小程序用"
,
hidden
=
true
)
private
Integer
userAccountId
;
}
src/main/java/com/mmc/pms/model/lease/vo/LeasePartsListVO.java
0 → 100644
浏览文件 @
902af792
package
com
.
mmc
.
pms
.
model
.
lease
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
/**
* @Author LW
* @date 2023/8/11 14:43
* 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
LeasePartsListVO
{
private
Integer
id
;
private
String
name
;
private
Integer
number
;
private
BigDecimal
price
;
}
src/main/java/com/mmc/pms/model/lease/vo/LeasePriceStockVO.java
0 → 100644
浏览文件 @
902af792
package
com
.
mmc
.
pms
.
model
.
lease
.
vo
;
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 LW
* @date 2023/8/8 10:48
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
LeasePriceStockVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1011141620995647903L
;
@ApiModelProperty
(
value
=
"id"
,
example
=
"1"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"商品规格"
,
example
=
"示例:{\"颜色\":\"蓝色\",\"尺寸\":\"1寸\",\"大小\":\"小\"} 或 [\"颜色\":\"蓝色\",\"尺寸\":\"1寸\",\"大小\":\"小\"] 或 你怎么方便怎么来"
)
private
String
productSpec
;
@ApiModelProperty
(
value
=
"押金"
,
example
=
"1"
)
private
BigDecimal
cashPledge
;
@ApiModelProperty
(
value
=
"3天租金"
,
example
=
"1"
)
private
BigDecimal
threeDaysRental
;
@ApiModelProperty
(
value
=
"7天租金"
,
example
=
"1"
)
private
BigDecimal
sevenDaysRental
;
@ApiModelProperty
(
value
=
"30天租金"
,
example
=
"1"
)
private
BigDecimal
thirtyDaysRental
;
@ApiModelProperty
(
value
=
"90天租金"
,
example
=
"1"
)
private
BigDecimal
ninetyDaysRental
;
@ApiModelProperty
(
value
=
"180天租金"
,
example
=
"1"
)
private
BigDecimal
maxDaysRental
;
@ApiModelProperty
(
value
=
"展示最低价"
,
example
=
"1"
)
private
BigDecimal
showPrice
;
@ApiModelProperty
(
value
=
"sku图片"
,
example
=
"https://pad-video-x.oss-cn-shenzhen.aliyuncs.com/file/35bbd044-7cd7-4c85-ba27-69776e03dbb2.jpg"
)
private
String
skuImage
;
@ApiModelProperty
(
value
=
"库存"
,
example
=
"10"
)
private
Integer
stock
;
@ApiModelProperty
(
value
=
"是否缺货 0:否 1:是"
)
private
Integer
stockOut
;
}
src/main/java/com/mmc/pms/service/lease/LeaseGoodsService.java
浏览文件 @
902af792
package
com
.
mmc
.
pms
.
service
.
lease
;
package
com
.
mmc
.
pms
.
service
.
lease
;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.model.lease.vo.LeaseGoodsVO
;
/**
/**
* @Author LW
* @Author LW
* @date 2023/8/4 10:37
* @date 2023/8/4 10:37
* 概要:
* 概要:
*/
*/
public
interface
LeaseGoodsService
{
public
interface
LeaseGoodsService
{
ResultBody
addLeaseGoods
(
LeaseGoodsVO
leaseGoodsVO
,
Integer
userAccountId
);
}
}
src/main/java/com/mmc/pms/service/lease/impl/LeaseGoodsServiceImpl.java
浏览文件 @
902af792
package
com
.
mmc
.
pms
.
service
.
lease
.
impl
;
package
com
.
mmc
.
pms
.
service
.
lease
.
impl
;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.dao.lease.LeaseGoodsDao
;
import
com.mmc.pms.entity.lease.LeaseGoodsDO
;
import
com.mmc.pms.entity.lease.LeasePartsListDO
;
import
com.mmc.pms.model.lease.vo.LeaseGoodsVO
;
import
com.mmc.pms.model.lease.vo.LeasePartsListVO
;
import
com.mmc.pms.service.lease.LeaseGoodsService
;
import
com.mmc.pms.service.lease.LeaseGoodsService
;
import
com.mmc.pms.service.mall.MallGoodsService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
/**
* @Author LW
* @Author LW
...
@@ -10,4 +23,39 @@ import org.springframework.stereotype.Service;
...
@@ -10,4 +23,39 @@ import org.springframework.stereotype.Service;
*/
*/
@Service
@Service
public
class
LeaseGoodsServiceImpl
implements
LeaseGoodsService
{
public
class
LeaseGoodsServiceImpl
implements
LeaseGoodsService
{
@Resource
MallGoodsService
mallGoodsService
;
@Resource
LeaseGoodsDao
leaseGoodsDao
;
@Override
public
ResultBody
addLeaseGoods
(
LeaseGoodsVO
leaseGoodsVO
,
Integer
userAccountId
)
{
ResultBody
resultError
=
mallGoodsService
.
checkInformation
(
leaseGoodsVO
,
null
,
userAccountId
);
if
(
resultError
!=
null
)
return
resultError
;
int
count
=
leaseGoodsDao
.
countLeaseGoodsByUserAccountId
(
userAccountId
);
LeaseGoodsDO
leaseGoodsDO
=
new
LeaseGoodsDO
(
leaseGoodsVO
);
leaseGoodsDO
.
setUserAccountId
(
userAccountId
);
leaseGoodsDO
.
setSort
(
count
+
1
);
// 将租赁商品基本信息存储入数据库
leaseGoodsDao
.
insertLeaseGoodsBaseInfo
(
leaseGoodsDO
);
// 将商品图片等资源存入数据库中
mallGoodsService
.
insertMallGoodsResources
(
leaseGoodsVO
,
null
,
leaseGoodsDO
.
getId
());
// 将商品规格存入数据库
mallGoodsService
.
addMallGoodsSpec
(
leaseGoodsVO
.
getSpecAttrList
(),
leaseGoodsDO
.
getId
(),
null
,
leaseGoodsVO
.
getPriceStock
(),
1
);
// 将商品清单入库
insertLeasePartsList
(
leaseGoodsVO
.
getLeasePartsList
(),
leaseGoodsDO
.
getId
());
return
ResultBody
.
success
();
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
insertLeasePartsList
(
List
<
LeasePartsListVO
>
leasePartsList
,
Integer
id
)
{
if
(
CollectionUtils
.
isNotEmpty
(
leasePartsList
))
{
List
<
LeasePartsListDO
>
list
=
leasePartsList
.
stream
().
map
(
d
->
{
LeasePartsListDO
leasePartsListDO
=
new
LeasePartsListDO
(
d
);
leasePartsListDO
.
setLeaseGoodsId
(
id
);
return
leasePartsListDO
;
}).
collect
(
Collectors
.
toList
());
leaseGoodsDao
.
batchInsertLeaseParts
(
list
);
}
}
}
}
src/main/java/com/mmc/pms/service/mall/MallGoodsService.java
浏览文件 @
902af792
...
@@ -2,10 +2,16 @@ package com.mmc.pms.service.mall;
...
@@ -2,10 +2,16 @@ package com.mmc.pms.service.mall;
import
com.mmc.pms.auth.dto.LoginSuccessDTO
;
import
com.mmc.pms.auth.dto.LoginSuccessDTO
;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.model.lease.vo.LeaseGoodsVO
;
import
com.mmc.pms.model.lease.vo.LeasePriceStockVO
;
import
com.mmc.pms.model.mall.MallGoodsVO
;
import
com.mmc.pms.model.mall.MallGoodsVO
;
import
com.mmc.pms.model.mall.PriceStockVO
;
import
com.mmc.pms.model.mall.SpecAttrVO
;
import
com.mmc.pms.model.sale.qo.MallGoodsInfoQO
;
import
com.mmc.pms.model.sale.qo.MallGoodsInfoQO
;
import
com.mmc.pms.page.PageResult
;
import
com.mmc.pms.page.PageResult
;
import
java.util.List
;
/**
/**
* @Author LW
* @Author LW
* @date 2023/7/24 17:37 概要:
* @date 2023/7/24 17:37 概要:
...
@@ -28,4 +34,10 @@ public interface MallGoodsService {
...
@@ -28,4 +34,10 @@ public interface MallGoodsService {
ResultBody
removeMallGoods
(
Integer
id
);
ResultBody
removeMallGoods
(
Integer
id
);
ResultBody
feignRemoveGoodsByBackUserAccountId
(
Integer
id
);
ResultBody
feignRemoveGoodsByBackUserAccountId
(
Integer
id
);
ResultBody
checkInformation
(
LeaseGoodsVO
leaseGoodsVO
,
MallGoodsVO
mallGoodsVO
,
Integer
userAccountId
);
void
insertMallGoodsResources
(
LeaseGoodsVO
leaseGoodsVO
,
MallGoodsVO
mallGoodsVO
,
Integer
id
);
void
addMallGoodsSpec
(
List
<
SpecAttrVO
>
specAttrList
,
Integer
id
,
List
<
PriceStockVO
>
priceStock
,
List
<
LeasePriceStockVO
>
leasePriceStockVO
,
Integer
flag
);
}
}
src/main/java/com/mmc/pms/service/mall/impl/MallGoodsServiceImpl.java
浏览文件 @
902af792
差异被折叠。
点击展开。
src/main/resources/mapper/lease/LeaseGoodsDao.xml
浏览文件 @
902af792
...
@@ -3,5 +3,99 @@
...
@@ -3,5 +3,99 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.mmc.pms.dao.lease.LeaseGoodsDao"
>
<mapper
namespace=
"com.mmc.pms.dao.lease.LeaseGoodsDao"
>
<insert
id=
"insertLeaseGoodsBaseInfo"
parameterType=
"com.mmc.pms.entity.lease.LeaseGoodsDO"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into lease_goods (trade_name,
selling_point,
`level`,
shelf_status,
product_type_id,
brand_info_id,
device_mode_id,
product_param,
product_details,
min_lease_term,
max_lease_term,
ship_address,
return_address,
logistics_company,
mode_of_delivery,
user_account_id,
sort)
values (#{tradeName}, #{sellingPoint}, #{level}, #{shelfStatus}, #{productTypeId}, #{brandInfoId},
#{deviceModeId}, #{productParam}, #{productDetails}, #{minLeaseTerm}, #{maxLeaseTerm}, #{shipAddress},
#{returnAddress}, #{logisticsCompany}, #{modeOfDelivery}, #{userAccountId}, #{sort})
</insert>
<insert
id=
"batchInsertLeaseGoodsResources"
>
insert into lease_goods_resources (lease_goods_id,
url,
`type`
)
values
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(#{item.mallGoodsId},#{item.url},#{item.type})
</foreach>
</insert>
<insert
id=
"insertSpecAttr"
useGeneratedKeys=
"true"
keyProperty=
"id"
parameterType=
"com.mmc.pms.entity.mall.SpecAttrDO"
>
insert into lease_spec_attr (lease_goods_id,
spec_name)
values (#{mallGoodsId}, #{specName})
</insert>
<insert
id=
"batchInsertSpecAttr"
>
insert into lease_spec_attr_value (spec_attr_id,
spec_value_name
)
values
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(#{item.specAttrId},#{item.specValueName})
</foreach>
</insert>
<insert
id=
"batchInsertPriceStock"
>
insert into lease_price_stock (lease_goods_id,
product_spec,
sku_image,
cash_pledge,
three_days_rental,
seven_days_rental,
thirty_days_rental,
ninety_days_rental,
max_days_rental,
show_price,
stock,
stock_out
)
values
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(#{item.leaseGoodsId},#{item.productSpec},#{item.skuImage},#{item.cashPledge},#{item.threeDaysRental}
,#{item.sevenDaysRental},#{item.thirtyDaysRental},#{item.ninetyDaysRental},#{item.maxDaysRental}
,#{item.showPrice},#{item.stock},#{item.stockOut})
</foreach>
</insert>
<insert
id=
"batchInsertLeaseParts"
>
insert into lease_parts_list (lease_goods_id,
`name`,`number`,price
)
values
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(#{item.leaseGoodsId},#{item.name},#{item.number},#{item.price})
</foreach>
</insert>
<select
id=
"countLeaseGoodsByName"
resultType=
"java.lang.Integer"
>
select count(*)
from lease_goods
where
trade_name = #{leaseGoodsVO.tradeName}
and user_account_id = #{userAccountId}
<if
test=
"leaseGoodsVO.id!=null"
>
and id
<![CDATA[<>]]>
#{leaseGoodsVO.id}
</if>
</select>
<select
id=
"countLeaseGoodsByUserAccountId"
resultType=
"java.lang.Integer"
>
select count(*)
from lease_goods
where user_account_id = #{userAccountId}
</select>
</mapper>
</mapper>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论