| | |
| | | import com.ks.lijin.service.LiJinProviderNoticeService; |
| | | import com.ks.lijin.service.LijinCreateService; |
| | | import com.ks.lijin.service.manager.LiJinProviderTaoKeAccountManager; |
| | | import com.ks.lijin.service.manager.LijinConfigManager; |
| | | import com.ks.lijin.service.manager.LijinDangerGoodsManager; |
| | | import com.ks.lijin.service.manager.LijinGoodsManager; |
| | | import com.ks.lijin.util.Constant; |
| | | import com.ks.lijin.utils.taobao.TaoBaoUtil; |
| | |
| | | @Resource |
| | | private LiJinProviderAccountService liJinProviderAccountService; |
| | | |
| | | @Reference(version = "1.0") |
| | | @Reference(version = "1.0", check = false) |
| | | private VipCenterService vipCenterService; |
| | | |
| | | @Reference(version = "1.0") |
| | | @Reference(version = "1.0", check = false) |
| | | private VipGradePotenceService vipGradePotenceService; |
| | | |
| | | @Reference(version = "1.0") |
| | | @Reference(version = "1.0", check = false) |
| | | private VipGradeService vipGradeService; |
| | | |
| | | @Resource |
| | |
| | | |
| | | @Resource |
| | | private LijinGoodsManager lijinGoodsManager; |
| | | |
| | | @Resource |
| | | private LijinDangerGoodsManager lijinDangerGoodsManager; |
| | | |
| | | @Resource |
| | | private LijinConfigManager lijinConfigManager; |
| | | |
| | | @Override |
| | | public List<MoneyInfo> getMoneyInfo(String uid, List<TaoBaoGoodsBrief> goodsBriefList) { |
| | |
| | | return money; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public boolean userCanCreateTBLijin(String uid) throws LiJinUserException { |
| | | public boolean userCanCreateTBLijin(String uid, Date registerDate) throws LiJinUserException { |
| | | VipGradePotence potence = vipCenterService.getVipPotence(uid); |
| | | if (potence == null) { |
| | | return false; |
| | |
| | | |
| | | // 使用次数已经超过最大次数 |
| | | int numExpend = liJinExpendRecordService.countTodayNumByExpend(uid); |
| | | if (registerDate != null) { |
| | | //判断新用户 |
| | | String newerHour = lijinConfigManager.getConfigValue("newer-hour"); |
| | | String dayPlusCount = lijinConfigManager.getConfigValue("newer-everyday-plus-lijin-count"); |
| | | if (!StringUtil.isNullOrEmpty(newerHour) && !StringUtil.isNullOrEmpty(dayPlusCount)) { |
| | | //新用户每日附加次数 |
| | | if (System.currentTimeMillis() - registerDate.getTime() < 1000 * 60 * 60L * Integer.parseInt(dayPlusCount)) { |
| | | numExpend += Integer.parseInt(dayPlusCount); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (numMax.intValue() <= numExpend) { |
| | | throw new LiJinUserException(LiJinUserException.CODE_USER_CREATE_NUM_LIMIT, "用户创建淘礼金的次数超限"); |
| | | } |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public LiJinExpendRecord createTBLijin(String uid, Long goodsId) throws LiJinException, LiJinGoodsException, LiJinUserException, LiJinAmountException { |
| | | return createTBLijin(uid, null, goodsId); |
| | | } |
| | | |
| | | userCanCreateTBLijin(uid); |
| | | @Override |
| | | public LiJinExpendRecord createTBLijin(String uid, Date registerDate, Long auctionId) throws LiJinException, LiJinGoodsException, LiJinUserException, LiJinAmountException { |
| | | |
| | | //用户是否有创建权限 |
| | | userCanCreateTBLijin(uid, registerDate); |
| | | //商品是否在危险商品中 |
| | | boolean dangerous = lijinDangerGoodsManager.isDangerous(auctionId + "", 1); |
| | | if (dangerous) { |
| | | throw new LiJinGoodsException(LiJinGoodsException.CODE_GOODS_NOT_SUPPORT, "该商品暂无法创建礼金"); |
| | | } |
| | | |
| | | |
| | | // 获取用户等级 |
| | | VIPEnum vipRank = vipCenterService.getVIPEnumByUid(uid); |
| | |
| | | //淘礼金创建 |
| | | TaoBaoGoodsBrief goods = null; |
| | | try { |
| | | goods = TaoKeApiUtil.searchGoodsDetail(goodsId); |
| | | goods = TaoKeApiUtil.searchGoodsDetail(auctionId); |
| | | } catch (TaoBaoGoodsDownException e) { |
| | | throw new LiJinGoodsException(LiJinGoodsException.CODE_GOODS_OFFLINE, "商品下线"); |
| | | } |
| | |
| | | if (redisTemplate.opsForValue().setIfAbsent(key, "1", 120, TimeUnit.SECONDS)) { |
| | | Date now = new Date(); |
| | | try { |
| | | TaoLijinCreateResultDTO taoLiJinDTO = executeTaoLiJin(goodsId, lijinAmount, params); |
| | | TaoLijinCreateResultDTO taoLiJinDTO = executeTaoLiJin(auctionId, lijinAmount, params); |
| | | if (taoLiJinDTO == null) { |
| | | throw new LiJinException(1, "淘宝API推广红包创建失败"); |
| | | } |
| | | //添加账号的 |
| | | return addCreateSuccessRecord(uid, goodsId, lijinAmount, params.getTitle(), params.getNum(), taoLiJinDTO); |
| | | return addCreateSuccessRecord(uid, auctionId, lijinAmount, params.getTitle(), params.getNum(), taoLiJinDTO); |
| | | } catch (LiJinGoodsException e) { |
| | | if (e.getCode() == LiJinGoodsException.CODE_GOODS_CREATED_FULL) { |
| | | lijinGoodsManager.createdFullToday(goodsId, now); |
| | | lijinGoodsManager.createdFullToday(auctionId, now); |
| | | } |
| | | throw e; |
| | | } finally { |