| | |
| | | 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.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;
|
| | |
| | | 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;
|
| | |
|
| | |
| | | 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> 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, "请选择店铺");
|
| | |
| | | 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) {
|
| | |
| | | }
|
| | |
|
| | | @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, "数据为空:请选择店铺");
|
| | |
| | | }
|
| | |
|
| | | // 自定义图片
|
| | | taoBaoShopService.changeInfo(file, shop.getId(), shopName);
|
| | | taoBaoShopService.changeInfo(file, shop.getId(), shopName, key);
|
| | |
|
| | | BrandClassShop updateshop = new BrandClassShop();
|
| | | updateshop.setState(state);
|
| | |
| | | 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();
|
| | |
| | | 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();
|
| | |
| | | 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));
|
| | |
| | |
|
| | | }
|
| | |
|
| | | |
| | | @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;
|
| | | }
|
| | | |
| | | }
|