package com.gree.mall.manager.logic.common;

import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import com.gree.mall.manager.exception.RemoteServiceException;
import com.gree.mall.manager.helper.FeignResponseObject;
import com.gree.mall.manager.helper.ResponseHelper;
import com.gree.mall.manager.plus.entity.GoodsSpec;
import com.gree.mall.manager.utils.HttpUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Service
public class FucaiLogic {

//    @Value("${fucai.wuliao.url}")
//    private String wuliaoUrl;
    @Value("${spring.profiles.active}")
    private String profiles;


    public void getWuliao(List<GoodsSpec> goodsSpecs) throws RemoteServiceException {
        if(CollectionUtils.isEmpty(goodsSpecs)){
            return;
        }
        if(!profiles.equals("prd")){
            return;
        }
        for(GoodsSpec goodsSpec : goodsSpecs){
            this.getWuliao(goodsSpec);
        }
    }

    /**
     * 查询金蝶物料
     */
    public void getWuliao(GoodsSpec goodsSpec) throws RemoteServiceException {
//        if(StringUtils.isBlank(goodsSpec.getGoodsCode())){
//            return;
//        }
//
//        Map<String, String> map = new HashMap<>();
//        map.put("number", goodsSpec.getGoodsCode());
//        String s = HttpUtils.requestGet(wuliaoUrl, map, null);
//        FeignResponseObject feignResponseObject = JSONObject.parseObject(s, FeignResponseObject.class);
//        List<Map<String, Object>> data = (List<Map<String, Object>>) feignResponseObject.checkOutData();
//        if (data == null || data.size() == 0) {
//            throw new RemoteServiceException("请检查物料编码是否正确");
//        }
//        String name = (String) data.get(0).get("name");
//        BigDecimal tax = (BigDecimal) data.get(0).get("taxRateId");
//        String unit = (String) data.get(0).get("salePriceUnitId");
//        goodsSpec.setJindName(name);
//        goodsSpec.setJindTax(tax.divide(BigDecimal.valueOf(100)));
//        goodsSpec.setJindUnit(unit);

    }

}
