admin
2019-06-24 480fa41fa7ee8b3b3a38f46f28c2b8403299b44d
分类商品列表的bug修改
17个文件已修改
322 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsClassController.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/SearchController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsClassControllerV2.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/h5/H5RecommendController.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/help/HelpCenter.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/help/HelpInfo.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/lable/QualityFactory.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/dynamic/DynamicInfo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/jd/JDOrderProcessServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/goods/CommonOrderFactory.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/vo/goods/GoodsSubClassLabelVO.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
utils/src/main/java/org/yeshi/utils/HttpUtil.java 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsClassController.java
@@ -444,22 +444,41 @@
                    searchfilter.setMaterialId("6707");
                taoKeGoodsService.setSearchFilter(searchfilter, filter, order, startprice, endprice, fastFilter,
                        totalSales);
                JSONObject result = taoKeGoodsService.searchWuLiao(searchfilter);
                long count = result.optLong("count");
                JSONArray resultArray = result.getJSONArray("result");
                TaoBaoSearchResult searchResult = TaoKeApiUtil.searchWuLiao(searchfilter);
                long count = searchResult.getPageEntity().getTotalCount();
                JSONObject result = new JSONObject();
                BigDecimal rate = hongBaoManageService.getFanLiRate();
                List<TaoBaoGoodsBrief> resultGoodsList = searchResult.getTaoBaoGoodsBriefs();
                // 查询是否超过了最大的商品数
                if (resultArray == null || resultArray.size() < 20) {
                if ((resultGoodsList == null || resultGoodsList.size() < 20)
                        && !StringUtil.isNullOrEmpty(goodsSubClass.getKey())) {
                    if (resultGoodsList == null)
                        resultGoodsList = new ArrayList<>();
                    // 需要根据关键字查询
                    searchfilter.setCateIds(null);
                    searchfilter.setPage((int) (count % 20 == 0 ? count / 20 - 1 : count / 20));
                    searchfilter.setPageSize(20);
                    searchfilter.setKey(goodsSubClass.getKey());
                    result = taoKeGoodsService.searchWuLiao(searchfilter);
                    if (resultArray != null)
                        result.optJSONArray("result").addAll(0, resultArray);
                    result.put("count", result.optLong("count") + count);
                    TaoBaoSearchResult searchResult2 = TaoKeApiUtil.searchWuLiao(searchfilter);
                    if (searchResult2 != null) {
                        List<TaoBaoGoodsBrief> resultListTemp = searchResult2.getTaoBaoGoodsBriefs();
                        if (resultListTemp != null)
                            resultGoodsList.addAll(resultListTemp);
                    }
                }
                JSONArray array = new JSONArray();
                Gson gson2 = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
                        .excludeFieldsWithoutExposeAnnotation().create();
                if (resultGoodsList != null)
                    for (TaoBaoGoodsBrief goods : resultGoodsList) {
                        array.add(gson2.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, rate + "", null)));
                    }
                result.put("result", array);
                result.put("count", result.optLong("count") + count);
                out.print(JsonUtil.loadTrueResult(result));
                return;
            } else {
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java
@@ -2033,7 +2033,9 @@
                    redisManager.saveCommonTaoToken(tb.getAuctionId(), token);
                }
            }
            tb.setCouponLinkTaoToken(token);
            // 测试
            if (!Constant.IS_TEST)
                tb.setCouponLinkTaoToken(token);
            // 服务端转链
            // if (convertInServer &&
@@ -2049,7 +2051,10 @@
            couponInfo.put("couponTime", "使用期限:" + tb.getCouponEffectiveStartTime().replace("-", ".") + "-"
                    + tb.getCouponEffectiveEndTime().replace("-", "."));
            // 券的口令
            couponInfo.put("couponToken", token);
            // 测试
            if (!Constant.IS_TEST)
                couponInfo.put("couponToken", token);
            goodsJson.put("couponInfo", couponInfo);
            if (tb.getBiz30day() >= 1000) {
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/SearchController.java
@@ -482,7 +482,7 @@
                listRecommendWords = new ArrayList<String>();
            }
            List<TaoBaoShopVO> listShop = taoBaoShopService.getShopByKey(kw);
            List<TaoBaoShopVO> listShop =null; //taoBaoShopService.getShopByKey(kw);
            if (listShop != null && listShop.size() > 0 && listShop.get(0).getListGoods() != null
                    && listShop.get(0).getListGoods().size() > 2) {
                data.put("shop", JsonUtil.getApiCommonGson().toJson(listShop.get(0)));
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsClassControllerV2.java
@@ -42,7 +42,7 @@
     */
    @RequestMapping(value = "listClass", method = RequestMethod.POST)
    public void listClass(AcceptData acceptData, PrintWriter out) {
        List<GoodsClass> list = goodsClassService.getEffectiveClassCache();
        List<GoodsClass> list =goodsClassService.getEffectiveClassCache();
        if (list == null ) {
            list = new ArrayList<GoodsClass>();
        }
fanli/src/main/java/com/yeshi/fanli/controller/h5/H5RecommendController.java
@@ -10,6 +10,7 @@
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.HttpUtil;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.taobao.TbImgUtil;
@@ -143,6 +144,63 @@
    }
    /**
     * 处理条件
     *
     * @param uid
     * @param tid
     * @param out
     */
    private void doTaoLiJin(String callback, Long uid, Long tid, PrintWriter out) {
        String tljLink = "";
        Long auctionId = null;
        BigDecimal tljMoney=null;
        TaoBaoGoodsBrief goods = null;
        try {
            goods = redisManager.getTaoBaoGoodsBrief(auctionId);
        } catch (TaobaoGoodsDownException e) {
        }
        if (goods == null) {// 已经下线
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("商品信息获取失败")));
            return;
        }
        String token = redisManager.getTLJToken(tljLink);
        if (StringUtil.isNullOrEmpty(token)) {
            token = TaoKeApiUtil.getTKToken(goods.getPictUrl(), goods.getTitle(), tljLink);
        }
        // 券后价
        BigDecimal afterCouponPrice = TaoBaoUtil.getAfterUseCouplePrice(goods);
        TaoBaoLink link = new TaoBaoLink();
        link.setTaoToken(token);
        JSONObject data = new JSONObject();
        data.put("title", goods.getTitle());
        if (goods.getImgList() == null)
            goods.setImgList(new ArrayList<>());
        goods.getImgList().add(0, TbImgUtil.getTBSizeImg(goods.getPictUrl(), 300));
        data.put("imgs", goods.getImgList());
        data.put("couponPrice", afterCouponPrice);
        // 老版本兼容
        data.put("quanPrice", afterCouponPrice);
        data.put("zkPrice", goods.getZkPrice());
        data.put("shareContent", "长按复制本段文字,打开【手机淘宝】即可领取【特别优惠券】购买下单,");
        data.put("token", link.getTaoToken());
        data.put("reservePrice", goods.getReservePrice());
        data.put("shopType", goods.getUserType() == 1 ? 2 : 1);
        if (!StringUtil.isNullOrEmpty(goods.getCouponInfo()) && !"无".equalsIgnoreCase(goods.getCouponInfo())) {
            data.put("couponAmount", MoneyBigDecimalUtil.getWithNoZera(goods.getCouponAmount()));
            data.put("coupon", true);
        } else {
            data.put("coupon", false);
        }
        data.put("tljMoney", tljMoney);
        out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
    }
    /**
     * 
     * 方法说明: 获取商品详情
     * 
@@ -155,17 +213,24 @@
    @SuppressWarnings("unused")
    @RequestMapping(value = "getGoodsDetail", method = RequestMethod.GET)
    public void getGoodsDetail(final AcceptData acceptData, final String id, String uid, String callback,
    public void getGoodsDetail(final AcceptData acceptData, final String id, Long tid, String uid, String callback,
            PrintWriter out) {
        long begin = java.lang.System.currentTimeMillis();
        if (StringUtil.isNullOrEmpty(id)) {
            out.print(JsonUtil.loadFalseResult(1, "请上传id"));
            return;
        }
        if (!StringUtil.isNullOrEmpty(uid)) {
            uid = AESUtil.decrypt(uid, Constant.UIDAESKEY);
        }
        if (tid != null && tid != 0) {
            doTaoLiJin(callback, StringUtil.isNullOrEmpty(uid) || Long.parseLong(uid) == 0 ? null : Long.parseLong(uid),
                    tid, out);
            return;
        }
        TaoBaoGoodsBrief goods = null;
        String token = null;
        if (!StringUtil.isNullOrEmpty(uid)) {
fanli/src/main/java/com/yeshi/fanli/entity/bus/help/HelpCenter.java
@@ -1,5 +1,6 @@
package com.yeshi.fanli.entity.bus.help;
import java.io.Serializable;
import java.util.Date;
import org.yeshi.utils.mybatis.Column;
@@ -12,7 +13,12 @@
 * @date 2018年8月14日
 */
@org.yeshi.utils.mybatis.Table("yeshi_ec_help_center")
public class HelpCenter {
public class HelpCenter implements Serializable{
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    @Column(name = "h_id")
    private Long id;
fanli/src/main/java/com/yeshi/fanli/entity/bus/help/HelpInfo.java
@@ -1,5 +1,7 @@
package com.yeshi.fanli.entity.bus.help;
import java.io.Serializable;
import org.springframework.data.annotation.Id;
import org.springframework.data.annotation.PersistenceConstructor;
import org.springframework.data.mongodb.core.mapping.Document;
@@ -11,7 +13,11 @@
 *
 */
@Document(collection = "helpInfo")
public class HelpInfo {
public class HelpInfo implements Serializable{
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    @Id
    private Long id;// 帮助中心ID
    private String content;// 具体内容
fanli/src/main/java/com/yeshi/fanli/entity/bus/lable/QualityFactory.java
@@ -1,5 +1,6 @@
package com.yeshi.fanli.entity.bus.lable;
import java.io.Serializable;
import java.util.Date;
import org.yeshi.utils.mybatis.Column;
@@ -16,8 +17,12 @@
 * @date 2018年7月3日
 */
@Table("yeshi_ec_quality_factory")
public class QualityFactory  {
public class QualityFactory  implements Serializable{
    
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    // 人工筛选入库
    public final static int MODE_MANUAL = 1;
    // 系统算法 -自动入库
fanli/src/main/java/com/yeshi/fanli/entity/dynamic/DynamicInfo.java
@@ -1,5 +1,6 @@
package com.yeshi.fanli.entity.dynamic;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@@ -14,9 +15,13 @@
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
@Document(collection = "dynamic_info")
public class DynamicInfo {
public class DynamicInfo implements Serializable{
    
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    // 分享类型      1:单图分享 、2:4图分享、 3:9图分享 、 4:邀请分享
    public final static int SHARE_TYPE_ONE = 1;
    public final static int SHARE_TYPE_FOUR = 2;
fanli/src/main/java/com/yeshi/fanli/service/impl/jd/JDOrderProcessServiceImpl.java
@@ -7,6 +7,7 @@
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.yeshi.fanli.dao.mybatis.order.OrderMapper;
import com.yeshi.fanli.dao.mybatis.pdd.PDDOrderMapper;
@@ -59,6 +60,7 @@
        }
    }
    @Transactional
    @Override
    public void handleFanLiOrder(JDOrder jdOrder) {
        if (jdOrder != null) {
@@ -122,6 +124,7 @@
        }
    }
    @Transactional
    @Override
    public void handleShareOrder(JDOrder jdOrder) {
        if (jdOrder != null) {
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java
@@ -269,6 +269,8 @@
        return data;
    }
    @Override
    @Cacheable(value = "searchWuLiaoCache", key = "'searchWuLiaoList-'+#sf")
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -684,6 +684,7 @@
        return commonOrderList;
    }
    @Transactional
    @Override
    public List<CommonOrder> addJDOrder(JDOrder jdOrder, Long uid) throws CommonOrderException {
        List<CommonOrder> commonOrderList = new ArrayList<>();
fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java
@@ -510,6 +510,37 @@
    }
    /**
     * 保存淘礼金的口令
     *
     * @param url
     * @param token
     */
    public void saveTLJToken(String url, String token) {
        String key = "taobao-tlj-token-" + StringUtil.Md5(url);
        if (Constant.IS_OUTNET) {
            if (!StringUtil.isNullOrEmpty(token)) {
                // 口令缓存10天
                cacheCommonString(key, token, 60 * 60 * 24 * 10);
            }
        }
    }
    /**
     * 获取淘礼金口令
     *
     * @param url
     * @return
     */
    public String getTLJToken(String url) {
        String key = "taobao-common-token-" + StringUtil.Md5(url);
        if (Constant.IS_OUTNET) {
            return getCommonString(key);
        }
        return null;
    }
    /**
     * 保存对象
     * 
     * @param T
fanli/src/main/java/com/yeshi/fanli/util/factory/goods/CommonOrderFactory.java
@@ -89,6 +89,7 @@
        commonOrder.setThirdCreateTime(new Date(order.getOrder().getOrderTime()));
        commonOrder.setUpdateTime(new Date());
        commonOrder.setTradeId(order.getTradeId());
        commonOrder.setEstimate(order.getEstimateFee());
        return commonOrder;
    }
fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java
@@ -2,6 +2,7 @@
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Collections;
@@ -15,9 +16,13 @@
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.yeshi.fanli.dto.jd.JDCategoryInfo;
import com.yeshi.fanli.dto.jd.JDCommissionInfo;
import com.yeshi.fanli.dto.jd.JDOrderResult;
import com.yeshi.fanli.dto.jd.JDShopInfo;
import com.yeshi.fanli.entity.jd.JDGoods;
import com.yeshi.fanli.entity.jd.JDOrder;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
@@ -132,7 +137,7 @@
            JSONArray array = resultJson.optJSONArray("data");
            if (array != null)
                for (int i = 0; i < array.size(); i++) {
                    JDGoods goods = parseJDGoods(array.optJSONObject(i));
                    JDGoods goods = parseSimpleJDGoods(array.optJSONObject(i));
                    if (goods != null)
                        list.add(goods);
                }
@@ -140,27 +145,46 @@
        return list;
    }
    private static JDGoods parseJDGoods(JSONObject json) {
    private static JDGoods parseSimpleJDGoods(JSONObject json) {
        JDGoods goods = new JDGoods();
        // goods.setBrandCode(brandCode);
        // goods.setBrandName(brandName);
        // goods.setCategoryInfo(categoryInfo);
        // goods.setComments(comments);
        // goods.setCommissionInfo(commissionInfo);
        // goods.setCouponInfo(couponInfo);
        // goods.setGoodCommentsShare(goodCommentsShare);
        // goods.setImageList(imageList);
        // goods.setInOrderCount30Days(inOrderCount30Days);
        // goods.setIsHot(isHot);
        // goods.setMaterialUrl(materialUrl);
        // goods.setOwner(owner);
        // goods.setPinGouInfo(pinGouInfo);
        // goods.setPrice(price);
        // goods.setShopInfo(shopInfo);
        // goods.setSkuId(skuId);
        // goods.setSkuName(skuName);
        // goods.setSpuid(spuid);
        // goods.setTotalCount(totalCount);
        JDCategoryInfo categoryInfo = new JDCategoryInfo();
        categoryInfo.setCid1(json.optLong("cid1"));
        categoryInfo.setCid1Name(json.optString("cid1Name"));
        categoryInfo.setCid2(json.optLong("cid2"));
        categoryInfo.setCid2Name(json.optString("cid2Name"));
        categoryInfo.setCid3(json.optLong("cid3"));
        categoryInfo.setCid3Name(json.optString("cid3Name"));
        goods.setCategoryInfo(categoryInfo);
        goods.setComments(null);
        goods.setPrice(StringUtil.isNullOrEmpty(json.optString("wlUnitPrice"))
                ? new BigDecimal(json.optString("unitPrice")) : new BigDecimal(json.optString("wlUnitPrice")));
        JDCommissionInfo commissionInfo = new JDCommissionInfo();
        commissionInfo.setCommissionShare(new BigDecimal(json.optString("commisionRatioWl")));
        commissionInfo.setCommission(MoneyBigDecimalUtil
                .div(goods.getPrice().multiply(commissionInfo.getCommissionShare()), new BigDecimal(100)));
        goods.setCommissionInfo(commissionInfo);
        goods.setCouponInfo(null);
        goods.setGoodCommentsShare(null);
        List<String> imageList = new ArrayList<>();
        imageList.add(json.optString("imgUrl"));
        goods.setImageList(imageList);
        goods.setInOrderCount30Days(0L);
        goods.setIsHot(null);
        goods.setMaterialUrl(json.optString("materialUrl"));
        goods.setOwner(null);
        goods.setPinGouInfo(null);
        JDShopInfo shopInfo = new JDShopInfo();
        shopInfo.setShopId(json.optInt("shopId"));
        shopInfo.setShopName(null);
        goods.setShopInfo(shopInfo);
        goods.setSkuId(json.optLong("skuId"));
        goods.setSkuName(json.optString("goodsName"));
        goods.setTotalCount(null);
        return goods;
    }
fanli/src/main/java/com/yeshi/fanli/vo/goods/GoodsSubClassLabelVO.java
@@ -1,12 +1,17 @@
package com.yeshi.fanli.vo.goods;
import java.io.Serializable;
import java.util.List;
import com.google.gson.annotations.Expose;
import com.yeshi.fanli.entity.bus.clazz.GoodsSubClass;
import com.yeshi.fanli.entity.bus.clazz.GoodsSubClassLabel;
public class GoodsSubClassLabelVO extends GoodsSubClassLabel {
public class GoodsSubClassLabelVO extends GoodsSubClassLabel implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    @Expose
    private List<GoodsSubClass> listSub;
@@ -17,5 +22,5 @@
    public void setListSub(List<GoodsSubClass> listSub) {
        this.listSub = listSub;
    }
}
utils/src/main/java/org/yeshi/utils/HttpUtil.java
@@ -41,6 +41,8 @@
import org.yeshi.utils.entity.ProxyIP;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import sun.rmi.log.LogHandler;
public class HttpUtil {
@@ -55,12 +57,58 @@
    }
    public static String getShortLink(String url) {
        String totalUrl = String.format("http://api.t.sina.com.cn/short_url/shorten.json?source=3271760578&url_long=%s",
                URLEncoder.encode(url));
        String result = get(totalUrl, null);
        JSONArray rtesultArray = JSONArray.fromObject(result);
        if (rtesultArray.size() > 0) {
            return rtesultArray.optJSONObject(0).optString("url_short");
        String shortLink = getShortLink2(url);
        if (StringUtil.isNullOrEmpty(shortLink))
            shortLink = getShortLink3(url);
        if (StringUtil.isNullOrEmpty(shortLink))
            shortLink = getShortLink1(url);
        return shortLink;
    }
    private static String getShortLink1(String url) {
        try {
            String totalUrl = String.format("http://api.suolink.cn/api.php?url=%s", URLEncoder.encode(url));
            String result = get(totalUrl, null);
            if (!StringUtil.isNullOrEmpty(result) && result.startsWith("http"))
                return result.trim();
        } catch (Exception e) {
            return url;
        }
        return null;
    }
    private static String getShortLink2(String url) {
        try {
            String totalUrl = String.format(
                    "https://api.weibo.com/2/short_url/shorten.json?source=3403499693&url_long=%s",
                    URLEncoder.encode(url));
            String result = get(totalUrl, null);
            JSONObject data = JSONObject.fromObject(result);
            JSONArray array = data.optJSONArray("urls");
            data = array.optJSONObject(0);
            String shortUrl = data.optString("url_short");
            if (!StringUtil.isNullOrEmpty(shortUrl))
                return shortUrl;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    private static String getShortLink3(String url) {
        try {
            String totalUrl = String.format(
                    "https://api.weibo.com/2/short_url/shorten.json?source=2963429064&url_long=%s",
                    URLEncoder.encode(url));
            String result = get(totalUrl, null);
            JSONObject data = JSONObject.fromObject(result);
            JSONArray array = data.optJSONArray("urls");
            data = array.optJSONObject(0);
            String shortUrl = data.optString("url_short");
            if (!StringUtil.isNullOrEmpty(shortUrl))
                return shortUrl;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
@@ -353,7 +401,7 @@
    public static String post(String url, Map<String, String> map, Map<String, String> headers) {
        HttpClient client = new HttpClient();
//        client.getHostConfiguration().setProxy("192.168.1.122", 8888);
        // client.getHostConfiguration().setProxy("192.168.1.122", 8888);
        PostMethod pm = new PostMethod(url);// 创建HttpPost对象
        NameValuePair[] ns = new NameValuePair[map.keySet().size()];
        Iterator<String> its = map.keySet().iterator();