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