Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_backend
Commits
8015bd3f
Commit
8015bd3f
authored
May 13, 2024
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
首页新增折扣商品
parent
df033588
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
211 additions
and
21 deletions
+211
-21
ch-core/src/main/java/com/wwdz/ch/core/consts/DistributionEnum.java
...c/main/java/com/wwdz/ch/core/consts/DistributionEnum.java
+1
-0
ch-core/src/main/java/com/wwdz/ch/core/entity/SupplierItemVo.java
...src/main/java/com/wwdz/ch/core/entity/SupplierItemVo.java
+5
-0
ch-dao/src/main/java/com/wwdz/ch/db/dao/distribution/DistributionOrderDao.java
...com/wwdz/ch/db/dao/distribution/DistributionOrderDao.java
+8
-0
ch-dao/src/main/java/com/wwdz/ch/db/dto/request/distribution/SupplierItemRequestDto.java
...h/db/dto/request/distribution/SupplierItemRequestDto.java
+1
-1
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/DistributionOrderDaoImpl.java
...wdz/ch/db/impl/distribution/DistributionOrderDaoImpl.java
+15
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/api/WxPayCallbackController.java
...main/java/com/wwdz/ch/wx/api/WxPayCallbackController.java
+39
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/UserServiceImpl.java
...pi/src/main/java/com/wwdz/ch/wx/impl/UserServiceImpl.java
+6
-2
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/DistributionOrderServiceImpl.java
...ch/wx/impl/distribution/DistributionOrderServiceImpl.java
+64
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/SupplierItemServiceImpl.java
...wwdz/ch/wx/impl/distribution/SupplierItemServiceImpl.java
+57
-18
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/SupplierItemService.java
.../wwdz/ch/wx/service/distribution/SupplierItemService.java
+8
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/distribution/SupplierItemController.java
...m/wwdz/ch/wx/web/distribution/SupplierItemController.java
+7
-0
No files found.
ch-core/src/main/java/com/wwdz/ch/core/consts/DistributionEnum.java
View file @
8015bd3f
...
...
@@ -90,6 +90,7 @@ public class DistributionEnum {
FIXED_PRICE
(
1
,
"一口价"
),
AUCTION
(
2
,
"竞拍"
),
COLLECT
(
3
,
"藏品"
),
DISCOUNT
(
4
,
"折扣品"
),
;
private
int
code
;
...
...
ch-core/src/main/java/com/wwdz/ch/core/entity/SupplierItemVo.java
View file @
8015bd3f
...
...
@@ -267,4 +267,9 @@ public class SupplierItemVo implements Entity {
private
String
statusName
;
/**
* 是否已经有折扣订单
*/
private
Boolean
isHasDiscountOrder
;
}
ch-dao/src/main/java/com/wwdz/ch/db/dao/distribution/DistributionOrderDao.java
View file @
8015bd3f
...
...
@@ -52,6 +52,14 @@ public interface DistributionOrderDao {
List
<
DistributionOrder
>
findByBuyerId
(
long
buyerId
);
/**
* 根据买家id查询折扣订单
* @param buyerId
* @return
*/
List
<
DistributionOrder
>
findByBuyerId
(
long
buyerId
,
int
type
,
Date
startTime
,
Date
endTime
);
/**
* 根据买家id查询最近一次购买记录
* @param buyerId
...
...
ch-dao/src/main/java/com/wwdz/ch/db/dto/request/distribution/SupplierItemRequestDto.java
View file @
8015bd3f
...
...
@@ -124,7 +124,7 @@ public class SupplierItemRequestDto extends BaseRequestDto implements Entity {
private
String
rebate
;
/**
* 商品类型1一口价2竞拍3用户上传
* 商品类型1一口价2竞拍3用户上传
4折扣商品
*/
private
Integer
type
;
...
...
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/DistributionOrderDaoImpl.java
View file @
8015bd3f
...
...
@@ -61,6 +61,21 @@ public class DistributionOrderDaoImpl implements DistributionOrderDao {
return
distributionOrderMapper
.
selectByExample
(
example
);
}
@Override
public
List
<
DistributionOrder
>
findByBuyerId
(
long
buyerId
,
int
type
,
Date
startTime
,
Date
endTime
)
{
DistributionOrderExample
example
=
new
DistributionOrderExample
();
DistributionOrderExample
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andBuyerIdEqualTo
(
buyerId
);
criteria
.
andTypeEqualTo
(
type
);
criteria
.
andCreateTimeGreaterThanOrEqualTo
(
startTime
);
criteria
.
andCreateTimeLessThanOrEqualTo
(
endTime
);
//排除已取消的订单
criteria
.
andStateNotEqualTo
(
101
);
return
distributionOrderMapper
.
selectByExample
(
example
);
}
@Override
public
DistributionOrder
findLastedByBuyerId
(
long
buyerId
)
{
DistributionOrderExample
example
=
new
DistributionOrderExample
();
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/api/WxPayCallbackController.java
View file @
8015bd3f
...
...
@@ -165,6 +165,12 @@ public class WxPayCallbackController {
if
(!
updateResult
.
getSuccess
())
{
return
JsonUtils
.
from
(
returnMap
);
}
}
else
if
(
distributionOrder
.
getType
()
==
DistributionEnum
.
DistributionTypeEnum
.
DISCOUNT
.
getCode
())
{
//折扣订单
Result
updateResult
=
handleOrderOfDiscount
(
transaction
);
if
(!
updateResult
.
getSuccess
())
{
return
JsonUtils
.
from
(
returnMap
);
}
}
}
}
...
...
@@ -357,6 +363,39 @@ public class WxPayCallbackController {
/**
* 更新折扣订单状态
* @return
*/
public
Result
handleOrderOfDiscount
(
Transaction
transaction
)
{
try
{
//商户订单号,分销订单号
String
distributionOrderId
=
transaction
.
getOutTradeNo
();
//微信支付交易id
String
transactionId
=
transaction
.
getTransactionId
();
//支付成功时间
String
payTime
=
transaction
.
getSuccessTime
();
//支付成功,更新订单状态为待发货
DistributionOrder
distributionOrderDto
=
new
DistributionOrder
();
distributionOrderDto
.
setDistributionOrderId
(
distributionOrderId
);
distributionOrderDto
.
setTransactionId
(
transactionId
);
distributionOrderDto
.
setPayTime
(
TimeUtil
.
wxTimeConvertToDate
(
payTime
));
distributionOrderDto
.
setState
(
DistributionEnum
.
DistributionOrderStateEnum
.
PRE_SEND
.
getCode
());
distributionOrderDao
.
update
(
distributionOrderDto
);
DistributionOrder
distributionOrder
=
distributionOrderDao
.
findById
(
distributionOrderId
);
//更新库存
supplierItemService
.
reduceStock
(
distributionOrder
.
getItemId
(),
distributionOrder
.
getItemNum
());
logger
.
info
(
">>>>>>>>>>>> 折扣订单,微信支付回调通知处理成功,更新订单状态和商品库存 <<<<<<<<<<<<"
);
return
Result
.
success
();
}
catch
(
Exception
e
)
{
logger
.
error
(
">>>>>>>>>>>> 折扣订单,微信支付回调通知处理失败 error :{}"
,
e
);
}
return
Result
.
failed
();
}
/**
* 获取请求体
*
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/UserServiceImpl.java
View file @
8015bd3f
...
...
@@ -211,6 +211,7 @@ public class UserServiceImpl implements UserService {
if
(
shopWhiteListDao
.
isExisted
(
dto
.
getUserId
()))
{
ShopWhiteList
shopWhiteList
=
shopWhiteListDao
.
findByUserId
(
dto
.
getUserId
());
result
.
put
(
"isShop"
,
true
);
result
.
put
(
"isCollector"
,
true
);
result
.
put
(
"shopId"
,
shopWhiteList
.
getShopId
()
==
null
?
dto
.
getUserId
()
:
shopWhiteList
.
getShopId
());
userLevel
=
UserEnum
.
LevelEnum
.
DISTRIBUTOR
.
getCode
();
if
(
collectorWhiteListFlag
)
{
...
...
@@ -223,6 +224,7 @@ public class UserServiceImpl implements UserService {
ShopDTO
shopDTO
=
cloudServerResponse
.
getResult
();
if
(
shopDTO
!=
null
&&
!
ObjectUtils
.
isEmpty
(
shopDTO
.
getShopId
())
&&
shopDTO
.
getPayStatus
()
==
1
&&
shopDTO
.
getCheckStatus
()
==
1
&&
shopDTO
.
getType
()
==
4
)
{
result
.
put
(
"isShop"
,
true
);
result
.
put
(
"isCollector"
,
true
);
result
.
put
(
"shopId"
,
shopDTO
.
getShopId
());
//新商家登录,在表中记录
ShopWhiteList
shopWhiteList
=
new
ShopWhiteList
();
...
...
@@ -259,10 +261,12 @@ public class UserServiceImpl implements UserService {
String
userKey
=
MessageFormat
.
format
(
CacheCodeConstants
.
USER_INFO_KEY
,
user
.
getId
());
redisUtil
.
set
(
userKey
,
user
,
2
*
60
*
60
);
//判断用户是否在藏家白名单
if
(
collectorWhiteListFlag
)
{
if
(
collectorWhiteListFlag
)
{
result
.
put
(
"isCollector"
,
true
);
}
else
{
result
.
put
(
"isCollector"
,
false
);
if
(!(
Boolean
)
result
.
get
(
"isShop"
))
{
result
.
put
(
"isCollector"
,
false
);
}
}
//返回用户信息
user
=
userDao
.
queryById
(
dto
.
getUserId
());
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/DistributionOrderServiceImpl.java
View file @
8015bd3f
package
com.wwdz.ch.wx.impl.distribution
;
import
cn.hutool.core.date.DateUtil
;
import
com.github.pagehelper.PageInfo
;
import
com.wechat.pay.java.service.refund.model.Refund
;
import
com.wechat.pay.java.service.refund.model.Status
;
...
...
@@ -121,6 +122,9 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
@Override
public
Result
createDistributionOrder
(
DistributionOrderRequestDto
dto
)
{
try
{
if
(
dto
.
getType
()
==
DistributionEnum
.
DistributionTypeEnum
.
DISCOUNT
.
getCode
())
{
return
createDiscountOrder
(
dto
);
}
String
shareRecordId
=
dto
.
getShareRecordId
();
//查询分享记录详细信息
DistributorShareRecord
distributorShareRecord
=
distributorShareRecordDao
.
findById
(
shareRecordId
);
...
...
@@ -1163,4 +1167,64 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
}
return
Result
.
failed
();
}
@Transactional
public
Result
createDiscountOrder
(
DistributionOrderRequestDto
dto
)
{
try
{
//查询商品信息,检查商品库存
SupplierItem
supplierItem
=
supplierItemDao
.
findById
(
dto
.
getItemId
());
int
stock
=
supplierItem
.
getStock
();
if
(
stock
<=
0
)
{
return
Result
.
failed
(
"商品库存不足"
);
}
//查询购买者历史购买记录,折扣商品每人每天只能购买一单
Date
now
=
new
Date
();
Date
todayStartTime
=
DateUtil
.
beginOfDay
(
now
);
Date
todayEndTime
=
DateUtil
.
endOfDay
(
now
);
List
<
DistributionOrder
>
distributionOrders
=
distributionOrderDao
.
findByBuyerId
(
dto
.
getBuyerId
(),
DistributionEnum
.
DistributionTypeEnum
.
DISCOUNT
.
getCode
(),
todayStartTime
,
todayEndTime
);
if
(!
CollectionUtils
.
isEmpty
(
distributionOrders
))
{
return
Result
.
failed
(
"折扣商品每人每天限购一单"
);
}
String
distributionOrderId
=
IdUtils
.
getOrderNumber
(
DISTRIBUTION_ORDER_PREFIX
);
DistributionOrderRequestDto
prePayDto
=
new
DistributionOrderRequestDto
();
prePayDto
.
setDistributionOrderId
(
distributionOrderId
);
prePayDto
.
setAmount
(
String
.
valueOf
(
supplierItem
.
getDistributionPrice
()));
prePayDto
.
setBuyerOpenid
(
dto
.
getBuyerOpenid
());
prePayDto
.
setItemName
(
supplierItem
.
getName
());
Result
prePayResult
=
wxPayServiceApi
.
createPrepareOrder
(
prePayDto
);
if
(!
prePayResult
.
getSuccess
())
{
return
Result
.
failed
(
"预下单失败"
);
}
String
prepayId
=
(
String
)
prePayResult
.
getData
();
DistributionOrder
distributionOrder
=
new
DistributionOrder
();
distributionOrder
.
setItemId
(
supplierItem
.
getId
());
distributionOrder
.
setItemNum
(
1
);
distributionOrder
.
setShareRecordId
(
"DA"
+
CommConsts
.
SYSTEM_ACCOUNT
);
distributionOrder
.
setDistributionOrderId
(
distributionOrderId
);
distributionOrder
.
setPrepayId
(
prepayId
);
distributionOrder
.
setBuyerId
(
dto
.
getBuyerId
());
distributionOrder
.
setBuyerOpenid
(
dto
.
getBuyerOpenid
());
distributionOrder
.
setShopId
(
CommConsts
.
SYSTEM_ACCOUNT
);
distributionOrder
.
setSellerId
(
CommConsts
.
SYSTEM_ACCOUNT
);
distributionOrder
.
setAmount
(
supplierItem
.
getDistributionPrice
());
distributionOrder
.
setAddressId
(
dto
.
getAddressId
());
distributionOrder
.
setReceiverAddress
(
dto
.
getReceiverAddress
());
distributionOrder
.
setReceiverName
(
dto
.
getReceiverName
());
distributionOrder
.
setReceiverPhone
(
dto
.
getReceiverPhone
());
distributionOrder
.
setCreateTime
(
new
Date
());
distributionOrder
.
setUpdateTime
(
new
Date
());
distributionOrder
.
setType
(
DistributionEnum
.
DistributionTypeEnum
.
DISCOUNT
.
getCode
());
distributionOrder
.
setState
(
DistributionEnum
.
DistributionOrderStateEnum
.
PRE_PAY
.
getCode
());
distributionOrderDao
.
insert
(
distributionOrder
);
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"distributionOrderId"
,
distributionOrderId
);
map
.
put
(
"prepayId"
,
prepayId
);
return
Result
.
success
(
map
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"创建折扣商品订单失败 error : {}"
,
e
);
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
}
return
Result
.
failed
(
"创建折扣商品订单失败"
);
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/SupplierItemServiceImpl.java
View file @
8015bd3f
package
com.wwdz.ch.wx.impl.distribution
;
import
cn.hutool.core.date.DateUtil
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.core.consts.*
;
import
com.wwdz.ch.core.storage.QiniuStorage
;
...
...
@@ -220,30 +221,42 @@ public class SupplierItemServiceImpl implements SupplierItemService {
}
}
}
//用户点击链接进入详情页需要记录
if
(!
dto
.
getIsShop
())
{
supplierItemVo
.
setSalePrice
(
PriceUtil
.
convertPriceFenToYuan
(
distributorShareRecord
.
getPrice
()));
}
else
{
//店家进入详情,需要判断是否购买过样品
if
(
distributionOrderDao
.
isBuyItem
(
dto
.
getUserId
(),
itemId
))
{
supplierItemVo
.
setShopBought
(
true
);
//排除折扣商品
if
(
dto
.
getType
()
!=
DistributionEnum
.
DistributionTypeEnum
.
DISCOUNT
.
getCode
())
{
if
(!
dto
.
getIsShop
())
{
supplierItemVo
.
setSalePrice
(
PriceUtil
.
convertPriceFenToYuan
(
distributorShareRecord
.
getPrice
()));
}
else
{
supplierItemVo
.
setShopBought
(
false
);
//店家进入详情,需要判断是否购买过样品
if
(
distributionOrderDao
.
isBuyItem
(
dto
.
getUserId
(),
itemId
))
{
supplierItemVo
.
setShopBought
(
true
);
}
else
{
supplierItemVo
.
setShopBought
(
false
);
}
//判断商家是否已经分享过
DistributorShareRecord
shareRecord
=
distributorShareRecordDao
.
findItemShareRecordByDistributorId
(
dto
.
getUserId
(),
itemId
);
if
(
shareRecord
!=
null
&&
StringUtils
.
hasLength
(
shareRecord
.
getShareId
()))
{
supplierItemVo
.
setIsShared
(
true
);
}
else
{
supplierItemVo
.
setIsShared
(
false
);
}
//计算商家自购价
BigDecimal
bigDecimal
=
new
BigDecimal
(
PriceUtil
.
convertPriceFenToYuan
(
supplierItem
.
getDistributionPrice
())).
multiply
(
supplierItem
.
getRebate
()).
divide
(
new
BigDecimal
(
"100"
));
BigDecimal
buyPrice
=
new
BigDecimal
(
PriceUtil
.
convertPriceFenToYuan
(
supplierItem
.
getDistributionPrice
())).
subtract
(
bigDecimal
).
setScale
(
2
,
BigDecimal
.
ROUND_UP
);
supplierItemVo
.
setSelfBuyPrice
(
buyPrice
.
toPlainString
());
}
//判断商家是否已经分享过
DistributorShareRecord
shareRecord
=
distributorShareRecordDao
.
findItemShareRecordByDistributorId
(
dto
.
getUserId
(),
itemId
);
if
(
shareRecord
!=
null
&&
StringUtils
.
hasLength
(
shareRecord
.
getShareId
()))
{
supplierItemVo
.
setIsShared
(
true
);
}
else
{
//判断当前用户今天是否已经购买过折扣商品
Date
now
=
new
Date
();
Date
todayStartTime
=
DateUtil
.
beginOfDay
(
now
);
Date
todayEndTime
=
DateUtil
.
endOfDay
(
now
);
List
<
DistributionOrder
>
distributionOrders
=
distributionOrderDao
.
findByBuyerId
(
dto
.
getUserId
(),
DistributionEnum
.
DistributionTypeEnum
.
DISCOUNT
.
getCode
(),
todayStartTime
,
todayEndTime
);
if
(
CollectionUtils
.
isEmpty
(
distributionOrders
))
{
supplierItemVo
.
setIsHasDiscountOrder
(
false
);
}
else
{
supplierItemVo
.
setIs
Shared
(
fals
e
);
supplierItemVo
.
setIs
HasDiscountOrder
(
tru
e
);
}
//计算商家自购价
BigDecimal
bigDecimal
=
new
BigDecimal
(
PriceUtil
.
convertPriceFenToYuan
(
supplierItem
.
getDistributionPrice
())).
multiply
(
supplierItem
.
getRebate
()).
divide
(
new
BigDecimal
(
"100"
));
BigDecimal
buyPrice
=
new
BigDecimal
(
PriceUtil
.
convertPriceFenToYuan
(
supplierItem
.
getDistributionPrice
())).
subtract
(
bigDecimal
).
setScale
(
2
,
BigDecimal
.
ROUND_UP
);
supplierItemVo
.
setSelfBuyPrice
(
buyPrice
.
toPlainString
());
}
EntityMapper
.
copyAttribute
(
supplierItem
,
supplierItemVo
);
supplierItemVo
.
setItemId
(
supplierItem
.
getId
());
supplierItemVo
.
setSupplyPrice
(
PriceUtil
.
convertPriceFenToYuan
(
supplierItem
.
getSupplyPrice
()));
...
...
@@ -260,6 +273,32 @@ public class SupplierItemServiceImpl implements SupplierItemService {
}
@Override
public
Result
findDiscountList
(
SupplierItemRequestDto
dto
)
{
try
{
SupplierItemRequestDto
searchDto
=
new
SupplierItemRequestDto
();
searchDto
.
setType
(
DistributionEnum
.
DistributionTypeEnum
.
DISCOUNT
.
getCode
());
searchDto
.
setIsDeleted
(
false
);
searchDto
.
setIsOnSale
(
true
);
List
<
SupplierItem
>
supplierItemList
=
supplierItemDao
.
findList
(
searchDto
);
PageInfo
pageInfo
=
new
PageInfo
(
supplierItemList
);
List
<
SupplierItemVo
>
supplierItemVoList
=
new
ArrayList
<>();
supplierItemList
.
forEach
(
supplierItem
->
{
SupplierItemVo
supplierItemVo
=
new
SupplierItemVo
();
EntityMapper
.
copyAttribute
(
supplierItem
,
supplierItemVo
);
supplierItemVo
.
setItemId
(
supplierItem
.
getId
());
supplierItemVo
.
setSupplyPrice
(
PriceUtil
.
convertPriceFenToYuan
(
supplierItem
.
getSupplyPrice
()));
supplierItemVo
.
setDistributionPrice
(
PriceUtil
.
convertPriceFenToYuan
(
supplierItem
.
getDistributionPrice
()));
supplierItemVo
.
setHomePageImage
(
MediaUtil
.
getHomePageImage
(
supplierItem
.
getImages
(),
supplierItem
.
getVideos
()));
supplierItemVoList
.
add
(
supplierItemVo
);
});
return
Result
.
success
(
PageSearchResult
.
of
(
pageInfo
,
supplierItemVoList
));
}
catch
(
Exception
e
)
{
logger
.
error
(
"查询首页促销商品列表失败 error : {}"
,
e
);
}
return
Result
.
failed
();
}
@Override
public
Result
reduceStock
(
long
itemId
,
int
stock
)
{
String
itemIdKey
=
String
.
valueOf
(
itemId
);
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/SupplierItemService.java
View file @
8015bd3f
...
...
@@ -29,6 +29,14 @@ public interface SupplierItemService {
Result
findList
(
SupplierItemRequestDto
dto
);
/**
* 查询首页促销商品列表
* @param dto
* @return
*/
Result
findDiscountList
(
SupplierItemRequestDto
dto
);
/**
* 查询供应商商品详情
* @param dto
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/distribution/SupplierItemController.java
View file @
8015bd3f
...
...
@@ -39,6 +39,13 @@ public class SupplierItemController {
return
supplierItemService
.
findList
(
dto
);
}
@ApiOperation
(
value
=
"查询首页促销商品列表"
)
@PostMapping
(
"/findDiscountList"
)
public
Result
findDiscountList
(
@RequestBody
SupplierItemRequestDto
dto
)
{
logger
.
info
(
"查询首页促销商品列表,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
return
supplierItemService
.
findDiscountList
(
dto
);
}
@ApiOperation
(
value
=
"查询供货商品详情"
)
@PostMapping
(
"/findDetail"
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment