From ad1c19461fee4c7c4a26795bef75d26f9738faf1 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 03 十二月 2019 12:26:05 +0800 Subject: [PATCH] 多图分享修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserGoodsStorageServiceImpl.java | 142 +++++++++++++++++++++++------------------------ 1 files changed, 70 insertions(+), 72 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 3528ca2..1af87c0 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 @@ -48,25 +48,25 @@ @Service public class UserGoodsStorageServiceImpl implements UserGoodsStorageService { - + @Resource(name = "taskExecutor") private TaskExecutor executor; - + @Resource private RedisManager redisManager; - + @Resource private ConfigService configService; - + @Resource private CommonGoodsService commonGoodsService; - + @Resource private HongBaoManageService manageService; @Resource private UserGoodsStorageMapper userGoodsStorageMapper; - + @Resource private UserShareGoodsRecordService userShareGoodsRecordService; @Resource @@ -112,9 +112,10 @@ public int deleteBatchByPrimaryKey(List<Long> list) { return userGoodsStorageMapper.deleteBatchByPrimaryKey(list); } - + /** * 鏍规嵁涓婚敭 銆乽id 鎵归噺鍒犻櫎 + * * @param list * @return */ @@ -127,7 +128,7 @@ public List<UserGoodsStorage> listQueryByUid(long start, int count, Long uid, Integer source) { return userGoodsStorageMapper.listQueryByUid(start, count, uid, source); } - + @Override public UserGoodsStorage getByUidAndAuctionId(Long uid, Long auctionId, Integer goodsType) { return userGoodsStorageMapper.getByUidAndAuctionId(uid, auctionId, goodsType); @@ -137,7 +138,7 @@ public long countQueryByUid(Long uid, Integer source) { return userGoodsStorageMapper.countQueryByUid(uid, source); } - + @Override public void save(Long uid, Set<Long> auctionIds, Integer goodsType) throws UserGoodsStorageException { @@ -152,11 +153,11 @@ for (Long auctionId : auctionIds) { CommonGoods commonGoods = null; if (goodsType == null) { - goodsType = Constant.SOURCE_TYPE_TAOBAO; - } - + goodsType = Constant.SOURCE_TYPE_TAOBAO; + } + if (goodsType == Constant.SOURCE_TYPE_JD) { - // 浜笢 + // 浜笢 JDGoods jdGoods = JDApiUtil.queryGoodsDetail(auctionId); if (jdGoods == null) { jdGoods = JDApiUtil.getGoodsDetail(auctionId); @@ -165,9 +166,9 @@ throw new UserGoodsStorageException(1, auctionId + "鍟嗗搧宸蹭笅鏋�"); } commonGoods = CommonGoodsFactory.create(jdGoods); - + } else if (goodsType == Constant.SOURCE_TYPE_PDD) { - // 鎷煎澶� + // 鎷煎澶� PDDGoodsDetail pddGoods = PinDuoDuoApiUtil.getGoodsDetail(auctionId); if (pddGoods == null) { throw new UserGoodsStorageException(1, auctionId + "鍟嗗搧宸蹭笅鏋�"); @@ -183,8 +184,7 @@ throw new UserGoodsStorageException(1, auctionId + "鍟嗗搧宸蹭笅鏋�"); } } - - + if (commonGoods != null) { try { commonGoodsService.addOrUpdateCommonGoods(commonGoods); @@ -204,7 +204,8 @@ userGoodsStorageMapper.updateByPrimaryKeySelective(goodsStorage); } else { goodsStorage = new UserGoodsStorage(); - goodsStorage.setUid(uid);; + goodsStorage.setUid(uid); + ; goodsStorage.setState(UserGoodsStorage.STATE_NORMAL); goodsStorage.setCommonGoods(commonGoods); goodsStorage.setCreateTime(new Date()); @@ -215,7 +216,6 @@ } } - @Override @Transactional public void addCommonGoods(Long uid, Set<Long> ids) throws UserGoodsStorageException { @@ -240,7 +240,8 @@ userGoodsStorageMapper.updateByPrimaryKeySelective(goodsStorage); } else { goodsStorage = new UserGoodsStorage(); - goodsStorage.setUid(uid);; + goodsStorage.setUid(uid); + ; goodsStorage.setState(UserGoodsStorage.STATE_NORMAL); goodsStorage.setCommonGoods(commonGoods); goodsStorage.setCreateTime(new Date()); @@ -251,21 +252,20 @@ } } - @Override public JSONArray getMyStorage(int page, int pageSize, Long uid, Integer source) throws UserGoodsStorageException { - + JSONArray array = new JSONArray(); - List<UserGoodsStorage> listStorage = listQueryByUid(page , pageSize, uid, source); + List<UserGoodsStorage> listStorage = listQueryByUid(page, pageSize, uid, source); if (listStorage == null || listStorage.size() == 0) { return array; } - + if (source == null) { source = Constant.SOURCE_TYPE_TAOBAO; } - + List<TaoBaoGoodsBrief> listTaoKeGoods = null; if (source == Constant.SOURCE_TYPE_TAOBAO) { List<Long> listGid = new ArrayList<Long>(); @@ -276,7 +276,7 @@ } listGid.add(commonGoods.getGoodsId()); } - + // API缃戠粶鎺ュ彛楠岃瘉鏄惁鍦ㄥ敭 try { listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid); @@ -288,27 +288,25 @@ e.printStackTrace(); } } - - - BigDecimal rate = manageService.getFanLiRate(); + + BigDecimal rate = manageService.getFanLiRate(); Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); - + for (UserGoodsStorage userGoodsStorage : listStorage) { CommonGoods commonGoods = userGoodsStorage.getCommonGoods(); if (commonGoods == null) { continue; } - - + int state = 0; Integer goodsType = commonGoods.getGoodsType(); - - if (listTaoKeGoods != null && listTaoKeGoods.size() > 0 - && goodsType != null && goodsType == Constant.SOURCE_TYPE_TAOBAO) { - state = 1; // 榛樿鍋滃敭 + + if (listTaoKeGoods != null && listTaoKeGoods.size() > 0 && goodsType != null + && goodsType == Constant.SOURCE_TYPE_TAOBAO) { + state = 1; // 榛樿鍋滃敭 Long goodsId = commonGoods.getGoodsId(); - for (TaoBaoGoodsBrief taoKeGoods: listTaoKeGoods) { + for (TaoBaoGoodsBrief taoKeGoods : listTaoKeGoods) { Long auctionId = taoKeGoods.getAuctionId(); if (goodsId == auctionId || goodsId.equals(auctionId)) { state = 0; // 鍦ㄥ敭 @@ -318,7 +316,7 @@ } commonGoods.setState(state); TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods); - + // 鍒ゆ柇鏄惁宸插垎浜� Integer storageState = userGoodsStorage.getState(); if (storageState != null && storageState == UserGoodsStorage.STATE_SHARED) { @@ -327,19 +325,18 @@ goodsBrief.setState(2); // 宸插垎浜姸鎬� 浼樺厛鏄剧ず宸蹭笅鏋� } } - + String json = gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, rate.toString(), null)); - + JSONObject dataObject = new JSONObject(); dataObject.put("storageId", userGoodsStorage.getId()); dataObject.put("goods", json); array.add(dataObject); } - + return array; } - - + @Override public boolean isExistStorage(Long uid, Long auctionId, Integer goodType) { boolean state = false; @@ -351,19 +348,19 @@ } return state; } - + @Override - public JSONObject shareGoods(Long uid, List<Long> listStorageID) + 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, "閫夊搧搴撳晢鍝佷笉瀛樺湪"); } - + List<UserGoodsStorage> listResult = new ArrayList<UserGoodsStorage>(); // 杩樺師椤哄簭 鐢ㄤ簬鍒跺浘 - for (Long sid: listStorageID) { - for (UserGoodsStorage torage: listStorage) { + for (Long sid : listStorageID) { + for (UserGoodsStorage torage : listStorage) { Long id = torage.getId(); if (sid == id || sid.equals(id)) { listResult.add(torage); @@ -371,45 +368,45 @@ } } } - + BigDecimal totalMoney = new BigDecimal(0.00); List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>(); - + BigDecimal rate = hongBaoManageService.getShareRate(); - for (UserGoodsStorage userGoodsStorage: listResult) { + for (UserGoodsStorage userGoodsStorage : listResult) { CommonGoods commonGoods = userGoodsStorage.getCommonGoods(); TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods); listGoodsBrief.add(goodsBrief); - + BigDecimal money = TaoBaoUtil.getGoodsHongBaoMoney(goodsBrief, rate); totalMoney = MoneyBigDecimalUtil.add(totalMoney, money); } - - ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsStorage(uid, listGoodsBrief, listStorageID); + + ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsStorage(uid, listGoodsBrief, + listStorageID); FileUploadResult uploadResult = new FileUploadResult(); uploadResult.setUrl(shareRecord.getSharePictureUrl()); - + JSONObject data = new JSONObject(); - data.put("revenue", listGoodsBrief.size() + "涓晢鍝侀浼板垎浜閲戯細楼"+totalMoney); + data.put("revenue", listGoodsBrief.size() + "涓晢鍝侀浼板垎浜閲戯細楼" + totalMoney); data.put("shareId", shareRecord.getRedisKey()); data.put("shareImg", uploadResult); data.put("notifyDesc", configService.get("goods_share_multiple_notify")); return data; } - - - + @Override - public JSONObject createShareV2(Long uid, List<Long> listStorageID) throws UserGoodsStorageException, UserShareGoodsRecordException { + public JSONObject createShareV2(Long uid, List<Long> listStorageID, boolean needDrawPicture) + throws UserGoodsStorageException, UserShareGoodsRecordException { List<UserGoodsStorage> listStorage = userGoodsStorageMapper.listQueryByIds(listStorageID); if (listStorage == null || listStorage.size() == 0) { throw new UserGoodsStorageException(1, "閫夊搧搴撳晢鍝佷笉瀛樺湪"); } - + List<UserGoodsStorage> listResult = new ArrayList<UserGoodsStorage>(); // 杩樺師椤哄簭 鐢ㄤ簬鍒跺浘 - for (Long sid: listStorageID) { - for (UserGoodsStorage torage: listStorage) { + for (Long sid : listStorageID) { + for (UserGoodsStorage torage : listStorage) { Long id = torage.getId(); if (sid == id || sid.equals(id)) { listResult.add(torage); @@ -417,32 +414,33 @@ } } } - + BigDecimal totalMoney = new BigDecimal(0.00); List<CommonGoods> listCommonGoods = new ArrayList<CommonGoods>(); - + Integer goodsType = null; BigDecimal rate = hongBaoManageService.getShareRate(); - for (UserGoodsStorage userGoodsStorage: listResult) { + for (UserGoodsStorage userGoodsStorage : listResult) { CommonGoods commonGoods = userGoodsStorage.getCommonGoods(); BigDecimal money = CommonGoodsUtil.getCommission(commonGoods, rate); totalMoney = MoneyBigDecimalUtil.add(totalMoney, money); listCommonGoods.add(commonGoods); - + if (goodsType == null) { goodsType = commonGoods.getGoodsType(); } } - - ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsStorageV2(uid, listCommonGoods, listStorageID); + + ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsStorageV2(uid, listCommonGoods, + listStorageID, needDrawPicture); FileUploadResult uploadResult = new FileUploadResult(); uploadResult.setUrl(shareRecord.getSharePictureUrl()); - + JSONObject data = new JSONObject(); - data.put("revenue", listCommonGoods.size() + "涓晢鍝侀浼板垎浜閲戯細楼"+totalMoney); + data.put("revenue", listCommonGoods.size() + "涓晢鍝侀浼板垎浜閲戯細楼" + totalMoney); data.put("shareId", shareRecord.getRedisKey()); data.put("shareImg", uploadResult); - + // 鎻愮ず璇笉鍚� if (goodsType == Constant.SOURCE_TYPE_JD) { // 浜笢 -- Gitblit v1.8.0