Toggle navigation
Toggle navigation
This project
Loading...
Sign in
ufo
/
yohoufo-fore
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
chenchao
5 years ago
Commit
5ab942d9897f780a6397065eee9eedb514b09dfd
1 parent
68787ac7
optimized
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
44 additions
and
48 deletions
order/src/main/java/com/yohoufo/order/charge/ChargeService.java
order/src/main/java/com/yohoufo/order/service/impl/AppraiseService.java
order/src/main/java/com/yohoufo/order/service/impl/ExpressInfoServiceImpl.java
order/src/main/java/com/yohoufo/order/service/impl/TradeBillsService.java
order/src/main/java/com/yohoufo/order/service/seller/SellerOrderServiceDelegate.java
order/src/main/java/com/yohoufo/order/service/seller/orderMeta/SellerAddressService.java
order/src/main/java/com/yohoufo/order/charge/ChargeService.java
View file @
5ab942d
...
...
@@ -15,7 +15,6 @@ import com.yohoufo.order.charge.model.*;
import
com.yohoufo.order.charge.promotion.PromotionService
;
import
com.yohoufo.order.model.response.ShoppingPromotion
;
import
com.yohoufo.order.service.support.DeliveryWayCostSupport
;
import
com.yohoufo.order.service.support.ShoppingSupport
;
import
com.yohoufo.order.utils.LoggerUtils
;
import
com.yohoufo.order.utils.MathUtils
;
import
org.apache.commons.collections.CollectionUtils
;
...
...
@@ -43,8 +42,6 @@ public class ChargeService {
@Autowired
private
DeliveryWayCostSupport
deliveryWayCostSupport
;
@Autowired
private
ShoppingSupport
shoppingSupport
;
@Autowired
private
CouponService
couponService
;
...
...
order/src/main/java/com/yohoufo/order/service/impl/AppraiseService.java
View file @
5ab942d
...
...
@@ -1680,17 +1680,18 @@ public class AppraiseService {
}
private
BigDecimal
getSaleIncome
(
Integer
sellerUid
,
Integer
skup
)
{
SellerOrderMeta
meta
=
sellerOrderMetaMapper
.
selectByMetaKey
(
sellerUid
,
skup
,
"fee"
);
if
(
meta
==
null
)
{
LOGGER
.
warn
(
"查询SellerOrderMeta无数据, sellerUid is {}, skup is {}"
,
sellerUid
,
skup
);
SellerOrder
pso
=
sellerOrderMapper
.
selectBySkup
(
skup
);
if
(
pso
==
null
)
{
LOGGER
.
warn
(
"getSaleIncome SellerOrder is null, sellerUid {}, skup {}"
,
sellerUid
,
skup
);
throw
new
ServiceException
(
500
,
"计费信息不完整"
);
}
if
(
StringUtils
.
isBlank
(
meta
.
getMetaValue
()))
{
LOGGER
.
warn
(
"查询SellerOrderMeta的MetaValue为空, sellerUid is {}, skup is {}"
,
sellerUid
,
skup
);
BigDecimal
income
=
pso
.
getIncome
();
if
(
income
==
null
)
{
LOGGER
.
warn
(
"etSaleIncome SellerOrder.income is null, sellerUid {}, skup {}"
,
sellerUid
,
skup
);
throw
new
ServiceException
(
500
,
"计费信息不完整"
);
}
LOGGER
.
info
(
"查询SellerOrderMeta计费数据, id={}, meta= {}"
,
meta
.
getId
(),
meta
.
getMetaValue
());
return
JSON
.
parseObject
(
meta
.
getMetaValue
()).
getBigDecimal
(
"income"
);
LOGGER
.
info
(
"getSaleIncome, skup {}, income {}"
,
skup
,
income
);
return
income
;
}
/**
...
...
order/src/main/java/com/yohoufo/order/service/impl/ExpressInfoServiceImpl.java
View file @
5ab942d
package
com
.
yohoufo
.
order
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.base.Joiner
;
import
com.google.common.collect.Lists
;
import
com.yoho.core.common.helpers.ImagesHelper
;
...
...
@@ -39,11 +38,10 @@ import com.yohoufo.order.model.response.AppraiseAddressResp;
import
com.yohoufo.order.service.*
;
import
com.yohoufo.order.service.cache.CacheKeyBuilder
;
import
com.yohoufo.order.service.cache.ExpiredTime
;
import
com.yohoufo.order.service.listener.BuyerOrderChangeEvent
;
import
com.yohoufo.order.service.listener.OrderChangeListenerContainer
;
import
com.yohoufo.order.service.proxy.*
;
import
com.yohoufo.order.service.seller.SellerOrderServiceDelegate
;
import
com.yohoufo.order.service.seller.deposit.AppraiseOrderMetaService
;
import
com.yohoufo.order.service.seller.orderMeta.SellerAddressService
;
import
com.yohoufo.order.service.seller.setting.SellerService
;
import
com.yohoufo.order.service.seller.setting.SellerWrapper
;
import
com.yohoufo.order.service.support.codegenerator.OrderCodeGenerator
;
...
...
@@ -53,7 +51,6 @@ import com.yohoufo.order.utils.OrderAssist;
import
lombok.NonNull
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.tuple.Pair
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -62,11 +59,9 @@ import org.springframework.stereotype.Service;
import
javax.annotation.Resource
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.function.Predicate
;
import
java.util.function.Supplier
;
import
java.util.stream.Collectors
;
import
static
com
.
yohoufo
.
order
.
constants
.
MetaKey
.
BACK_2_SELLER_DELIVERY_ADDRESS
;
import
static
com
.
yohoufo
.
order
.
utils
.
ServiceExceptions
.
throwServiceException
;
import
static
com
.
yohoufo
.
order
.
utils
.
ServiceExceptions
.
throwServiceExceptionIf
;
...
...
@@ -141,8 +136,7 @@ public class ExpressInfoServiceImpl implements IExpressInfoService {
@Autowired
private
ServiceOrderProcessor
serviceOrderProcessor
;
@Autowired
private
SellerAddressService
sellerAddressService
;
@Autowired
private
AppraiseOrderMetaService
appraiseOrderMetaService
;
...
...
@@ -162,6 +156,9 @@ public class ExpressInfoServiceImpl implements IExpressInfoService {
@Autowired
private
SellerOrderService
sellerOrderService
;
@Autowired
private
SellerOrderServiceDelegate
sellerOrderServiceDelegate
;
private
static
String
EXPRESS_MQ_SEND
=
"third.logistics.logistics_data"
;
//物流文案设置
...
...
@@ -409,7 +406,7 @@ public class ExpressInfoServiceImpl implements IExpressInfoService {
case
BUYER_TYPE:
BuyerOrderGoods
pbog
=
preparedData
.
getBuyerOrderGoods
();
sellerMobileSupplier
=
()
->
Optional
.
of
(
pbog
)
.
map
(
e
->
seller
AddressService
.
getNoHiddenAddressInfo
(
sellerUid
,
e
.
getSkup
()))
.
map
(
e
->
seller
OrderServiceDelegate
.
getSellerAddressService
()
.
getNoHiddenAddressInfo
(
sellerUid
,
e
.
getSkup
()))
.
map
(
AddressInfo:
:
getMobile
)
.
orElse
(
null
);
SellerDeliverToDepotReq
req4Log
=
buildSellerDeliverToDepotReq
(
expressCompanyId
,
wayBillCode
,
depotNum
);
...
...
@@ -1452,24 +1449,10 @@ public class ExpressInfoServiceImpl implements IExpressInfoService {
private
AddressInfo
findSellerAddressInfo
(
Integer
sellerUid
,
Long
orderCode
){
BuyerOrderGoods
pbog
=
buyerOrderGoodsMapper
.
selectOnlyByOrderCode
(
orderCode
);
Integer
skup
=
pbog
.
getSkup
();
return
findSeller
AddressInfo
(
sellerUid
,
skup
);
return
sellerOrderServiceDelegate
.
getSellerAddressService
().
getNoHidden
AddressInfo
(
sellerUid
,
skup
);
}
private
AddressInfo
findSellerAddressInfo
(
Integer
uid
,
Integer
skup
)
{
SellerOrderMeta
addressMeta
=
sellerOrderMetaMapper
.
selectByMetaKey
(
uid
,
skup
,
BACK_2_SELLER_DELIVERY_ADDRESS
);
AddressInfo
addressInfo
=
null
;
if
(
null
!=
addressMeta
)
{
LOGGER
.
info
(
"addressMeta is not null uid is {}, skup is {}"
,
uid
,
skup
);
try
{
addressInfo
=
JSONObject
.
parseObject
(
addressMeta
.
getMetaValue
(),
AddressInfo
.
class
);
}
catch
(
Exception
ex
)
{
LOGGER
.
warn
(
"findSellerAddressInfo parse addressMeta fail, uid {} skup {}, addressMeta {}"
,
uid
,
skup
,
addressMeta
,
ex
);
}
}
return
addressInfo
;
}
...
...
@@ -1563,7 +1546,8 @@ public class ExpressInfoServiceImpl implements IExpressInfoService {
}
}
AddressInfo
buyerAddress
=
findSellerAddressInfo
(
uid
,
skup
);
AddressInfo
buyerAddress
=
sellerOrderServiceDelegate
.
getSellerAddressService
()
.
getNoHiddenAddressInfo
(
uid
,
skup
);
LOGGER
.
info
(
"in queryAppraiseAddress get Address {} orderCode {}, skup {}"
,
buyerAddress
,
orderCode
,
skup
);
// 根据用户id查询默认地址的省份
...
...
order/src/main/java/com/yohoufo/order/service/impl/TradeBillsService.java
View file @
5ab942d
...
...
@@ -3,6 +3,7 @@ package com.yohoufo.order.service.impl;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yohobuy.ufo.model.order.common.Payment
;
import
com.yohobuy.ufo.model.order.dto.PlatformFeeDto
;
import
com.yohoufo.common.alarm.CommonAlarmEventPublisher
;
import
com.yohoufo.common.utils.BigDecimalHelper
;
import
com.yohoufo.common.utils.DateUtil
;
...
...
@@ -15,6 +16,7 @@ import com.yohoufo.order.constants.MetaKey;
import
com.yohoufo.order.event.BillLogEvent
;
import
com.yohoufo.order.model.dto.SellerOrderComputeResult
;
import
com.yohoufo.order.repository.TradeBillsRepository
;
import
com.yohoufo.order.service.seller.SellerOrderServiceDelegate
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -45,6 +47,9 @@ public class TradeBillsService {
@Autowired
private
ServiceOrderProcessor
serviceOrderProcessor
;
@Autowired
private
SellerOrderServiceDelegate
sellerOrderServiceDelegate
;
/**
* 退保证金流水记录
...
...
@@ -271,9 +276,13 @@ public class TradeBillsService {
* @param amount
*/
public
void
addPayBuyRecord
(
Integer
uid
,
Integer
sellerUid
,
Integer
skup
,
Long
orderCode
,
Integer
payment
,
BigDecimal
amount
)
{
SellerOrderMeta
meta
=
sellerOrderMetaMapper
.
selectByMetaKey
(
sellerUid
,
skup
,
"fee"
);
if
(
meta
==
null
)
{
logger
.
error
(
"PayRecordErr记录交易到数据库出错 err=meta费率信息未查到, selleruid = {}, skup={}"
,
sellerUid
,
skup
);
SellerOrderComputeResult
computeResult
=
sellerOrderServiceDelegate
.
getSellerFeeService
()
.
getSellerOrderComputeResult
(
sellerUid
,
skup
);
PlatformFeeDto
platformFee
;
if
(
computeResult
==
null
||
Objects
.
isNull
(
platformFee
=
computeResult
.
getPlatformFee
()))
{
logger
.
error
(
"addPayBuyRecord error,no computeResult of seller order in meta, orderCode {},selleruid {}, skup {}"
,
orderCode
,
sellerUid
,
skup
);
return
;
}
Integer
payType
=
adaptPayType
(
payment
);
...
...
@@ -287,16 +296,10 @@ public class TradeBillsService {
record
.
setTradeType
(
2
);
//1:保证金;2:货款;3:补偿款
record
.
setIncomeOutcome
(
2
);
// 1:用户收入; 2:用户支出
record
.
setAmount
(
amount
);
try
{
JSONObject
metavalue
=
JSON
.
parseObject
(
meta
.
getMetaValue
());
BigDecimal
rate
=
metavalue
.
getJSONObject
(
"serviceFeeRate"
).
getBigDecimal
(
"payChannelRate"
);
amount
=
amount
.
multiply
(
BigDecimal
.
ONE
.
subtract
(
rate
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"PayRecordErr计费信息不完整, uid is {}, skup is {}, err is {}"
,
uid
,
skup
,
e
.
getMessage
());
return
;
}
record
.
setSystemAmount
(
amount
);
// 有货收入
BigDecimal
systemAmount
=
platformFee
.
getServiceFee
();
record
.
setSystemAmount
(
systemAmount
);
// 有货收入
record
.
setTradeStatus
(
BillTradeStatus
.
SUCCESS
.
getCode
());
record
.
setCreateTime
((
int
)
(
System
.
currentTimeMillis
()
/
1000
));
addTradeBills
(
record
);
...
...
order/src/main/java/com/yohoufo/order/service/seller/SellerOrderServiceDelegate.java
View file @
5ab942d
...
...
@@ -4,6 +4,7 @@ import com.yohoufo.order.service.handler.SellerDecrPriceTaskHandler;
import
com.yohoufo.order.service.handler.SellerDownShelfTaskHandler
;
import
com.yohoufo.order.service.handler.SellerIncrPriceTaskHandler
;
import
com.yohoufo.order.service.impl.SellerOrderService
;
import
com.yohoufo.order.service.seller.orderMeta.SellerAddressService
;
import
com.yohoufo.order.service.seller.orderMeta.SellerFeeService
;
import
com.yohoufo.order.service.seller.orderMeta.SellerOrderMetaService
;
import
com.yohoufo.order.service.seller.processor.SellerTaskProcessor
;
...
...
@@ -60,4 +61,7 @@ public class SellerOrderServiceDelegate {
@Autowired@Getter
private
SellerOrderService
sellerOrderService
;
@Autowired@Getter
private
SellerAddressService
sellerAddressService
;
}
...
...
order/src/main/java/com/yohoufo/order/service/seller/orderMeta/SellerAddressService.java
View file @
5ab942d
...
...
@@ -123,7 +123,14 @@ public class SellerAddressService {
if
(
som
==
null
||
(
value
=
som
.
getMetaValue
())
==
null
){
return
null
;
}
AddressInfo
addressInfo
=
JSONObject
.
parseObject
(
value
,
AddressInfo
.
class
);
AddressInfo
addressInfo
=
null
;
try
{
addressInfo
=
JSONObject
.
parseObject
(
value
,
AddressInfo
.
class
);
}
catch
(
Exception
ex
)
{
logger
.
warn
(
"getNoHiddenAddressInfo parse addressMeta fail, uid {} skup {}, addressMeta {}"
,
uid
,
skup
,
value
,
ex
);
}
return
addressInfo
;
}
...
...
Please
register
or
login
to post a comment