| | |
| | | import org.yeshi.utils.taobao.TbImgUtil; |
| | | |
| | | import com.yeshi.fanli.dao.dynamic.DynamicInfoDao; |
| | | import com.yeshi.fanli.dto.ConfigParamsDTO; |
| | | import com.yeshi.fanli.dto.GoodsMoneyConfigParamsDTO; |
| | | import com.yeshi.goods.facade.dto.taobao.TaoBaoShopDTO; |
| | | import com.yeshi.fanli.entity.bus.activity.ActivityRuleUser; |
| | | import com.yeshi.fanli.entity.bus.activity.ActivityUser; |
| | |
| | | @Service |
| | | public class DynamicInfoServiceImpl implements DynamicInfoService { |
| | | |
| | | @Resource(name = "taskExecutor") |
| | | private TaskExecutor executor; |
| | | @Resource(name = "taskExecutor") |
| | | private TaskExecutor executor; |
| | | |
| | | @Resource |
| | | private DynamicInfoDao dynamicInfoDao; |
| | | @Resource |
| | | private DynamicInfoDao dynamicInfoDao; |
| | | |
| | | @Resource |
| | | private RedisManager redisManager; |
| | | @Resource |
| | | private RedisManager redisManager; |
| | | |
| | | @Resource |
| | | private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; |
| | | @Resource |
| | | private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; |
| | | |
| | | @Resource |
| | | private JumpDetailV2Service jumpDetailV2Service; |
| | | @Resource |
| | | private JumpDetailV2Service jumpDetailV2Service; |
| | | |
| | | @Resource |
| | | private ActivityUserService activityUserService; |
| | | @Resource |
| | | private ActivityUserService activityUserService; |
| | | |
| | | @Resource |
| | | private TaoBaoGoodsBriefService taoBaoGoodsBriefService; |
| | | @Resource |
| | | private TaoBaoGoodsBriefService taoBaoGoodsBriefService; |
| | | |
| | | @Resource |
| | | private HongBaoManageService hongBaoManageService; |
| | | @Resource |
| | | private HongBaoManageService hongBaoManageService; |
| | | |
| | | @Resource |
| | | private TaoBaoShopService taoBaoShopService; |
| | | @Resource |
| | | private TaoBaoShopService taoBaoShopService; |
| | | |
| | | @Resource |
| | | private InviteMaterialService inviteMaterialService; |
| | | @Resource |
| | | private InviteMaterialService inviteMaterialService; |
| | | |
| | | @Resource |
| | | private QrCodeService qrCodeService; |
| | | @Resource |
| | | private QrCodeService qrCodeService; |
| | | |
| | | @Resource |
| | | private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService; |
| | | @Resource |
| | | private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService; |
| | | |
| | | @Override |
| | | public void insert(DynamicInfo record) { |
| | | dynamicInfoDao.insert(record); |
| | | } |
| | | @Override |
| | | public void insert(DynamicInfo record) { |
| | | dynamicInfoDao.insert(record); |
| | | } |
| | | |
| | | @Override |
| | | public DynamicInfo getById(String id) { |
| | | return dynamicInfoDao.getById(id); |
| | | } |
| | | @Override |
| | | public DynamicInfo getById(String id) { |
| | | return dynamicInfoDao.getById(id); |
| | | } |
| | | |
| | | @Override |
| | | public void insertTimeInvite() { |
| | | InviteMaterial inviteMaterial = inviteMaterialService.getInviteMaterial(); |
| | | if (inviteMaterial == null) { |
| | | return; |
| | | } |
| | | @Override |
| | | public void insertTimeInvite() { |
| | | InviteMaterial inviteMaterial = inviteMaterialService.getInviteMaterial(); |
| | | if (inviteMaterial == null) { |
| | | return; |
| | | } |
| | | |
| | | Date date = new Date(); |
| | | String materialId = inviteMaterial.getId(); |
| | | String content = inviteMaterial.getText(); |
| | | Date date = new Date(); |
| | | String materialId = inviteMaterial.getId(); |
| | | String content = inviteMaterial.getText(); |
| | | |
| | | ActivityUser user = activityUserService.selectByPrimaryKey(2L); |
| | | ActivityUser user = activityUserService.selectByPrimaryKey(2L); |
| | | |
| | | if (!StringUtil.isNullOrEmpty(content)) { |
| | | DynamicInfo dynamicTxt = new DynamicInfo(); |
| | | dynamicTxt.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | dynamicTxt.setInviteMaterialId(materialId); |
| | | dynamicTxt.setClassId(4L); |
| | | dynamicTxt.setSubclassId(0L); |
| | | dynamicTxt.setShowType(DynamicInfo.SHOW_TYPE_ZERO); |
| | | dynamicTxt.setShareType(DynamicInfo.SHARE_TYPE_INVITE); |
| | | dynamicTxt.setUser(user); |
| | | dynamicTxt.setShareCount(1000 + (int) (Math.random() * 8000)); |
| | | dynamicTxt.setCreateTime(date); |
| | | dynamicTxt.setUpdateTime(date); |
| | | if (!StringUtil.isNullOrEmpty(content)) { |
| | | DynamicInfo dynamicTxt = new DynamicInfo(); |
| | | dynamicTxt.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | dynamicTxt.setInviteMaterialId(materialId); |
| | | dynamicTxt.setClassId(4L); |
| | | dynamicTxt.setSubclassId(0L); |
| | | dynamicTxt.setShowType(DynamicInfo.SHOW_TYPE_ZERO); |
| | | dynamicTxt.setShareType(DynamicInfo.SHARE_TYPE_INVITE); |
| | | dynamicTxt.setUser(user); |
| | | dynamicTxt.setShareCount(1000 + (int) (Math.random() * 8000)); |
| | | dynamicTxt.setCreateTime(date); |
| | | dynamicTxt.setUpdateTime(date); |
| | | |
| | | SimpleDateFormat format = new SimpleDateFormat("MM月dd日"); |
| | | SimpleDateFormat format = new SimpleDateFormat("MM月dd日"); |
| | | |
| | | StringBuffer buffer = new StringBuffer(); |
| | | buffer.append("-------------------\n"); |
| | | buffer.append("今天 : " + format.format(date)); |
| | | buffer.append(" "); |
| | | buffer.append(DateLunarUtil.getWeekd(date) + "\n"); |
| | | buffer.append("各位亲爱的你"); |
| | | buffer.append(" "); |
| | | buffer.append("早安~\n"); |
| | | buffer.append("我的邀请码:【邀请码】\n"); |
| | | buffer.append("购物省钱板栗快省App:【邀请链接】"); |
| | | StringBuffer buffer = new StringBuffer(); |
| | | buffer.append("-------------------\n"); |
| | | buffer.append("今天 : " + format.format(date)); |
| | | buffer.append(" "); |
| | | buffer.append(DateLunarUtil.getWeekd(date) + "\n"); |
| | | buffer.append("各位亲爱的你"); |
| | | buffer.append(" "); |
| | | buffer.append("早安~\n"); |
| | | buffer.append("我的邀请码:【邀请码】\n"); |
| | | buffer.append("购物省钱板栗快省App:【邀请链接】"); |
| | | |
| | | content = content.replaceAll("\\,", "\\,").replaceAll("\\.", "\\。").replaceAll("\\;", "\\;") |
| | | .replaceAll("\\!", "\\!").replaceAll("\\?", "\\?").replaceAll("\\:", "\\:"); |
| | | content = content.replaceAll("\\,", "\\,").replaceAll("\\.", "\\。").replaceAll("\\;", "\\;") |
| | | .replaceAll("\\!", "\\!").replaceAll("\\?", "\\?").replaceAll("\\:", "\\:"); |
| | | |
| | | ClientTextStyleVO row1 = new ClientTextStyleVO(); |
| | | row1.setColor("#333333"); |
| | | row1.setContent(content + "\n" + buffer.toString()); |
| | | List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>(); |
| | | listtitle.add(row1); |
| | | dynamicTxt.setTitle(listtitle); |
| | | ClientTextStyleVO row1 = new ClientTextStyleVO(); |
| | | row1.setColor("#333333"); |
| | | row1.setContent(content + "\n" + buffer.toString()); |
| | | List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>(); |
| | | listtitle.add(row1); |
| | | dynamicTxt.setTitle(listtitle); |
| | | |
| | | // 空数据 |
| | | List<GoodsPicture> listImg = new ArrayList<GoodsPicture>(); |
| | | dynamicTxt.setImgs(listImg); |
| | | // 空数据 |
| | | List<GoodsPicture> listImg = new ArrayList<GoodsPicture>(); |
| | | dynamicTxt.setImgs(listImg); |
| | | |
| | | dynamicInfoDao.insert(dynamicTxt); |
| | | } |
| | | dynamicInfoDao.insert(dynamicTxt); |
| | | } |
| | | |
| | | String picture = inviteMaterial.getPicture(); |
| | | if (!StringUtil.isNullOrEmpty(picture)) { |
| | | DynamicInfo dynamicPic = new DynamicInfo(); |
| | | dynamicPic.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | dynamicPic.setInviteMaterialId(materialId); |
| | | dynamicPic.setClassId(4L); |
| | | dynamicPic.setSubclassId(0L); |
| | | dynamicPic.setShowType(DynamicInfo.SHOW_TYPE_ONE); |
| | | dynamicPic.setShareType(DynamicInfo.SHARE_TYPE_INVITE); |
| | | dynamicPic.setUser(user); |
| | | dynamicPic.setShareCount(1000 + (int) (Math.random() * 8000)); |
| | | dynamicPic.setCreateTime(date); |
| | | dynamicPic.setUpdateTime(date); |
| | | String picture = inviteMaterial.getPicture(); |
| | | if (!StringUtil.isNullOrEmpty(picture)) { |
| | | DynamicInfo dynamicPic = new DynamicInfo(); |
| | | dynamicPic.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | dynamicPic.setInviteMaterialId(materialId); |
| | | dynamicPic.setClassId(4L); |
| | | dynamicPic.setSubclassId(0L); |
| | | dynamicPic.setShowType(DynamicInfo.SHOW_TYPE_ONE); |
| | | dynamicPic.setShareType(DynamicInfo.SHARE_TYPE_INVITE); |
| | | dynamicPic.setUser(user); |
| | | dynamicPic.setShareCount(1000 + (int) (Math.random() * 8000)); |
| | | dynamicPic.setCreateTime(date); |
| | | dynamicPic.setUpdateTime(date); |
| | | |
| | | try { |
| | | // 画图 |
| | | String url = qrCodeService.drawInviteToGreet(picture, null, null, null, content, new Date()); |
| | | try { |
| | | // 画图 |
| | | String url = qrCodeService.drawInviteToGreet(picture, null, null, null, content, new Date()); |
| | | |
| | | List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>(); |
| | | dynamicPic.setTitle(listtitle); |
| | | List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>(); |
| | | dynamicPic.setTitle(listtitle); |
| | | |
| | | GoodsPicture p2 = new GoodsPicture(); |
| | | p2.setW(100); |
| | | p2.setH(100); |
| | | p2.setUrl(url); |
| | | p2.setUrlOriginal(picture); |
| | | p2.setTitleOriginal(content); |
| | | List<GoodsPicture> listImg = new ArrayList<GoodsPicture>(); |
| | | listImg.add(p2); |
| | | dynamicPic.setImgs(listImg); |
| | | GoodsPicture p2 = new GoodsPicture(); |
| | | p2.setW(100); |
| | | p2.setH(100); |
| | | p2.setUrl(url); |
| | | p2.setUrlOriginal(picture); |
| | | p2.setTitleOriginal(content); |
| | | List<GoodsPicture> listImg = new ArrayList<GoodsPicture>(); |
| | | listImg.add(p2); |
| | | dynamicPic.setImgs(listImg); |
| | | |
| | | dynamicInfoDao.insert(dynamicPic); |
| | | } catch (Exception e) { |
| | | try { |
| | | LogHelper.errorDetailInfo(e); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | // 更新素材状态 |
| | | inviteMaterialService.updateState(1, materialId); |
| | | } |
| | | dynamicInfoDao.insert(dynamicPic); |
| | | } catch (Exception e) { |
| | | try { |
| | | LogHelper.errorDetailInfo(e); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | // 更新素材状态 |
| | | inviteMaterialService.updateState(1, materialId); |
| | | } |
| | | |
| | | @Override |
| | | public void insertShopInfo() { |
| | | List<String> brandIdList = DaTaoKeApiUtil.getBrandIdList(); |
| | | if (brandIdList == null || brandIdList.size() == 0) { |
| | | LogHelper.test("大淘客品牌id获取失败(DynamicInfoService-insertShopInfo)"); |
| | | return; |
| | | } |
| | | @Override |
| | | public void insertShopInfo() { |
| | | List<String> brandIdList = DaTaoKeApiUtil.getBrandIdList(); |
| | | if (brandIdList == null || brandIdList.size() == 0) { |
| | | LogHelper.test("大淘客品牌id获取失败(DynamicInfoService-insertShopInfo)"); |
| | | return; |
| | | } |
| | | |
| | | Long classId = 3L; |
| | | Long subclassId = 0L; |
| | | List<DynamicInfo> listInfo = dynamicInfoDao.query(classId, subclassId); |
| | | Long classId = 3L; |
| | | Long subclassId = 0L; |
| | | List<DynamicInfo> listInfo = dynamicInfoDao.query(classId, subclassId); |
| | | |
| | | // 清理已存在品牌 |
| | | if (listInfo != null && listInfo.size() > 0) { |
| | | for (int i = 0; i < brandIdList.size(); i++) { |
| | | String brandId = brandIdList.get(i); |
| | | // 清理已存在品牌 |
| | | if (listInfo != null && listInfo.size() > 0) { |
| | | for (int i = 0; i < brandIdList.size(); i++) { |
| | | String brandId = brandIdList.get(i); |
| | | |
| | | for (int j = 0; j < listInfo.size(); j++) { |
| | | String id = listInfo.get(j).getId(); |
| | | if (brandId.equals(id)) { |
| | | brandIdList.remove(brandId); |
| | | i--; |
| | | for (int j = 0; j < listInfo.size(); j++) { |
| | | String id = listInfo.get(j).getId(); |
| | | if (brandId.equals(id)) { |
| | | brandIdList.remove(brandId); |
| | | i--; |
| | | |
| | | listInfo.remove(listInfo.get(j)); |
| | | j--; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | listInfo.remove(listInfo.get(j)); |
| | | j--; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (brandIdList == null || brandIdList.size() == 0) { |
| | | LogHelper.test("大淘客品牌已全部爬取(DynamicInfoService-insertShopInfo)"); |
| | | return; |
| | | } |
| | | if (brandIdList == null || brandIdList.size() == 0) { |
| | | LogHelper.test("大淘客品牌已全部爬取(DynamicInfoService-insertShopInfo)"); |
| | | return; |
| | | } |
| | | |
| | | int index = (int) (Math.random() * brandIdList.size()); |
| | | String brandId = brandIdList.get(index); |
| | | int index = (int) (Math.random() * brandIdList.size()); |
| | | String brandId = brandIdList.get(index); |
| | | |
| | | TaoBaoShopDTO dynamicShopInfo = DaTaoKeApiUtil.getDynamicShopInfo(brandId); |
| | | if (dynamicShopInfo == null) { |
| | | LogHelper.test("大淘客品牌信息爬取失败(DynamicInfoService-insertShopInfo)"); |
| | | return; |
| | | } |
| | | TaoBaoShopDTO dynamicShopInfo = DaTaoKeApiUtil.getDynamicShopInfo(brandId); |
| | | if (dynamicShopInfo == null) { |
| | | LogHelper.test("大淘客品牌信息爬取失败(DynamicInfoService-insertShopInfo)"); |
| | | return; |
| | | } |
| | | |
| | | List<TaoBaoGoodsBrief> listGoods = dynamicShopInfo.getListGoods(); |
| | | if (listGoods == null || listGoods.size() == 0) { |
| | | LogHelper.test("大淘客品牌商品信息爬取失败(DynamicInfoService-insertShopInfo)"); |
| | | return; |
| | | } |
| | | List<TaoBaoGoodsBrief> listGoods = dynamicShopInfo.getListGoods(); |
| | | if (listGoods == null || listGoods.size() == 0) { |
| | | LogHelper.test("大淘客品牌商品信息爬取失败(DynamicInfoService-insertShopInfo)"); |
| | | return; |
| | | } |
| | | |
| | | Long sellerId = dynamicShopInfo.getSellerId(); |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = listGoods.get(0); |
| | | TaoBaoShop taoBaoShop = taoBaoShopService.getTaoBaoShop(taoBaoGoodsBrief.getAuctionId(), sellerId); |
| | | if (taoBaoShop == null) { |
| | | LogHelper.test("店铺详情信息获取失败(DynamicInfoService-insertShopInfo)"); |
| | | return; |
| | | } |
| | | String shopLink = taoBaoShop.getShopLink(); |
| | | if (StringUtil.isNullOrEmpty(shopLink)) { |
| | | taoBaoShop.setShopLink(TaoBaoUtil.getShopLink(taoBaoShop.getId())); |
| | | } |
| | | |
| | | if(StringUtil.isNullOrEmpty(taoBaoShop.getShopIcon())) |
| | | taoBaoShop.setShopIcon(dynamicShopInfo.getShopIcon()); |
| | | Long sellerId = dynamicShopInfo.getSellerId(); |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = listGoods.get(0); |
| | | TaoBaoShop taoBaoShop = taoBaoShopService.getTaoBaoShop(taoBaoGoodsBrief.getAuctionId(), sellerId); |
| | | if (taoBaoShop == null) { |
| | | LogHelper.test("店铺详情信息获取失败(DynamicInfoService-insertShopInfo)"); |
| | | return; |
| | | } |
| | | String shopLink = taoBaoShop.getShopLink(); |
| | | if (StringUtil.isNullOrEmpty(shopLink)) { |
| | | taoBaoShop.setShopLink(TaoBaoUtil.getShopLink(taoBaoShop.getId())); |
| | | } |
| | | |
| | | DynamicInfo dynamicVO = new DynamicInfo(); |
| | | dynamicVO.setId(brandId); |
| | | dynamicVO.setClassId(classId); |
| | | dynamicVO.setSubclassId(subclassId); |
| | | dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_TWO); |
| | | dynamicVO.setShop(taoBaoShop); |
| | | List<ActivityRuleUser> userList = activityUserService.listByRuleCode(ActivityRuleUser.RULE_HAODIAN, 1, 50); |
| | | dynamicVO.setUser(userList.get((int) (userList.size() * Math.random())).getActivityUser()); |
| | | dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8)); |
| | | dynamicVO.setUpdateTime(new Date()); |
| | | if (StringUtil.isNullOrEmpty(taoBaoShop.getShopIcon())) |
| | | taoBaoShop.setShopIcon(dynamicShopInfo.getShopIcon()); |
| | | |
| | | // 介绍内容 |
| | | ClientTextStyleVO row1 = new ClientTextStyleVO(); |
| | | row1.setColor("#333333"); |
| | | row1.setContent(dynamicShopInfo.getBrandDes()); |
| | | List<ClientTextStyleVO> listTitle = new ArrayList<ClientTextStyleVO>(); |
| | | listTitle.add(row1); |
| | | dynamicVO.setTitle(listTitle); |
| | | DynamicInfo dynamicVO = new DynamicInfo(); |
| | | dynamicVO.setId(brandId); |
| | | dynamicVO.setClassId(classId); |
| | | dynamicVO.setSubclassId(subclassId); |
| | | dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_TWO); |
| | | dynamicVO.setShop(taoBaoShop); |
| | | List<ActivityRuleUser> userList = activityUserService.listByRuleCode(ActivityRuleUser.RULE_HAODIAN, 1, 50); |
| | | dynamicVO.setUser(userList.get((int) (userList.size() * Math.random())).getActivityUser()); |
| | | dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8)); |
| | | dynamicVO.setUpdateTime(new Date()); |
| | | |
| | | // 商品信息 |
| | | List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>(); |
| | | for (TaoBaoGoodsBrief goodsBrief : listGoods) { |
| | | BigDecimal proportion = hongBaoManageService.getFanLiRate(SystemEnum.blks); |
| | | TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, |
| | | proportion.toString(), null); |
| | | taoBaoGoodsBriefExtra.setCouponInfo(null); |
| | | taoBaoGoodsBriefExtra.setUpdatetime(new Date()); |
| | | // 介绍内容 |
| | | ClientTextStyleVO row1 = new ClientTextStyleVO(); |
| | | row1.setColor("#333333"); |
| | | row1.setContent(dynamicShopInfo.getBrandDes()); |
| | | List<ClientTextStyleVO> listTitle = new ArrayList<ClientTextStyleVO>(); |
| | | listTitle.add(row1); |
| | | dynamicVO.setTitle(listTitle); |
| | | |
| | | if (!taoBaoGoodsBriefExtra.isCoupon()) { |
| | | taoBaoGoodsBriefExtra.setState(1); |
| | | } |
| | | // 商品信息 |
| | | List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>(); |
| | | for (TaoBaoGoodsBrief goodsBrief : listGoods) { |
| | | BigDecimal proportion = hongBaoManageService.getFanLiRate(SystemEnum.blks); |
| | | TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, |
| | | proportion.toString(), null); |
| | | taoBaoGoodsBriefExtra.setCouponInfo(null); |
| | | taoBaoGoodsBriefExtra.setUpdatetime(new Date()); |
| | | |
| | | String goodsId = goodsBrief.getAuctionId().toString(); |
| | | JSONObject item = new JSONObject(); |
| | | item.put("id", goodsId); |
| | | item.put("from", "dynamics"); |
| | | if (!taoBaoGoodsBriefExtra.isCoupon()) { |
| | | taoBaoGoodsBriefExtra.setState(1); |
| | | } |
| | | |
| | | GoodsPicture goodsPicture = new GoodsPicture(); |
| | | goodsPicture.setH(100); |
| | | goodsPicture.setW(100); |
| | | goodsPicture.setUrl(TbImgUtil.getTBSize320Img(goodsBrief.getPictUrl())); |
| | | goodsPicture.setJumpDetail(jumpDetailV2Service.getByTypeCache("goodsdetail")); |
| | | goodsPicture.setParams(item.toString()); |
| | | goodsPicture.setGoods(taoBaoGoodsBriefExtra); |
| | | String goodsId = goodsBrief.getAuctionId().toString(); |
| | | JSONObject item = new JSONObject(); |
| | | item.put("id", goodsId); |
| | | item.put("from", "dynamics"); |
| | | |
| | | listPicture.add(goodsPicture); |
| | | } |
| | | dynamicVO.setImgs(listPicture); |
| | | GoodsPicture goodsPicture = new GoodsPicture(); |
| | | goodsPicture.setH(100); |
| | | goodsPicture.setW(100); |
| | | goodsPicture.setUrl(TbImgUtil.getTBSize320Img(goodsBrief.getPictUrl())); |
| | | goodsPicture.setJumpDetail(jumpDetailV2Service.getByTypeCache("goodsdetail", SystemEnum.blks)); |
| | | goodsPicture.setParams(item.toString()); |
| | | goodsPicture.setGoods(taoBaoGoodsBriefExtra); |
| | | |
| | | dynamicInfoDao.insert(dynamicVO); |
| | | } |
| | | listPicture.add(goodsPicture); |
| | | } |
| | | dynamicVO.setImgs(listPicture); |
| | | |
| | | @Override |
| | | public void insertTimeRecommend() { |
| | | try { |
| | | Long classId = 2L; |
| | | List<GoodsClass> list = DaTaoKeUtil.goodsClasses; |
| | | int index = (int) (Math.random() * list.size()); |
| | | Long subclassId = list.get(index).getId(); |
| | | int cid = Integer.parseInt(subclassId + ""); |
| | | int count = 0; |
| | | double random = Math.random(); |
| | | if (random > 0.4) { |
| | | count = 9; |
| | | } else { |
| | | count = 4; |
| | | } |
| | | dynamicInfoDao.insert(dynamicVO); |
| | | } |
| | | |
| | | List<DaTaoKeDetailV2> listDaTaoKe = daTaoKeGoodsDetailV2Service.getGoodsNotInList(subclassId, null, count); |
| | | @Override |
| | | public void insertTimeRecommend() { |
| | | try { |
| | | Long classId = 2L; |
| | | List<GoodsClass> list = DaTaoKeUtil.goodsClasses; |
| | | int index = (int) (Math.random() * list.size()); |
| | | Long subclassId = list.get(index).getId(); |
| | | int cid = Integer.parseInt(subclassId + ""); |
| | | int count = 0; |
| | | double random = Math.random(); |
| | | if (random > 0.4) { |
| | | count = 9; |
| | | } else { |
| | | count = 4; |
| | | } |
| | | |
| | | DaTaoKeDetailV2 daTaoKeDetail = null; |
| | | // 商品列表 |
| | | List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>(); |
| | | // 商品列表 |
| | | List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); |
| | | // 分享奖金 |
| | | BigDecimal shareMoney = new BigDecimal(0); |
| | | List<DaTaoKeDetailV2> listDaTaoKe = daTaoKeGoodsDetailV2Service.getGoodsNotInList(subclassId, null, count); |
| | | |
| | | BigDecimal proportion = hongBaoManageService.getFanLiRate(SystemEnum.blks); |
| | | for (DaTaoKeDetailV2 daTaoKe : listDaTaoKe) { |
| | | if (daTaoKeDetail == null) { |
| | | daTaoKeDetail = daTaoKe; |
| | | } |
| | | // 分享奖金 |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(daTaoKe); |
| | | listGoods.add(taoBaoGoodsBrief); |
| | | DaTaoKeDetailV2 daTaoKeDetail = null; |
| | | // 商品列表 |
| | | List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>(); |
| | | // 商品列表 |
| | | List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); |
| | | // 分享奖金 |
| | | BigDecimal shareMoney = new BigDecimal(0); |
| | | |
| | | TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, |
| | | proportion.toString(), null); |
| | | if (!taoBaoGoodsBriefExtra.isCoupon()) { |
| | | taoBaoGoodsBriefExtra.setState(1); |
| | | } |
| | | BigDecimal proportion = hongBaoManageService.getFanLiRate(SystemEnum.blks); |
| | | for (DaTaoKeDetailV2 daTaoKe : listDaTaoKe) { |
| | | if (daTaoKeDetail == null) { |
| | | daTaoKeDetail = daTaoKe; |
| | | } |
| | | // 分享奖金 |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(daTaoKe); |
| | | listGoods.add(taoBaoGoodsBrief); |
| | | |
| | | BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief,SystemEnum.blks); |
| | | shareMoney = MoneyBigDecimalUtil.add(shareMoney, money); |
| | | // 商品图片 |
| | | taoBaoGoodsBriefExtra.setUpdatetime(new Date()); |
| | | taoBaoGoodsBriefExtra.setCouponInfo(null); |
| | | GoodsPicture goodsPicture = getGoodsPicture(daTaoKe); |
| | | goodsPicture.setGoods(taoBaoGoodsBriefExtra); |
| | | TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, |
| | | proportion.toString(), null); |
| | | if (!taoBaoGoodsBriefExtra.isCoupon()) { |
| | | taoBaoGoodsBriefExtra.setState(1); |
| | | } |
| | | |
| | | listPicture.add(goodsPicture); |
| | | } |
| | | BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief, SystemEnum.blks); |
| | | shareMoney = MoneyBigDecimalUtil.add(shareMoney, money); |
| | | // 商品图片 |
| | | taoBaoGoodsBriefExtra.setUpdatetime(new Date()); |
| | | taoBaoGoodsBriefExtra.setCouponInfo(null); |
| | | GoodsPicture goodsPicture = getGoodsPicture(daTaoKe, SystemEnum.blks); |
| | | goodsPicture.setGoods(taoBaoGoodsBriefExtra); |
| | | |
| | | // 组织动态信息 |
| | | DynamicInfo dynamicInfo = getDynamicInfo(daTaoKeDetail, classId, subclassId); |
| | | // 无内容 |
| | | dynamicInfo.setTitle(new ArrayList<ClientTextStyleVO>()); |
| | | // 发布用户 |
| | | dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(cid)); |
| | | dynamicInfo.setImgs(listPicture); |
| | | dynamicInfo.setListGoodsBrief(listGoods); |
| | | listPicture.add(goodsPicture); |
| | | } |
| | | |
| | | ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); |
| | | shareMoneyDesc.setColor("#FFFFFF"); |
| | | shareMoneyDesc.setBottomColor("#E8AE48"); |
| | | shareMoneyDesc.setContent("预估分享奖金:¥" + shareMoney); |
| | | dynamicInfo.setDesc(shareMoneyDesc); |
| | | dynamicInfo.setShowType(2); |
| | | // 组织动态信息 |
| | | DynamicInfo dynamicInfo = getDynamicInfo(daTaoKeDetail, classId, subclassId); |
| | | // 无内容 |
| | | dynamicInfo.setTitle(new ArrayList<ClientTextStyleVO>()); |
| | | // 发布用户 |
| | | dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(cid)); |
| | | dynamicInfo.setImgs(listPicture); |
| | | dynamicInfo.setListGoodsBrief(listGoods); |
| | | |
| | | if (count == 4) { |
| | | dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_TWO); |
| | | dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_FOUR); // 分享类型4图 |
| | | } else { |
| | | dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_THREE); |
| | | dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_NINE); // 分享类型9图 |
| | | } |
| | | // 保存信息 |
| | | dynamicInfoDao.insert(dynamicInfo); |
| | | ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); |
| | | shareMoneyDesc.setColor("#FFFFFF"); |
| | | shareMoneyDesc.setBottomColor("#E8AE48"); |
| | | shareMoneyDesc.setContent("预估分享奖金:¥" + shareMoney); |
| | | dynamicInfo.setDesc(shareMoneyDesc); |
| | | dynamicInfo.setShowType(2); |
| | | |
| | | } catch (Exception e) { |
| | | try { |
| | | LogHelper.errorDetailInfo(e); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | if (count == 4) { |
| | | dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_TWO); |
| | | dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_FOUR); // 分享类型4图 |
| | | } else { |
| | | dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_THREE); |
| | | dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_NINE); // 分享类型9图 |
| | | } |
| | | // 保存信息 |
| | | dynamicInfoDao.insert(dynamicInfo); |
| | | |
| | | // 定时插入 |
| | | @Override |
| | | public void insertTimeHotSale() { |
| | | Long classId = 1L; |
| | | try { |
| | | for (int i = 0; i < 3; i++) { |
| | | boolean addSuccess = saveHotSale(classId, 0L); |
| | | if (addSuccess) { |
| | | break; |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | try { |
| | | LogHelper.errorDetailInfo(e); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | try { |
| | | LogHelper.errorDetailInfo(e); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 热销单品的分类 |
| | | List<GoodsClass> list = DaTaoKeUtil.goodsClasses; |
| | | for (GoodsClass goodsClass : list) { |
| | | try { |
| | | for (int i = 0; i < 3; i++) { |
| | | boolean addSuccess = saveHotSale(classId, goodsClass.getId()); |
| | | if (addSuccess) { |
| | | break; |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | try { |
| | | LogHelper.errorDetailInfo(e); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // 定时插入 |
| | | @Override |
| | | public void insertTimeHotSale() { |
| | | Long classId = 1L; |
| | | try { |
| | | for (int i = 0; i < 3; i++) { |
| | | boolean addSuccess = saveHotSale(classId, 0L); |
| | | if (addSuccess) { |
| | | break; |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | try { |
| | | LogHelper.errorDetailInfo(e); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 保存热销单品 |
| | | * |
| | | * @param classId |
| | | * @param subclassId |
| | | * @throws TaobaoGoodsDownException |
| | | */ |
| | | public boolean saveHotSale(Long classId, Long subclassId) throws TaobaoGoodsDownException { |
| | | boolean addSuccess = false; |
| | | List<Long> listId = null; |
| | | List<DynamicInfo> listInfo = dynamicInfoDao.query(classId, subclassId); |
| | | if (listInfo != null && listInfo.size() > 0) { |
| | | listId = new ArrayList<Long>(); |
| | | for (DynamicInfo dynamicInfo : listInfo) { |
| | | Long daTaoKeId = dynamicInfo.getDaTaoKeId(); |
| | | if (daTaoKeId != null) { |
| | | listId.add(dynamicInfo.getDaTaoKeId()); |
| | | } |
| | | } |
| | | } |
| | | // 大淘客数据 |
| | | DaTaoKeDetailV2 daTaoKe = daTaoKeGoodsDetailV2Service.getGoodsNotInList(subclassId, listId, 1).get(0); |
| | | if (daTaoKe == null) { |
| | | return addSuccess; |
| | | } |
| | | // 热销单品的分类 |
| | | List<GoodsClass> list = DaTaoKeUtil.goodsClasses; |
| | | for (GoodsClass goodsClass : list) { |
| | | try { |
| | | for (int i = 0; i < 3; i++) { |
| | | boolean addSuccess = saveHotSale(classId, goodsClass.getId()); |
| | | if (addSuccess) { |
| | | break; |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | try { |
| | | LogHelper.errorDetailInfo(e); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | try { |
| | | daTaoKe = DaTaoKeUtil.filterDaTaoKe(TaoKeApiUtil.searchGoodsDetail(daTaoKe.getGoodsId()), daTaoKe); |
| | | } catch (Exception e) { |
| | | /** |
| | | * 保存热销单品 |
| | | * |
| | | * @param classId |
| | | * @param subclassId |
| | | * @throws TaobaoGoodsDownException |
| | | */ |
| | | public boolean saveHotSale(Long classId, Long subclassId) throws TaobaoGoodsDownException { |
| | | boolean addSuccess = false; |
| | | List<Long> listId = null; |
| | | List<DynamicInfo> listInfo = dynamicInfoDao.query(classId, subclassId); |
| | | if (listInfo != null && listInfo.size() > 0) { |
| | | listId = new ArrayList<Long>(); |
| | | for (DynamicInfo dynamicInfo : listInfo) { |
| | | Long daTaoKeId = dynamicInfo.getDaTaoKeId(); |
| | | if (daTaoKeId != null) { |
| | | listId.add(dynamicInfo.getDaTaoKeId()); |
| | | } |
| | | } |
| | | } |
| | | // 大淘客数据 |
| | | DaTaoKeDetailV2 daTaoKe = daTaoKeGoodsDetailV2Service.getGoodsNotInList(subclassId, listId, 1).get(0); |
| | | if (daTaoKe == null) { |
| | | return addSuccess; |
| | | } |
| | | |
| | | } |
| | | try { |
| | | daTaoKe = DaTaoKeUtil.filterDaTaoKe(TaoKeApiUtil.searchGoodsDetail(daTaoKe.getGoodsId()), daTaoKe); |
| | | } catch (Exception e) { |
| | | |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(daTaoKe); |
| | | BigDecimal proportion = hongBaoManageService.getFanLiRate(SystemEnum.blks); |
| | | TaoBaoGoodsBriefExtra goodsExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), |
| | | null); |
| | | } |
| | | |
| | | if (!goodsExtra.isCoupon() || (goodsExtra.getState() != null && goodsExtra.getState() == 1)) { |
| | | return addSuccess; // 已下架 、无券 不加入 |
| | | } |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(daTaoKe); |
| | | BigDecimal proportion = hongBaoManageService.getFanLiRate(SystemEnum.blks); |
| | | TaoBaoGoodsBriefExtra goodsExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), |
| | | null); |
| | | |
| | | List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); |
| | | listGoods.add(taoBaoGoodsBrief); |
| | | if (!goodsExtra.isCoupon() || (goodsExtra.getState() != null && goodsExtra.getState() == 1)) { |
| | | return addSuccess; // 已下架 、无券 不加入 |
| | | } |
| | | |
| | | goodsExtra.setTkRate(taoBaoGoodsBrief.getTkRate()); |
| | | goodsExtra.setUpdatetime(new Date()); |
| | | goodsExtra.setCouponInfo(null); |
| | | List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); |
| | | listGoods.add(taoBaoGoodsBrief); |
| | | |
| | | GoodsPicture goodsPicture = getGoodsPicture(daTaoKe); |
| | | goodsPicture.setGoods(goodsExtra); |
| | | // 商品列表 |
| | | List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>(); |
| | | listPicture.add(goodsPicture); |
| | | goodsExtra.setTkRate(taoBaoGoodsBrief.getTkRate()); |
| | | goodsExtra.setUpdatetime(new Date()); |
| | | goodsExtra.setCouponInfo(null); |
| | | |
| | | // 获取商品列表图片 |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief2 = TaoKeApiUtil.getSimpleGoodsInfo(daTaoKe.getGoodsId()); |
| | | List<String> imgList = taoBaoGoodsBrief2.getImgList(); |
| | | List<String> listimgs = new ArrayList<String>(); |
| | | String pic = daTaoKe.getMainPic(); |
| | | listimgs.add(TbImgUtil.getTBSize320Img(pic)); |
| | | if (imgList != null && imgList.size() > 0) { |
| | | for (String img : imgList) { |
| | | GoodsPicture goodsPicture = getGoodsPicture(daTaoKe, SystemEnum.blks); |
| | | goodsPicture.setGoods(goodsExtra); |
| | | // 商品列表 |
| | | List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>(); |
| | | listPicture.add(goodsPicture); |
| | | |
| | | if (listPicture.size() >= 4) { |
| | | break; |
| | | } |
| | | if (pic.equals(img)) { |
| | | continue; |
| | | } |
| | | // 获取商品列表图片 |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief2 = TaoKeApiUtil.getSimpleGoodsInfo(daTaoKe.getGoodsId()); |
| | | List<String> imgList = taoBaoGoodsBrief2.getImgList(); |
| | | List<String> listimgs = new ArrayList<String>(); |
| | | String pic = daTaoKe.getMainPic(); |
| | | listimgs.add(TbImgUtil.getTBSize320Img(pic)); |
| | | if (imgList != null && imgList.size() > 0) { |
| | | for (String img : imgList) { |
| | | |
| | | listimgs.add(img); |
| | | GoodsPicture picture = new GoodsPicture(); |
| | | picture.setH(100); |
| | | picture.setW(100); |
| | | picture.setUrl(TbImgUtil.getTBSize320Img(img)); |
| | | listPicture.add(picture); |
| | | } |
| | | } |
| | | goodsExtra.setImgList(imgList); |
| | | if (listPicture.size() >= 4) { |
| | | break; |
| | | } |
| | | if (pic.equals(img)) { |
| | | continue; |
| | | } |
| | | |
| | | // 分享奖金 |
| | | BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief,SystemEnum.blks); |
| | | ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); |
| | | shareMoneyDesc.setColor("#FFFFFF"); |
| | | shareMoneyDesc.setBottomColor("#E8AE48"); |
| | | shareMoneyDesc.setContent("预估分享奖金:¥" + shareMoney); |
| | | listimgs.add(img); |
| | | GoodsPicture picture = new GoodsPicture(); |
| | | picture.setH(100); |
| | | picture.setW(100); |
| | | picture.setUrl(TbImgUtil.getTBSize320Img(img)); |
| | | listPicture.add(picture); |
| | | } |
| | | } |
| | | goodsExtra.setImgList(imgList); |
| | | |
| | | // 组织动态信息 |
| | | DynamicInfo dynamicInfo = getDynamicInfo(daTaoKe, classId, subclassId); |
| | | dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(daTaoKe.getCid())); |
| | | dynamicInfo.setImgs(listPicture); |
| | | dynamicInfo.setDesc(shareMoneyDesc); |
| | | dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_ONE); |
| | | dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_TWO); |
| | | dynamicInfo.setListGoodsBrief(listGoods); |
| | | // 分享奖金 |
| | | BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief, SystemEnum.blks); |
| | | ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); |
| | | shareMoneyDesc.setColor("#FFFFFF"); |
| | | shareMoneyDesc.setBottomColor("#E8AE48"); |
| | | shareMoneyDesc.setContent("预估分享奖金:¥" + shareMoney); |
| | | |
| | | String desc = DaTaoKeUtil.getDesc(daTaoKe); |
| | | if (!StringUtil.isNullOrEmpty(desc)) { |
| | | int index = desc.lastIndexOf("\n"); |
| | | String newDesc = desc.substring(index + 1); |
| | | if (StringUtil.isNullOrEmpty(newDesc)) { |
| | | desc = desc.substring(0, index); |
| | | } |
| | | } |
| | | dynamicInfo.setTitle(convertIntroduce(desc)); |
| | | // 组织动态信息 |
| | | DynamicInfo dynamicInfo = getDynamicInfo(daTaoKe, classId, subclassId); |
| | | dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(daTaoKe.getCid())); |
| | | dynamicInfo.setImgs(listPicture); |
| | | dynamicInfo.setDesc(shareMoneyDesc); |
| | | dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_ONE); |
| | | dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_TWO); |
| | | dynamicInfo.setListGoodsBrief(listGoods); |
| | | |
| | | // 保存信息 |
| | | dynamicInfoDao.insert(dynamicInfo); |
| | | |
| | | addSuccess = true; |
| | | return addSuccess; |
| | | } |
| | | String desc = DaTaoKeUtil.getDesc(daTaoKe); |
| | | if (!StringUtil.isNullOrEmpty(desc)) { |
| | | int index = desc.lastIndexOf("\n"); |
| | | String newDesc = desc.substring(index + 1); |
| | | if (StringUtil.isNullOrEmpty(newDesc)) { |
| | | desc = desc.substring(0, index); |
| | | } |
| | | } |
| | | dynamicInfo.setTitle(convertIntroduce(desc)); |
| | | |
| | | /** |
| | | * 数据组织存入MongoDB中 |
| | | * |
| | | * @param daTaoKe |
| | | * @param classId |
| | | * @param subclassId |
| | | * @throws TaobaoGoodsDownException |
| | | */ |
| | | public DynamicInfo getDynamicInfo(DaTaoKeDetailV2 daTaoKe, Long classId, Long subclassId) { |
| | | DynamicInfo dynamicInfo = new DynamicInfo(); |
| | | dynamicInfo.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | dynamicInfo.setClassId(classId); |
| | | dynamicInfo.setSubclassId(subclassId); |
| | | dynamicInfo.setDaTaoKeId(daTaoKe.getId()); |
| | | dynamicInfo.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8)); |
| | | dynamicInfo.setUpdateTime(new Date()); |
| | | // 随机分享次数 |
| | | dynamicInfo.setShareCount(1000 + (int) (Math.random() * 8000)); |
| | | // 保存信息 |
| | | dynamicInfoDao.insert(dynamicInfo); |
| | | |
| | | return dynamicInfo; |
| | | } |
| | | addSuccess = true; |
| | | return addSuccess; |
| | | } |
| | | |
| | | /** |
| | | * 文字内容 |
| | | * |
| | | * @param introduce |
| | | * @return |
| | | */ |
| | | public List<ClientTextStyleVO> convertIntroduce(String introduce) { |
| | | List<ClientTextStyleVO> title = new ArrayList<ClientTextStyleVO>(); |
| | | ClientTextStyleVO desc = new ClientTextStyleVO(); |
| | | desc.setColor("#333333"); |
| | | desc.setContent(introduce); |
| | | title.add(desc); |
| | | return title; |
| | | } |
| | | /** |
| | | * 数据组织存入MongoDB中 |
| | | * |
| | | * @param daTaoKe |
| | | * @param classId |
| | | * @param subclassId |
| | | * @throws TaobaoGoodsDownException |
| | | */ |
| | | public DynamicInfo getDynamicInfo(DaTaoKeDetailV2 daTaoKe, Long classId, Long subclassId) { |
| | | DynamicInfo dynamicInfo = new DynamicInfo(); |
| | | dynamicInfo.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | dynamicInfo.setClassId(classId); |
| | | dynamicInfo.setSubclassId(subclassId); |
| | | dynamicInfo.setDaTaoKeId(daTaoKe.getId()); |
| | | dynamicInfo.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8)); |
| | | dynamicInfo.setUpdateTime(new Date()); |
| | | // 随机分享次数 |
| | | dynamicInfo.setShareCount(1000 + (int) (Math.random() * 8000)); |
| | | |
| | | /** |
| | | * 图片列表 |
| | | * |
| | | * @param daTaoKe |
| | | * @return |
| | | */ |
| | | public GoodsPicture getGoodsPicture(DaTaoKeDetailV2 daTaoKe) { |
| | | GoodsPicture goodsPicture = new GoodsPicture(); |
| | | goodsPicture.setH(100); |
| | | goodsPicture.setW(100); |
| | | goodsPicture.setUrl(TbImgUtil.getTBSize320Img(daTaoKe.getMainPic())); |
| | | goodsPicture.setJumpDetail(jumpDetailV2Service.getByTypeCache("goodsdetail")); |
| | | return dynamicInfo; |
| | | } |
| | | |
| | | String goodsId = daTaoKe.getGoodsId().toString(); |
| | | JSONObject item = new JSONObject(); |
| | | item.put("id", goodsId); |
| | | item.put("from", "dynamics"); |
| | | goodsPicture.setParams(item.toString()); |
| | | return goodsPicture; |
| | | } |
| | | /** |
| | | * 文字内容 |
| | | * |
| | | * @param introduce |
| | | * @return |
| | | */ |
| | | public List<ClientTextStyleVO> convertIntroduce(String introduce) { |
| | | List<ClientTextStyleVO> title = new ArrayList<ClientTextStyleVO>(); |
| | | ClientTextStyleVO desc = new ClientTextStyleVO(); |
| | | desc.setColor("#333333"); |
| | | desc.setContent(introduce); |
| | | title.add(desc); |
| | | return title; |
| | | } |
| | | |
| | | @Override |
| | | public void insertInviteActivity(RecommendActivity activity) throws Exception { |
| | | /** |
| | | * 图片列表 |
| | | * |
| | | * @param daTaoKe |
| | | * @return |
| | | */ |
| | | public GoodsPicture getGoodsPicture(DaTaoKeDetailV2 daTaoKe, SystemEnum system) { |
| | | GoodsPicture goodsPicture = new GoodsPicture(); |
| | | goodsPicture.setH(100); |
| | | goodsPicture.setW(100); |
| | | goodsPicture.setUrl(TbImgUtil.getTBSize320Img(daTaoKe.getMainPic())); |
| | | goodsPicture.setJumpDetail(jumpDetailV2Service.getByTypeCache("goodsdetail", system)); |
| | | |
| | | String title = activity.getTitle(); |
| | | String goodsId = daTaoKe.getGoodsId().toString(); |
| | | JSONObject item = new JSONObject(); |
| | | item.put("id", goodsId); |
| | | item.put("from", "dynamics"); |
| | | goodsPicture.setParams(item.toString()); |
| | | return goodsPicture; |
| | | } |
| | | |
| | | String picUrl = null; |
| | | List<String> imageList = activity.getImageList(); |
| | | if (imageList != null && imageList.size() > 0) { |
| | | picUrl = imageList.get(0); |
| | | } |
| | | @Override |
| | | public void insertInviteActivity(RecommendActivity activity) throws Exception { |
| | | |
| | | if (StringUtil.isNullOrEmpty(title) || StringUtil.isNullOrEmpty(picUrl)) { |
| | | return; |
| | | } |
| | | String title = activity.getTitle(); |
| | | |
| | | // 判断是否已存在 |
| | | String dynamicInfoId = null; |
| | | String picUrl = null; |
| | | List<String> imageList = activity.getImageList(); |
| | | if (imageList != null && imageList.size() > 0) { |
| | | picUrl = imageList.get(0); |
| | | } |
| | | |
| | | Long activityId = activity.getId(); |
| | | DynamicInfo dynamicVO = dynamicInfoDao.getByActivityId(activityId); |
| | | if (dynamicVO == null) { |
| | | dynamicVO = new DynamicInfo(); |
| | | dynamicVO.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8)); |
| | | } else { |
| | | dynamicInfoId = dynamicVO.getId(); |
| | | } |
| | | if (StringUtil.isNullOrEmpty(title) || StringUtil.isNullOrEmpty(picUrl)) { |
| | | return; |
| | | } |
| | | |
| | | // 判断是否已存在 |
| | | String dynamicInfoId = null; |
| | | |
| | | Long activityId = activity.getId(); |
| | | DynamicInfo dynamicVO = dynamicInfoDao.getByActivityId(activityId); |
| | | if (dynamicVO == null) { |
| | | dynamicVO = new DynamicInfo(); |
| | | dynamicVO.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8)); |
| | | } else { |
| | | dynamicInfoId = dynamicVO.getId(); |
| | | } |
| | | |
| | | if (!StringUtil.isNullOrEmpty(title)) { |
| | | title = title.replaceAll("<p>", "").replaceAll("</p>", "").replaceAll("<br>", "\n"); |
| | | |
| | | int index = title.lastIndexOf("\n"); |
| | | String newDesc = title.substring(index + 1); |
| | | if (StringUtil.isNullOrEmpty(newDesc)) { |
| | | title = title.substring(0, index); |
| | | } |
| | | |
| | | if (!StringUtil.isNullOrEmpty(title)) { |
| | | title = title.replaceAll("<p>", "").replaceAll("</p>", "").replaceAll("<br>", "\n"); |
| | | title = title.replaceAll("\\,", "\\,").replaceAll("\\.", "\\。").replaceAll("\\;", "\\;") |
| | | .replaceAll("\\!", "\\!").replaceAll("\\?", "\\?").replaceAll("\\:", "\\:"); |
| | | } |
| | | |
| | | int index = title.lastIndexOf("\n"); |
| | | String newDesc = title.substring(index + 1); |
| | | if (StringUtil.isNullOrEmpty(newDesc)) { |
| | | title = title.substring(0, index); |
| | | } |
| | | dynamicVO.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | dynamicVO.setActivityId(activityId); |
| | | dynamicVO.setClassId(4L); |
| | | dynamicVO.setSubclassId(0L); |
| | | dynamicVO.setShareType(DynamicInfo.SHARE_TYPE_INVITE); |
| | | dynamicVO.setUpdateTime(new Date()); |
| | | |
| | | title = title.replaceAll("\\,", "\\,").replaceAll("\\.", "\\。").replaceAll("\\;", "\\;") |
| | | .replaceAll("\\!", "\\!").replaceAll("\\?", "\\?").replaceAll("\\:", "\\:"); |
| | | } |
| | | Integer shareCount = activity.getShareCount(); |
| | | if (shareCount == null || shareCount <= 0) { |
| | | dynamicVO.setShareCount(1000 + (int) (Math.random() * 8000)); |
| | | } else { |
| | | dynamicVO.setShareCount(shareCount); |
| | | } |
| | | |
| | | dynamicVO.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | dynamicVO.setActivityId(activityId); |
| | | dynamicVO.setClassId(4L); |
| | | dynamicVO.setSubclassId(0L); |
| | | dynamicVO.setShareType(DynamicInfo.SHARE_TYPE_INVITE); |
| | | dynamicVO.setUpdateTime(new Date()); |
| | | // 发布用户 |
| | | ActivityUser activityUser = activity.getActivityUser(); |
| | | if (activityUser == null) { |
| | | dynamicVO.setUser(activityUserService.selectByPrimaryKey(2L)); |
| | | } else { |
| | | dynamicVO.setUser(activityUser); |
| | | } |
| | | |
| | | Integer shareCount = activity.getShareCount(); |
| | | if (shareCount == null || shareCount <= 0) { |
| | | dynamicVO.setShareCount(1000 + (int) (Math.random() * 8000)); |
| | | } else { |
| | | dynamicVO.setShareCount(shareCount); |
| | | } |
| | | // 介绍内容 |
| | | List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>(); |
| | | if (!StringUtil.isNullOrEmpty(title)) { |
| | | ClientTextStyleVO row1 = new ClientTextStyleVO(); |
| | | row1.setColor("#333333"); |
| | | row1.setContent(title); |
| | | listtitle.add(row1); |
| | | } |
| | | |
| | | // 发布用户 |
| | | ActivityUser activityUser = activity.getActivityUser(); |
| | | if (activityUser == null) { |
| | | dynamicVO.setUser(activityUserService.selectByPrimaryKey(2L)); |
| | | } else { |
| | | dynamicVO.setUser(activityUser); |
| | | } |
| | | // 图片 |
| | | List<GoodsPicture> listImg = new ArrayList<GoodsPicture>(); |
| | | if (StringUtil.isNullOrEmpty(picUrl)) { |
| | | dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ZERO); |
| | | } else { |
| | | dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ONE); |
| | | RecommendActivityInviteInfo inviteInfo = activity.getInviteInfo(); |
| | | |
| | | // 介绍内容 |
| | | List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>(); |
| | | if (!StringUtil.isNullOrEmpty(title)) { |
| | | ClientTextStyleVO row1 = new ClientTextStyleVO(); |
| | | row1.setColor("#333333"); |
| | | row1.setContent(title); |
| | | listtitle.add(row1); |
| | | } |
| | | Integer pX = null; |
| | | Integer pY = null; |
| | | Integer size = null; |
| | | if (inviteInfo != null) { |
| | | pX = inviteInfo.getPx(); |
| | | pY = inviteInfo.getPy(); |
| | | size = inviteInfo.getSize(); |
| | | } |
| | | |
| | | // 图片 |
| | | List<GoodsPicture> listImg = new ArrayList<GoodsPicture>(); |
| | | if (StringUtil.isNullOrEmpty(picUrl)) { |
| | | dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ZERO); |
| | | } else { |
| | | dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ONE); |
| | | RecommendActivityInviteInfo inviteInfo = activity.getInviteInfo(); |
| | | InputStream asInputStream = HttpUtil.getAsInputStream(picUrl); |
| | | |
| | | Integer pX = null; |
| | | Integer pY = null; |
| | | Integer size = null; |
| | | if (inviteInfo != null) { |
| | | pX = inviteInfo.getPx(); |
| | | pY = inviteInfo.getPy(); |
| | | size = inviteInfo.getSize(); |
| | | } |
| | | int index = picUrl.lastIndexOf("/"); |
| | | String newUrl = picUrl.substring(index + 1); |
| | | String urlMd5 = newUrl.substring(0, newUrl.lastIndexOf(".")); |
| | | |
| | | InputStream asInputStream = HttpUtil.getAsInputStream(picUrl); |
| | | |
| | | int index = picUrl.lastIndexOf("/"); |
| | | String newUrl = picUrl.substring(index + 1); |
| | | String urlMd5 = newUrl.substring(0, newUrl.lastIndexOf(".")); |
| | | |
| | | // 图片 |
| | | String imgLink = qrCodeService.drawInviteQrCodeNew(asInputStream, urlMd5, null, null, pX, pY, size, null); |
| | | GoodsPicture p2 = new GoodsPicture(); |
| | | p2.setW(100); |
| | | p2.setH(100); |
| | | p2.setUrl(imgLink); |
| | | p2.setUrlOriginal(picUrl); |
| | | p2.setPx(pX); |
| | | p2.setPy(pY); |
| | | p2.setSize(size); |
| | | // 图片 |
| | | String imgLink = qrCodeService.drawInviteQrCodeNew(asInputStream, urlMd5, null, null, pX, pY, size, null); |
| | | GoodsPicture p2 = new GoodsPicture(); |
| | | p2.setW(100); |
| | | p2.setH(100); |
| | | p2.setUrl(imgLink); |
| | | p2.setUrlOriginal(picUrl); |
| | | p2.setPx(pX); |
| | | p2.setPy(pY); |
| | | p2.setSize(size); |
| | | |
| | | listImg.add(p2); |
| | | } |
| | | listImg.add(p2); |
| | | } |
| | | |
| | | dynamicVO.setImgs(listImg); |
| | | dynamicVO.setTitle(listtitle); |
| | | dynamicVO.setImgs(listImg); |
| | | dynamicVO.setTitle(listtitle); |
| | | |
| | | if (!StringUtil.isNullOrEmpty(dynamicInfoId)) { |
| | | dynamicInfoDao.deleteById(dynamicInfoId); |
| | | } |
| | | if (!StringUtil.isNullOrEmpty(dynamicInfoId)) { |
| | | dynamicInfoDao.deleteById(dynamicInfoId); |
| | | } |
| | | |
| | | dynamicInfoDao.insert(dynamicVO); |
| | | } |
| | | dynamicInfoDao.insert(dynamicVO); |
| | | } |
| | | |
| | | @Override |
| | | public void insertActivityRecommend(RecommendActivity activity) { |
| | | if (activity == null || activity.getGoodsList() == null) { |
| | | return; |
| | | } |
| | | @Override |
| | | public void insertActivityRecommend(RecommendActivity activity) { |
| | | if (activity == null || activity.getGoodsList() == null) { |
| | | return; |
| | | } |
| | | |
| | | try { |
| | | String dynamicInfoId = null; |
| | | DynamicInfo dynamicInfo = dynamicInfoDao.getByActivityId(activity.getId()); |
| | | if (dynamicInfo == null) { |
| | | dynamicInfo = new DynamicInfo(); |
| | | dynamicInfo.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | dynamicInfo.setCreateTime(new Date()); |
| | | } else { |
| | | dynamicInfoId = dynamicInfo.getId(); |
| | | } |
| | | try { |
| | | String dynamicInfoId = null; |
| | | DynamicInfo dynamicInfo = dynamicInfoDao.getByActivityId(activity.getId()); |
| | | if (dynamicInfo == null) { |
| | | dynamicInfo = new DynamicInfo(); |
| | | dynamicInfo.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | dynamicInfo.setCreateTime(new Date()); |
| | | } else { |
| | | dynamicInfoId = dynamicInfo.getId(); |
| | | } |
| | | |
| | | dynamicInfo.setClassId(2L); |
| | | dynamicInfo.setSubclassId(0L); |
| | | dynamicInfo.setUser(activity.getActivityUser()); |
| | | dynamicInfo.setActivityId(activity.getId()); |
| | | dynamicInfo.setUpdateTime(new Date()); |
| | | dynamicInfo.setClassId(2L); |
| | | dynamicInfo.setSubclassId(0L); |
| | | dynamicInfo.setUser(activity.getActivityUser()); |
| | | dynamicInfo.setActivityId(activity.getId()); |
| | | dynamicInfo.setUpdateTime(new Date()); |
| | | |
| | | List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>(); |
| | | String title = activity.getTitle(); |
| | | if (!StringUtil.isNullOrEmpty(title)) { |
| | | title = title.replaceAll("<p>", ""); |
| | | title = title.replaceAll("</p>", ""); |
| | | title = title.replaceAll("<br>", "\n"); |
| | | List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>(); |
| | | String title = activity.getTitle(); |
| | | if (!StringUtil.isNullOrEmpty(title)) { |
| | | title = title.replaceAll("<p>", ""); |
| | | title = title.replaceAll("</p>", ""); |
| | | title = title.replaceAll("<br>", "\n"); |
| | | |
| | | int index = title.lastIndexOf("\n"); |
| | | String newDesc = title.substring(index + 1); |
| | | if (StringUtil.isNullOrEmpty(newDesc)) { |
| | | title = title.substring(0, index); |
| | | } |
| | | int index = title.lastIndexOf("\n"); |
| | | String newDesc = title.substring(index + 1); |
| | | if (StringUtil.isNullOrEmpty(newDesc)) { |
| | | title = title.substring(0, index); |
| | | } |
| | | |
| | | ClientTextStyleVO row1 = new ClientTextStyleVO(); |
| | | row1.setColor("#333333"); |
| | | row1.setContent(title); |
| | | listtitle.add(row1); |
| | | } |
| | | dynamicInfo.setTitle(listtitle); |
| | | ClientTextStyleVO row1 = new ClientTextStyleVO(); |
| | | row1.setColor("#333333"); |
| | | row1.setContent(title); |
| | | listtitle.add(row1); |
| | | } |
| | | dynamicInfo.setTitle(listtitle); |
| | | |
| | | Integer shareCount = activity.getShareCount(); |
| | | if (shareCount == null || shareCount <= 0) { |
| | | dynamicInfo.setShareCount(1000 + (int) (Math.random() * 8000)); |
| | | } else { |
| | | dynamicInfo.setShareCount(shareCount); |
| | | } |
| | | Integer shareCount = activity.getShareCount(); |
| | | if (shareCount == null || shareCount <= 0) { |
| | | dynamicInfo.setShareCount(1000 + (int) (Math.random() * 8000)); |
| | | } else { |
| | | dynamicInfo.setShareCount(shareCount); |
| | | } |
| | | |
| | | // 发布用户 |
| | | ActivityUser activityUser = activity.getActivityUser(); |
| | | if (activityUser == null) { |
| | | dynamicInfo.setUser(activityUserService.selectByPrimaryKey(2L)); |
| | | } else { |
| | | dynamicInfo.setUser(activityUser); |
| | | } |
| | | // 发布用户 |
| | | ActivityUser activityUser = activity.getActivityUser(); |
| | | if (activityUser == null) { |
| | | dynamicInfo.setUser(activityUserService.selectByPrimaryKey(2L)); |
| | | } else { |
| | | dynamicInfo.setUser(activityUser); |
| | | } |
| | | |
| | | List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); |
| | | // 商品列表 |
| | | List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>(); |
| | | BigDecimal proportion = hongBaoManageService.getFanLiRate(SystemEnum.blks); |
| | | // 分享奖金 |
| | | BigDecimal shareMoney = new BigDecimal(0); |
| | | List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); |
| | | // 商品列表 |
| | | List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>(); |
| | | BigDecimal proportion = hongBaoManageService.getFanLiRate(SystemEnum.blks); |
| | | // 分享奖金 |
| | | BigDecimal shareMoney = new BigDecimal(0); |
| | | |
| | | if (activity.getGoodsList() != null) { |
| | | for (RecommendActivityTaoBaoGoods activityGoods : activity.getGoodsList()) { |
| | | if (activity.getGoodsList() != null) { |
| | | for (RecommendActivityTaoBaoGoods activityGoods : activity.getGoodsList()) { |
| | | |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = null; |
| | | TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = null; |
| | | String auctionId = activityGoods.getAuctionId(); |
| | | try { |
| | | taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(auctionId)); |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = null; |
| | | TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = null; |
| | | String auctionId = activityGoods.getAuctionId(); |
| | | try { |
| | | taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(auctionId); |
| | | |
| | | taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, |
| | | proportion.toString(), null); |
| | | if (!taoBaoGoodsBriefExtra.isCoupon()) { |
| | | taoBaoGoodsBriefExtra.setState(1); |
| | | } |
| | | taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, |
| | | proportion.toString(), null); |
| | | if (!taoBaoGoodsBriefExtra.isCoupon()) { |
| | | taoBaoGoodsBriefExtra.setState(1); |
| | | } |
| | | |
| | | BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief,SystemEnum.blks); |
| | | shareMoney = MoneyBigDecimalUtil.add(shareMoney, money); |
| | | } catch (TaobaoGoodsDownException e) { |
| | | taoBaoGoodsBrief = activityGoods.getTaoBaoGoodsBrief(); |
| | | taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, |
| | | proportion.toString(), null); |
| | | taoBaoGoodsBriefExtra.setState(1); |
| | | taoBaoGoodsBriefExtra.setCoupon(false); |
| | | } |
| | | listGoods.add(taoBaoGoodsBrief); |
| | | BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief, SystemEnum.blks); |
| | | shareMoney = MoneyBigDecimalUtil.add(shareMoney, money); |
| | | } catch (TaobaoGoodsDownException e) { |
| | | taoBaoGoodsBrief = activityGoods.getTaoBaoGoodsBrief(); |
| | | taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, |
| | | proportion.toString(), null); |
| | | taoBaoGoodsBriefExtra.setState(1); |
| | | taoBaoGoodsBriefExtra.setCoupon(false); |
| | | } |
| | | listGoods.add(taoBaoGoodsBrief); |
| | | |
| | | // 商品图片 |
| | | taoBaoGoodsBriefExtra.setCouponInfo(null); |
| | | taoBaoGoodsBriefExtra.setUpdatetime(new Date()); |
| | | // 商品图片 |
| | | taoBaoGoodsBriefExtra.setCouponInfo(null); |
| | | taoBaoGoodsBriefExtra.setUpdatetime(new Date()); |
| | | |
| | | JSONObject item = new JSONObject(); |
| | | item.put("id", auctionId); |
| | | item.put("from", "dynamics"); |
| | | JSONObject item = new JSONObject(); |
| | | item.put("id", auctionId); |
| | | item.put("from", "dynamics"); |
| | | |
| | | GoodsPicture goodsPicture = new GoodsPicture(); |
| | | goodsPicture.setH(100); |
| | | goodsPicture.setW(100); |
| | | goodsPicture.setUrl(TbImgUtil.getTBSize320Img(taoBaoGoodsBrief.getPictUrl())); |
| | | goodsPicture.setJumpDetail(jumpDetailV2Service.getByTypeCache("goodsdetail")); |
| | | goodsPicture.setParams(item.toString()); |
| | | goodsPicture.setGoods(taoBaoGoodsBriefExtra); |
| | | GoodsPicture goodsPicture = new GoodsPicture(); |
| | | goodsPicture.setH(100); |
| | | goodsPicture.setW(100); |
| | | goodsPicture.setUrl(TbImgUtil.getTBSize320Img(taoBaoGoodsBrief.getPictUrl())); |
| | | goodsPicture.setJumpDetail(jumpDetailV2Service.getByTypeCache("goodsdetail", SystemEnum.blks)); |
| | | goodsPicture.setParams(item.toString()); |
| | | goodsPicture.setGoods(taoBaoGoodsBriefExtra); |
| | | |
| | | listPicture.add(goodsPicture); |
| | | } |
| | | } |
| | | dynamicInfo.setImgs(listPicture); |
| | | dynamicInfo.setListGoodsBrief(listGoods); |
| | | listPicture.add(goodsPicture); |
| | | } |
| | | } |
| | | dynamicInfo.setImgs(listPicture); |
| | | dynamicInfo.setListGoodsBrief(listGoods); |
| | | |
| | | ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); |
| | | shareMoneyDesc.setColor("#FFFFFF"); |
| | | shareMoneyDesc.setBottomColor("#E8AE48"); |
| | | shareMoneyDesc.setContent("预估分享奖金:¥" + shareMoney); |
| | | dynamicInfo.setDesc(shareMoneyDesc); |
| | | dynamicInfo.setShowType(2); |
| | | ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); |
| | | shareMoneyDesc.setColor("#FFFFFF"); |
| | | shareMoneyDesc.setBottomColor("#E8AE48"); |
| | | shareMoneyDesc.setContent("预估分享奖金:¥" + shareMoney); |
| | | dynamicInfo.setDesc(shareMoneyDesc); |
| | | dynamicInfo.setShowType(2); |
| | | |
| | | if (listPicture.size() < 7) { |
| | | dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_TWO); |
| | | dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_FOUR); // 分享类型4图 |
| | | } else { |
| | | dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_THREE); |
| | | dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_NINE); // 分享类型9图 |
| | | } |
| | | if (listPicture.size() < 7) { |
| | | dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_TWO); |
| | | dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_FOUR); // 分享类型4图 |
| | | } else { |
| | | dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_THREE); |
| | | dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_NINE); // 分享类型9图 |
| | | } |
| | | |
| | | if (!StringUtil.isNullOrEmpty(dynamicInfoId)) { |
| | | dynamicInfoDao.deleteById(dynamicInfoId); |
| | | } |
| | | // 保存信息 |
| | | dynamicInfoDao.insert(dynamicInfo); |
| | | if (!StringUtil.isNullOrEmpty(dynamicInfoId)) { |
| | | dynamicInfoDao.deleteById(dynamicInfoId); |
| | | } |
| | | // 保存信息 |
| | | dynamicInfoDao.insert(dynamicInfo); |
| | | |
| | | } catch (Exception e) { |
| | | try { |
| | | LogHelper.errorDetailInfo(e); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | try { |
| | | LogHelper.errorDetailInfo(e); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void deleteActivity(Long activityId) { |
| | | DynamicInfo dynamicInfo = dynamicInfoDao.getByActivityId(activityId); |
| | | if (dynamicInfo != null) { |
| | | // 删除之前的 |
| | | dynamicInfoDao.deleteById(dynamicInfo.getId()); |
| | | } |
| | | } |
| | | @Override |
| | | public void deleteActivity(Long activityId) { |
| | | DynamicInfo dynamicInfo = dynamicInfoDao.getByActivityId(activityId); |
| | | if (dynamicInfo != null) { |
| | | // 删除之前的 |
| | | dynamicInfoDao.deleteById(dynamicInfo.getId()); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void removeByDate(Date createTime) { |
| | | dynamicInfoDao.removeByDate(createTime); |
| | | } |
| | | @Override |
| | | public void removeByDate(Date createTime) { |
| | | dynamicInfoDao.removeByDate(createTime); |
| | | } |
| | | |
| | | @Override |
| | | public void updateShareCount(DynamicInfo record) { |
| | | dynamicInfoDao.updateShareCount(record); |
| | | } |
| | | @Override |
| | | public void updateShareCount(DynamicInfo record) { |
| | | dynamicInfoDao.updateShareCount(record); |
| | | } |
| | | |
| | | @Override |
| | | @Cacheable(value = "dynamicCache", key = "'count-'+#cid+'-'+#subId") |
| | | public long count(Long cid, Long subId) { |
| | | return dynamicInfoDao.count(cid, subId); |
| | | } |
| | | @Override |
| | | @Cacheable(value = "dynamicCache", key = "'count-'+#cid+'-'+#subId") |
| | | public long count(Long cid, Long subId) { |
| | | return dynamicInfoDao.count(cid, subId); |
| | | } |
| | | |
| | | @Override |
| | | @Cacheable(value = "dynamicCache", key = "'query-'+#start+'-'+#count+'-'+#cid+'-'+#subId") |
| | | public List<DynamicInfo> query(int start, int count, Long cid, Long subId) { |
| | | List<DynamicInfo> list = dynamicInfoDao.query(start, count, cid, subId); |
| | | @Override |
| | | @Cacheable(value = "dynamicCache", key = "'query-'+#start+'-'+#count+'-'+#cid+'-'+#subId") |
| | | public List<DynamicInfo> query(int start, int count, Long cid, Long subId) { |
| | | List<DynamicInfo> list = dynamicInfoDao.query(start, count, cid, subId); |
| | | |
| | | // 更新商品信息 |
| | | executor.execute(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | updateGoodInfo(list); |
| | | } |
| | | }); |
| | | // 更新商品信息 |
| | | executor.execute(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | updateGoodInfo(list); |
| | | } |
| | | }); |
| | | |
| | | return list; |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | private Map<Long, TaoBaoGoodsBrief> getFilterGoodsMap(List<DynamicInfo> list) { |
| | | // 提取过滤商品 |
| | | List<TaoBaoGoodsBrief> goodsList = new ArrayList<>(); |
| | | for (DynamicInfo dynamicInfo : list) { |
| | | List<GoodsPicture> gpList = dynamicInfo.getImgs(); |
| | | if (gpList != null) |
| | | for (GoodsPicture gp : gpList) { |
| | | if (gp != null && gp.getGoods() != null) { |
| | | TaoBaoGoodsBriefExtra newGoods = new TaoBaoGoodsBriefExtra(); |
| | | try { |
| | | PropertyUtils.copyProperties(newGoods, gp.getGoods()); |
| | | goodsList.add(newGoods); |
| | | } catch (IllegalAccessException e) { |
| | | e.printStackTrace(); |
| | | } catch (InvocationTargetException e) { |
| | | e.printStackTrace(); |
| | | } catch (NoSuchMethodException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | private Map<String, TaoBaoGoodsBrief> getFilterGoodsMap(List<DynamicInfo> list) { |
| | | // 提取过滤商品 |
| | | List<TaoBaoGoodsBrief> goodsList = new ArrayList<>(); |
| | | for (DynamicInfo dynamicInfo : list) { |
| | | List<GoodsPicture> gpList = dynamicInfo.getImgs(); |
| | | if (gpList != null) |
| | | for (GoodsPicture gp : gpList) { |
| | | if (gp != null && gp.getGoods() != null) { |
| | | TaoBaoGoodsBriefExtra newGoods = new TaoBaoGoodsBriefExtra(); |
| | | try { |
| | | PropertyUtils.copyProperties(newGoods, gp.getGoods()); |
| | | goodsList.add(newGoods); |
| | | } catch (IllegalAccessException e) { |
| | | e.printStackTrace(); |
| | | } catch (InvocationTargetException e) { |
| | | e.printStackTrace(); |
| | | } catch (NoSuchMethodException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | goodsList = taoBaoGoodsUpdateService.filterImportantTaoBaoGoods(goodsList); |
| | | Map<Long, TaoBaoGoodsBrief> map = new HashMap<>(); |
| | | if (goodsList != null) |
| | | for (TaoBaoGoodsBrief goods : goodsList) |
| | | map.put(goods.getAuctionId(), goods); |
| | | return map; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | goodsList = taoBaoGoodsUpdateService.filterImportantTaoBaoGoods(goodsList); |
| | | Map<String, TaoBaoGoodsBrief> map = new HashMap<>(); |
| | | if (goodsList != null) |
| | | for (TaoBaoGoodsBrief goods : goodsList) |
| | | map.put(goods.getAuctionId(), goods); |
| | | return map; |
| | | } |
| | | |
| | | @Override |
| | | @Cacheable(value = "dynamicCache", key = "'queryV2-'+#platform+'-'+#version+'-'+#start+'-'+#count+'-'+#cid+'-'+#subId") |
| | | public List<DynamicInfo> queryV2(int platform, int version, int start, int count, Long cid, Long subId) { |
| | | List<DynamicInfo> listNew = new ArrayList<DynamicInfo>(); |
| | | List<DynamicInfo> list = dynamicInfoDao.query(start, count, cid, subId); |
| | | // 需要更新的商品 |
| | | List<TaoBaoGoodsBrief> taoBaoGoodsUpdateList = new ArrayList<>(); |
| | | if (list != null && list.size() > 0) { |
| | | // 提取商品 |
| | | Map<Long, TaoBaoGoodsBrief> goodsMap = getFilterGoodsMap(list); |
| | | @Override |
| | | @Cacheable(value = "dynamicCache", key = "'queryV2-'+#platform+'-'+#version+'-'+#start+'-'+#count+'-'+#cid+'-'+#subId") |
| | | public List<DynamicInfo> queryV2(int platform, int version, int start, int count, Long cid, Long subId) { |
| | | List<DynamicInfo> listNew = new ArrayList<DynamicInfo>(); |
| | | List<DynamicInfo> list = dynamicInfoDao.query(start, count, cid, subId); |
| | | // 需要更新的商品 |
| | | List<TaoBaoGoodsBrief> taoBaoGoodsUpdateList = new ArrayList<>(); |
| | | if (list != null && list.size() > 0) { |
| | | // 提取商品 |
| | | Map<String, TaoBaoGoodsBrief> goodsMap = getFilterGoodsMap(list); |
| | | |
| | | BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(SystemEnum.blks); |
| | | BigDecimal shareRate = hongBaoManageService.getShareRate(SystemEnum.blks); |
| | | ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP,SystemEnum.blks)); |
| | | BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(SystemEnum.blks); |
| | | BigDecimal shareRate = hongBaoManageService.getShareRate(SystemEnum.blks); |
| | | GoodsMoneyConfigParamsDTO paramsDTO = new GoodsMoneyConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE, hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP, SystemEnum.blks)); |
| | | |
| | | for (DynamicInfo dynamicInfo : list) { |
| | | DynamicInfo dynamicNew = new DynamicInfo(); |
| | | try { |
| | | PropertyUtils.copyProperties(dynamicNew, dynamicInfo); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | continue; |
| | | } |
| | | for (DynamicInfo dynamicInfo : list) { |
| | | DynamicInfo dynamicNew = new DynamicInfo(); |
| | | try { |
| | | PropertyUtils.copyProperties(dynamicNew, dynamicInfo); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | continue; |
| | | } |
| | | |
| | | // 店铺信息 |
| | | TaoBaoShop shop = dynamicNew.getShop(); |
| | | if (shop != null) { |
| | | TaoBaoShop shopNew = new TaoBaoShop(); |
| | | try { |
| | | PropertyUtils.copyProperties(shopNew, shop); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | continue; |
| | | } |
| | | Integer userType = shopNew.getUserType(); |
| | | if (userType == null || userType == 0) { |
| | | shopNew.setUserType(10); |
| | | } else { |
| | | shopNew.setUserType(11); |
| | | } |
| | | dynamicNew.setShop(shopNew); |
| | | } |
| | | // 店铺信息 |
| | | TaoBaoShop shop = dynamicNew.getShop(); |
| | | if (shop != null) { |
| | | TaoBaoShop shopNew = new TaoBaoShop(); |
| | | try { |
| | | PropertyUtils.copyProperties(shopNew, shop); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | continue; |
| | | } |
| | | Integer userType = shopNew.getUserType(); |
| | | if (userType == null || userType == 0) { |
| | | shopNew.setUserType(10); |
| | | } else { |
| | | shopNew.setUserType(11); |
| | | } |
| | | dynamicNew.setShop(shopNew); |
| | | } |
| | | |
| | | List<GoodsPicture> imgsNew = new ArrayList<GoodsPicture>(); |
| | | List<GoodsPicture> imgs = dynamicNew.getImgs(); |
| | | if (imgs != null && imgs.size() > 0) { |
| | | for (GoodsPicture goodsPicture : imgs) { |
| | | TaoBaoGoodsBriefExtra goods = goodsPicture.getGoods(); |
| | | if (goods == null) { |
| | | imgsNew.add(goodsPicture); |
| | | continue; |
| | | } |
| | | List<GoodsPicture> imgsNew = new ArrayList<GoodsPicture>(); |
| | | List<GoodsPicture> imgs = dynamicNew.getImgs(); |
| | | if (imgs != null && imgs.size() > 0) { |
| | | for (GoodsPicture goodsPicture : imgs) { |
| | | TaoBaoGoodsBriefExtra goods = goodsPicture.getGoods(); |
| | | if (goods == null) { |
| | | imgsNew.add(goodsPicture); |
| | | continue; |
| | | } |
| | | |
| | | taoBaoGoodsUpdateList.add(goods); |
| | | taoBaoGoodsUpdateList.add(goods); |
| | | |
| | | GoodsPicture goodsNew = new GoodsPicture(); |
| | | try { |
| | | PropertyUtils.copyProperties(goodsNew, goodsPicture); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | continue; |
| | | } |
| | | GoodsPicture goodsNew = new GoodsPicture(); |
| | | try { |
| | | PropertyUtils.copyProperties(goodsNew, goodsPicture); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | continue; |
| | | } |
| | | |
| | | // 过滤券信息与资金信息 |
| | | goods.setCouponAmount(goodsMap.get(goods.getAuctionId()).getCouponAmount()); |
| | | goods.setZkPrice(goodsMap.get(goods.getAuctionId()).getZkPrice()); |
| | | goods.setCouponStartFee(goodsMap.get(goods.getAuctionId()).getCouponStartFee()); |
| | | goods.setTkRate(goodsMap.get(goods.getAuctionId()).getTkRate()); |
| | | // 过滤券信息与资金信息 |
| | | goods.setCouponAmount(goodsMap.get(goods.getAuctionId()).getCouponAmount()); |
| | | goods.setZkPrice(goodsMap.get(goods.getAuctionId()).getZkPrice()); |
| | | goods.setCouponStartFee(goodsMap.get(goods.getAuctionId()).getCouponStartFee()); |
| | | goods.setTkRate(goodsMap.get(goods.getAuctionId()).getTkRate()); |
| | | |
| | | GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBaoGoodsBriefExtra(goods, paramsDTO); |
| | | GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBaoGoodsBriefExtra(goods, paramsDTO); |
| | | |
| | | goodsNew.setGoodsVO(detailVO); |
| | | goodsNew.setGoods(null); |
| | | goodsNew.setGoodsVO(detailVO); |
| | | goodsNew.setGoods(null); |
| | | |
| | | JumpDetailV2 jumpDetail = goodsNew.getJumpDetail(); |
| | | if (jumpDetail != null) { |
| | | JumpDetailV2 jumpDetailV2 = jumpDetailV2Service.getByTypeCache(jumpDetail.getType(), |
| | | platform, version); |
| | | if (jumpDetailV2 != null) { |
| | | goodsNew.setJumpDetail(jumpDetailV2); |
| | | } |
| | | } |
| | | JumpDetailV2 jumpDetail = goodsNew.getJumpDetail(); |
| | | if (jumpDetail != null) { |
| | | JumpDetailV2 jumpDetailV2 = jumpDetailV2Service.getByTypeCache(jumpDetail.getType(), |
| | | platform, version, SystemEnum.blks); |
| | | if (jumpDetailV2 != null) { |
| | | goodsNew.setJumpDetail(jumpDetailV2); |
| | | } |
| | | } |
| | | |
| | | imgsNew.add(goodsNew); |
| | | } |
| | | dynamicNew.setImgs(imgsNew); |
| | | } |
| | | listNew.add(dynamicNew); |
| | | } |
| | | } |
| | | imgsNew.add(goodsNew); |
| | | } |
| | | dynamicNew.setImgs(imgsNew); |
| | | } |
| | | listNew.add(dynamicNew); |
| | | } |
| | | } |
| | | |
| | | // 更新商品信息 |
| | | executor.execute(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | updateGoodInfo(list); |
| | | } |
| | | }); |
| | | // 更新商品信息 |
| | | executor.execute(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | updateGoodInfo(list); |
| | | } |
| | | }); |
| | | |
| | | taoBaoGoodsUpdateService.addUpdateQueueAsync(taoBaoGoodsUpdateList); |
| | | return listNew; |
| | | } |
| | | taoBaoGoodsUpdateService.addUpdateQueueAsync(taoBaoGoodsUpdateList); |
| | | return listNew; |
| | | } |
| | | |
| | | /** |
| | | * 更新商品信息 |
| | | */ |
| | | public void updateGoodInfo(List<DynamicInfo> list) { |
| | | if (!Constant.IS_OUTNET) { |
| | | return; // 外网进行更新 |
| | | } |
| | | /** |
| | | * 更新商品信息 |
| | | */ |
| | | public void updateGoodInfo(List<DynamicInfo> list) { |
| | | if (!Constant.IS_OUTNET) { |
| | | return; // 外网进行更新 |
| | | } |
| | | |
| | | if (list == null || list.size() == 0) { |
| | | return; |
| | | } |
| | | if (list == null || list.size() == 0) { |
| | | return; |
| | | } |
| | | |
| | | try { |
| | | BigDecimal proportion = hongBaoManageService.getFanLiRate(SystemEnum.blks); |
| | | for (DynamicInfo dynamicInfo : list) { |
| | | // 邀请数据不做更新 |
| | | long classId = dynamicInfo.getClassId(); |
| | | if (classId == 4) { |
| | | break; |
| | | } |
| | | try { |
| | | BigDecimal proportion = hongBaoManageService.getFanLiRate(SystemEnum.blks); |
| | | for (DynamicInfo dynamicInfo : list) { |
| | | // 邀请数据不做更新 |
| | | long classId = dynamicInfo.getClassId(); |
| | | if (classId == 4) { |
| | | break; |
| | | } |
| | | |
| | | // 更新商品信息 |
| | | List<GoodsPicture> listPicture = dynamicInfo.getImgs(); |
| | | if (listPicture == null || listPicture.size() == 0) { |
| | | continue; |
| | | } |
| | | // 更新商品信息 |
| | | List<GoodsPicture> listPicture = dynamicInfo.getImgs(); |
| | | if (listPicture == null || listPicture.size() == 0) { |
| | | continue; |
| | | } |
| | | |
| | | // 是否一个小时之内已更新 |
| | | Date updateTime = dynamicInfo.getUpdateTime(); |
| | | if (updateTime != null) { |
| | | long nd = 1000 * 24 * 60 * 60;// 一天的毫秒数 |
| | | long nh = 1000 * 60 * 60;// 一小时的毫秒数 |
| | | long diff = System.currentTimeMillis() - updateTime.getTime(); |
| | | long day = diff / nd;// 计算差多少天 |
| | | long hour = diff % nd / nh + day * 24;// 计算差多少小时 |
| | | if (hour < 1) { |
| | | continue; |
| | | } |
| | | } |
| | | // 是否一个小时之内已更新 |
| | | Date updateTime = dynamicInfo.getUpdateTime(); |
| | | if (updateTime != null) { |
| | | long nd = 1000 * 24 * 60 * 60;// 一天的毫秒数 |
| | | long nh = 1000 * 60 * 60;// 一小时的毫秒数 |
| | | long diff = System.currentTimeMillis() - updateTime.getTime(); |
| | | long day = diff / nd;// 计算差多少天 |
| | | long hour = diff % nd / nh + day * 24;// 计算差多少小时 |
| | | if (hour < 1) { |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | boolean needUpdate = false; |
| | | // 已下架ID |
| | | List<Long> listDown = new ArrayList<Long>(); |
| | | // 商品列表 |
| | | List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); |
| | | boolean needUpdate = false; |
| | | // 已下架ID |
| | | List<String> listDown = new ArrayList<>(); |
| | | // 商品列表 |
| | | List<TaoBaoGoodsBrief> listGoods = new ArrayList<>(); |
| | | |
| | | for (GoodsPicture goodsPicture : listPicture) { |
| | | TaoBaoGoodsBriefExtra oldExtra = goodsPicture.getGoods(); |
| | | if (oldExtra == null) { |
| | | continue; |
| | | } |
| | | for (GoodsPicture goodsPicture : listPicture) { |
| | | TaoBaoGoodsBriefExtra oldExtra = goodsPicture.getGoods(); |
| | | if (oldExtra == null) { |
| | | continue; |
| | | } |
| | | |
| | | /* |
| | | * Integer state = oldExtra.getState(); if (state != null && state == 1) { |
| | | * continue; } |
| | | */ |
| | | /* |
| | | * Integer state = oldExtra.getState(); if (state != null && state == 1) { |
| | | * continue; } |
| | | */ |
| | | |
| | | TaoBaoGoodsBrief goodsBrief = null; |
| | | try { |
| | | goodsBrief = redisManager.getTaoBaoGoodsBrief(oldExtra.getAuctionId()); |
| | | } catch (TaobaoGoodsDownException e) { |
| | | } |
| | | TaoBaoGoodsBrief goodsBrief = null; |
| | | try { |
| | | goodsBrief = redisManager.getTaoBaoGoodsBrief(oldExtra.getAuctionId()); |
| | | } catch (TaobaoGoodsDownException e) { |
| | | } |
| | | |
| | | // 是否下架 : 1、商品本身下架 2、无券信息则认为下架 |
| | | boolean isDown = true; |
| | | // 是否下架 : 1、商品本身下架 2、无券信息则认为下架 |
| | | boolean isDown = true; |
| | | |
| | | if (goodsBrief == null) { |
| | | listDown.add(oldExtra.getAuctionId()); // 下架商品 |
| | | } else if (goodsBrief.getCouponAmount() != null |
| | | && goodsBrief.getCouponAmount().compareTo(BigDecimal.valueOf(0)) > 0) { |
| | | isDown = false; |
| | | } |
| | | if (goodsBrief == null) { |
| | | listDown.add(oldExtra.getAuctionId()); // 下架商品 |
| | | } else if (goodsBrief.getCouponAmount() != null |
| | | && goodsBrief.getCouponAmount().compareTo(BigDecimal.valueOf(0)) > 0) { |
| | | isDown = false; |
| | | } |
| | | |
| | | if (isDown) { |
| | | oldExtra.setState(1); |
| | | oldExtra.setCoupon(false); |
| | | oldExtra.setUpdatetime(new Date()); |
| | | goodsPicture.setGoods(oldExtra); |
| | | if (isDown) { |
| | | oldExtra.setState(1); |
| | | oldExtra.setCoupon(false); |
| | | oldExtra.setUpdatetime(new Date()); |
| | | goodsPicture.setGoods(oldExtra); |
| | | |
| | | // 商品已抢光 |
| | | goodsPicture.setGoodState(1); |
| | | // 商品已抢光 |
| | | goodsPicture.setGoodState(1); |
| | | |
| | | // 更新热销单品的分享奖金 |
| | | if (classId == 1) { |
| | | ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); |
| | | shareMoneyDesc.setColor("#FFFFFF"); |
| | | shareMoneyDesc.setBottomColor("#E8AE48"); |
| | | shareMoneyDesc.setContent("预估分享奖金:¥" + new BigDecimal(0)); |
| | | dynamicInfo.setDesc(shareMoneyDesc); |
| | | } |
| | | } else { |
| | | listGoods.add(goodsBrief); |
| | | // 更新热销单品的分享奖金 |
| | | if (classId == 1) { |
| | | ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); |
| | | shareMoneyDesc.setColor("#FFFFFF"); |
| | | shareMoneyDesc.setBottomColor("#E8AE48"); |
| | | shareMoneyDesc.setContent("预估分享奖金:¥" + new BigDecimal(0)); |
| | | dynamicInfo.setDesc(shareMoneyDesc); |
| | | } |
| | | } else { |
| | | listGoods.add(goodsBrief); |
| | | |
| | | TaoBaoGoodsBriefExtra newExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, |
| | | proportion.toString(), null); |
| | | newExtra.setUpdatetime(new Date()); |
| | | goodsPicture.setGoods(newExtra); |
| | | TaoBaoGoodsBriefExtra newExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, |
| | | proportion.toString(), null); |
| | | newExtra.setUpdatetime(new Date()); |
| | | goodsPicture.setGoods(newExtra); |
| | | |
| | | // 更新热销单品的分享奖金 |
| | | if (classId == 1) { |
| | | BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief,SystemEnum.blks); |
| | | ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); |
| | | shareMoneyDesc.setColor("#FFFFFF"); |
| | | shareMoneyDesc.setBottomColor("#E8AE48"); |
| | | shareMoneyDesc.setContent("预估分享奖金:¥" + shareMoney); |
| | | dynamicInfo.setDesc(shareMoneyDesc); |
| | | } |
| | | } |
| | | // 更新热销单品的分享奖金 |
| | | if (classId == 1) { |
| | | BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief, SystemEnum.blks); |
| | | ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); |
| | | shareMoneyDesc.setColor("#FFFFFF"); |
| | | shareMoneyDesc.setBottomColor("#E8AE48"); |
| | | shareMoneyDesc.setContent("预估分享奖金:¥" + shareMoney); |
| | | dynamicInfo.setDesc(shareMoneyDesc); |
| | | } |
| | | } |
| | | |
| | | // 需要更新信息; |
| | | needUpdate = true; |
| | | } |
| | | // 需要更新信息; |
| | | needUpdate = true; |
| | | } |
| | | |
| | | // 无效更新信息 |
| | | if (!needUpdate) { |
| | | continue; |
| | | } |
| | | // 无效更新信息 |
| | | if (!needUpdate) { |
| | | continue; |
| | | } |
| | | |
| | | // 更新商品信息 |
| | | dynamicInfo.setImgs(listPicture); |
| | | // 更新商品信息 |
| | | dynamicInfo.setImgs(listPicture); |
| | | |
| | | // 商品已下架 |
| | | List<TaoBaoGoodsBrief> listGoodsBrief = dynamicInfo.getListGoodsBrief(); |
| | | if (listGoodsBrief != null && listGoodsBrief.size() > 0) { |
| | | // 淘宝已下架商品 |
| | | if (listDown.size() > 0) { |
| | | for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) { |
| | | if (listDown.contains(taoBaoGoodsBrief.getAuctionId())) { |
| | | taoBaoGoodsBrief.setState(1); |
| | | } |
| | | } |
| | | } |
| | | // 商品已下架 |
| | | List<TaoBaoGoodsBrief> listGoodsBrief = dynamicInfo.getListGoodsBrief(); |
| | | if (listGoodsBrief != null && listGoodsBrief.size() > 0) { |
| | | // 淘宝已下架商品 |
| | | if (listDown.size() > 0) { |
| | | for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) { |
| | | if (listDown.contains(taoBaoGoodsBrief.getAuctionId())) { |
| | | taoBaoGoodsBrief.setState(1); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (listGoods.size() == 0) { |
| | | dynamicInfo.setListGoodsBrief(listGoodsBrief); |
| | | } else { |
| | | List<TaoBaoGoodsBrief> listNew = new ArrayList<TaoBaoGoodsBrief>(); |
| | | for (int i = 0; i < listGoodsBrief.size(); i++) { |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = listGoodsBrief.get(i); |
| | | if (taoBaoGoodsBrief.getState() != null && taoBaoGoodsBrief.getState() == 1) { |
| | | listNew.add(taoBaoGoodsBrief); |
| | | } else { |
| | | boolean isUpdate = false; |
| | | Long auctionId = taoBaoGoodsBrief.getAuctionId(); |
| | | for (TaoBaoGoodsBrief goods : listGoods) { |
| | | if (goods.getAuctionId().equals(auctionId) || goods.getAuctionId() == auctionId) { |
| | | listNew.add(goods); |
| | | isUpdate = true; |
| | | break; |
| | | } |
| | | } |
| | | if (listGoods.size() == 0) { |
| | | dynamicInfo.setListGoodsBrief(listGoodsBrief); |
| | | } else { |
| | | List<TaoBaoGoodsBrief> listNew = new ArrayList<TaoBaoGoodsBrief>(); |
| | | for (int i = 0; i < listGoodsBrief.size(); i++) { |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = listGoodsBrief.get(i); |
| | | if (taoBaoGoodsBrief.getState() != null && taoBaoGoodsBrief.getState() == 1) { |
| | | listNew.add(taoBaoGoodsBrief); |
| | | } else { |
| | | boolean isUpdate = false; |
| | | String auctionId = taoBaoGoodsBrief.getAuctionId(); |
| | | for (TaoBaoGoodsBrief goods : listGoods) { |
| | | if (TaoBaoUtil.isEqual( goods.getAuctionId(),auctionId)) { |
| | | listNew.add(goods); |
| | | isUpdate = true; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (!isUpdate) { |
| | | listNew.add(taoBaoGoodsBrief); |
| | | } |
| | | } |
| | | } |
| | | dynamicInfo.setListGoodsBrief(listNew); |
| | | } |
| | | } |
| | | dynamicInfo.setUpdateTime(new Date()); |
| | | dynamicInfoDao.updateGoodInfo(dynamicInfo); |
| | | } |
| | | } catch (Exception e) { |
| | | LogHelper.errorDetailInfo(e); |
| | | } |
| | | if (!isUpdate) { |
| | | listNew.add(taoBaoGoodsBrief); |
| | | } |
| | | } |
| | | } |
| | | dynamicInfo.setListGoodsBrief(listNew); |
| | | } |
| | | } |
| | | dynamicInfo.setUpdateTime(new Date()); |
| | | dynamicInfoDao.updateGoodInfo(dynamicInfo); |
| | | } |
| | | } catch (Exception e) { |
| | | LogHelper.errorDetailInfo(e); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | } |