/** * 将包含授权信息的Shop转换为ShopVo * * @param shop * @return */ private ShopVo convertShopAndAuth2ShopVo(Shop shop) { ShopVo shopVo = null; if (shop == null) { return shopVo; } shopVo = new ShopVo(); shopVo.setId(shop.getId()); shopVo.setShopId(shop.getOutShopId()); shopVo.setCatId(shop.getCatId()); shopVo.setNick(shop.getNick()); shopVo.setTitle(shop.getTitle()); shopVo.setDescription(shop.getDescription()); shopVo.setBulletin(shop.getBulletin()); shopVo.setPicPath(shop.getPicPath()); shopVo.setItemScore(shop.getItemScore()); shopVo.setServiceScore(shop.getServiceScore()); shopVo.setDeliveryScore(shop.getDeliveryScore()); shopVo.setDeExpress(shop.getDeExpress()); shopVo.setEnableMsg(shop.getEnableMsg()); shopVo.setMsgTemp(shop.getMsgTemp()); shopVo.setMsgSign(shop.getMsgSign()); shopVo.setOutPlatformType(shop.getPlatformType().getName()); shopVo.setOutPlatformTypeValue( PlatformType.valueOf(shop.getPlatformType().getName()).getValue()); shopVo.setCreateTime(shop.getCreateTime()); shopVo.setUpdateTime(shop.getUpdateTime()); if (shop.getShopAuth() != null) { shopVo.setSessionKey(shop.getShopAuth().getSessionKey()); shopVo.setRefreshToken(shop.getShopAuth().getRefreshToken()); } return shopVo; }
/** * 动态获取评分 * * @param id * @return */ public ShopVo dynamicGetScore(Integer id) throws Exception { if (logger.isInfoEnabled()) { logger.info("动态获取评分:id = " + id); } // 获取店铺信息与店铺授权信息 ShopVo shopVo = getShopVo(id); if (logger.isInfoEnabled()) { logger.info("从外部平台动态获取评分信息:id = " + id); } // 判断来自哪个平台 if (StringUtils.equals(shopVo.getOutPlatformType(), PlatformType.TAO_BAO.getName()) || StringUtils.equals(shopVo.getOutPlatformType(), PlatformType.TAO_BAO_2.getName())) { // 来自淘宝平台 Map<String, Object> argsMap = new HashMap<String, Object>(); // 设置返回字段(必须) argsMap.put( ConstantTaoBao.FIELDS, "sid,cid,nick,title,desc,bulletin,pic_path,created,modified,shop_score"); // 设置卖家昵称(必须) argsMap.put(ConstantTaoBao.NICK, shopVo.getNick()); if (logger.isInfoEnabled()) { logger.info("查询淘宝店铺信息,参数argsMap = " + argsMap); } // 创建淘宝shopApi TbShopApi shopApi = new TbShopApi(shopVo.getSessionKey()); // 获取淘宝店铺信息 ShopGetResponse response = shopApi.shopGet(argsMap); if (StringUtils.isNotBlank(response.getErrorCode())) { throw new TaoBaoApiException( "调用淘宝 shopApi.getShop(" + argsMap + ")出现异常," + response.getBody()); } com.taobao.api.domain.Shop shop = response.getShop(); // 设置商品描述评分 shopVo.setItemScore(shop.getShopScore().getItemScore()); // 设置服务态度评分 shopVo.setServiceScore(shop.getShopScore().getServiceScore()); // 设置发货速度评分 shopVo.setDeliveryScore(shop.getShopScore().getDeliveryScore()); } else if (StringUtils.equals(shopVo.getOutPlatformType(), PlatformType.JING_DONG.getName())) { // todo:来自京东平台 } // 获取评分信息的同时将评分信息更新到本地 Shop shop = getById(id); if (shop == null) { shop = new Shop(); } shop.setBulletin(shopVo.getBulletin()); shop.setDescription(shopVo.getDescription()); // 设置商品描述评分 shop.setItemScore(shopVo.getItemScore()); // 设置服务态度评分 shop.setServiceScore(shopVo.getServiceScore()); // 设置发货速度评分 shop.setDeliveryScore(shopVo.getDeliveryScore()); if (logger.isInfoEnabled()) { logger.info("店铺:更新评分信息至本地," + shop); } // 将评分信息更新到本地 generalDAO.saveOrUpdate(shop); return shopVo; }