Skip to content

Instantly share code, notes, and snippets.

@yusufcakal
Created August 16, 2020 13:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yusufcakal/578118eb6a873c112ba577fac1a70b2e to your computer and use it in GitHub Desktop.
Save yusufcakal/578118eb6a873c112ba577fac1a70b2e to your computer and use it in GitHub Desktop.
SellerCenterService
@Service
public class SellerCenterService {
private final List<SellerLabelProcessor> sellerLabelProcessors;
public SellerCenterService(List<SellerLabelProcessor> sellerLabelProcessors) {
this.sellerLabelProcessors = sellerLabelProcessors;
}
public SellerCenterLabel getSellerCenterLabel(Seller seller) {
final SellerLabel sellerLabel = sellerLabelProcessors.stream()
.map(sellerLabelProcessor -> sellerLabelProcessor.getSellerLabel(seller.getSellCount()))
.filter(SellerLabel::isSellerLabelNotNewSeller)
.findFirst()
.orElse(SellerLabel.NEW_SELLER);
if (sellerLabel.isSellerLabelOne() && seller.getPreviousSellerLabel().isSellerLabelTwenty()) {
return SellerCenterLabel.getSellerCenterLabel(SellerLabel.SELLER_5);
}
return SellerCenterLabel.getSellerCenterLabel(sellerLabel);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment