From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 18 一月 2020 12:06:27 +0800 Subject: [PATCH] 用户注册信息 --- fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandClassShopServiceImpl.java | 259 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 248 insertions(+), 11 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 597b7df..0cce77d 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,7 +3,9 @@ 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; @@ -14,6 +16,7 @@ import org.yeshi.utils.JsonUtil; import com.yeshi.fanli.dao.mybatis.brand.BrandClassShopMapper; +import com.yeshi.fanli.dto.ConfigParamsDTO; import com.yeshi.fanli.entity.brand.BrandClass; import com.yeshi.fanli.entity.brand.BrandClassShop; import com.yeshi.fanli.entity.goods.CommonGoods; @@ -27,14 +30,17 @@ 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; @@ -54,7 +60,7 @@ private TaoBaoShopHistoryService taoBaoShopHistoryService; @Resource - private HongBaoManageService manageService; + private HongBaoManageService hongBaoManageService; @Resource private QualityGoodsService qualityGoodsService; @@ -62,13 +68,16 @@ @Resource private TaoBaoGoodsBriefService taoBaoGoodsBriefService; + @Resource + private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService; + @Override public List<BrandClassShop> getExistByShopIds(List<Long> list) { return brandClassShopMapper.getExistByShopIds(list); } @Override - @Transactional + @Transactional(rollbackFor=Exception.class) public String saveShopInfo(Long cid, List<Long> list) throws BrandClassShopException { if (list == null || list.size() == 0) { throw new BrandClassShopException(1, "璇烽�夋嫨搴楅摵"); @@ -82,7 +91,7 @@ BrandClass brandClass = new BrandClass(cid); for (Long shopId : list) { - List<CommonGoods> listGoods = commonGoodsService.listBySellerId(shopId); + List<CommonGoods> listGoods = commonGoodsService.listBySellerId(shopId, Constant.SOURCE_TYPE_TAOBAO); TaoBaoShop taoBaoShop = null; for (CommonGoods commonGoods : listGoods) { @@ -125,9 +134,9 @@ } @Override - @Transactional - public void changeShopInfo(MultipartFile file, Long id, Long cid, String shopName, Integer state, Integer top) - throws BrandClassShopException { + @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, "鏁版嵁涓虹┖锛氳閫夋嫨搴楅摵"); @@ -148,7 +157,7 @@ } // 鑷畾涔夊浘鐗� - taoBaoShopService.changeInfo(file, shop.getId(), shopName); + taoBaoShopService.changeInfo(file, shop.getId(), shopName, key); BrandClassShop updateshop = new BrandClassShop(); updateshop.setState(state); @@ -168,7 +177,8 @@ 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); String shopLink = shop.getShopLink(); @@ -304,7 +314,10 @@ count = taoBaoShopService.countBrandShopinfo(cid); } - BigDecimal proportion = manageService.getFanLiRate(); + // 娣樺疂鍟嗗搧淇℃伅杩囨护 + Map<Long, TaoBaoGoodsBrief> goodsMap = getFilterTaoBaoGoods(listInfo); + + BigDecimal proportion = hongBaoManageService.getFanLiRate(); for (TaoBaoShopVO taoBaoShopVO : listInfo) { String shopLink = taoBaoShopVO.getShopLink(); @@ -325,9 +338,139 @@ List<TaoBaoGoodsBriefExtra> listGoods = new ArrayList<TaoBaoGoodsBriefExtra>(); List<TaoBaoGoodsBrief> listGoodsBrief = taoBaoShopVO.getListGoodsBrief(); for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) { - listGoods.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)); + 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<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+'-'+#platform+'-'+#version") + public JSONObject listEffectiveCacheV2(int page, Long cid,String platform,String version) { + 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); + } + + ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(platform, version); + + // 娣樺疂鍟嗗搧淇℃伅杩囨护 + 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()),paramsDTO); + listGoods.add(goodsDetailVO); + } + taoBaoShopVO.setListGoodsVO(listGoods); } data.put("count", count); data.put("list", JsonUtil.getApiCommonGson().toJson(listInfo)); @@ -381,4 +524,98 @@ } + + @Override + public List<TaoBaoShopVO> listEffectiveShop(long start, int count, Long cid,String platform,String version) { + if (cid != null && cid <= 0) { + cid = null; + } + + List<TaoBaoShopVO> listInfo = taoBaoShopService.listBrandShopinfo(start, count, cid); + if (listInfo == null || listInfo.size() == 0) + return listInfo; + + + ConfigParamsDTO paramsDTO = + hongBaoManageService.getShowComputeRate(platform, version); + // 娣樺疂鍟嗗搧淇℃伅杩囨护 + 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()), 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) { + 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