| | |
| | | import java.math.BigDecimal;
|
| | |
|
| | | import org.yeshi.utils.BigDecimalUtil;
|
| | | import org.yeshi.utils.NumberUtil;
|
| | |
|
| | | import com.yeshi.fanli.dto.suning.SuningGoodsInfo;
|
| | | import com.yeshi.fanli.util.MoneyBigDecimalUtil;
|
| | |
| | | BigDecimal hundred = new BigDecimal(100);
|
| | | rate = MoneyBigDecimalUtil.div(rate, hundred);
|
| | |
|
| | | BigDecimal afterUseCouponPrice = new BigDecimal(goods.getCommodityInfo().getCommodityPrice());
|
| | | if (goods.getCouponInfo() != null && !StringUtil.isNullOrEmpty(goods.getCouponInfo().getCouponUrl())) {
|
| | | // 有券
|
| | | BigDecimal startPrice = new BigDecimal(goods.getCouponInfo().getBounsLimit());
|
| | | if (afterUseCouponPrice.compareTo(startPrice) >= 0) {
|
| | | afterUseCouponPrice = afterUseCouponPrice.subtract(startPrice);
|
| | | }
|
| | | String commodityPrice = goods.getCommodityInfo().getCommodityPrice();
|
| | | if (StringUtil.isNullOrEmpty(commodityPrice)) {
|
| | | commodityPrice = goods.getCommodityInfo().getSnPrice();
|
| | | }
|
| | |
|
| | | BigDecimal money = MoneyBigDecimalUtil.mul(afterUseCouponPrice, rate);
|
| | | BigDecimal afterUseCouponPrice = new BigDecimal(commodityPrice);
|
| | | if (goods.getCouponInfo() != null && !StringUtil.isNullOrEmpty(goods.getCouponInfo().getCouponUrl())) {
|
| | | // 有券
|
| | | BigDecimal startPrice = null;
|
| | | if (StringUtil.isNullOrEmpty(goods.getCouponInfo().getBounsLimit())) {
|
| | | startPrice = new BigDecimal(goods.getCouponInfo().getCouponValue());
|
| | | } else
|
| | | startPrice = new BigDecimal(goods.getCouponInfo().getBounsLimit());
|
| | | if (afterUseCouponPrice.compareTo(startPrice) >= 0) {
|
| | | afterUseCouponPrice = afterUseCouponPrice.subtract(new BigDecimal(goods.getCouponInfo().getCouponValue()));
|
| | | }
|
| | | }
|
| | | |
| | | BigDecimal commission=MoneyBigDecimalUtil.mul(afterUseCouponPrice,MoneyBigDecimalUtil.div(new BigDecimal(goods.getCommodityInfo().getRate()), new BigDecimal(100),5));
|
| | |
|
| | | BigDecimal money = MoneyBigDecimalUtil.mul(commission,
|
| | | rate);
|
| | | return BigDecimalUtil.getWithNoZera(money).setScale(2);
|
| | | }
|
| | |
|
| | |
| | |
|
| | | return supplierCode + "-" + goodsId;
|
| | | }
|
| | | |
| | | public static String getFullSupplierCode(String supplierCode){
|
| | |
|
| | | public static String getFullSupplierCode(String supplierCode) {
|
| | | for (int i = 0; i < 10; i++) {
|
| | | if (supplierCode.length() < 10)
|
| | | supplierCode = "0" + supplierCode;
|
| | | }
|
| | | |
| | |
|
| | | return supplierCode;
|
| | | }
|
| | |
|
| | |
| | | return String.format("https://product.suning.com/%s/%s.html", supplierCode, goodsId);
|
| | | }
|
| | |
|
| | | public static String parseGoodsIdByUrl(String url) {
|
| | | try {
|
| | | if (url.contains(".suning.com/")
|
| | | && (url.contains(".suning.com/product/") || url.contains("product.suning.com/"))) {
|
| | | String preUrl = url.split("\\?")[0];
|
| | | String[] sts = preUrl.split("/");
|
| | | if (sts.length > 2) {
|
| | | String goodsId = sts[sts.length - 1].replace(".html", "").replace(".htm", "");
|
| | | String supplierCode = sts[sts.length - 2];
|
| | | if (NumberUtil.isNumeric(goodsId) && NumberUtil.isNumeric(supplierCode)) {
|
| | | return supplierCode + "-" + goodsId;
|
| | | }
|
| | | }
|
| | | }
|
| | | } catch (Exception e) {
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | | }
|