yujian
2019-06-24 bd331a582851cffcce54316e677e23760de4f384
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package com.yeshi.fanli.util.factory;
 
import java.math.BigDecimal;
 
import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 
public class CommonGoodsFactory {
 
    /**
     * 淘宝商品构造
     * 
     * @param goods
     * @return
     */
    public static CommonGoods create(TaoBaoGoodsBrief goods) {
        if (goods == null)
            return null;
 
        CommonGoods cg = new CommonGoods();
        cg.setCouponAmount(goods.getCouponAmount());
        cg.setCouponInfo(goods.getCouponInfo());
        cg.setCouponLeftCount(goods.getCouponLeftCount());
        cg.setCouponStartPrice(goods.getCouponStartFee());
        cg.setCouponTotalCount(goods.getCouponTotalCount());
        cg.setGoodsId(goods.getAuctionId());
        cg.setGoodsType(CommonGoods.GOODS_TYPE_TB);
        cg.setPicture(goods.getPictUrl());
        cg.setPictureWhite(goods.getPictUrlWhite());
        cg.setPrice(goods.getZkPrice());
        cg.setSales(goods.getBiz30day());
        cg.setRate(goods.getTkRate());
        cg.setSellerId(goods.getSellerId());
        cg.setSellerName(goods.getShopTitle());
        if (goods.getUserType() == 0)
            cg.setShopType(CommonGoods.SHOP_TYPE_TB);
        else
            cg.setShopType(CommonGoods.SHOP_TYPE_TM);
        cg.setState(CommonGoods.STATE_NORMAL);
        cg.setTitle(goods.getTitle());
        // 保留字段
        cg.setVideoCover(null);
        cg.setVideoUrl(null);
        cg.setState(goods.getState());
        cg.setMaterialLibType(goods.getMaterialLibType());
        return cg;
    }
 
    public static CommonGoods create(PDDGoodsDetail goods) {
        if (goods == null)
            return null;
 
        CommonGoods cg = new CommonGoods();
 
        if (goods.getCouponRemainQuantity() != null)
            cg.setCouponLeftCount(Integer.parseInt(goods.getCouponRemainQuantity() + ""));
        else
            cg.setCouponLeftCount(0);
        if (goods.getCouponMinOrderAmount() != null)
            cg.setCouponStartPrice(
                    MoneyBigDecimalUtil.div(new BigDecimal(goods.getCouponMinOrderAmount()), new BigDecimal(100)));
        else
            cg.setCouponStartPrice(new BigDecimal(0));
 
        if (goods.getCouponDiscount() != null && goods.getCouponDiscount() > 0) {
            cg.setCouponAmount(MoneyBigDecimalUtil.div(new BigDecimal(goods.getCouponDiscount()), new BigDecimal(100)));
            if (cg.getCouponStartPrice().compareTo(new BigDecimal(0)) > 0)
                cg.setCouponInfo(String.format("满%s元减%s元", cg.getCouponStartPrice() + "", cg.getCouponAmount() + ""));
            else
                cg.setCouponInfo(String.format("%s元无条件券", cg.getCouponAmount() + ""));
        } else {
            cg.setCouponAmount(new BigDecimal(0));
        }
 
        cg.setCouponTotalCount(Integer.parseInt(goods.getCouponTotalQuantity() + ""));
        cg.setGoodsId(goods.getGoodsId());
        cg.setGoodsType(CommonGoods.GOODS_TYPE_PDD);
        cg.setPicture(goods.getGoodsThumbnailUrl());
        cg.setPictureWhite(null);
        cg.setPrice(MoneyBigDecimalUtil.div(new BigDecimal(goods.getMinNormalPrice()), new BigDecimal(100)));
        cg.setSales(Integer.parseInt(goods.getSoldQuantity() + ""));
        cg.setRate(MoneyBigDecimalUtil.div(new BigDecimal(goods.getPromotionRate()), new BigDecimal(10)));
        cg.setSellerId(goods.getMallId());
        cg.setSellerName(goods.getMallName());
        cg.setShopType(goods.getMerchantType());
        cg.setState(CommonGoods.STATE_NORMAL);
        cg.setTitle(goods.getGoodsName());
        // 保留字段
        cg.setVideoCover(null);
        cg.setVideoUrl(null);
        cg.setState(goods.getState());
        cg.setMaterialLibType(1);
        return cg;
    }
 
}