Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pms
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
pms
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;
import
com.mmc.pms.common.ResultBody
;
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
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -36,8 +36,7 @@ public class LeaseGoodsController extends BaseController {
@ApiOperation
(
value
=
"新增商城商品"
)
@PostMapping
(
"addLeaseGoods"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
ResultBody
addLeaseGoods
(
@RequestBody
MallGoodsVO
mallGoodsVO
,
HttpServletRequest
request
)
{
return
null
;
// return leaseGoodsService.addLeaseGoods(mallGoodsVO, this.getUserLoginInfoFromRedis(request).getUserAccountId());
public
ResultBody
addLeaseGoods
(
@RequestBody
LeaseGoodsVO
leaseGoodsVO
,
HttpServletRequest
request
)
{
return
leaseGoodsService
.
addLeaseGoods
(
leaseGoodsVO
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
());
}
}
src/main/java/com/mmc/pms/dao/lease/LeaseGoodsDao.java
浏览文件 @
902af792
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.Param
;
import
java.util.List
;
/**
* @Author LW
...
...
@@ -9,4 +19,19 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
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
;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.model.lease.vo.LeaseGoodsVO
;
/**
* @Author LW
* @date 2023/8/4 10:37
* 概要:
*/
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
;
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.mall.MallGoodsService
;
import
org.apache.commons.collections4.CollectionUtils
;
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
...
...
@@ -10,4 +23,39 @@ import org.springframework.stereotype.Service;
*/
@Service
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;
import
com.mmc.pms.auth.dto.LoginSuccessDTO
;
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.PriceStockVO
;
import
com.mmc.pms.model.mall.SpecAttrVO
;
import
com.mmc.pms.model.sale.qo.MallGoodsInfoQO
;
import
com.mmc.pms.page.PageResult
;
import
java.util.List
;
/**
* @Author LW
* @date 2023/7/24 17:37 概要:
...
...
@@ -28,4 +34,10 @@ public interface MallGoodsService {
ResultBody
removeMallGoods
(
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 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<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>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论