admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/BrandController.java
@@ -1,376 +1,373 @@
package com.yeshi.fanli.controller.client.v1;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.JsonUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.brand.BrandClass;
import com.yeshi.fanli.entity.brand.TaoBaoShopHistory;
import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoShop;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.service.inter.brand.BrandClassService;
import com.yeshi.fanli.service.inter.brand.BrandClassShopService;
import com.yeshi.fanli.service.inter.brand.BrandInfoRecordService;
import com.yeshi.fanli.service.inter.brand.TaoBaoShopHistoryService;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("api/v1/brand")
public class BrandController {
   @Resource
   private BrandClassService brandClassService;
   @Resource
   private BrandClassShopService brandClassShopService;
   @Resource
   private TaoBaoShopService taoBaoShopService;
   @Resource
   private TaoBaoShopHistoryService taoBaoShopHistoryService;
   @Resource
   private HongBaoManageService manageService;
   @Resource
   private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
   @Resource
   private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
   @Resource
   private BrandInfoRecordService brandInfoRecordService;
   @Resource
   private ConfigService configService;
   /**
    * 获取品牌分类
    *
    * @param acceptData
    * @param out
    */
   @RequestMapping(value = "getClass", method = RequestMethod.POST)
   public void getClass(AcceptData acceptData, PrintWriter out) {
      try {
         List<BrandClass> list = brandClassService.listBrandClassEffectiveCache();
         if (list == null) {
            list = new ArrayList<BrandClass>();
         }
         JSONObject data = new JSONObject();
         data.put("bgPicture", configService.getValue(ConfigKeyEnum.brandBackgroundPicture.getKey(),acceptData.getSystem()));
         data.put("count", list.size());
         data.put("list", JsonUtil.getApiCommonGson().toJson(list));
         out.print(JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         out.print(JsonUtil.loadFalseResult("查询失败"));
         e.printStackTrace();
      }
   }
   /**
    * 添加足迹
    *
    * @param acceptData
    * @param out
    */
   @RequestMapping(value = "deleteHistory", method = RequestMethod.POST)
   public void deleteHistory(AcceptData acceptData, String ids, Long uid, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(ids)) {
            out.print(JsonUtil.loadFalseResult("未选择数据"));
            return;
         }
         // 新版删除
         if ("ios".equalsIgnoreCase(acceptData.getPlatform())) {
            if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) {
               brandInfoRecordService.deleteRecord(Arrays.asList(ids.split(",")), uid, acceptData.getDevice());
               out.print(JsonUtil.loadTrueResult("删除成功"));
               return;
            }
         } else {
            if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
               brandInfoRecordService.deleteRecord(Arrays.asList(ids.split(",")), uid, acceptData.getDevice());
               out.print(JsonUtil.loadTrueResult("删除成功"));
               return;
            }
         }
         taoBaoShopHistoryService.deleteHistory(Arrays.asList(ids.split(",")), uid, acceptData.getDevice());
         out.print(JsonUtil.loadTrueResult("删除成功"));
      } catch (Exception e) {
         out.print(JsonUtil.loadFalseResult("删除失败"));
         e.printStackTrace();
      }
   }
   /**
    * 店铺足迹
    *
    * @param acceptData
    * @param type
    *            精选1, 足迹列表2
    * @param out
    */
   @RequestMapping(value = "getHistory", method = RequestMethod.POST)
   public void getHistory(AcceptData acceptData, Integer page, Long uid, Integer type, PrintWriter out) {
      try {
         if (type == null) {
            out.print(JsonUtil.loadFalseResult("类型不正确"));
            return;
         }
         if (page == null || page < 1) {
            page = 1;
         }
         int pageSize;
         if (type == 1) {
            pageSize = 4;
         } else {
            pageSize = Constant.PAGE_SIZE;
         }
         long count = 0;
         List<TaoBaoShopHistory> listHistory = null;
         if (uid == null || uid == 0) {
            String device = acceptData.getDevice();
            count = taoBaoShopHistoryService.countByDevice(device);
            if (count > 0) {
               listHistory = taoBaoShopHistoryService.listByDevice((page - 1) * pageSize, pageSize, device);
            }
         } else {
            count = taoBaoShopHistoryService.countByUid(uid);
            if (count > 0) {
               listHistory = taoBaoShopHistoryService.listByUid((page - 1) * pageSize, pageSize, uid);
            }
         }
         List<TaoBaoShop> list = new ArrayList<TaoBaoShop>();
         if (listHistory != null && listHistory.size() > 0) {
            for (TaoBaoShopHistory history : listHistory) {
               TaoBaoShop taoBaoShop = history.getTaoBaoShop();
               if (taoBaoShop != null) {
                  String shopLink = taoBaoShop.getShopLink();
                  if (StringUtil.isNullOrEmpty(shopLink)) {
                     taoBaoShop.setShopLink(TaoBaoUtil.getShopLink(taoBaoShop.getId()));
                  }
                  String shopNameCustom = taoBaoShop.getShopNameCustom();
                  if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
                     taoBaoShop.setShopName(shopNameCustom);
                  }
                  String shopIconCustom = taoBaoShop.getShopIconCustom();
                  if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
                     taoBaoShop.setShopIcon(shopIconCustom);
                  }
                  list.add(taoBaoShop);
               }
            }
         }
         JSONObject data = new JSONObject();
         data.put("count", count);
         data.put("list", JsonUtil.getApiCommonGson().toJson(list));
         out.print(JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         e.printStackTrace();
         out.print(JsonUtil.loadFalseResult("查询失败"));
      }
   }
   /**
    * 店铺列表
    *
    * @param acceptData
    * @param out
    */
   @RequestMapping(value = "getShopList", method = RequestMethod.POST)
   public void getShopList(AcceptData acceptData, Integer page, Long cid, PrintWriter out) {
      try {
         if (page == null || page < 1) {
            page = 1;
         }
         JSONObject data = brandClassShopService.listEffectiveCache(page, cid);
         out.print(JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         e.printStackTrace();
         out.print(JsonUtil.loadFalseResult("查询失败"));
      }
   }
   /**
    * 店铺详情页
    *
    * @param acceptData
    * @param out
    */
   @RequestMapping(value = "getShopInfo", method = RequestMethod.POST)
   public void getShopInfo(AcceptData acceptData, Integer page, Long sid, Long uid, PrintWriter out) {
      try {
         if (sid == null) {
            out.print(JsonUtil.loadFalseResult("缺失店铺id"));
            return;
         }
         JSONObject data = new JSONObject();
         if (page == 1) {
            TaoBaoShop taoBaoShop = taoBaoShopService.selectByPrimaryKey(sid);
            if (taoBaoShop == null) {
               out.print(JsonUtil.loadFalseResult("店铺信息获取失败"));
               return;
            }
            String shopLink = taoBaoShop.getShopLink();
            if (StringUtil.isNullOrEmpty(shopLink)) {
               taoBaoShop.setShopLink(TaoBaoUtil.getShopLink(taoBaoShop.getId()));
            }
            String shopNameCustom = taoBaoShop.getShopNameCustom();
            if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
               taoBaoShop.setShopName(shopNameCustom);
            }
            String shopIconCustom = taoBaoShop.getShopIconCustom();
            if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
               taoBaoShop.setShopIcon(shopIconCustom);
            }
            data.put("shop", JsonUtil.getApiCommonGson().toJson(taoBaoShop));
            ThreadUtil.run(new Runnable() {
               public void run() {
                  // 添加足迹
                  taoBaoShopHistoryService.addHistory(sid, uid, acceptData.getDevice());
               }
            });
         }
         // 商品列表信息
         int pageSize = 50;
         List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>();
         // 先查询大淘客数据
         List<DaTaoKeDetailV2> listDaTaoKe = daTaoKeGoodsDetailV2Service.listBySellerId(0, pageSize, sid);
         if (listDaTaoKe != null && listDaTaoKe.size() > 0) {
            for (DaTaoKeDetailV2 daTaoKe : listDaTaoKe) {
               listGoodsBrief.add(TaoBaoUtil.convert(daTaoKe));
            }
         }
         // 不足50条数据、查询精选库
         if (listGoodsBrief.size() < pageSize) {
            int needCount = pageSize - listGoodsBrief.size();
            List<TaoBaoGoodsBrief> listGoods = taoBaoGoodsBriefService.listByShopId(0, needCount, sid);
            if (listGoods != null && listGoods.size() > 0) {
               if (listGoodsBrief.size() > 0) {
                  for (int i = 0; i < listGoods.size(); i++) {
                     long id = listGoods.get(i).getAuctionId();
                     boolean isRepeat = false;
                     for (TaoBaoGoodsBrief goodsBrief : listGoodsBrief) {
                        long auctionId = goodsBrief.getAuctionId();
                        if (auctionId == id) {
                           isRepeat = true;
                           break;
                        }
                     }
                     if (isRepeat) {
                        listGoods.remove(i);
                        i--;
                     }
                  }
               }
               listGoodsBrief.addAll(listGoods);
            }
         }
         JSONArray array = new JSONArray();
         if (listGoodsBrief.size() > 0) {
            List<Long> listGid = new ArrayList<Long>();
            for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) {
               listGid.add(taoBaoGoodsBrief.getAuctionId());
            }
            // 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();
            }
            Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
                  .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
            BigDecimal proportion = manageService.getFanLiRate(UserLevelEnum.daRen);
            for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) {
               if (listTaoKeGoods != null && listTaoKeGoods.size() > 0) {
                  boolean stateSale = false; // 默认停售
                  Long goodsId = taoBaoGoodsBrief.getAuctionId();
                  for (TaoBaoGoodsBrief taoKeGoods : listTaoKeGoods) {
                     Long auctionId = taoKeGoods.getAuctionId();
                     if (goodsId == auctionId || goodsId.equals(auctionId)) {
                        stateSale = true; // 在售
                        break;
                     }
                  }
                  if (!stateSale) {
                     continue;
                  }
               }
               array.add(gson.toJson(
                     TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
            }
         }
         data.put("count", array.size());
         data.put("list", array);
         out.print(JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         e.printStackTrace();
         out.print(JsonUtil.loadFalseResult("查询失败"));
      }
   }
}
package com.yeshi.fanli.controller.client.v1;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.brand.BrandClass;
import com.yeshi.fanli.entity.brand.TaoBaoShopHistory;
import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.common.entity.taobao.TaoBaoShop;
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.service.inter.brand.BrandClassService;
import com.yeshi.fanli.service.inter.brand.BrandClassShopService;
import com.yeshi.fanli.service.inter.brand.BrandInfoRecordService;
import com.yeshi.fanli.service.inter.brand.TaoBaoShopHistoryService;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.goods.facade.entity.taobao.dataoke.DaTaoKeDetailV2;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.JsonUtil;
import javax.annotation.Resource;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@Controller
@RequestMapping("api/v1/brand")
public class BrandController {
   @Resource
   private BrandClassService brandClassService;
   @Resource
   private BrandClassShopService brandClassShopService;
   @Resource
   private TaoBaoShopService taoBaoShopService;
   @Resource
   private TaoBaoShopHistoryService taoBaoShopHistoryService;
   @Resource
   private HongBaoManageService manageService;
   @Resource
   private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
   @Resource
   private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
   @Resource
   private BrandInfoRecordService brandInfoRecordService;
   @Resource
   private ConfigService configService;
   /**
    * 获取品牌分类
    *
    * @param acceptData
    * @param out
    */
   @RequestMapping(value = "getClass", method = RequestMethod.POST)
   public void getClass(AcceptData acceptData, PrintWriter out) {
      try {
         List<BrandClass> list = brandClassService.listBrandClassEffectiveCache(acceptData.getSystem());
         if (list == null) {
            list = new ArrayList<BrandClass>();
         }
         JSONObject data = new JSONObject();
         data.put("bgPicture", configService.getValue(ConfigKeyEnum.brandBackgroundPicture.getKey(),acceptData.getSystem()));
         data.put("count", list.size());
         data.put("list", JsonUtil.getApiCommonGson().toJson(list));
         out.print(JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         out.print(JsonUtil.loadFalseResult("查询失败"));
         e.printStackTrace();
      }
   }
   /**
    * 添加足迹
    *
    * @param acceptData
    * @param out
    */
   @RequestMapping(value = "deleteHistory", method = RequestMethod.POST)
   public void deleteHistory(AcceptData acceptData, String ids, Long uid, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(ids)) {
            out.print(JsonUtil.loadFalseResult("未选择数据"));
            return;
         }
         // 新版删除
         if ("ios".equalsIgnoreCase(acceptData.getPlatform())) {
            if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) {
               brandInfoRecordService.deleteRecord(Arrays.asList(ids.split(",")), uid, acceptData.getDevice());
               out.print(JsonUtil.loadTrueResult("删除成功"));
               return;
            }
         } else {
            if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
               brandInfoRecordService.deleteRecord(Arrays.asList(ids.split(",")), uid, acceptData.getDevice());
               out.print(JsonUtil.loadTrueResult("删除成功"));
               return;
            }
         }
         taoBaoShopHistoryService.deleteHistory(Arrays.asList(ids.split(",")), uid, acceptData.getDevice());
         out.print(JsonUtil.loadTrueResult("删除成功"));
      } catch (Exception e) {
         out.print(JsonUtil.loadFalseResult("删除失败"));
         e.printStackTrace();
      }
   }
   /**
    * 店铺足迹
    *
    * @param acceptData
    * @param type
    *            精选1, 足迹列表2
    * @param out
    */
   @RequestMapping(value = "getHistory", method = RequestMethod.POST)
   public void getHistory(AcceptData acceptData, Integer page, Long uid, Integer type, PrintWriter out) {
      try {
         if (type == null) {
            out.print(JsonUtil.loadFalseResult("类型不正确"));
            return;
         }
         if (page == null || page < 1) {
            page = 1;
         }
         int pageSize;
         if (type == 1) {
            pageSize = 4;
         } else {
            pageSize = Constant.PAGE_SIZE;
         }
         long count = 0;
         List<TaoBaoShopHistory> listHistory = null;
         if (uid == null || uid == 0) {
            String device = acceptData.getDevice();
            count = taoBaoShopHistoryService.countByDevice(device);
            if (count > 0) {
               listHistory = taoBaoShopHistoryService.listByDevice((page - 1) * pageSize, pageSize, device);
            }
         } else {
            count = taoBaoShopHistoryService.countByUid(uid);
            if (count > 0) {
               listHistory = taoBaoShopHistoryService.listByUid((page - 1) * pageSize, pageSize, uid);
            }
         }
         List<TaoBaoShop> list = new ArrayList<TaoBaoShop>();
         if (listHistory != null && listHistory.size() > 0) {
            for (TaoBaoShopHistory history : listHistory) {
               TaoBaoShop taoBaoShop = history.getTaoBaoShop();
               if (taoBaoShop != null) {
                  String shopLink = taoBaoShop.getShopLink();
                  if (StringUtil.isNullOrEmpty(shopLink)) {
                     taoBaoShop.setShopLink(TaoBaoUtil.getShopLink(taoBaoShop.getId()));
                  }
                  String shopNameCustom = taoBaoShop.getShopNameCustom();
                  if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
                     taoBaoShop.setShopName(shopNameCustom);
                  }
                  String shopIconCustom = taoBaoShop.getShopIconCustom();
                  if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
                     taoBaoShop.setShopIcon(shopIconCustom);
                  }
                  list.add(taoBaoShop);
               }
            }
         }
         JSONObject data = new JSONObject();
         data.put("count", count);
         data.put("list", JsonUtil.getApiCommonGson().toJson(list));
         out.print(JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         e.printStackTrace();
         out.print(JsonUtil.loadFalseResult("查询失败"));
      }
   }
   /**
    * 店铺列表
    *
    * @param acceptData
    * @param out
    */
   @RequestMapping(value = "getShopList", method = RequestMethod.POST)
   public void getShopList(AcceptData acceptData, Integer page, Long cid, PrintWriter out) {
      try {
         if (page == null || page < 1) {
            page = 1;
         }
         JSONObject data = brandClassShopService.listEffectiveCache(page, cid,acceptData.getSystem());
         out.print(JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         e.printStackTrace();
         out.print(JsonUtil.loadFalseResult("查询失败"));
      }
   }
   /**
    * 店铺详情页
    *
    * @param acceptData
    * @param out
    */
   @RequestMapping(value = "getShopInfo", method = RequestMethod.POST)
   public void getShopInfo(AcceptData acceptData, Integer page, Long sid, Long uid, PrintWriter out) {
      try {
         if (sid == null) {
            out.print(JsonUtil.loadFalseResult("缺失店铺id"));
            return;
         }
         JSONObject data = new JSONObject();
         if (page == 1) {
            TaoBaoShop taoBaoShop = taoBaoShopService.selectByPrimaryKey(sid);
            if (taoBaoShop == null) {
               out.print(JsonUtil.loadFalseResult("店铺信息获取失败"));
               return;
            }
            String shopLink = taoBaoShop.getShopLink();
            if (StringUtil.isNullOrEmpty(shopLink)) {
               taoBaoShop.setShopLink(TaoBaoUtil.getShopLink(taoBaoShop.getId()));
            }
            String shopNameCustom = taoBaoShop.getShopNameCustom();
            if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
               taoBaoShop.setShopName(shopNameCustom);
            }
            String shopIconCustom = taoBaoShop.getShopIconCustom();
            if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
               taoBaoShop.setShopIcon(shopIconCustom);
            }
            data.put("shop", JsonUtil.getApiCommonGson().toJson(taoBaoShop));
            ThreadUtil.run(new Runnable() {
               public void run() {
                  // 添加足迹
                  taoBaoShopHistoryService.addHistory(sid, uid, acceptData.getDevice());
               }
            });
         }
         // 商品列表信息
         int pageSize = 50;
         List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>();
         // 先查询大淘客数据
         List<DaTaoKeDetailV2> listDaTaoKe = daTaoKeGoodsDetailV2Service.listBySellerId(0, pageSize, sid);
         if (listDaTaoKe != null && listDaTaoKe.size() > 0) {
            for (DaTaoKeDetailV2 daTaoKe : listDaTaoKe) {
               listGoodsBrief.add(TaoBaoUtil.convert(daTaoKe));
            }
         }
         // 不足50条数据、查询精选库
         if (listGoodsBrief.size() < pageSize) {
            int needCount = pageSize - listGoodsBrief.size();
            List<TaoBaoGoodsBrief> listGoods = taoBaoGoodsBriefService.listByShopId(0, needCount, sid);
            if (listGoods != null && listGoods.size() > 0) {
               if (listGoodsBrief.size() > 0) {
                  for (int i = 0; i < listGoods.size(); i++) {
                     String id = listGoods.get(i).getAuctionId();
                     boolean isRepeat = false;
                     for (TaoBaoGoodsBrief goodsBrief : listGoodsBrief) {
                        String auctionId = goodsBrief.getAuctionId();
                        if (auctionId.equalsIgnoreCase( id)) {
                           isRepeat = true;
                           break;
                        }
                     }
                     if (isRepeat) {
                        listGoods.remove(i);
                        i--;
                     }
                  }
               }
               listGoodsBrief.addAll(listGoods);
            }
         }
         JSONArray array = new JSONArray();
         if (listGoodsBrief.size() > 0) {
            List<String> listGid = new ArrayList<>();
            for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) {
               listGid.add(taoBaoGoodsBrief.getAuctionId());
            }
            // 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();
            }
            Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
                  .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
            BigDecimal proportion = manageService.getFanLiRate(UserLevelEnum.daRen,acceptData.getSystem());
            for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) {
               if (listTaoKeGoods != null && listTaoKeGoods.size() > 0) {
                  boolean stateSale = false; // 默认停售
                  String goodsId = taoBaoGoodsBrief.getAuctionId();
                  for (TaoBaoGoodsBrief taoKeGoods : listTaoKeGoods) {
                     String auctionId = taoKeGoods.getAuctionId();
                     if (goodsId == auctionId || goodsId.equals(auctionId)) {
                        stateSale = true; // 在售
                        break;
                     }
                  }
                  if (!stateSale) {
                     continue;
                  }
               }
               array.add(gson.toJson(
                     TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
            }
         }
         data.put("count", array.size());
         data.put("list", array);
         out.print(JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         e.printStackTrace();
         out.print(JsonUtil.loadFalseResult("查询失败"));
      }
   }
}