| | |
| | | singleGoodsShare(userShareGoodsRecord, goodsBrief);
|
| | | }
|
| | |
|
| | | |
| | | @Override
|
| | | public Long saveSingleShareRecord(Long uid, Long auctionId) throws UserShareGoodsRecordException {
|
| | |
|
| | | if (auctionId == null) {
|
| | | throw new UserShareGoodsRecordException(1, "分享商品不能为空");
|
| | | }
|
| | |
|
| | | if (uid == null) {
|
| | | throw new UserShareGoodsRecordException(1, "用户ID不能为空");
|
| | | }
|
| | |
|
| | | TaoBaoGoodsBrief goodsBrief = null;
|
| | | try {
|
| | | goodsBrief = redisManager.getTaoBaoGoodsBrief(auctionId);
|
| | | } catch (TaobaoGoodsDownException e) {
|
| | | throw new UserShareGoodsRecordException(1, "商品已下架");
|
| | | }
|
| | |
|
| | | UserShareGoodsRecord userShareGoodsRecord = new UserShareGoodsRecord();
|
| | | userShareGoodsRecord.setUid(uid);
|
| | | userShareGoodsRecord.setSource(ShareSourceTypeEnum.goodsDetail);
|
| | | userShareGoodsRecord.setShareState(0);
|
| | | // 单个商品分享
|
| | | singleGoodsShare(userShareGoodsRecord, goodsBrief);
|
| | | |
| | | return userShareGoodsRecord.getId();
|
| | | }
|
| | | |
| | | @Override
|
| | | public void save(Long uid, ShareSourceTypeEnum source, String title, TaoBaoGoodsBrief taoBaoGoodsBrief)
|
| | | throws UserShareGoodsRecordException {
|
| | |
| | | return map;
|
| | | }
|
| | |
|
| | | |
| | | |
| | |
|
| | | /**
|
| | | * 保存分享记录
|
| | |
| | | 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;
|
| | | }
|
| | |
|
| | | |
| | |
|
| | | /**
|
| | | * 单个商品分享生成记录
|
| | |
| | |
|
| | | }
|
| | |
|
| | | |
| | | /**
|
| | | * 多个商品分享生成记录
|
| | | * |
| | | * @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);
|
| | | }
|
| | | }
|
| | | |
| | | /**
|
| | | * 多个商品分享生成记录
|
| | | *
|
| | |
| | | }
|
| | |
|
| | | 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);
|
| | |
|
| | | }
|
| | | }
|