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
49f2590e
Commit
49f2590e
authored
Apr 16, 2024
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
分佣明细
parent
b073e936
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
211 additions
and
18 deletions
+211
-18
ch-core/src/main/java/com/wwdz/ch/core/consts/CommConsts.java
...ore/src/main/java/com/wwdz/ch/core/consts/CommConsts.java
+5
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/CollectorNoticeMsg.java
...c/main/java/com/wwdz/ch/wx/entity/CollectorNoticeMsg.java
+35
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/vo/distribution/DistributionOrderDetailVo.java
.../wx/entity/vo/distribution/DistributionOrderDetailVo.java
+1
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/DistributionOrderServiceImpl.java
...ch/wx/impl/distribution/DistributionOrderServiceImpl.java
+14
-3
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/DistributorProfitServiceImpl.java
...ch/wx/impl/distribution/DistributorProfitServiceImpl.java
+86
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/SendMsgServiceImpl.java
.../com/wwdz/ch/wx/impl/distribution/SendMsgServiceImpl.java
+5
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/SupplierItemServiceImpl.java
...wwdz/ch/wx/impl/distribution/SupplierItemServiceImpl.java
+4
-7
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/DistributorProfitService.java
.../ch/wx/service/distribution/DistributorProfitService.java
+23
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/SendMsgService.java
...a/com/wwdz/ch/wx/service/distribution/SendMsgService.java
+9
-2
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/FollowFansRecordController.java
...n/java/com/wwdz/ch/wx/web/FollowFansRecordController.java
+17
-6
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/distribution/SupplierItemController.java
...m/wwdz/ch/wx/web/distribution/SupplierItemController.java
+12
-0
No files found.
ch-core/src/main/java/com/wwdz/ch/core/consts/CommConsts.java
View file @
49f2590e
...
...
@@ -40,6 +40,11 @@ public interface CommConsts {
public
static
final
Long
SYSTEM_ACCOUNT
=
8888888888L
;
/**
* 默认展示的卖家,逍遥的id
*/
public
static
final
Long
SYSTEM_SELLER
=
291997L
;
/**
* 系统默认用户头像URL
*/
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/CollectorNoticeMsg.java
0 → 100644
View file @
49f2590e
package
com.wwdz.ch.wx.entity
;
import
com.xxdxxs.entity.Entity
;
import
lombok.Data
;
import
java.util.Date
;
@Data
public
class
CollectorNoticeMsg
implements
Entity
{
private
String
openId
;
private
String
templetId
;
/**
* 分销订单号
*/
private
String
distributionOrderId
;
/**
* 介绍人
*/
private
String
introducerName
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 消息内容
*/
private
String
content
;
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/vo/distribution/DistributionOrderDetailVo.java
View file @
49f2590e
...
...
@@ -190,4 +190,5 @@ public class DistributionOrderDetailVo implements Entity {
private
String
typeName
;
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/DistributionOrderServiceImpl.java
View file @
49f2590e
...
...
@@ -28,6 +28,7 @@ import com.wwdz.ch.wx.entity.SignedNoticeMsg;
import
com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderDetailVo
;
import
com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderVo
;
import
com.wwdz.ch.wx.service.distribution.DistributionOrderService
;
import
com.wwdz.ch.wx.service.distribution.DistributorProfitService
;
import
com.wwdz.ch.wx.service.distribution.SendMsgService
;
import
com.xxdxxs.utils.DateUtils
;
import
com.xxdxxs.utils.EntityMapper
;
...
...
@@ -107,6 +108,9 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
@Autowired
FollowFansRecordDao
followFansRecordDao
;
@Autowired
DistributorProfitService
distributorProfitService
;
@Transactional
@Override
public
Result
createDistributionOrder
(
DistributionOrderRequestDto
dto
)
{
...
...
@@ -373,6 +377,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
@Override
@Transactional
public
Result
createCollectionOrder
(
DistributionOrderRequestDto
dto
)
{
try
{
Long
itemId
=
dto
.
getItemId
();
...
...
@@ -416,8 +421,13 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
followFansRecordRequestDto
.
setFollowerId
(
supplierItem
.
getCreatorId
());
followFansRecordRequestDto
.
setFansId
(
dto
.
getBuyerId
());
FollowFansRecord
followFansRecord
=
followFansRecordDao
.
findOne
(
followFansRecordRequestDto
);
long
introducerId
;
if
(
followFansRecord
==
null
)
{
introducerId
=
CommConsts
.
SYSTEM_SELLER
;
}
else
{
//把介绍人作为该订单的分享链接字段的值
long
introducerId
=
followFansRecord
.
getIntroducerId
();
introducerId
=
followFansRecord
.
getIntroducerId
();
}
DistributionOrder
distributionOrder
=
new
DistributionOrder
();
distributionOrder
.
setItemId
(
itemId
);
distributionOrder
.
setItemNum
(
dto
.
getItemNum
());
...
...
@@ -448,7 +458,8 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
//介绍人分佣,自己推荐获得的订单无需计算介绍佣金
double
introduceCost
=
0
;
if
(
supplierItem
.
getCreatorId
()
!=
introducerId
)
{
introduceCost
=
distributionOrder
.
getAmount
().
doubleValue
()
*
0.03
;
double
rebate
=
distributorProfitService
.
getIntroduceRebate
(
followFansRecordRequestDto
);
introduceCost
=
distributionOrder
.
getAmount
().
doubleValue
()
*
rebate
;
}
distributorProfit
.
setDistributionOrderId
(
distributionOrderId
);
distributorProfit
.
setDistributorId
(
distributionOrder
.
getSellerId
());
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/DistributorProfitServiceImpl.java
0 → 100644
View file @
49f2590e
package
com.wwdz.ch.wx.impl.distribution
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.util.PriceUtil
;
import
com.wwdz.ch.db.dao.FollowFansRecordDao
;
import
com.wwdz.ch.db.dao.distribution.DistributorProfitDao
;
import
com.wwdz.ch.db.domain.FollowFansRecord
;
import
com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto
;
import
com.wwdz.ch.wx.service.distribution.DistributorProfitService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.time.Instant
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
@Service
public
class
DistributorProfitServiceImpl
implements
DistributorProfitService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
DistributorProfitServiceImpl
.
class
);
@Autowired
DistributorProfitDao
distributorProfitDao
;
@Autowired
FollowFansRecordDao
followFansRecordDao
;
@Override
public
Double
getIntroduceRebate
(
FollowFansRecordRequestDto
dto
)
{
double
rebate
=
0
;
try
{
FollowFansRecord
followFansRecord
=
followFansRecordDao
.
findOne
(
dto
);
if
(
followFansRecord
==
null
)
{
return
rebate
;
}
Date
createTime
=
followFansRecord
.
getCreateTime
();
Date
now
=
new
Date
();
int
year
=
0
;
for
(
int
i
=
1
;
i
<=
3
;
i
++)
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
createTime
);
cal
.
add
(
Calendar
.
YEAR
,
i
);
Date
newDate
=
cal
.
getTime
();
if
(
newDate
.
after
(
now
))
{
year
=
i
;
break
;
}
}
if
(
year
==
1
)
{
rebate
=
0.03
;
}
else
if
(
year
==
2
){
rebate
=
0.03
;
}
else
if
(
year
==
3
)
{
rebate
=
0.01
;
}
return
rebate
;
}
catch
(
Exception
e
)
{
logger
.
error
(
"获取介绍人当前的佣金比例 error : {}"
,
e
);
}
return
rebate
;
}
@Override
public
Result
getExpectAmount
(
SupplierItemRequestDto
supplierItemRequestDto
)
{
try
{
Long
itemPrice
=
PriceUtil
.
convertPriceFromStr
(
supplierItemRequestDto
.
getDistributionPrice
());
long
channelServiceCost
=
PriceUtil
.
convertPriceFromStr
(
PriceUtil
.
convertDoubleToString
(
itemPrice
.
doubleValue
()
*
0.05
));
long
introduceCost
=
PriceUtil
.
convertPriceFromStr
(
PriceUtil
.
convertDoubleToString
(
itemPrice
.
doubleValue
()
*
0.03
));
long
profit
=
itemPrice
-
channelServiceCost
-
introduceCost
;
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"channelServiceCost"
,
PriceUtil
.
convertPriceFenToYuan
(
channelServiceCost
));
map
.
put
(
"introduceCost"
,
PriceUtil
.
convertPriceFenToYuan
(
introduceCost
));
map
.
put
(
"profit"
,
PriceUtil
.
convertPriceFenToYuan
(
profit
));
return
Result
.
success
(
map
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"获取预计分佣金额 error : {}"
,
e
);
}
return
Result
.
failed
();
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/SendMsgServiceImpl.java
View file @
49f2590e
...
...
@@ -543,6 +543,11 @@ public class SendMsgServiceImpl implements SendMsgService {
return
Result
.
failed
();
}
@Override
public
Result
noticeToFollowerMsg
(
AuctionOfferNoticeMsg
auctionOfferNoticeMsg
)
{
return
null
;
}
@Override
public
String
getOpenIdByUserId
(
long
userId
)
{
//先查询寄售单用户信息
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/SupplierItemServiceImpl.java
View file @
49f2590e
...
...
@@ -11,7 +11,6 @@ import com.wwdz.ch.core.type.Result;
import
com.wwdz.ch.core.util.CacheUtil
;
import
com.wwdz.ch.core.util.MediaUtil
;
import
com.wwdz.ch.core.util.PriceUtil
;
import
com.wwdz.ch.core.util.StringUtil
;
import
com.wwdz.ch.db.dao.CollectionBookSortDao
;
import
com.wwdz.ch.db.dao.FollowFansRecordDao
;
import
com.wwdz.ch.db.dao.SwitchDao
;
...
...
@@ -60,8 +59,6 @@ public class SupplierItemServiceImpl implements SupplierItemService {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
SupplierItemServiceImpl
.
class
);
private
final
static
Long
SYSTEM_ACCOUNT
=
8888888888L
;
@Autowired
SupplierItemDao
supplierItemDao
;
...
...
@@ -188,7 +185,7 @@ public class SupplierItemServiceImpl implements SupplierItemService {
if
(
StringUtils
.
isEmpty
(
shareRecordId
)
&&
dto
.
getId
()
==
null
)
{
return
Result
.
failed
(
"商品信息为空"
);
}
else
if
(
StringUtils
.
hasLength
(
shareRecordId
))
{
if
(!
shareRecordId
.
contains
(
SYSTEM_ACCOUNT
.
toString
()))
{
if
(!
shareRecordId
.
contains
(
CommConsts
.
SYSTEM_ACCOUNT
.
toString
()))
{
distributorShareRecord
=
distributorShareRecordDao
.
findById
(
shareRecordId
);
if
(
distributorShareRecord
==
null
||
!
distributorShareRecord
.
getEnabled
())
{
return
Result
.
failed
(
"该商品已下架"
);
...
...
@@ -575,9 +572,9 @@ public class SupplierItemServiceImpl implements SupplierItemService {
supplierItem
.
setVideos
(
getVideosImage
(
dto
.
getVideos
()));
}
supplierItem
.
setSort
(
1
);
supplierItem
.
setBuyLimitNum
(
1
);
supplierItem
.
setStock
(
1
);
supplierItem
.
setIsOnSale
(
true
);
supplierItem
.
setBuyLimitNum
(
-
1
);
supplierItem
.
setStock
(
dto
.
getStock
()
);
supplierItem
.
setIsOnSale
(
dto
.
getIsOnSale
()
);
Date
now
=
new
Date
();
supplierItem
.
setCreateTime
(
now
);
supplierItem
.
setUpdateTime
(
now
);
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/DistributorProfitService.java
0 → 100644
View file @
49f2590e
package
com.wwdz.ch.wx.service.distribution
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto
;
public
interface
DistributorProfitService
{
/**
* 获取介绍人当前的佣金比例
* @param dto
* @return
*/
Double
getIntroduceRebate
(
FollowFansRecordRequestDto
dto
);
/**
* 获取预计分佣金额
* @param dto
* @return
*/
Result
getExpectAmount
(
SupplierItemRequestDto
supplierItemRequestDto
);
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/SendMsgService.java
View file @
49f2590e
...
...
@@ -60,7 +60,7 @@ public interface SendMsgService {
* @param auctionOfferNoticeMsg
* @return
*/
Result
auctionEndMsg
(
AuctionOfferNoticeMsg
auctionOfferNoticeMsg
);
Result
auctionEndMsg
(
AuctionOfferNoticeMsg
auctionOfferNoticeMsg
);
/**
...
...
@@ -68,8 +68,15 @@ public interface SendMsgService {
* @param auctionOfferNoticeMsg
* @return
*/
Result
offerNoticeToDistributorMsg
(
AuctionOfferNoticeMsg
auctionOfferNoticeMsg
);
Result
offerNoticeToDistributorMsg
(
AuctionOfferNoticeMsg
auctionOfferNoticeMsg
);
/**
* 通知被关注人
* @param auctionOfferNoticeMsg
* @return
*/
Result
noticeToFollowerMsg
(
AuctionOfferNoticeMsg
auctionOfferNoticeMsg
);
String
getOpenIdByUserId
(
long
userId
);
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/FollowFansRecordController.java
View file @
49f2590e
...
...
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import
com.wwdz.ch.core.consts.ResultCode
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto
;
import
com.wwdz.ch.wx.entity.request.QueryPriceRequestDto
;
import
com.wwdz.ch.wx.service.FollowFansRecordService
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -98,15 +99,25 @@ public class FollowFansRecordController {
}
@ApiOperation
(
value
=
"查询
我推荐的列表
明细"
)
@PostMapping
(
"/
findRecommend
Detail"
)
public
Result
findRecommend
Detail
(
@RequestBody
FollowFansRecordRequestDto
dto
)
{
logger
.
info
(
"查询
我推荐的列表
明细,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
if
(
dto
.
get
SearchTarget
Id
()
==
null
)
{
@ApiOperation
(
value
=
"查询
分佣
明细"
)
@PostMapping
(
"/
introduceAmount
Detail"
)
public
Result
introduceAmount
Detail
(
@RequestBody
FollowFansRecordRequestDto
dto
)
{
logger
.
info
(
"查询
分佣
明细,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
if
(
dto
.
get
FollowerId
()
==
null
||
dto
.
getIntroducer
Id
()
==
null
)
{
return
Result
.
failed
(
ResultCode
.
PARAM_ERROR
);
}
return
followFansRecordService
.
findRecommend
Detail
(
dto
);
return
followFansRecordService
.
introduceAmount
Detail
(
dto
);
}
@ApiOperation
(
value
=
"查询分佣订单明细"
)
@PostMapping
(
"/introduceOrderDetail"
)
public
Result
introduceOrderDetail
(
@RequestBody
DistributionOrderRequestDto
dto
)
{
logger
.
info
(
"查询分佣订单明细,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
if
(
StringUtils
.
isEmpty
(
dto
.
getDistributionOrderId
()))
{
return
Result
.
failed
(
ResultCode
.
PARAM_ERROR
);
}
return
followFansRecordService
.
introduceOrderDetail
(
dto
);
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/distribution/SupplierItemController.java
View file @
49f2590e
...
...
@@ -5,6 +5,7 @@ import com.wwdz.ch.core.consts.ResultCode;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto
;
import
com.wwdz.ch.wx.entity.request.MessageRequestDto
;
import
com.wwdz.ch.wx.service.distribution.DistributorProfitService
;
import
com.wwdz.ch.wx.service.distribution.SupplierItemService
;
import
com.xxdxxs.service.FormHandler
;
import
com.xxdxxs.utils.StringUtils
;
...
...
@@ -27,6 +28,9 @@ public class SupplierItemController {
@Autowired
SupplierItemService
supplierItemService
;
@Autowired
DistributorProfitService
distributorProfitService
;
@ApiOperation
(
value
=
"查询供货商品列表"
)
@PostMapping
(
"/findList"
)
...
...
@@ -138,4 +142,12 @@ public class SupplierItemController {
logger
.
info
(
"查询主页列表,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
return
supplierItemService
.
findHomePage
(
dto
);
}
@ApiOperation
(
value
=
"获取商品预计分佣金额"
)
@PostMapping
(
"/getExpectAmount"
)
public
Result
getExpectAmount
(
@RequestBody
SupplierItemRequestDto
dto
)
{
logger
.
info
(
"获取商品预计分佣金额,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
return
distributorProfitService
.
getExpectAmount
(
dto
);
}
}
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