From ff942c3f9f6fe84f6d141c87f47e58bf70273d40 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期五, 24 五月 2019 15:13:42 +0800
Subject: [PATCH] 动态 二维码样式修改 已下架商品不提供分享
---
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java | 561 +++++++++++++++++++++++++++++++++----------------------
1 files changed, 334 insertions(+), 227 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java
index 9797aa5..574dac7 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java
@@ -20,6 +20,7 @@
import com.yeshi.fanli.dto.taobao.TaoBaoShopDTO;
import com.yeshi.fanli.entity.bus.activity.ActivityUser;
import com.yeshi.fanli.entity.bus.activity.RecommendActivity;
+import com.yeshi.fanli.entity.bus.activity.RecommendActivityInviteInfo;
import com.yeshi.fanli.entity.bus.activity.RecommendActivityTaoBaoGoods;
import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
import com.yeshi.fanli.entity.dynamic.DynamicInfo;
@@ -111,6 +112,8 @@
String materialId = inviteMaterial.getId();
String content = inviteMaterial.getText();
+ ActivityUser user=activityUserService.selectByPrimaryKey(2L);
+
if (!StringUtil.isNullOrEmpty(content)) {
DynamicInfo dynamicTxt= new DynamicInfo();
dynamicTxt.setId(UUID.randomUUID().toString().replace("-", ""));
@@ -119,7 +122,7 @@
dynamicTxt.setSubclassId(0L);
dynamicTxt.setShowType(DynamicInfo.SHOW_TYPE_ZERO);
dynamicTxt.setShareType(DynamicInfo.SHARE_TYPE_INVITE);
- dynamicTxt.setUser(activityUserService.listRand(1).get(0));
+ dynamicTxt.setUser(user);
dynamicTxt.setShareCount(1000 + (int) (Math.random() * 8000));
dynamicTxt.setCreateTime(date);
dynamicTxt.setUpdateTime(date);
@@ -127,7 +130,7 @@
SimpleDateFormat format = new SimpleDateFormat("MM鏈坉d鏃�");
StringBuffer buffer = new StringBuffer();
- buffer.append("------------------------------------------\n");
+ buffer.append("-------------------\n");
buffer.append("浠婂ぉ : " + format.format(date));
buffer.append(" ");
buffer.append(DateLunarUtil.getWeekd(date) + "\n");
@@ -161,7 +164,7 @@
dynamicPic.setSubclassId(0L);
dynamicPic.setShowType(DynamicInfo.SHOW_TYPE_ONE);
dynamicPic.setShareType(DynamicInfo.SHARE_TYPE_INVITE);
- dynamicPic.setUser(activityUserService.listRand(1).get(0));
+ dynamicPic.setUser(user);
dynamicPic.setShareCount(1000 + (int) (Math.random() * 8000));
dynamicPic.setCreateTime(date);
dynamicPic.setUpdateTime(date);
@@ -334,7 +337,8 @@
DaTaoKeDetail daTaoKeDetail = null;
// 鍟嗗搧鍒楄〃
List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>();
-
+ // 鍟嗗搧鍒楄〃
+ List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
// 鍒嗕韩濂栭噾
BigDecimal shareMoney = new BigDecimal(0);
@@ -344,8 +348,9 @@
daTaoKeDetail = daTaoKe;
}
// 鍒嗕韩濂栭噾
-
TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(daTaoKe);
+ listGoods.add(taoBaoGoodsBrief);
+
TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null);
if (!taoBaoGoodsBriefExtra.isCoupon()) {
taoBaoGoodsBriefExtra.setState(1);
@@ -369,6 +374,7 @@
// 鍙戝竷鐢ㄦ埛
dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(cid));
dynamicInfo.setImgs(listPicture);
+ dynamicInfo.setListGoodsBrief(listGoods);
ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
shareMoneyDesc.setColor("#FFFFFF");
@@ -447,13 +453,16 @@
// 澶ф窐瀹㈡暟鎹�
DaTaoKeDetail daTaoKe = daTaoKeGoodsService.getGoodsNotInList(subclassId, listId, 1).get(0);
-
+ List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(daTaoKe);
+ listGoods.add(taoBaoGoodsBrief);
+
BigDecimal proportion = hongBaoManageService.getFanLiRate();
TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null);
if (!taoBaoGoodsBriefExtra.isCoupon()) {
taoBaoGoodsBriefExtra.setState(1);
}
+ taoBaoGoodsBriefExtra.setTkRate(taoBaoGoodsBrief.getTkRate());
// 鍒嗕韩濂栭噾
BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief);
@@ -504,6 +513,7 @@
dynamicInfo.setDesc(shareMoneyDesc);
dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_ONE);
dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_TWO);
+ dynamicInfo.setListGoodsBrief(listGoods);
String desc = DaTaoKeUtil.getDesc(daTaoKe);
if (!StringUtil.isNullOrEmpty(desc)) {
@@ -577,29 +587,48 @@
return goodsPicture;
}
- @Override
- public void updateShareCount(DynamicInfo record) {
- dynamicInfoDao.updateShareCount(record);
- }
@Override
- public void insertInviteMaterial(String title, String picUrl, Long activityId, ActivityUser activityUser) {
+ public void insertInviteActivity(RecommendActivity activity) throws Exception{
- DynamicInfo existInfo = null;
- if (activityId != null) {
- existInfo = dynamicInfoDao.getByActivityId(activityId);
- if (existInfo != null) {
- dynamicInfoDao.deleteById(existInfo.getId());
- }
+ String title = activity.getTitle();
+
+ String picUrl = null;
+ List<String> imageList = activity.getImageList();
+ if (imageList != null && imageList.size() > 0) {
+ picUrl = imageList.get(0);
+ }
+
+ 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>", "");
+ title = title.replaceAll("</p>", "");
+ title = title.replaceAll("<br>", "\n");
- if (!StringUtil.isNullOrEmpty(title)) {
- title = title.replace("<p>", "");
- title = title.replace("</p>", "");
+ int index = title.lastIndexOf("\n");
+ String newDesc = title.substring(index + 1);
+ if(StringUtil.isNullOrEmpty(newDesc)) {
+ title = title.substring(0, index);
}
}
- DynamicInfo dynamicVO = new DynamicInfo();
dynamicVO.setId(UUID.randomUUID().toString().replace("-", ""));
dynamicVO.setActivityId(activityId);
dynamicVO.setClassId(4L);
@@ -607,64 +636,228 @@
dynamicVO.setShareType(DynamicInfo.SHARE_TYPE_INVITE);
dynamicVO.setUpdateTime(new Date());
- if (existInfo != null) {
- dynamicVO.setCreateTime(existInfo.getCreateTime());
- dynamicVO.setShareCount(existInfo.getShareCount());
- } else {
- dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8));
+
+ Integer shareCount = activity.getShareCount();
+ if (shareCount == null || shareCount <= 0) {
dynamicVO.setShareCount(1000 + (int) (Math.random() * 8000));
+ } else {
+ dynamicVO.setShareCount(shareCount);
}
+ // 鍙戝竷鐢ㄦ埛
+ ActivityUser activityUser = activity.getActivityUser();
if (activityUser == null) {
- dynamicVO.setUser(activityUserService.listRand(1).get(0));
+ dynamicVO.setUser(activityUserService.selectByPrimaryKey(2L));
} else {
dynamicVO.setUser(activityUser);
}
+ // 浠嬬粛鍐呭
List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>();
-
-
- List<GoodsPicture> listImg = new ArrayList<GoodsPicture>();
- if(StringUtil.isNullOrEmpty(picUrl)) {
- dynamicVO.setImgs(listImg);
- dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ZERO);
-
- // 浠嬬粛鍐呭
+ if(!StringUtil.isNullOrEmpty(title)) {
ClientTextStyleVO row1 = new ClientTextStyleVO();
row1.setColor("#333333");
- row1.setContent(title);
+ row1.setContent(title );
listtitle.add(row1);
- dynamicVO.setTitle(listtitle);
- dynamicInfoDao.insert(dynamicVO);
- } else {
- try {
- dynamicVO.setTitle(listtitle);
- dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ONE);
-
- // 鍥剧墖
- String imgLink = qrCodeService.drawInviteQrCodeNew(picUrl , null, null, null);
- GoodsPicture p2 = new GoodsPicture();
- p2.setW(100);
- p2.setH(100);
- p2.setUrl(imgLink);
- p2.setUrlOriginal(picUrl);
- listImg.add(p2);
- dynamicVO.setImgs(listImg);
-
-
- dynamicInfoDao.insert(dynamicVO);
- } catch (Exception e) {
- try {
- LogHelper.errorDetailInfo(e);
- } catch (Exception e1) {
- e1.printStackTrace();
- }
- }
}
+
+ // 鍥剧墖
+ 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();
+
+ Integer pX = null;
+ Integer pY = null;
+ Integer size = null;
+ if (inviteInfo != null) {
+ pX = inviteInfo.getPx();
+ pY = inviteInfo.getPy();
+ size = inviteInfo.getSize();
+ }
+
+ // 鍥剧墖
+ String imgLink = qrCodeService.drawInviteQrCodeNew(picUrl , 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);
+ }
+
+ dynamicVO.setImgs(listImg);
+ dynamicVO.setTitle(listtitle);
+
+ if (!StringUtil.isNullOrEmpty(dynamicInfoId)) {
+ dynamicInfoDao.deleteById(dynamicInfoId);
+ }
+
+ dynamicInfoDao.insert(dynamicVO);
}
+
+ @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();
+ }
+
+ 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");
+
+ 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);
+
+
+ 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);
+ }
+
+ List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
+ // 鍟嗗搧鍒楄〃
+ List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>();
+ BigDecimal proportion = hongBaoManageService.getFanLiRate();
+ // 鍒嗕韩濂栭噾
+ BigDecimal shareMoney = new BigDecimal(0);
+
+ 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));
+
+ taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null);
+ if (!taoBaoGoodsBriefExtra.isCoupon()) {
+ taoBaoGoodsBriefExtra.setState(1);
+ }
+
+ BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief);
+ 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());
+
+ 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);
+
+ 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);
+
+ 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);
+
+ } 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
@@ -672,6 +865,32 @@
dynamicInfoDao.removeByDate(createTime);
}
+ @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 = "'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);
+ }
+ });
+
+ return list;
+ }
/**
@@ -709,8 +928,9 @@
}
}
- // 鏇存柊
- BigDecimal shareMoney = new BigDecimal(0);
+ // 鍟嗗搧鍒楄〃
+ List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
+
for (GoodsPicture goodsPicture: imgs) {
TaoBaoGoodsBriefExtra oldExtra = goodsPicture.getGoods();
if (oldExtra == null) {
@@ -724,6 +944,18 @@
try {
TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(oldExtra.getAuctionId());
+ listGoods.add(goodsBrief);
+
+ // 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲� 锛屽叾浣欎笉鍋氭洿鏂�
+ if (classId == 1) {
+ BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief);
+ ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
+ shareMoneyDesc.setColor("#FFFFFF");
+ shareMoneyDesc.setBottomColor("#E8AE48");
+ shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + shareMoney);
+ dynamicInfo.setDesc(shareMoneyDesc);
+ }
+
TaoBaoGoodsBriefExtra newExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion.toString(), null);
if (!newExtra.isCoupon()) {
@@ -732,183 +964,58 @@
newExtra.setUpdatetime(new Date());
goodsPicture.setGoods(newExtra);
-
- // 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲� 锛屽叾浣欎笉鍋氭洿鏂�
- if (classId == 1) {
- BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief);
- shareMoney = MoneyBigDecimalUtil.add(shareMoney, money);
- }
-
} catch (TaobaoGoodsDownException e) {
oldExtra.setState(1);
oldExtra.setCoupon(false);
oldExtra.setUpdatetime(new Date());
goodsPicture.setGoods(oldExtra);
+
+ // 鍟嗗搧鐪熷疄涓嬫灦
+ goodsPicture.setGoodState(1);
+
+ // 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲� 锛屽叾浣欎笉鍋氭洿鏂�
+ if (classId == 1) {
+ ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
+ shareMoneyDesc.setColor("#FFFFFF");
+ shareMoneyDesc.setBottomColor("#E8AE48");
+ shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + new BigDecimal(0));
+ dynamicInfo.setDesc(shareMoneyDesc);
+ }
e.printStackTrace();
}
}
- // 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲� 锛屽叾浣欎笉鍋氭洿鏂�
- if (classId == 1) {
- ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
- shareMoneyDesc.setColor("#FFFFFF");
- shareMoneyDesc.setBottomColor("#E8AE48");
- shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + shareMoney);
- dynamicInfo.setDesc(shareMoneyDesc);
+ // 鏇存柊鍟嗗搧
+ List<TaoBaoGoodsBrief> listGoodsBrief = dynamicInfo.getListGoodsBrief();
+ if (listGoods != null && listGoods.size() > 0 && listGoodsBrief != null && listGoodsBrief.size() > 0) {
+
+ if (classId == 1) {
+ dynamicInfo.setListGoodsBrief(listGoods);
+ } else {
+ for (int i =0; i < listGoodsBrief.size(); i ++) {
+ TaoBaoGoodsBrief taoBaoGoodsBrief = listGoodsBrief.get(i);
+ Long auctionId = taoBaoGoodsBrief.getAuctionId();
+
+ boolean isadd = true;
+ for (TaoBaoGoodsBrief goods: listGoods) {
+ if(goods.getAuctionId().equals(auctionId) || goods.getAuctionId() == auctionId) {
+ isadd = false;
+ break;
+ }
+ }
+
+ // 鍟嗗搧宸蹭笅鏋� 鍒欐坊鍔犲師鏉ュ晢鍝佷俊鎭�
+ if (isadd) {
+ listGoods.add(taoBaoGoodsBrief);
+ }
+ }
+ dynamicInfo.setListGoodsBrief(listGoods);
+ }
}
-
dynamicInfo.setImgs(imgs);
dynamicInfo.setUpdateTime(new Date());
dynamicInfoDao.updateGoodInfo(dynamicInfo);
}
}
-
- @Override
- public void deleteActivity(Long activityId) {
- DynamicInfo dynamicInfo = dynamicInfoDao.getByActivityId(activityId);
- if (dynamicInfo != null) {
- // 鍒犻櫎涔嬪墠鐨�
- dynamicInfoDao.deleteById(dynamicInfo.getId());
- }
- }
-
-
-
- @Override
- public void saveActivityRecommend(RecommendActivity activity) {
- if (activity == null || activity.getGoodsList() == null) {
- return;
- }
-
- try {
- DynamicInfo existInfo = dynamicInfoDao.getByActivityId(activity.getId());
- if (existInfo != null) {
- dynamicInfoDao.deleteById(existInfo.getId());
- }
-
- DynamicInfo dynamicInfo = new DynamicInfo();
- dynamicInfo.setId(UUID.randomUUID().toString().replace("-", ""));
- dynamicInfo.setClassId(2L);
- dynamicInfo.setSubclassId(0L);
- dynamicInfo.setUser(activity.getActivityUser());
- dynamicInfo.setActivityId(activity.getId());
-
- String title = activity.getTitle();
- if (!StringUtil.isNullOrEmpty(title)) {
- title = title.replace("<p>", "");
- title = title.replace("</p>", "");
- dynamicInfo.setTitle(convertIntroduce(title));
- }
-
- if (existInfo != null) {
- dynamicInfo.setCreateTime(existInfo.getCreateTime());
- dynamicInfo.setShareCount(existInfo.getShareCount());
- } else {
- dynamicInfo.setCreateTime(new Date());
- dynamicInfo.setUpdateTime(new Date());
- dynamicInfo.setShareCount(1000 + (int) (Math.random() * 8000));
- }
-
- // 鍟嗗搧鍒楄〃
- List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>();
- BigDecimal proportion = hongBaoManageService.getFanLiRate();
- // 鍒嗕韩濂栭噾
- BigDecimal shareMoney = new BigDecimal(0);
-
- 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));
-
- taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null);
- if (!taoBaoGoodsBriefExtra.isCoupon()) {
- taoBaoGoodsBriefExtra.setState(1);
- }
-
- BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief);
- shareMoney = MoneyBigDecimalUtil.add(shareMoney, money);
- } catch (TaobaoGoodsDownException e) {
- taoBaoGoodsBrief = activityGoods.getTaoBaoGoodsBrief();
- taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null);
- taoBaoGoodsBriefExtra.setState(1);
- taoBaoGoodsBriefExtra.setCoupon(false);
- }
- // 鍟嗗搧鍥剧墖
- taoBaoGoodsBriefExtra.setCouponInfo(null);
- taoBaoGoodsBriefExtra.setUpdatetime(new Date());
-
- 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);
-
- listPicture.add(goodsPicture);
- }
- }
- dynamicInfo.setImgs(listPicture);
-
-
- 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鍥�
- }
- // 淇濆瓨淇℃伅
- dynamicInfoDao.insert(dynamicInfo);
-
- } catch (Exception e) {
- try {
- LogHelper.errorDetailInfo(e);
- } catch (Exception e1) {
- e1.printStackTrace();
- }
- }
- }
-
-
-
-
-
- @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);
-
- // 鏇存柊鍟嗗搧淇℃伅
- executor.execute(new Runnable() {
- @Override
- public void run() {
- updateGoodInfo(list);
- }
- });
-
- return list;
- }
}
--
Gitblit v1.8.0