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
1cdfb4a7
Commit
1cdfb4a7
authored
May 14, 2024
by
shiyu
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'quanku_v2.3' into quanku_v2.4
parents
c37447a0
4717d1f8
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
219 additions
and
26 deletions
+219
-26
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/SysSupplierItemServiceImpl.java
...va/com/wwdz/ch/admin/impl/SysSupplierItemServiceImpl.java
+3
-1
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
+67
-2
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/SupplierItemServiceImpl.java
...wwdz/ch/wx/impl/distribution/SupplierItemServiceImpl.java
+58
-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/DistributionOrderController.java
...z/ch/wx/web/distribution/DistributionOrderController.java
+1
-2
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-admin-api/src/main/java/com/wwdz/ch/admin/impl/SysSupplierItemServiceImpl.java
View file @
1cdfb4a7
...
...
@@ -153,7 +153,9 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
try
{
List
<
SupplierItemVo
>
supplierItemVos
=
new
ArrayList
<>();
if
(
dto
.
getType
()
==
null
)
{
dto
.
setTypeList
(
Arrays
.
asList
(
DistributionEnum
.
DistributionTypeEnum
.
FIXED_PRICE
.
getCode
(),
DistributionEnum
.
DistributionTypeEnum
.
AUCTION
.
getCode
()));
dto
.
setTypeList
(
Arrays
.
asList
(
DistributionEnum
.
DistributionTypeEnum
.
FIXED_PRICE
.
getCode
(),
DistributionEnum
.
DistributionTypeEnum
.
AUCTION
.
getCode
(),
DistributionEnum
.
DistributionTypeEnum
.
DISCOUNT
.
getCode
()));
}
List
<
SupplierItem
>
supplierItemList
=
supplierItemDao
.
findList
(
dto
);
PageInfo
<
SupplierItem
>
pageInfo
=
new
PageInfo
(
supplierItemList
);
...
...
ch-core/src/main/java/com/wwdz/ch/core/consts/DistributionEnum.java
View file @
1cdfb4a7
...
...
@@ -52,6 +52,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 @
1cdfb4a7
...
...
@@ -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 @
1cdfb4a7
...
...
@@ -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 @
1cdfb4a7
...
...
@@ -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 @
1cdfb4a7
...
...
@@ -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 @
1cdfb4a7
...
...
@@ -171,6 +171,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
);
}
}
}
}
...
...
@@ -365,6 +371,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 @
1cdfb4a7
...
...
@@ -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 @
1cdfb4a7
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
;
...
...
@@ -124,6 +125,12 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
@Override
public
Result
createDistributionOrder
(
DistributionOrderRequestDto
dto
)
{
try
{
//查询商品信息,检查商品库存
SupplierItem
supplierItem
=
supplierItemDao
.
findById
(
dto
.
getItemId
());
if
(
supplierItem
.
getType
()
==
DistributionEnum
.
DistributionTypeEnum
.
DISCOUNT
.
getCode
())
{
dto
.
setType
(
supplierItem
.
getType
());
return
createDiscountOrder
(
dto
);
}
String
shareRecordId
=
dto
.
getShareRecordId
();
//查询分享记录详细信息
DistributorShareRecord
distributorShareRecord
=
distributorShareRecordDao
.
findById
(
shareRecordId
);
...
...
@@ -133,8 +140,6 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
if
(!
distributorShareRecord
.
getEnabled
())
{
return
Result
.
failed
(
"该分享链接已失效"
);
}
//查询商品信息,检查商品库存
SupplierItem
supplierItem
=
supplierItemDao
.
findById
(
distributorShareRecord
.
getItemId
());
int
stock
=
supplierItem
.
getStock
();
if
(
stock
<=
0
)
{
return
Result
.
failed
(
"商品库存不足"
);
...
...
@@ -1188,4 +1193,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 @
1cdfb4a7
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,43 @@ 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
(
supplierItem
.
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
());
supplierItemVo
.
setSalePrice
(
PriceUtil
.
convertPriceFenToYuan
(
supplierItem
.
getDistributionPrice
()));
}
EntityMapper
.
copyAttribute
(
supplierItem
,
supplierItemVo
);
supplierItemVo
.
setItemId
(
supplierItem
.
getId
());
supplierItemVo
.
setSupplyPrice
(
PriceUtil
.
convertPriceFenToYuan
(
supplierItem
.
getSupplyPrice
()));
...
...
@@ -260,6 +274,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 @
1cdfb4a7
...
...
@@ -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/DistributionOrderController.java
View file @
1cdfb4a7
...
...
@@ -36,8 +36,7 @@ public class DistributionOrderController {
public
Result
createDistributionOrder
(
@RequestBody
DistributionOrderRequestDto
dto
)
{
logger
.
info
(
"分销单下单,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
Validator
validator
=
new
Validator
(
FormHandler
.
ofEntity
(
dto
));
validator
.
set
(
"shareRecordId"
,
"分销分享记录id"
).
must
().
string
()
.
set
(
"buyerId"
,
"买方id"
).
must
().
number
()
validator
.
set
(
"buyerId"
,
"买方id"
).
must
().
number
()
.
set
(
"buyerOpenid"
,
"买方微信openid"
).
must
().
string
()
.
end
();
if
(!
validator
.
isValid
())
{
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/distribution/SupplierItemController.java
View file @
1cdfb4a7
...
...
@@ -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