admin
2018-12-19 d1bf4588a39bcba69fd39f3cc3b3a6c439e25cb6
Merge branch 'master' into dev-moneydetail
12个文件已修改
476 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/admin/ExtractAdminController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/ExtractMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/user/ExtractAuditRecord.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/ExtractMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/activity/ActivityServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserGoodsStorageServiceImpl.java 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/user/ExtractService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/ExtractAdminController.java
@@ -508,6 +508,23 @@
                if (adminUser == null) {
                    record.setAdminUser(new AdminUser());
                }
                int warnLevel = 0;
                Extract extract = record.getExtract();
                if (extract != null) {
                    Integer extractState = extract.getState();
                    if (extractState != null && extractState == 0) {
                        UserInfo userInfo = extract.getUserInfo();
                        if (userInfo != null) {
                            double countTodayMoney = extractService.countTodayMoney(userInfo.getId());
                            if (countTodayMoney >= 100) {
                                warnLevel = 1;
                            }
                        }
                    }
                }
                record.setWarnLevel(warnLevel);
            }
            int count = extractAuditRecordService.getMyAuditedTimeSlotCount(key, state, null, days);
fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java
@@ -2078,62 +2078,9 @@
        }
        List<TaoBaoGoodsBrief> goodsList = TaoKeApiUtil.getRelationGoodsRecommend(id, 10);
        // 重新做推荐
        if (goodsList == null || goodsList.size() == 0) {
            goodsList = new ArrayList<>();
            TaoBaoGoodsBrief goods = null;
            try {
                goods = redisManager.getTaoBaoGoodsBrief(id);
            } catch (TaobaoGoodsDownException e) {
                e.printStackTrace();
            }
            if (goods == null) {
                // 从我们的商品库搜索
                CommonGoods cgoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(id,
                        CommonGoods.GOODS_TYPE_TB);
                // 商品有本地缓存
                if (cgoods != null) {
                    // 按名字搜索商品
                    SearchFilter sf = new SearchFilter();
                    sf.setKey(cgoods.getTitle().substring(0, cgoods.getTitle().length() / 2));
                    TaoBaoSearchResult result = TaoBaoUtil.search(sf);
                    if (result != null && result.getTaoBaoGoodsBriefs() != null
                            && result.getTaoBaoGoodsBriefs().size() > 0) {
                        for (TaoBaoGoodsBrief gds : result.getTaoBaoGoodsBriefs()) {
                            if (goodsList.size() == 10) {
                                break;
                            }
                            goodsList.add(gds);
                        }
                    }
                }
            }
            // 需要另做推荐
            if (goodsList.size() < 2) {
                try {
                    List<RecommendSectionGoods> list = recommendSectionGoodsService.getSectionGoods(10);
                    if (list != null) {
                        for (int i = 0; i < list.size(); i++) {
                            if (i == 10) {
                                break;
                            }
                            goodsList.add(list.get(i).getTaoBaoGoodsBrief());
                        }
                    }
                } catch (Exception e2) {
                    e2.printStackTrace();
                }
            }
        // 初始化
        if (goodsList == null) {
            goodsList = new ArrayList<TaoBaoGoodsBrief>();
        }
        BigDecimal proportion = manageService.getFanLiRate();
fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java
@@ -16,6 +16,9 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.beanutils.PropertyUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -53,12 +56,14 @@
import com.yeshi.fanli.entity.common.AdminUser;
import com.yeshi.fanli.entity.common.Config;
import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.system.System;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.fanli.exception.BindingAccountException;
import com.yeshi.fanli.exception.ObjectStateException;
import com.yeshi.fanli.exception.goods.CollectionGoodsException;
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.AdminUserService;
@@ -96,10 +101,8 @@
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.util.email.MailSenderUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.util.wx.WXLoginUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("api/v1/customer")
@@ -1514,20 +1517,68 @@
        List<CollectionGoodsV2> collectionGoodsList = collectionGoodsV2Service.getCollectionGoodsList(uid, page + 1,
                Constant.PAGE_SIZE);
        // List<CollectionGoods> coList =
        // collectionGoodsService.findCollectionGoods(uid, page + 1);
        List<TaoBaoGoodsBriefExtra> list = new ArrayList<TaoBaoGoodsBriefExtra>();
        long count = collectionGoodsV2Service.getCollectionGoodsCount(uid);
        JSONObject data = new JSONObject();
        BigDecimal proportion = hongBaoManageService.getFanLiRate();
        List<TaoBaoGoodsBriefExtra> list = new ArrayList<TaoBaoGoodsBriefExtra>();
        collectionGoodsList.parallelStream().forEachOrdered(cg -> {
            TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(cg.getCommonGoods());
            goodsBrief.setSalesCount(TaoBaoUtil.getSaleCount(goodsBrief.getBiz30day()));
            TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief,
                    proportion.toString(), "");
            taoBaoGoodsBriefExtra.setCreatetime(cg.getCreateTime());
            list.add(taoBaoGoodsBriefExtra);
        });
        List<TaoBaoGoodsBrief> listTaoKeGoods = new ArrayList<TaoBaoGoodsBrief>();
        if (collectionGoodsList != null && collectionGoodsList.size() > 0) {
            BigDecimal proportion = hongBaoManageService.getFanLiRate();
            List<Long> listGid = new ArrayList<Long>();
            for (CollectionGoodsV2 collectionGoodsV2 : collectionGoodsList) {
                CommonGoods commonGoods = collectionGoodsV2.getCommonGoods();
                if (commonGoods == null) {
                    continue;
                }
                listGid.add(commonGoods.getGoodsId());
            }
            try {
                // API网络接口验证是否在售
                listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid);
            } catch (TaoKeApiException e) {
                e.printStackTrace();
            } catch (TaobaoGoodsDownException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
            for (CollectionGoodsV2 collectionGoodsV2 : collectionGoodsList) {
                CommonGoods commonGoods = collectionGoodsV2.getCommonGoods();
                if (commonGoods == null) {
                    continue;
                }
                if (listTaoKeGoods != null && listTaoKeGoods.size() > 0 ) {
                    int state = 1;  // 默认停售
                    Long goodsId = commonGoods.getGoodsId();
                    for (TaoBaoGoodsBrief taoKeGoods: listTaoKeGoods) {
                        Long auctionId = taoKeGoods.getAuctionId();
                        if (goodsId == auctionId || goodsId.equals(auctionId)) {
                            state = 0; // 在售
                            break;
                        }
                    }
                    commonGoods.setState(state);
                }
                TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods);
                goodsBrief.setSalesCount(TaoBaoUtil.getSaleCount(goodsBrief.getBiz30day()));
                TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief,
                        proportion.toString(), "");
                taoBaoGoodsBriefExtra.setCreatetime(commonGoods.getCreateTime());
                list.add(taoBaoGoodsBriefExtra);
            }
        }
        GsonBuilder builder = new GsonBuilder().registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
            @Override
            public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/ExtractMapper.java
@@ -92,5 +92,7 @@
     * @return
     */
    int countTodayComplete();
    double countTodayMoney(@Param("uid") Long uid);
}
fanli/src/main/java/com/yeshi/fanli/entity/bus/user/ExtractAuditRecord.java
@@ -82,6 +82,8 @@
    @org.yeshi.utils.mybatis.Column(name="auditRole")
    private String auditRole; //审核人
    
    @Expose // 风险等级
    private int warnLevel;
    
    public String getAuditRole() {
        return auditRole;
@@ -170,6 +172,14 @@
    public void setAuditTime(Long auditTime) {
        this.auditTime = auditTime;
    }
    public int getWarnLevel() {
        return warnLevel;
    }
    public void setWarnLevel(int warnLevel) {
        this.warnLevel = warnLevel;
    }
    
    
}
fanli/src/main/java/com/yeshi/fanli/mapping/ExtractMapper.xml
@@ -337,5 +337,12 @@
        SELECT count(id) FROM yeshi_ec_extract
        WHERE (state=1 OR state= 2) <![CDATA[AND  FROM_UNIXTIME(extractTime/1000) >=CURDATE() ]]>
    </select>
    <select id="countTodayMoney" resultType="java.lang.Double">
        SELECT IFNULL(SUM(t.`money`),0) FROM  yeshi_ec_extract t
        WHERE t.`uid` = #{uid} AND t.state = 1
            AND <![CDATA[TO_DAYS( FROM_UNIXTIME(t.extractTime/1000)) = TO_DAYS(NOW())]]>
    </select>
</mapper>
fanli/src/main/java/com/yeshi/fanli/service/impl/activity/ActivityServiceImpl.java
@@ -239,13 +239,18 @@
        JSONObject contentJson1 = new JSONObject();
        contentJson1.put("color", fontColor1);
        contentJson1.put("content", "预估分享奖金:");
        String shareMoney = "0";
        String revenue = "¥0";
        String totalGetMoney = activity.getTotalGetMoney();
        if (totalGetMoney != null && totalGetMoney.trim().length() > 0) {
            String[] split = totalGetMoney.split(":");
            if (split != null) {
                revenue = split[1];
            }
            String[] splitMoney = totalGetMoney.split("¥");
            if (splitMoney != null) {
                shareMoney = splitMoney[1];
            }
        }
@@ -263,6 +268,7 @@
        data.put("title", title);
        data.put("revenue", array);
        data.put("fanMoney", shareMoney);
        data.put("shareId", map.get("shareId"));
        data.put("shareImg", map.get("loadResult"));
        data.put("notifyDesc", configService.get("goods_share_multiple_notify"));
fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractServiceImpl.java
@@ -673,4 +673,8 @@
    }
    @Override
    public double countTodayMoney(Long uid) {
        return extractMapper.countTodayMoney(uid);
    }
}
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserGoodsStorageServiceImpl.java
@@ -15,7 +15,6 @@
import org.springframework.core.task.TaskExecutor;
import org.springframework.stereotype.Service;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.taobao.TbImgUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -26,6 +25,7 @@
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.exception.goods.CommonGoodsException;
import com.yeshi.fanli.exception.share.UserShareGoodsRecordException;
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.exception.user.UserGoodsStorageException;
import com.yeshi.fanli.service.inter.config.ConfigService;
@@ -35,9 +35,9 @@
import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.factory.CommonGoodsFactory;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@Service
public class UserGoodsStorageServiceImpl implements UserGoodsStorageService {
@@ -207,15 +207,31 @@
            return array;
        }
        
        Date nowDate = new Date();
        long nh = 1000 * 60 * 60;
        long nd = 1000 * 24 * 60 * 60;
        List<CommonGoods> listUpadteCommonGoods = new ArrayList<CommonGoods>();
        List<Long> listGid = new ArrayList<Long>();
        for (UserGoodsStorage userGoodsStorage : listStorage) {
            CommonGoods commonGoods = userGoodsStorage.getCommonGoods();
            if (commonGoods == null) {
                continue;
            }
            listGid.add(commonGoods.getGoodsId());
        }
        // API网络接口验证是否在售
        List<TaoBaoGoodsBrief> listTaoKeGoods = null;
        try {
            listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid);
        } catch (TaoKeApiException e) {
            e.printStackTrace();
        } catch (TaobaoGoodsDownException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
        
        BigDecimal  rate = manageService.getFanLiRate();
        Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
                .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
        
        for (UserGoodsStorage userGoodsStorage : listStorage) {
            CommonGoods commonGoods = userGoodsStorage.getCommonGoods();
@@ -223,83 +239,36 @@
                continue;
            }
            
            TaoBaoGoodsBrief goodsBrief = null;
            JSONObject dataObject = new JSONObject();
            // 更新一个小时之内的商品不再更新
            Integer goodsState = commonGoods.getState();
            // 状态未下架时进行更新
            if (goodsState != null && (goodsState != 1 || !goodsState.equals(1))) {
                Date updateTime = commonGoods.getUpdateTime();
                if (updateTime != null) {
                    // 计算差多少小时
                    long diff = nowDate.getTime() - updateTime.getTime();
                    long day = diff / nd;
                    long hour = diff % nd / nh;
                    if (hour > 1 || day > 0 ) {
                        try {
                            if (commonGoods.getGoodsType() == CommonGoods.GOODS_TYPE_TB) {
                                goodsBrief = redisManager.getTaoBaoGoodsBrief(commonGoods.getGoodsId());
                                goodsState = 0;
                                goodsBrief.setState(goodsState);
                                CommonGoods upadeteCommonGoods = CommonGoodsFactory.create(goodsBrief);
                                upadeteCommonGoods.setState(goodsState);
                                upadeteCommonGoods.setId(commonGoods.getId());
                                listUpadteCommonGoods.add(upadeteCommonGoods);
                            }
                        } catch (TaobaoGoodsDownException e) {
                            // 已下架
                            goodsState = 1;
                            commonGoods.setState(goodsState);
                            listUpadteCommonGoods.add(commonGoods);
                            e.printStackTrace();
                        }
                    }
            if (listTaoKeGoods != null && listTaoKeGoods.size() > 0 ) {
                int state = 1;  // 默认停售
                Long goodsId = commonGoods.getGoodsId();
                for (TaoBaoGoodsBrief taoKeGoods: listTaoKeGoods) {
                    Long auctionId = taoKeGoods.getAuctionId();
                    if (goodsId == auctionId || goodsId.equals(auctionId)) {
                        state = 0; // 在售
                        break;
                    }
                }
                commonGoods.setState(state);
            }
            
            if (goodsBrief == null) {
                goodsBrief = TaoBaoUtil.convert(commonGoods);
            }
            TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods);
            
            // 判断是否已分享
            Integer state = userGoodsStorage.getState();
            int shared = UserGoodsStorage.STATE_SHARED;
            if (state != null && (state == shared || state.equals(shared))) {
                if (goodsState != 1 || !goodsState.equals(1)) {
                    goodsBrief.setState(2); // 已分享状态
            Integer storageState = userGoodsStorage.getState();
            if (storageState != null && storageState == UserGoodsStorage.STATE_SHARED) {
                Integer goodsState = goodsBrief.getState();
                if (goodsState != null && goodsState != 1) {
                    goodsBrief.setState(2); // 已分享状态 优先显示已下架
                }
            }
            // 改变图片尺寸
            String pictUrl = goodsBrief.getPictUrl();
            if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) {
                goodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
            }
            String json = gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, rate.toString(), null));
            JSONObject dataObject = new JSONObject();
            dataObject.put("storageId", userGoodsStorage.getId());
            dataObject.put("goods", json);
            array.add(dataObject);
        }
        if (listUpadteCommonGoods.size() > 0) {
            executor.execute(new Runnable() {
                @Override
                public void run() {
                    try {
                        // 更新简版信息
                        commonGoodsService.updateBatchCommonGoods(listUpadteCommonGoods);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
        
        return array;
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java
@@ -31,12 +31,14 @@
import com.yeshi.fanli.entity.bus.share.UserShareGoodsGroup;
import com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord;
import com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord.ShareSourceTypeEnum;
import com.yeshi.fanli.entity.bus.user.UserGoodsStorage;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.fanli.exception.goods.CommonGoodsException;
import com.yeshi.fanli.exception.share.UserShareGoodsRecordException;
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
@@ -52,6 +54,7 @@
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.factory.CommonGoodsFactory;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@Service
public class UserShareGoodsRecordServiceImpl implements UserShareGoodsRecordService {
@@ -484,88 +487,65 @@
    public JSONObject getGoodsGroup(Long recordId) throws UserShareGoodsRecordException {
        
        JSONArray array = new JSONArray();
        List<CommonGoods> listUpadteCommonGoods = new ArrayList<CommonGoods>();
        List<UserShareGoodsGroup> list = userShareGoodsGroupService.listByRecordId(recordId);
        if (list != null && list.size() > 0) {
        List<Long> listGid = new ArrayList<Long>();
        for (UserShareGoodsGroup goodsGroup : list) {
            CommonGoods commonGoods = goodsGroup.getCommonGoods();
            if (commonGoods == null) {
                continue;
            }
            listGid.add(commonGoods.getGoodsId());
        }
        // API网络接口验证是否在售
        List<TaoBaoGoodsBrief> listTaoKeGoods = null;
        try {
            listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid);
        } catch (TaoKeApiException e) {
            e.printStackTrace();
        } catch (TaobaoGoodsDownException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
            Date nowDate = new Date();
            long nh = 1000 * 60 * 60;
            long nd = 1000 * 24 * 60 * 60;
        Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
                .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
            Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
                    .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
            Map<String, String> map = hongBaoManageService.convertMap();
            String proportion = map.get("hongbao_goods_proportion");
            for (UserShareGoodsGroup userShareGoodsGroup : list) {
                CommonGoods commonGoods = userShareGoodsGroup.getCommonGoods();
                if (commonGoods == null) {
                    continue;
                }
                TaoBaoGoodsBrief goodsBrief = null;
                JSONObject dataObject = new JSONObject();
                // 更新一个小时之内的商品不再更新
                Integer goodsState = commonGoods.getState();
                // 状态未下架时进行更新
                if (goodsState != null && (goodsState != 1 || !goodsState.equals(1))) {
                    Date updateTime = commonGoods.getUpdateTime();
                    if (updateTime != null) {
                        // 计算差多少小时
                        long diff = nowDate.getTime() - updateTime.getTime();
                        long day = diff / nd;
                        long hour = diff % nd / nh;
                        if (hour > 1 || day > 0 ) {
                            try {
                                if (commonGoods.getGoodsType() == CommonGoods.GOODS_TYPE_TB) {
                                    goodsBrief = redisManager.getTaoBaoGoodsBrief(commonGoods.getGoodsId());
                                    goodsState = 0;
                                    goodsBrief.setState(goodsState);
                                    CommonGoods upadeteCommonGoods = CommonGoodsFactory.create(goodsBrief);
                                    upadeteCommonGoods.setState(goodsState);
                                    upadeteCommonGoods.setId(commonGoods.getId());
                                    listUpadteCommonGoods.add(upadeteCommonGoods);
                                }
                            } catch (TaobaoGoodsDownException e) {
                                // 已下架
                                goodsState = 1;
                                commonGoods.setState(goodsState);
                                listUpadteCommonGoods.add(commonGoods);
                                e.printStackTrace();
                            }
                        }
        Map<String, String> map = hongBaoManageService.convertMap();
        String proportion = map.get("hongbao_goods_proportion");
        for (UserShareGoodsGroup goodsGroup : list) {
            CommonGoods commonGoods = goodsGroup.getCommonGoods();
            if (commonGoods == null) {
                continue;
            }
            if (listTaoKeGoods != null && listTaoKeGoods.size() > 0 ) {
                int state = 1;  // 默认停售
                Long goodsId = commonGoods.getGoodsId();
                for (TaoBaoGoodsBrief taoKeGoods: listTaoKeGoods) {
                    Long auctionId = taoKeGoods.getAuctionId();
                    if (goodsId == auctionId || goodsId.equals(auctionId)) {
                        state = 0; // 在售
                        break;
                    }
                }
                if (goodsBrief == null) {
                    goodsBrief = TaoBaoUtil.convert(commonGoods);
                }
                // 改变图片尺寸
                String pictUrl = goodsBrief.getPictUrl();
                if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) {
                    goodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
                }
                userShareGoodsGroup.setId(null);
                userShareGoodsGroup.setBrowseTime(null);
                userShareGoodsGroup.setCreateTime(null);
                userShareGoodsGroup.setUpdateTime(null);
                userShareGoodsGroup.setRecordId(null);
                dataObject.put("todayBrowse",userShareGoodsGroup.getTodayBrowse() );
                dataObject.put("totalBrowse",userShareGoodsGroup.getTotalBrowse() );
                dataObject.put("totalOrder", userShareGoodsGroup.getTotalOrder());
                dataObject.put("totalMoney", "¥"+userShareGoodsGroup.getTotalMoney());
                dataObject.put("goods", gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion, null)));
                array.add(dataObject);
                commonGoods.setState(state);
            }
            TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods);
            JSONObject dataObject = new JSONObject();
            dataObject.put("todayBrowse",goodsGroup.getTodayBrowse() );
            dataObject.put("totalBrowse",goodsGroup.getTotalBrowse() );
            dataObject.put("totalOrder", goodsGroup.getTotalOrder());
            dataObject.put("totalMoney", "¥"+goodsGroup.getTotalMoney());
            dataObject.put("goods", gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion, null)));
            array.add(dataObject);
        }
        
        String title = "";
@@ -578,21 +558,6 @@
        data.put("title", title);
        data.put("count", list.size());
        data.put("result_list", array);
        if (listUpadteCommonGoods.size() > 0) {
            executor.execute(new Runnable() {
                @Override
                public void run() {
                    try {
                        // 更新简版信息
                        commonGoodsService.updateBatchCommonGoods(listUpadteCommonGoods);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
        return data;
    }
fanli/src/main/java/com/yeshi/fanli/service/inter/user/ExtractService.java
@@ -1,6 +1,5 @@
package com.yeshi.fanli.service.inter.user;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
@@ -93,6 +92,11 @@
    
    public void testExtractSuccess(Long id);
    /**
     * 统计今日提现
     * @param uid
     * @return
     */
    public double countTodayMoney(Long uid);
}
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java
@@ -24,6 +24,7 @@
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import org.yeshi.utils.taobao.TbImgUtil;
import net.sf.json.JSONArray;
@@ -222,6 +223,25 @@
        }
        return null;
    }
    public static List<TaoBaoGoodsBrief> getBatchGoodsInfo(List<Long> listId) throws TaoKeApiException,TaobaoGoodsDownException {
        if (listId == null || listId.size() == 0) {
            throw new TaobaoGoodsDownException(1,"淘宝商品ID不能为空");
        }
        if ( listId.size() > 40) {
            throw new TaobaoGoodsDownException(1,"淘宝商品ID不能超过40个");
        }
        StringBuffer ids = new StringBuffer();
        for (Long id: listId) {
            ids.append(id + ",");
        }
        return getBatchGoodsInfos(ids.substring(0, ids.length() -1));
    }
    /**
     * 获取商品详情,简版