From 9b4bf99c1a30f3a7c2bdd6faba7589ff4f7e48e5 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 22 五月 2019 10:28:31 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java | 84 ++++++++++++++++++++++++++++++++++++------ 1 files changed, 72 insertions(+), 12 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java index 3a17f20..0bc0b08 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java @@ -329,8 +329,6 @@ return map; } - - /** * 淇濆瓨鍒嗕韩璁板綍 @@ -368,19 +366,16 @@ userShareGoodsRecord.setUpdateTime(date); userShareGoodsRecordMapper.insertSelective(userShareGoodsRecord); - Map<String, Object> map = new HashMap<String, Object>(); // 澶氫釜鍟嗗搧鍒嗕韩 - FileUploadResult loadResult = multipleGoodsShare(userShareGoodsRecord, listGoods); + multipleGoodsShareRecord(userShareGoodsRecord, listGoods); ShareInfoDTO shareInfo = new ShareInfoDTO(); - shareInfo.setMd5(loadResult.getMd5()); - shareInfo.setCodeUrl(loadResult.getUrl()); shareInfo.setShareId(userShareGoodsRecord.getId()); shareInfo.setShareUrl(getShareUrl(userShareGoodsRecord)); return shareInfo; } - + /** * 鍗曚釜鍟嗗搧鍒嗕韩鐢熸垚璁板綍 @@ -441,6 +436,57 @@ } + + /** + * 澶氫釜鍟嗗搧鍒嗕韩鐢熸垚璁板綍 + * + * @param userShareGoodsRecord + * @param listGoods + */ + @Transactional + public void multipleGoodsShareRecord(UserShareGoodsRecord userShareGoodsRecord, + List<TaoBaoGoodsBrief> listGoods) throws UserShareGoodsRecordException { + + // 鍒嗕韩璁板綍 + Date date = new Date(); + + List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>(); + List<UserShareGoodsGroup> listGroup = new ArrayList<UserShareGoodsGroup>(); + + for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoods) { + CommonGoods commonGoods = CommonGoodsFactory.create(taoBaoGoodsBrief); + commonGoods.setState(taoBaoGoodsBrief.getState()); + try { + CommonGoods resultCommonGoods = commonGoodsService.addOrUpdateCommonGoods(commonGoods); + + if (resultCommonGoods != null) { + TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(resultCommonGoods); + listGoodsBrief.add(goodsBrief); + } + + UserShareGoodsGroup shareGoodsGroup = new UserShareGoodsGroup(); + shareGoodsGroup.setTotalOrder(0); + shareGoodsGroup.setTotalBrowse(0); + shareGoodsGroup.setTodayBrowse(0); + shareGoodsGroup.setTotalMoney(new BigDecimal(0)); + shareGoodsGroup.setCreateTime(date); + shareGoodsGroup.setUpdateTime(date); + shareGoodsGroup.setCommonGoods(resultCommonGoods); + shareGoodsGroup.setRecordId(userShareGoodsRecord.getId()); + + listGroup.add(shareGoodsGroup); + + } catch (CommonGoodsException e) { + e.printStackTrace(); + continue; + } + } + + if (listGroup.size() > 0) { + userShareGoodsGroupService.insertBatch(listGroup); + } + } + /** * 澶氫釜鍟嗗搧鍒嗕韩鐢熸垚璁板綍 * @@ -754,15 +800,29 @@ } shareRecord.setShareState(1);// 鍒嗕韩鐢熸晥 - updateByPrimaryKeySelective(shareRecord); - // 鏇存柊鍟嗗搧涓哄凡鍒嗕韩 - userGoodsStorageService.updateShareState(shareId); + updateByPrimaryKeySelective(shareRecord);// 鏇存柊鍟嗗搧涓哄凡鍒嗕韩 + + // 鏇存柊閫夊搧搴撳晢鍝佷负宸插垎浜� + executor.execute(new Runnable() { + @Override + public void run() { + List<UserShareGoodsGroup> listgoods = userShareGoodsGroupService.listByRecordId(shareId); + if (listgoods != null && listgoods.size() > 0) { + + for (UserShareGoodsGroup userShareGoodsGroup: listgoods) { + CommonGoods commonGoods = userShareGoodsGroup.getCommonGoods(); + if (commonGoods == null) { + continue; + } + userGoodsStorageService.updateShareStateByCommonGoodsId(commonGoods.getId()); + } + } + } + }); } @Override public long countShareRecordByUid(Long uid) { - return userShareGoodsRecordMapper.countQueryByUid(uid, null); - } } -- Gitblit v1.8.0