From 62a447d89331aee1feae7724c7616aa1bb2cfe79 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 16 十月 2024 14:28:37 +0800 Subject: [PATCH] 将CMQ替换为rabbitmq --- fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandClassShopServiceImpl.java | 999 ++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 626 insertions(+), 373 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 222d56f..92b4c47 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 @@ -1,373 +1,626 @@ -package com.yeshi.fanli.service.impl.brand; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -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; -import org.springframework.web.multipart.MultipartFile; -import org.yeshi.utils.JsonUtil; - -import com.yeshi.fanli.dao.mybatis.brand.BrandClassShopMapper; -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.TaoBaoGoodsBrief; -import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra; -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.taobao.TaoBaoShopService; -import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.StringUtil; -import com.yeshi.fanli.util.taobao.TaoBaoUtil; -import com.yeshi.fanli.vo.brand.TaoBaoShopVO; - -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; - - @Resource - private QualityGoodsService qualityGoodsService; - - @Resource - private TaoBaoGoodsBriefService taoBaoGoodsBriefService; - - - @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){ - return brandClassShopMapper.getExistByShopIds(list); - } - - - @Override - @Transactional - 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); - - TaoBaoShop taoBaoShop = null; - for (CommonGoods commonGoods: listGoods) { - try { - taoBaoShop = TaoBaoUtil.getTaoBaoShopDetailByAuctionId(commonGoods.getGoodsId()); - if (taoBaoShop != null && taoBaoShop.getId() != null) { - break; - } - } catch (Exception e) { - 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(); - brandClassShop.setOrderby(brandClassShopMapper.getMaxOrder(cid) + 1); - brandClassShop.setState(0); - brandClassShop.setTop(0); - brandClassShop.setBrandClass(brandClass); - brandClassShop.setShop(taoBaoShop); - brandClassShop.setCreateTime(new Date()); - brandClassShop.setUpdateTime(new Date()); - brandClassShopMapper.insertSelective(brandClassShop); - } - } - return shopIds; - } - - - @Override - @Transactional - public void changeShopInfo(MultipartFile file, Long id, Long cid, String shopName, Integer state, Integer top) 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); - - BrandClassShop updateshop = new BrandClassShop(); - updateshop.setState(state); - updateshop.setTop(top); - updateshop.setId(current.getId()); - updateshop.setBrandClass(new BrandClass(cid)); - brandClassShopMapper.updateByPrimaryKeySelective(updateshop); - } - - - @Override - public List<BrandClassShop> listQuery(long start, int count, String key, Long cid, Integer state) { - List<BrandClassShop> listQuery = brandClassShopMapper.listQuery(start, count, key, cid, state); - 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()); - brandClassShop.setCouponNum(couponNum); - - shop.setShopLink(TaoBaoUtil.getShopLink(shop.getId())); - - String shopIconCustom = shop.getShopIconCustom(); - if (!StringUtil.isNullOrEmpty(shopIconCustom)) { - shop.setShopIcon(shopIconCustom); - } - } - } - return listQuery; - } - - - @Override - public long countQuery(String key, Long cid, Integer state) { - return brandClassShopMapper.countQuery(key, cid, state); - } - - - @Override - @Transactional - public void deleteBatchByPrimaryKey(List<Long> list) { - if (list == null || list.size() == 0) { - return; - } - for (Long id: list) { - brandClassShopMapper.deleteByPrimaryKey(id); - } - } - - - @Override - 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 ) { - 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); - } - - 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); - } - } - 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 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); - } - - - List<Long> listgid = new ArrayList<Long>(); - listgid.add(543572782962L); - listgid.add(578504974101L); - listgid.add(530275132249L); - - BigDecimal proportion = manageService.getFanLiRate(); - 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<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); - } - data.put("count", count); - data.put("list", JsonUtil.getApiCommonGson().toJson(listVO)); - - return data; - } - - @Override - public void addClick(Long shopId) { - BrandClassShop brandClassShop = brandClassShopMapper.getByShopId(shopId); - if (brandClassShop != null) { - Long browseNum = brandClassShop.getBrowseNum(); - if (browseNum == null) { - browseNum = 0L; - } - - BrandClassShop classShop = new BrandClassShop(); - classShop.setId(brandClassShop.getId()); - classShop.setBrowseNum(browseNum ++); - brandClassShopMapper.updateByPrimaryKeySelective(classShop); - } - } - - -} +package com.yeshi.fanli.service.impl.brand; + +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 com.yeshi.fanli.entity.SystemEnum; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; +import org.yeshi.utils.JsonUtil; + +import com.yeshi.fanli.dao.mybatis.brand.BrandClassShopMapper; +import com.yeshi.fanli.dto.GoodsMoneyConfigParamsDTO; +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.goods.facade.entity.taobao.TaoBaoGoodsBrief; +import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBriefExtra; +import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult; +import com.yeshi.common.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.lable.QualityGoodsService; +import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService; +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 hongBaoManageService; + + @Resource + private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; + + @Resource + private QualityGoodsService qualityGoodsService; + + @Resource + private TaoBaoGoodsBriefService taoBaoGoodsBriefService; + + @Resource + private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService; + + @Override + public List<BrandClassShop> getExistByShopIds(List<Long> list) { + return brandClassShopMapper.getExistByShopIds(list); + } + + @Override + @Transactional(rollbackFor=Exception.class) + 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, Constant.SOURCE_TYPE_TAOBAO); + + TaoBaoShop taoBaoShop = null; + for (CommonGoods commonGoods : listGoods) { + try { + taoBaoShop = TaoBaoUtil.getTaoBaoShopDetailByAuctionId(commonGoods.getGoodsId()); + if (taoBaoShop != null && taoBaoShop.getId() != null) { + break; + } + } catch (Exception e) { + 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(); + brandClassShop.setOrderby(brandClassShopMapper.getMaxOrder(cid) + 1); + brandClassShop.setState(0); + brandClassShop.setTop(0); + brandClassShop.setBrandClass(brandClass); + brandClassShop.setShop(taoBaoShop); + brandClassShop.setCreateTime(new Date()); + brandClassShop.setUpdateTime(new Date()); + brandClassShopMapper.insertSelective(brandClassShop); + } + } + return shopIds; + } + + @Override + @Transactional(rollbackFor=Exception.class) + 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, key); + + BrandClassShop updateshop = new BrandClassShop(); + updateshop.setState(state); + updateshop.setTop(top); + updateshop.setId(current.getId()); + updateshop.setBrandClass(new BrandClass(cid)); + brandClassShopMapper.updateByPrimaryKeySelective(updateshop); + } + + @Override + public List<BrandClassShop> listQuery(long start, int count, String key, Long cid, Integer state) { + List<BrandClassShop> listQuery = brandClassShopMapper.listQuery(start, count, key, cid, state); + 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(), + Constant.SOURCE_TYPE_TAOBAO); + brandClassShop.setCouponNum(couponNum); + + 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); + } + } + } + return listQuery; + } + + @Override + public long countQuery(String key, Long cid, Integer state) { + return brandClassShopMapper.countQuery(key, cid, state); + } + + @Override + @Transactional + public void deleteBatchByPrimaryKey(List<Long> list) { + if (list == null || list.size() == 0) { + return; + } + for (Long id : list) { + brandClassShopMapper.deleteByPrimaryKey(id); + } + } + + @Override + public void deleteBatchByClassId(List<Long> list) { + if (list == null || list.size() == 0) { + return; + } + brandClassShopMapper.deleteBatchByClassId(list); + } + + @Override + 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) { + 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+'-'+#system") + public JSONObject listEffectiveCache(int page, Long cid,SystemEnum system) { + 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,system); + 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) { + 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); + } + + // 娣樺疂鍟嗗搧淇℃伅杩囨护 + Map<String, TaoBaoGoodsBrief> goodsMap = getFilterTaoBaoGoods(listInfo); + + BigDecimal proportion = hongBaoManageService.getFanLiRate(system); + for (TaoBaoShopVO taoBaoShopVO : listInfo) { + + 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<TaoBaoGoodsBriefExtra> listGoods = new ArrayList<TaoBaoGoodsBriefExtra>(); + List<TaoBaoGoodsBrief> listGoodsBrief = taoBaoShopVO.getListGoodsBrief(); + for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) { + listGoods.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsMap.get(taoBaoGoodsBrief.getAuctionId()), + proportion.toString(), null)); + } + taoBaoShopVO.setListGoods(listGoods); + } + data.put("count", count); + data.put("list", JsonUtil.getApiCommonGson().toJson(listInfo)); + + return data; + } + + /** + * 鑾峰彇杩囨护鍟嗗搧 + * + * @param listInfo + * @return + */ + private Map<String, TaoBaoGoodsBrief> getFilterTaoBaoGoods(List<TaoBaoShopVO> listInfo) { + // 杩囨护鍟嗗搧 + List<TaoBaoGoodsBrief> goodsList = new ArrayList<>(); + for (TaoBaoShopVO taoBaoShopVO : listInfo) { + goodsList.addAll(taoBaoShopVO.getListGoodsBrief()); + } + goodsList = taoBaoGoodsUpdateService.filterImportantTaoBaoGoods(goodsList); + Map<String, TaoBaoGoodsBrief> goodsMap = new HashMap<>(); + for (TaoBaoGoodsBrief goods : goodsList) + goodsMap.put(goods.getAuctionId(), goods); + return goodsMap; + } + + @Override + @Cacheable(value = "brandCache", key = "'listEffectiveCacheV2-'+#page+'-'+#cid+'-'+#platform+'-'+#version+'-'+#system") + public JSONObject listEffectiveCacheV2(int page, Long cid,String platform,String version,SystemEnum system) { + long countShop = 0; + + if (cid != null && cid <= 0) { + cid = null; + } + + List<TaoBaoShop> listShop = new ArrayList<>(); + // 绗竴椤� 鏌ヨ鍏ㄩ儴鍒嗙被涓嬪簵閾� + if (page == 1 && cid != null) { + List<BrandClassShop> list = brandClassShopMapper.listEffective(cid,system); + 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); + } + + GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(platform, version,system); + + // 娣樺疂鍟嗗搧淇℃伅杩囨护 + Map<String, 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()),paramsDTO); + 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); + if (brandClassShop != null) { + Long browseNum = brandClassShop.getBrowseNum(); + if (browseNum == null) { + browseNum = 0L; + } + + BrandClassShop classShop = new BrandClassShop(); + classShop.setId(brandClassShop.getId()); + 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.searchWuLiaoNew(sf,null,null); + 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,String platform,String version,SystemEnum system) { + if (cid != null && cid <= 0) { + cid = null; + } + + List<TaoBaoShopVO> listInfo = taoBaoShopService.listBrandShopinfo(start, count, cid); + if (listInfo == null || listInfo.size() == 0) + return listInfo; + + + GoodsMoneyConfigParamsDTO paramsDTO = + orderHongBaoMoneyComputeService.getShowComputeRate(platform, version,system); + // 娣樺疂鍟嗗搧淇℃伅杩囨护 + Map<String, 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()), paramsDTO); + 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, SystemEnum system) { + if (cid == null) + return null; + + List<BrandClassShop> list = brandClassShopMapper.listEffective(cid,system); + 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