...
|
...
|
@@ -10,6 +10,7 @@ import com.yohobuy.ufo.model.order.resp.EntryThreshold; |
|
|
import com.yohoufo.common.exception.UfoServiceException;
|
|
|
import com.yohoufo.common.utils.DateUtil;
|
|
|
import com.yohoufo.dal.order.SellerEnterApplyMapper;
|
|
|
import com.yohoufo.dal.order.SellerLevelFuncMapper;
|
|
|
import com.yohoufo.dal.order.StoredSellerMapper;
|
|
|
import com.yohoufo.dal.order.model.SellerEnterApply;
|
|
|
import com.yohoufo.dal.order.model.StoredSeller;
|
...
|
...
|
@@ -50,6 +51,12 @@ public class SellerEnterApplyService { |
|
|
@Autowired
|
|
|
private StoredSellerMapper storedSellerMapper;
|
|
|
|
|
|
@Autowired
|
|
|
private SellerService sellerService;
|
|
|
|
|
|
@Autowired
|
|
|
private SellerLevelFuncMapper sellerLevelFuncMapper;
|
|
|
|
|
|
/**
|
|
|
* 申请成为超级卖家
|
|
|
* 对于未支付的某一种身份申请做订单号替换
|
...
|
...
|
@@ -58,6 +65,7 @@ public class SellerEnterApplyService { |
|
|
*/
|
|
|
public void applySuperEntry(Integer uid, Long orderCode, EntrySellerType targetEST){
|
|
|
logger.info("in applySuperEntry uid {} orderCode {} targetEST {}", uid, orderCode, targetEST);
|
|
|
|
|
|
if (Objects.isNull(orderCode)){
|
|
|
logger.warn("in applySuperEntry uid {} orderCode is null targetEST {}", uid, targetEST);
|
|
|
//throw new UfoServiceException(400, "orderCode is null");
|
...
|
...
|
@@ -66,7 +74,17 @@ public class SellerEnterApplyService { |
|
|
logger.warn("in applySuperEntry uid {} orderCode {} targetEST is null", uid, orderCode);
|
|
|
throw new UfoServiceException(400, "EntrySellerType is null");
|
|
|
}
|
|
|
SellerService.SellerWrapper sellerWrapper = new SellerService().new SellerWrapper(uid).storedSellerDataSource(storedSellerMapper::selectByUid).buildBase();
|
|
|
if (Objects.equals(targetEST, EntrySellerType.SPECIAL_SUPER)
|
|
|
|| Objects.equals(targetEST, EntrySellerType.NOT_ENTRY)){
|
|
|
logger.warn("in applySuperEntry no need apply uid {} orderCode {} targetEST {}",
|
|
|
uid, orderCode, targetEST);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
SellerWrapper sellerWrapper = new SellerWrapper(uid,logger)
|
|
|
.addSpecialSuperFunc(sellerService::isSpecialSuper)
|
|
|
.storedSellerDataSource(storedSellerMapper::selectByUid)
|
|
|
.buildBase();
|
|
|
SellerBo sellerBo = sellerWrapper.build();
|
|
|
|
|
|
EntrySellerType currentEST = sellerBo.getEntrySellerType();
|
...
|
...
|
@@ -179,12 +197,14 @@ public class SellerEnterApplyService { |
|
|
logger.warn("in upgradeLevel one orderCode mapped multiple apply,uid {} orderCode {}", uid, orderCode);
|
|
|
}
|
|
|
//卖家包装类
|
|
|
SellerService.SellerWrapper sellerWrapper = new SellerService().new SellerWrapper(uid)
|
|
|
.storedSellerDataSource(storedSellerMapper::selectByUid).buildBase();
|
|
|
SellerWrapper sellerWrapper = new SellerWrapper(uid,logger)
|
|
|
.storedSellerDataSource(storedSellerMapper::selectByUid)
|
|
|
.addSpecialSuperFunc(sellerService::isSpecialSuper)
|
|
|
.buildBase();
|
|
|
upgradeLevel(sellerWrapper, orderCode, left, seaList);
|
|
|
}
|
|
|
|
|
|
public void upgradeLevel(SellerService.SellerWrapper sellerWrapper,
|
|
|
public void upgradeLevel(SellerWrapper sellerWrapper,
|
|
|
Long orderCode, BigDecimal left, List<SellerEnterApply> seaList){
|
|
|
int uid = sellerWrapper.getUid();
|
|
|
//持久化的入驻信息
|
...
|
...
|
@@ -243,7 +263,7 @@ public class SellerEnterApplyService { |
|
|
uid, orderCode);
|
|
|
}else if (Objects.equals(currentEnterType, EntrySellerType.SUPER_ENTRY.getCode())){
|
|
|
//超级卖家
|
|
|
sellerWrapper.buildSuperEnterStageLevel();
|
|
|
sellerWrapper.buildSuperEnterStageLevel(sellerLevelFuncMapper::selectByPrimaryKey);
|
|
|
SuperEnterStageLevel sesl = sellerBo.getSuperEnterStageLevel();
|
|
|
Integer currentLevel = null;
|
|
|
boolean levelNeedUpgrade = Objects.nonNull(sesl)
|
...
|
...
|
@@ -286,7 +306,7 @@ public class SellerEnterApplyService { |
|
|
* @param left
|
|
|
* @return
|
|
|
*/
|
|
|
public int changeLevel4Super(SellerService.SellerWrapper sellerWrapper, BigDecimal left){
|
|
|
public int changeLevel4Super(SellerWrapper sellerWrapper, BigDecimal left){
|
|
|
int uid = sellerWrapper.getUid();
|
|
|
//持久化的入驻信息
|
|
|
SellerBo sellerBo = sellerWrapper.build();
|
...
|
...
|
@@ -304,7 +324,7 @@ public class SellerEnterApplyService { |
|
|
logger.info("in changeLevel4Super ready change StoredSeller level func, uid {} currentEnterType {} target Level {}",
|
|
|
uid, currentEnterType, level);
|
|
|
//超级卖家
|
|
|
sellerWrapper.buildSuperEnterStageLevel();
|
|
|
sellerWrapper.buildSuperEnterStageLevel(sellerLevelFuncMapper::selectByPrimaryKey);
|
|
|
SuperEnterStageLevel sesl = sellerBo.getSuperEnterStageLevel();
|
|
|
Integer currentLevel = null;
|
|
|
boolean levelNeedUpgrade = Objects.nonNull(sesl)
|
...
|
...
|
|