From df0afdaa9be00fd6ffc767edb1d0dee4ccebff4f Mon Sep 17 00:00:00 2001
From: 喻健 <喻健@Admin>
Date: 星期一, 10 十二月 2018 14:12:27 +0800
Subject: [PATCH] 选品库+分享记录

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserGoodsStorageServiceImpl.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 55 insertions(+), 0 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserGoodsStorageServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserGoodsStorageServiceImpl.java
index 94a1890..afda25f 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserGoodsStorageServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserGoodsStorageServiceImpl.java
@@ -1,5 +1,6 @@
 package com.yeshi.fanli.service.impl.user;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -14,20 +15,26 @@
 import org.springframework.core.task.TaskExecutor;
 import org.springframework.stereotype.Service;
 import org.yeshi.utils.JsonUtil;
+import org.yeshi.utils.entity.FileUploadResult;
 import org.yeshi.utils.taobao.TbImgUtil;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.yeshi.fanli.dao.mybatis.user.UserGoodsStorageMapper;
+import com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord.ShareSourceTypeEnum;
 import com.yeshi.fanli.entity.bus.user.UserGoodsStorage;
 import com.yeshi.fanli.entity.goods.CommonGoods;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.exception.goods.CommonGoodsException;
+import com.yeshi.fanli.exception.share.UserShareGoodsRecordException;
 import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
 import com.yeshi.fanli.exception.user.UserGoodsStorageException;
+import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
 import com.yeshi.fanli.service.inter.user.UserGoodsStorageService;
+import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
+import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.factory.CommonGoodsFactory;
@@ -43,6 +50,9 @@
 	private RedisManager redisManager;
 	
 	@Resource
+	private ConfigService configService;
+	
+	@Resource
 	private CommonGoodsService commonGoodsService;
 	
 	@Resource
@@ -50,6 +60,11 @@
 
 	@Resource
 	private UserGoodsStorageMapper userGoodsStorageMapper;
+	
+	@Resource
+	private UserShareGoodsRecordService userShareGoodsRecordService;
+	@Resource
+	private HongBaoManageService hongBaoManageService;
 
 	@Override
 	public int deleteByPrimaryKey(Long id) {
@@ -297,4 +312,44 @@
 		}
 		return state;
 	}
+	
+	@Override
+	public JSONObject shareGoods(Long uid, List<Long> listStorageID)  
+			throws UserGoodsStorageException, UserShareGoodsRecordException {
+		
+		List<UserGoodsStorage> listStorage = userGoodsStorageMapper.listQueryByIds(listStorageID);
+		if (listStorage == null || listStorage.size() == 0) {
+			throw new UserGoodsStorageException(1, "閫夊搧搴撳晢鍝佷笉瀛樺湪");
+		}
+		
+		BigDecimal totalMoney = new BigDecimal(0.00);
+		List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>();
+		
+		for (UserGoodsStorage userGoodsStorage: listStorage) {
+			CommonGoods commonGoods = userGoodsStorage.getCommonGoods();
+			TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods);
+			listGoodsBrief.add(goodsBrief);
+			// 宸插垎浜�
+			userGoodsStorage.setState(1);
+			userGoodsStorage.setUpdateTime(new Date());
+			
+			String rateStr = hongBaoManageService.get("hongbao_goods_proportion");
+			BigDecimal money = TaoBaoUtil.getGoodsHongBaoMoney(goodsBrief, new BigDecimal(rateStr));
+			totalMoney = MoneyBigDecimalUtil.add(totalMoney, money);
+		}
+		
+		String revenue = listGoodsBrief.size() + "涓晢鍝侀浼板垎浜閲戯細楼"+totalMoney;
+		FileUploadResult loadResult = userShareGoodsRecordService.save(uid, ShareSourceTypeEnum.storage, listGoodsBrief);
+
+		// 鏇存柊涓哄凡鍒嗕韩
+		userGoodsStorageMapper.updateBatchSelective(listStorage);
+		
+		JSONObject data = new JSONObject();
+		data.put("shareImg", loadResult);
+		data.put("revenue", revenue);
+		data.put("notifyDesc", configService.get("goods_share_notify"));
+
+		return data;
+		
+	}
 }

--
Gitblit v1.8.0