From db88b87df461820152d68d3d55a28f30c2da83e6 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 20 九月 2019 17:54:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandClassShopServiceImpl.java | 533 +++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 387 insertions(+), 146 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandClassShopServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandClassShopServiceImpl.java
index cf022d3..6d991c4 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandClassShopServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandClassShopServiceImpl.java
@@ -3,11 +3,12 @@
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import javax.annotation.Resource;
-import org.apache.commons.beanutils.PropertyUtils;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -18,85 +19,81 @@
import com.yeshi.fanli.entity.brand.BrandClass;
import com.yeshi.fanli.entity.brand.BrandClassShop;
import com.yeshi.fanli.entity.goods.CommonGoods;
+import com.yeshi.fanli.entity.taobao.SearchFilter;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
+import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.entity.taobao.TaoBaoShop;
import com.yeshi.fanli.exception.brand.BrandClassShopException;
import com.yeshi.fanli.service.inter.brand.BrandClassShopService;
import com.yeshi.fanli.service.inter.brand.TaoBaoShopHistoryService;
import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
+import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.vo.brand.TaoBaoShopVO;
+import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import net.sf.json.JSONObject;
@Service
public class BrandClassShopServiceImpl implements BrandClassShopService {
-
+
@Resource
private BrandClassShopMapper brandClassShopMapper;
-
+
@Resource
private CommonGoodsService commonGoodsService;
-
+
@Resource
private TaoBaoShopService taoBaoShopService;
-
+
@Resource
private TaoBaoShopHistoryService taoBaoShopHistoryService;
-
+
@Resource
- private HongBaoManageService manageService;
+ private HongBaoManageService hongBaoManageService;
@Resource
private QualityGoodsService qualityGoodsService;
@Resource
private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
-
+
+ @Resource
+ private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
@Override
- public List<BrandClassShop> listEffective(long start, int count, Long cid) {
- return brandClassShopMapper.listEffective(start, count, cid);
- }
-
-
- @Override
- public long countEffective(Long cid) {
- return brandClassShopMapper.countEffective(cid);
- }
-
- @Override
- public List<BrandClassShop> getExistByShopIds(List<Long> list){
+ public List<BrandClassShop> getExistByShopIds(List<Long> list) {
return brandClassShopMapper.getExistByShopIds(list);
}
-
@Override
@Transactional
- public String saveShopInfo(Long cid, List<Long> list) throws BrandClassShopException{
+ public String saveShopInfo(Long cid, List<Long> list) throws BrandClassShopException {
if (list == null || list.size() == 0) {
throw new BrandClassShopException(1, "璇烽�夋嫨搴楅摵");
}
-
+
if (cid == null) {
throw new BrandClassShopException(1, "璇烽�夋嫨搴楅摵绫诲瀷");
}
-
+
String shopIds = "";
BrandClass brandClass = new BrandClass(cid);
-
- for (Long shopId: list) {
- List<CommonGoods> listGoods= commonGoodsService.listBySellerId(shopId);
-
+
+ for (Long shopId : list) {
+ List<CommonGoods> listGoods = commonGoodsService.listBySellerId(shopId, Constant.SOURCE_TYPE_TAOBAO);
+
TaoBaoShop taoBaoShop = null;
- for (CommonGoods commonGoods: listGoods) {
+ for (CommonGoods commonGoods : listGoods) {
try {
taoBaoShop = TaoBaoUtil.getTaoBaoShopDetailByAuctionId(commonGoods.getGoodsId());
if (taoBaoShop != null && taoBaoShop.getId() != null) {
@@ -106,19 +103,19 @@
e.printStackTrace();
}
}
-
+
if (taoBaoShop == null) {
shopIds = shopIds + "," + shopId;
continue;
}
-
+
TaoBaoShop current = taoBaoShopService.selectByPrimaryKey(shopId);
if (current == null) {
taoBaoShopService.insertSelective(taoBaoShop);
} else {
taoBaoShopService.updateByPrimaryKeySelective(taoBaoShop);
}
-
+
BrandClassShop brandClassShop = brandClassShopMapper.getByShopIdAndCid(cid, shopId);
if (brandClassShop == null) {
brandClassShop = new BrandClassShop();
@@ -134,33 +131,33 @@
}
return shopIds;
}
-
-
+
@Override
@Transactional
- public void changeShopInfo(MultipartFile file, Long id, Long cid, String shopName, Integer state, Integer top) throws BrandClassShopException{
-
+ public void changeShopInfo(MultipartFile file, Long id, Long cid, String shopName, Integer state, Integer top,
+ String key) throws BrandClassShopException {
+
if (id == null) {
throw new BrandClassShopException(1, "鏁版嵁涓虹┖锛氳閫夋嫨搴楅摵");
}
-
+
if (cid == null) {
throw new BrandClassShopException(1, "璇烽�夋嫨搴楅摵绫诲瀷");
}
-
+
BrandClassShop current = brandClassShopMapper.selectByPrimaryKey(id);
if (current == null) {
throw new BrandClassShopException(1, "璇ユ暟鎹凡涓嶅瓨鍦�");
}
-
+
TaoBaoShop shop = current.getShop();
if (shop == null) {
throw new BrandClassShopException(1, "搴楅摵淇℃伅宸蹭笉瀛樺湪");
}
-
+
// 鑷畾涔夊浘鐗�
- taoBaoShopService.changeInfo(file, shop.getId(), shopName);
-
+ taoBaoShopService.changeInfo(file, shop.getId(), shopName, key);
+
BrandClassShop updateshop = new BrandClassShop();
updateshop.setState(state);
updateshop.setTop(top);
@@ -168,7 +165,6 @@
updateshop.setBrandClass(new BrandClass(cid));
brandClassShopMapper.updateByPrimaryKeySelective(updateshop);
}
-
@Override
public List<BrandClassShop> listQuery(long start, int count, String key, Long cid, Integer state) {
@@ -176,15 +172,24 @@
if (listQuery == null || listQuery.size() == 0) {
return listQuery;
}
-
+
for (BrandClassShop brandClassShop : listQuery) {
TaoBaoShop shop = brandClassShop.getShop();
if (shop != null) {
- long couponNum = commonGoodsService.countBySellerIdAndHasCoupon(shop.getId());
+ long couponNum = commonGoodsService.countBySellerIdAndHasCoupon(shop.getId(),
+ Constant.SOURCE_TYPE_TAOBAO);
brandClassShop.setCouponNum(couponNum);
-
- shop.setShopLink(TaoBaoUtil.getShopLink(shop.getId()));
-
+
+ String shopLink = shop.getShopLink();
+ if (StringUtil.isNullOrEmpty(shopLink)) {
+ shop.setShopLink(TaoBaoUtil.getShopLink(shop.getId()));
+ }
+
+ String shopNameCustom = shop.getShopNameCustom();
+ if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
+ shop.setShopName(shopNameCustom);
+ }
+
String shopIconCustom = shop.getShopIconCustom();
if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
shop.setShopIcon(shopIconCustom);
@@ -194,12 +199,10 @@
return listQuery;
}
-
@Override
public long countQuery(String key, Long cid, Integer state) {
return brandClassShopMapper.countQuery(key, cid, state);
}
-
@Override
@Transactional
@@ -207,11 +210,11 @@
if (list == null || list.size() == 0) {
return;
}
- for (Long id: list) {
+ for (Long id : list) {
brandClassShopMapper.deleteByPrimaryKey(id);
}
}
-
+
@Override
public void deleteBatchByClassId(List<Long> list) {
if (list == null || list.size() == 0) {
@@ -219,148 +222,262 @@
}
brandClassShopMapper.deleteBatchByClassId(list);
}
-
-
+
@Override
- public void updateOrder(Long id, Integer moveType) throws BrandClassShopException, Exception{
+ public void updateOrder(Long id, Integer moveType) throws BrandClassShopException, Exception {
if (moveType == null || (!moveType.equals(1) && !moveType.equals(-1))) {
throw new BrandClassShopException(1, "浼犻�掔殑绫诲瀷涓嶆纭�");
}
-
+
if (id == null) {
throw new BrandClassShopException(1, "ID涓嶈兘涓虹┖");
}
-
+
BrandClassShop resultObj = brandClassShopMapper.selectByPrimaryKey(id);
if (resultObj == null) {
throw new BrandClassShopException(1, "鎿嶄綔鏁版嵁宸蹭笉瀛樺湪");
}
-
+
BrandClass brandClass = resultObj.getBrandClass();
if (brandClass == null) {
throw new BrandClassShopException(1, "鍒嗙被鏁版嵁宸蹭笉瀛樺湪");
}
-
+
Integer oldOrder = resultObj.getOrderby();
- BrandClassShop changeObj = brandClassShopMapper.getByAdjoinOrder(brandClass.getId(),oldOrder, moveType);
-
- if (changeObj == null ) {
+ BrandClassShop changeObj = brandClassShopMapper.getByAdjoinOrder(brandClass.getId(), oldOrder, moveType);
+
+ if (changeObj == null) {
throw new BrandClassShopException(1, "宸茬粡鍦ㄦ渶杈圭紭锛屾棤鍙氦鎹㈢殑浣嶇疆");
}
// 浜ゆ崲鎺掑簭搴忓彿
resultObj.setOrderby(changeObj.getOrderby());
changeObj.setOrderby(oldOrder);
-
+
brandClassShopMapper.updateByPrimaryKeySelective(changeObj);
brandClassShopMapper.updateByPrimaryKeySelective(resultObj);
}
-
+
@Override
@Cacheable(value = "brandCache", key = "'listEffectiveCache-'+#page+'-'+#cid")
public JSONObject listEffectiveCache(int page, Long cid) {
- long count = 0;
- int pageSize = Constant.PAGE_SIZE;
- List<BrandClassShop> list = brandClassShopMapper.listEffective((page - 1) * pageSize, pageSize, cid);
- if (list == null) {
- list = new ArrayList<BrandClassShop>();
- } else if (list.size() > 0) {
- count = brandClassShopMapper.countEffective(cid);
+ long countShop = 0;
+
+ if (cid != null && cid <= 0) {
+ cid = null;
}
- JSONObject data = new JSONObject();
- if (page == 1 && cid != null && cid > 0 && count > pageSize) {
- List<TaoBaoShop> listShop = new ArrayList<TaoBaoShop>();
- List<BrandClassShop> listBrand = brandClassShopMapper.listEffective(0, Integer.MAX_VALUE, cid);
- for (BrandClassShop brandClassShop : listBrand) {
- TaoBaoShop shop = brandClassShop.getShop();
- if (shop != null) {
- String shopIconCustom = shop.getShopIconCustom();
- if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
- shop.setShopIcon(shopIconCustom);
- }
- listShop.add(shop);
- }
+ List<TaoBaoShop> listShop = new ArrayList<TaoBaoShop>();
+ // 绗竴椤� 鏌ヨ鍏ㄩ儴鍒嗙被涓嬪簵閾�
+ if (page == 1 && cid != null) {
+ List<BrandClassShop> list = brandClassShopMapper.listEffective(cid);
+ if (list == null) {
+ list = new ArrayList<BrandClassShop>();
+ } else if (list.size() > 0) {
+ countShop = brandClassShopMapper.countEffective(cid);
}
- data.put("listShop", JsonUtil.getApiCommonGson().toJson(listShop));
- } else if (page == 1 && cid != null && cid > 0) {
- List<TaoBaoShop> listShop = new ArrayList<TaoBaoShop>();
+
for (BrandClassShop brandClassShop : list) {
TaoBaoShop shop = brandClassShop.getShop();
if (shop != null) {
+ String shopLink = shop.getShopLink();
+ if (StringUtil.isNullOrEmpty(shopLink)) {
+ shop.setShopLink(TaoBaoUtil.getShopLink(shop.getId()));
+ }
+
+ String shopNameCustom = shop.getShopNameCustom();
+ if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
+ shop.setShopName(shopNameCustom);
+ }
+
String shopIconCustom = shop.getShopIconCustom();
if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
shop.setShopIcon(shopIconCustom);
}
+
listShop.add(shop);
}
}
- data.put("listShop", JsonUtil.getApiCommonGson().toJson(listShop));
}
- List<TaoBaoShopVO> listVO = new ArrayList<TaoBaoShopVO>();
- for (BrandClassShop brandClassShop : list) {
- TaoBaoShop shop = brandClassShop.getShop();
- if (shop == null) {
- continue;
- }
-
- String shopIconCustom = shop.getShopIconCustom();
- if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
- shop.setShopIcon(shopIconCustom);
+ JSONObject data = new JSONObject();
+ data.put("countShop", countShop);
+ data.put("listShop", JsonUtil.getApiCommonGson().toJson(listShop));
+
+ long count = 0;
+ List<TaoBaoShopVO> listInfo = taoBaoShopService.listBrandShopinfo((page - 1) * Constant.PAGE_SIZE,
+ Constant.PAGE_SIZE, cid);
+ if (listInfo == null) {
+ listInfo = new ArrayList<TaoBaoShopVO>();
+ } else if (listInfo.size() > 0) {
+ count = taoBaoShopService.countBrandShopinfo(cid);
+ }
+
+ // 娣樺疂鍟嗗搧淇℃伅杩囨护
+ Map<Long, TaoBaoGoodsBrief> goodsMap = getFilterTaoBaoGoods(listInfo);
+
+ BigDecimal proportion = hongBaoManageService.getFanLiRate();
+ for (TaoBaoShopVO taoBaoShopVO : listInfo) {
+
+ String shopLink = taoBaoShopVO.getShopLink();
+ if (StringUtil.isNullOrEmpty(shopLink)) {
+ taoBaoShopVO.setShopLink(TaoBaoUtil.getShopLink(taoBaoShopVO.getId()));
}
-
- List<Long> listgid = new ArrayList<Long>();
- listgid.add(543572782962L);
- listgid.add(578504974101L);
- listgid.add(530275132249L);
-
- BigDecimal proportion = manageService.getFanLiRate();
+ String shopNameCustom = taoBaoShopVO.getShopNameCustom();
+ if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
+ taoBaoShopVO.setShopName(shopNameCustom);
+ }
+
+ String shopIconCustom = taoBaoShopVO.getShopIconCustom();
+ if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
+ taoBaoShopVO.setShopIcon(shopIconCustom);
+ }
+
List<TaoBaoGoodsBriefExtra> listGoods = new ArrayList<TaoBaoGoodsBriefExtra>();
- List<TaoBaoGoodsBrief> listgd = taoBaoGoodsBriefService.listQueryByAuctionId(listgid);
- for (TaoBaoGoodsBrief taoBaoGoodsBrief : listgd) {
- listGoods.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null));
+ List<TaoBaoGoodsBrief> listGoodsBrief = taoBaoShopVO.getListGoodsBrief();
+ for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) {
+ listGoods.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsMap.get(taoBaoGoodsBrief.getAuctionId()),
+ proportion.toString(), null));
}
-
-
-// List<QualityFactory> listFactory = qualityGoodsService.listByShopId(0, 3, shop.getId());
-// if (listFactory == null || listFactory.size() < 3) {
-// count --;
-// continue;
-// }
-//
-// List<TaoBaoGoodsBriefExtra> listGoods = new ArrayList<TaoBaoGoodsBriefExtra>();
-// BigDecimal proportion = manageService.getFanLiRate();
-// for (QualityFactory selectionGoods : listFactory) {
-// TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
-// if (taoBaoGoodsBrief == null) {
-// break;
-// }
-// listGoods.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null));
-// }
-//
-// if (listGoods == null || listGoods.size() < 3) {
-// count --;
-// continue;
-// }
-//
-
- TaoBaoShopVO vo = new TaoBaoShopVO();
- try {
- PropertyUtils.copyProperties(vo, shop);
- } catch (Exception e) {
- e.printStackTrace();
- }
- vo.setListGoods(listGoods);
- listVO.add(vo);
+ taoBaoShopVO.setListGoods(listGoods);
}
data.put("count", count);
- data.put("list", JsonUtil.getApiCommonGson().toJson(listVO));
-
+ data.put("list", JsonUtil.getApiCommonGson().toJson(listInfo));
+
return data;
}
-
+
+ /**
+ * 鑾峰彇杩囨护鍟嗗搧
+ *
+ * @param listInfo
+ * @return
+ */
+ private Map<Long, TaoBaoGoodsBrief> getFilterTaoBaoGoods(List<TaoBaoShopVO> listInfo) {
+ // 杩囨护鍟嗗搧
+ List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
+ for (TaoBaoShopVO taoBaoShopVO : listInfo) {
+ goodsList.addAll(taoBaoShopVO.getListGoodsBrief());
+ }
+ goodsList = taoBaoGoodsUpdateService.filterImportantTaoBaoGoods(goodsList);
+ Map<Long, TaoBaoGoodsBrief> goodsMap = new HashMap<>();
+ for (TaoBaoGoodsBrief goods : goodsList)
+ goodsMap.put(goods.getAuctionId(), goods);
+ return goodsMap;
+ }
+
+ @Override
+ @Cacheable(value = "brandCache", key = "'listEffectiveCacheV2-'+#page+'-'+#cid")
+ public JSONObject listEffectiveCacheV2(int page, Long cid) {
+ long countShop = 0;
+
+ if (cid != null && cid <= 0) {
+ cid = null;
+ }
+
+ List<TaoBaoShop> listShop = new ArrayList<TaoBaoShop>();
+ // 绗竴椤� 鏌ヨ鍏ㄩ儴鍒嗙被涓嬪簵閾�
+ if (page == 1 && cid != null) {
+ List<BrandClassShop> list = brandClassShopMapper.listEffective(cid);
+ if (list == null) {
+ list = new ArrayList<BrandClassShop>();
+ } else if (list.size() > 0) {
+ countShop = brandClassShopMapper.countEffective(cid);
+ }
+
+ for (BrandClassShop brandClassShop : list) {
+ TaoBaoShop shop = brandClassShop.getShop();
+ if (shop != null) {
+
+ Integer userType = shop.getUserType();
+ if (userType == null || userType == 0) {
+ shop.setUserType(10);
+ } else {
+ shop.setUserType(11);
+ }
+
+ String shopLink = shop.getShopLink();
+ if (StringUtil.isNullOrEmpty(shopLink)) {
+ shop.setShopLink(TaoBaoUtil.getShopLink(shop.getId()));
+ }
+
+ String shopNameCustom = shop.getShopNameCustom();
+ if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
+ shop.setShopName(shopNameCustom);
+ }
+
+ String shopIconCustom = shop.getShopIconCustom();
+ if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
+ shop.setShopIcon(shopIconCustom);
+ }
+
+ listShop.add(shop);
+ }
+ }
+ }
+
+ JSONObject data = new JSONObject();
+ data.put("countShop", countShop);
+ data.put("listShop", JsonUtil.getApiCommonGson().toJson(listShop));
+
+ long count = 0;
+ List<TaoBaoShopVO> listInfo = taoBaoShopService.listBrandShopinfo((page - 1) * Constant.PAGE_SIZE,
+ Constant.PAGE_SIZE, cid);
+ if (listInfo == null) {
+ listInfo = new ArrayList<TaoBaoShopVO>();
+ } else if (listInfo.size() > 0) {
+ count = taoBaoShopService.countBrandShopinfo(cid);
+ }
+
+ BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
+ BigDecimal shareRate = hongBaoManageService.getShareRate();
+
+ // 娣樺疂鍟嗗搧淇℃伅杩囨护
+ Map<Long, TaoBaoGoodsBrief> goodsMap = getFilterTaoBaoGoods(listInfo);
+
+ for (TaoBaoShopVO taoBaoShopVO : listInfo) {
+
+ Integer userType = taoBaoShopVO.getUserType();
+ if (userType == null || userType == 0) {
+ taoBaoShopVO.setUserType(10);
+ } else {
+ taoBaoShopVO.setUserType(11);
+ }
+
+ String shopLink = taoBaoShopVO.getShopLink();
+ if (StringUtil.isNullOrEmpty(shopLink)) {
+ taoBaoShopVO.setShopLink(TaoBaoUtil.getShopLink(taoBaoShopVO.getId()));
+ }
+
+ String shopNameCustom = taoBaoShopVO.getShopNameCustom();
+ if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
+ taoBaoShopVO.setShopName(shopNameCustom);
+ }
+
+ String shopIconCustom = taoBaoShopVO.getShopIconCustom();
+ if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
+ taoBaoShopVO.setShopIcon(shopIconCustom);
+ }
+
+ List<GoodsDetailVO> listGoods = new ArrayList<GoodsDetailVO>();
+ List<TaoBaoGoodsBrief> listGoodsBrief = taoBaoShopVO.getListGoodsBrief();
+
+ // 鍟嗗搧娣诲姞鍒版洿鏂伴槦鍒�
+ taoBaoGoodsUpdateService.addUpdateQueueAsync(listGoodsBrief);
+ for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) {
+ GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory
+ .convertTaoBao(goodsMap.get(taoBaoGoodsBrief.getAuctionId()), null, fanLiRate, shareRate);
+ listGoods.add(goodsDetailVO);
+ }
+ taoBaoShopVO.setListGoodsVO(listGoods);
+ }
+ data.put("count", count);
+ data.put("list", JsonUtil.getApiCommonGson().toJson(listInfo));
+
+ return data;
+ }
+
@Override
public void addClick(Long shopId) {
BrandClassShop brandClassShop = brandClassShopMapper.getByShopId(shopId);
@@ -369,13 +486,137 @@
if (browseNum == null) {
browseNum = 0L;
}
-
+
BrandClassShop classShop = new BrandClassShop();
classShop.setId(brandClassShop.getId());
- classShop.setBrowseNum(browseNum ++);
+ classShop.setBrowseNum(browseNum++);
brandClassShopMapper.updateByPrimaryKeySelective(classShop);
}
}
+
+ @Override
+ public void updateShopGoods() {
+ // 鏌ヨ搴楅摵
+ List<BrandClassShop> shopList = listQuery(0, 1000, "", null, BrandClassShop.STATE_VALID);
+ if (shopList != null)
+ for (BrandClassShop shop : shopList) {
+ SearchFilter sf = new SearchFilter();
+ sf.setKey(shop.getShop().getShopName().replace("瀹樻柟鏃楄埌搴�", "").replace("鏃楄埌搴�", ""));
+ sf.setPage(1);
+ sf.setPageSize(100);
+ TaoBaoSearchResult result = TaoKeApiUtil.searchWuLiao(sf);
+ List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
+ if (result != null && result.getTaoBaoGoodsBriefs() != null)
+ for (TaoBaoGoodsBrief goods : result.getTaoBaoGoodsBriefs()) {
+ if (goods.getSellerId().longValue() == shop.getShop().getId()) {
+ if (taoBaoGoodsBriefService.queryByAuctionId(goods.getAuctionId()).size() == 0) {
+ goods.setCreatetime(new Date());
+ goods.setState(0);
+ goods.setUpdatetime(new Date());
+ goodsList.add(goods);
+ }
+ }
+ }
+
+ if (goodsList.size() > 0)
+ taoBaoGoodsBriefService.insertBatch(goodsList);
+ }
+
+ }
+
+ @Override
+ public List<TaoBaoShopVO> listEffectiveShop(long start, int count, Long cid) {
+ if (cid != null && cid <= 0) {
+ cid = null;
+ }
+
+ List<TaoBaoShopVO> listInfo = taoBaoShopService.listBrandShopinfo(start, count, cid);
+ if (listInfo == null || listInfo.size() == 0)
+ return listInfo;
+
+
+ BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
+ BigDecimal shareRate = hongBaoManageService.getShareRate();
+
+ // 娣樺疂鍟嗗搧淇℃伅杩囨护
+ Map<Long, TaoBaoGoodsBrief> goodsMap = getFilterTaoBaoGoods(listInfo);
+
+ for (TaoBaoShopVO taoBaoShopVO : listInfo) {
+ String shopNameCustom = taoBaoShopVO.getShopNameCustom();
+ if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
+ taoBaoShopVO.setShopName(shopNameCustom);
+ }
+
+ String shopIconCustom = taoBaoShopVO.getShopIconCustom();
+ if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
+ taoBaoShopVO.setShopIcon(shopIconCustom);
+ }
+
+ List<GoodsDetailVO> listGoods = new ArrayList<GoodsDetailVO>();
+ List<TaoBaoGoodsBrief> listGoodsBrief = taoBaoShopVO.getListGoodsBrief();
+ // 鍟嗗搧娣诲姞鍒版洿鏂伴槦鍒�
+ taoBaoGoodsUpdateService.addUpdateQueueAsync(listGoodsBrief);
+ for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) {
+ GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory
+ .convertTaoBao(goodsMap.get(taoBaoGoodsBrief.getAuctionId()), null, fanLiRate, shareRate);
+ listGoods.add(goodsDetailVO);
+ }
+ taoBaoShopVO.setListGoodsVO(listGoods);
+ }
+ return listInfo;
+ }
+
+
+ @Override
+ public long countBrandShopinfo(Long cid) {
+ if (cid != null && cid <= 0) {
+ cid = null;
+ }
+ return taoBaoShopService.countBrandShopinfo(cid);
+ }
+
+
+
+ @Override
+ public List<TaoBaoShop> listEffectiveClassShop(Long cid) {
+ if (cid == null)
+ return null;
+
+ List<BrandClassShop> list = brandClassShopMapper.listEffective(cid);
+ if (list == null || list.size() == 0)
+ return null;
+
+ List<TaoBaoShop> listShop = new ArrayList<TaoBaoShop>();
+ for (BrandClassShop brandClassShop : list) {
+ TaoBaoShop shop = brandClassShop.getShop();
+ if (shop != null) {
+ Integer userType = shop.getUserType();
+ if (userType == null || userType == 0) {
+ shop.setUserType(10);
+ } else {
+ shop.setUserType(11);
+ }
+
+ String shopLink = shop.getShopLink();
+ if (StringUtil.isNullOrEmpty(shopLink)) {
+ shop.setShopLink(TaoBaoUtil.getShopLink(shop.getId()));
+ }
+
+ String shopNameCustom = shop.getShopNameCustom();
+ if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
+ shop.setShopName(shopNameCustom);
+ }
+
+ String shopIconCustom = shop.getShopIconCustom();
+ if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
+ shop.setShopIcon(shopIconCustom);
+ }
+
+ listShop.add(shop);
+ }
+ }
+ return listShop;
+ }
}
--
Gitblit v1.8.0