...
|
...
|
@@ -8,24 +8,16 @@ import com.yohobuy.ufo.model.order.common.SuperEnterStageLevel; |
|
|
import com.yohobuy.ufo.model.order.constants.SkupType;
|
|
|
import com.yohobuy.ufo.model.order.resp.EntryThreshold;
|
|
|
import com.yohobuy.ufo.model.order.resp.SellerPlatformServiceFeeResp;
|
|
|
import com.yohoufo.common.cache.CacheKeyEnum;
|
|
|
import com.yohoufo.dal.order.SellerEnterApplyMapper;
|
|
|
import com.yohoufo.dal.order.StoredSellerMapper;
|
|
|
import com.yohoufo.dal.order.SuperEntrySellerMapper;
|
|
|
import com.yohoufo.dal.order.model.SuperEntrySeller;
|
|
|
import com.yohoufo.order.common.SuperEntrySellerStatus;
|
|
|
import com.yohoufo.order.model.bo.PlatformServiceFeeDefinition;
|
|
|
import com.yohoufo.order.model.bo.SellerPlatformServiceFee;
|
|
|
import com.yohoufo.order.service.IStoredSellerDepositService;
|
|
|
import com.yohoufo.order.service.IStoredSellerService;
|
|
|
import com.yohoufo.order.service.MerchantOrderPaymentService;
|
|
|
import com.yohoufo.order.service.cache.StoredSellerCacheService;
|
|
|
import com.yohoufo.order.service.impl.MetaConfigService;
|
|
|
import com.yohoufo.order.service.support.SellerPlatformServiceFeeSupport;
|
|
|
import com.yohoufo.order.utils.LoggerUtils;
|
|
|
import com.yohoufo.order.utils.MathUtils;
|
|
|
import com.yohoufo.order.utils.SellerHelper;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
...
|
...
|
@@ -46,15 +38,9 @@ public class SellerService { |
|
|
private static final Logger logger = LoggerUtils.getSellerOrderLogger();
|
|
|
|
|
|
@Autowired
|
|
|
private StoredSellerCacheService storedSellerCacheService;
|
|
|
|
|
|
@Autowired
|
|
|
private IStoredSellerService storedSellerService;
|
|
|
|
|
|
@Autowired
|
|
|
private SuperEntrySellerMapper superEntrySellerMapper;
|
|
|
|
|
|
@Autowired
|
|
|
private StoredSellerMapper storedSellerMapper;
|
|
|
|
|
|
@Autowired
|
...
|
...
|
@@ -64,12 +50,6 @@ public class SellerService { |
|
|
private SellerFuncService sellerFuncService;
|
|
|
|
|
|
@Autowired
|
|
|
private SellerEnterApplyService sellerEnterApplyService;
|
|
|
|
|
|
@Autowired
|
|
|
private SellerEnterApplyMapper sellerEnterApplyMapper;
|
|
|
|
|
|
@Autowired
|
|
|
private SellerPlatformServiceFeeSupport sellerPlatformServiceFeeSupport;
|
|
|
|
|
|
@Autowired
|
...
|
...
|
@@ -101,33 +81,11 @@ public class SellerService { |
|
|
|
|
|
}
|
|
|
|
|
|
public List<Integer> getSuperEntrySellerUids(){
|
|
|
CacheKeyEnum cke = CacheKeyEnum.SUPER_ENTRY_SELLER_LIST;
|
|
|
|
|
|
List<Integer> uidList = storedSellerCacheService.getSuperEntrySellerList(cke.getKey());
|
|
|
|
|
|
if (CollectionUtils.isNotEmpty(uidList)){
|
|
|
//hit in cache
|
|
|
logger.info("in getSuperEntrySellerUids hit cache uidList {}", uidList);
|
|
|
return uidList;
|
|
|
}
|
|
|
List<SuperEntrySeller> sesList = superEntrySellerMapper.selectAll(SuperEntrySellerStatus.SUPER.getCode());
|
|
|
|
|
|
if (CollectionUtils.isNotEmpty(sesList)){
|
|
|
uidList = sesList.parallelStream().map(SuperEntrySeller::getUid).collect(Collectors.toList());
|
|
|
storedSellerCacheService.setSuperEntrySellerList(cke.getKey(), uidList);
|
|
|
logger.info("in getSuperEntrySellerUids fetch from DB uidList {}", uidList);
|
|
|
}
|
|
|
return uidList;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public SellerWrapper getBaseSellerWrapper(Integer uid){
|
|
|
SellerWrapper sellerWrapper = new SellerWrapper(uid,logger)
|
|
|
.storedSellerDataSource(storedSellerMapper::selectByUid)
|
|
|
// .addSpecialSuperFunc(this::isSpecialSuper)
|
|
|
.buildSellerWrapper();
|
|
|
return sellerWrapper;
|
|
|
}
|
...
|
...
|
@@ -151,15 +109,6 @@ public class SellerService { |
|
|
return false;
|
|
|
}
|
|
|
|
|
|
// public boolean isSpecialSuper(int uid){
|
|
|
// List<Integer> uidList = getSuperEntrySellerUids();
|
|
|
// logger.info("isSuperEntrySeller check uid {} uidList {}", uid, uidList);
|
|
|
// if (CollectionUtils.isNotEmpty(uidList)){
|
|
|
// //hit or not
|
|
|
// return uidList.contains(uid);
|
|
|
// }
|
|
|
// return false;
|
|
|
// }
|
|
|
|
|
|
/**
|
|
|
* 平台技术服务费
|
...
|
...
|
@@ -221,7 +170,6 @@ public class SellerService { |
|
|
logger.info("of uid {}", uid);
|
|
|
SellerBo sellerBo = new SellerWrapper(uid,logger)
|
|
|
.storedSellerDataSource(storedSellerMapper::selectByUid)
|
|
|
// .addSpecialSuperFunc(this::isSpecialSuper)
|
|
|
.buildSellerWrapper().sellerBo();
|
|
|
EntrySellerType est = sellerBo.getEntrySellerType();
|
|
|
logger.info("of uid {} EntrySellerType {}", uid, est);
|
...
|
...
|
@@ -230,24 +178,7 @@ public class SellerService { |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 支付成功后回调
|
|
|
* (一)用于处理卖家申请,
|
|
|
* 1. 成为普通入驻 (晋升 普通卖家->普通入驻)
|
|
|
* 2. 成为超级入驻
|
|
|
* 2.1: 普通卖家 -> 超级入驻 ;
|
|
|
* 2.2 :普通入驻 -> 超级入驻;
|
|
|
* (二)普通卖家充值,丢弃;
|
|
|
* (三)超级卖家
|
|
|
* 1. 如果取消能力 -> 恢复;
|
|
|
* 2. 没有取消,丢弃;
|
|
|
*
|
|
|
* @param uid
|
|
|
* @param orderCode
|
|
|
*/
|
|
|
// public void processApply(Integer uid, Long orderCode, BigDecimal total){
|
|
|
// sellerEnterApplyService.audit(uid, orderCode, total);
|
|
|
// }
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
private MetaConfigService metaConfigService;
|
...
|
...
|
@@ -256,40 +187,7 @@ public class SellerService { |
|
|
return metaConfigService.getEntryThreshold();
|
|
|
}
|
|
|
|
|
|
// public Boolean applySuperEnter(Integer uid){
|
|
|
// SellerWrapper sellerWrapper =
|
|
|
// new SellerWrapper(uid,logger)
|
|
|
// .storedSellerDataSource(storedSellerMapper::selectByUid)
|
|
|
// .buildSellerWrapper();
|
|
|
// SellerBo sellerBo = sellerWrapper.sellerBo();
|
|
|
// EntrySellerType currentEST = sellerBo.of();
|
|
|
// EntrySellerType targetEST = EntrySellerType.SUPER_ENTRY;
|
|
|
// if (Objects.equals(targetEST, currentEST)
|
|
|
// || Objects.equals(EntrySellerType.SPECIAL_SUPER, currentEST)){
|
|
|
// logger.info("applySuperEnter user was {} , uid {}", currentEST , uid);
|
|
|
// return true;
|
|
|
// }
|
|
|
// //普通个人
|
|
|
// if (Objects.equals(targetEST, EntrySellerType.NOT_ENTRY)){
|
|
|
// logger.info("applySuperEnter user was {} , uid {}", currentEST , uid);
|
|
|
// return false;
|
|
|
// }
|
|
|
// //left enter type is 入驻非超级
|
|
|
// BigDecimal leftInWallet = merchantOrderPaymentService.getWalletLeftAmount(uid);
|
|
|
// sellerWrapper.setLeftInWallet(leftInWallet);
|
|
|
// //前提:1. 当前卖家是 普通个人 or 入驻非超级 2. 钱包余额大于等于超级的阈值
|
|
|
// Map<EntrySellerType,EntryThreshold> entryThreshold = getEntryThreshold();
|
|
|
// EntryThreshold set = entryThreshold.get(EntrySellerType.SUPER_ENTRY);
|
|
|
// boolean isFatWallet = leftInWallet.compareTo(set.getPrepaymentAmount()) >= 0;
|
|
|
// logger.info("applySuperEnter uid {} leftInWallet {} super EntryThreshold {} isFatWallet {}",
|
|
|
// uid, leftInWallet, set, isFatWallet);
|
|
|
// //申请记录(新增 or 修改) 入驻卖家(enter_type level_func 功能菜单)
|
|
|
// if (isFatWallet){
|
|
|
// //insert apply
|
|
|
// sellerEnterApplyService.upgradeLevelIfFatWallet(sellerWrapper, null, targetEST);
|
|
|
// }
|
|
|
// return isFatWallet;
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
...
|
...
|
@@ -311,9 +209,6 @@ public class SellerService { |
|
|
logger.warn("processAfterWalletChange user was {} , uid {}", currentEST , uid);
|
|
|
return ;
|
|
|
}
|
|
|
//left enter type is 入驻超级
|
|
|
// BigDecimal leftInWallet = merchantOrderPaymentService.getWalletLeftAmount(uid);
|
|
|
// sellerEnterApplyService.changeLevel4Super(sellerWrapper, leftInWallet);
|
|
|
// level发生变化
|
|
|
entrySellerWalletChangers.deduct(uid);
|
|
|
|
...
|
...
|
@@ -330,7 +225,6 @@ public class SellerService { |
|
|
public Boolean checkIsNormalSuper(Integer uid){
|
|
|
SellerWrapper sellerWrapper =
|
|
|
new SellerWrapper(uid,logger)
|
|
|
// .addSpecialSuperFunc(this::isSpecialSuper)
|
|
|
.storedSellerDataSource(storedSellerMapper::selectByUid)
|
|
|
.buildSellerWrapper();
|
|
|
SellerBo sellerBo = sellerWrapper.sellerBo();
|
...
|
...
|
@@ -342,12 +236,6 @@ public class SellerService { |
|
|
}
|
|
|
|
|
|
SellerLevelFuncBo sellerLevelFuncBo = authLevelChgeSupport.getShouldLevel(uid, targetEST);
|
|
|
// //left enter type is 入驻超级
|
|
|
// BigDecimal leftInWallet = merchantOrderPaymentService.getWalletLeftAmount(uid);
|
|
|
// Map<EntrySellerType,EntryThreshold> estMap = metaConfigService.getEntryThreshold();
|
|
|
// EntryThreshold set = estMap.get(currentEST);
|
|
|
// //目标身份对应的等级
|
|
|
// SellerLevelFuncBo bslfb = SellerHelper.getSellerLevelFunc(currentEST, set, leftInWallet);
|
|
|
Integer level = sellerLevelFuncBo.getLevel();
|
|
|
if (sellerLevelFuncBo.getLevel() != SuperEnterStageLevel.FULL.getCode()){
|
|
|
logger.warn("in checkIsNormalSuper not valid, uid {} level {}", uid, level);
|
...
|
...
|
@@ -360,8 +248,10 @@ public class SellerService { |
|
|
SellerWrapper sellerWrapper =
|
|
|
new SellerWrapper(uid,logger)
|
|
|
.storedSellerDataSource(storedSellerMapper::selectByUid)
|
|
|
.buildSellerWrapper().attachAssetPolicy()
|
|
|
.buildSellerWrapper()
|
|
|
.attachAssetPolicy()
|
|
|
.attachWallet(merchantOrderPaymentService::getWalletLeftAmount);
|
|
|
return sellerWrapper;
|
|
|
}
|
|
|
|
|
|
} |
...
|
...
|
|