| | |
| | | import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinNewbies;
|
| | | import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
|
| | | import com.yeshi.fanli.entity.push.DeviceActive;
|
| | | import com.yeshi.fanli.entity.taobao.TLJFreeBuyGoods;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
|
| | | import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
|
| | | import com.yeshi.fanli.exception.taobao.TaoKeApiException;
|
| | |
| | | import com.yeshi.fanli.util.MoneyBigDecimalUtil;
|
| | | import com.yeshi.fanli.util.StringUtil;
|
| | | import com.yeshi.fanli.util.TaoBaoConstant;
|
| | | import com.yeshi.fanli.util.TimeUtil;
|
| | | import com.yeshi.fanli.util.annotation.RequestSerializableByKeyService;
|
| | | import com.yeshi.fanli.util.taobao.TaoBaoUtil;
|
| | | import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
|
| | |
| | | if (uid == null || uid <= 0 || goods == null)
|
| | | throw new UserTaoLiJinNewbiesException(1,"参数信息缺失");
|
| | |
|
| | | // 验证商品是否在免单商品库
|
| | | TLJFreeBuyGoods tljFreeBuyGoods = tljFreeBuyGoodsService.selectByAuctionIdAndDay(goods.getAuctionId(),
|
| | | TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd"));
|
| | | if (tljFreeBuyGoods == null) |
| | | throw new UserTaoLiJinNewbiesException(1, "该商品非免单商品");
|
| | | |
| | | // 验证是否有券
|
| | | if (goods == null || goods.getCouponAmount() == null ||
|
| | | goods.getCouponAmount().compareTo(new BigDecimal(0)) == 0) {
|
| | | executor.execute(new Runnable() {
|
| | |
| | | throw new UserTaoLiJinNewbiesException(1, "该商品非免单商品");
|
| | | }
|
| | |
|
| | | // 验证券后价 是否在 1-2元
|
| | | BigDecimal money = TaoBaoUtil.getAfterUseCouplePrice(goods);
|
| | | if (money.compareTo(new BigDecimal(1.0)) < 0 && money.compareTo(new BigDecimal(2.0)) > 0) {
|
| | | executor.execute(new Runnable() {
|
| | |
| | | throw new UserTaoLiJinNewbiesException(1, "该商品非免单商品");
|
| | | }
|
| | |
|
| | | // 验证用户信息
|
| | | UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
|
| | | if (userInfoExtra == null || userInfoExtra.getFirstLoginTime() == null)
|
| | | throw new UserTaoLiJinNewbiesException(1001, "你不是“新用户”无法使用新人红包0元购买。");
|
| | |
|
| | | // 验证是否已超出新用户定义
|
| | | try {
|
| | | int days = DateUtil.daysBetween2(userInfoExtra.getFirstLoginTime(), new Date());
|
| | | if (days > Constant.TLJ_NEW_USER_DEFINE)
|
| | |
| | | throw new UserTaoLiJinNewbiesException(1, "日期信息计算失败");
|
| | | }
|
| | |
|
| | | // 验证余额
|
| | | UserTaoLiJinNewbies taoLiJinNewbies = userTaoLiJinNewbiesMapper.selectForUpdate(uid);
|
| | | if (taoLiJinNewbies == null || taoLiJinNewbies.getMoney() == null ||
|
| | | taoLiJinNewbies.getMoney().compareTo(money) < 0)
|
| | | throw new UserTaoLiJinNewbiesException(1001, "新人红包不足,请换个商品再试或继续领取到足额新人红包。");
|
| | |
|
| | | // 验证是否已过期
|
| | | if (taoLiJinNewbies.getEndTime() == null
|
| | | || taoLiJinNewbies.getEndTime().getTime() < java.lang.System.currentTimeMillis())
|
| | | throw new UserTaoLiJinNewbiesException(1, "新人红包已过期");
|