|
@@ -1082,26 +1082,11 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
log.info("用户已领取该{}优惠卷", couponUser.getCouponId());
|
|
log.info("用户已领取该{}优惠卷", couponUser.getCouponId());
|
|
|
throw BusinessRuntimeException.getInstance("该优惠卷已使用");
|
|
throw BusinessRuntimeException.getInstance("该优惠卷已使用");
|
|
|
}
|
|
}
|
|
|
- } else if (couponId != null) {
|
|
|
|
|
- CouponUserView couponUserView = beanSearcher.searchFirst(CouponUserView.class, MapUtils.builder()
|
|
|
|
|
- .field(CouponUserView::getCouponId, couponId).op(Operator.Equal)
|
|
|
|
|
- .field(CouponUserView::getUserId, userId).op(Operator.Equal)
|
|
|
|
|
- .build());
|
|
|
|
|
- if (couponUserView == null) {
|
|
|
|
|
|
|
+ } else {
|
|
|
|
|
+ couponUser = couponUserMapper.selectOne(Wrappers.lambdaQuery(CouponUser.class).eq(CouponUser::getUserId, userId).eq(CouponUser::getCouponId, couponId).last("limit 1"));
|
|
|
|
|
+ if (couponUser == null) {
|
|
|
throw BusinessRuntimeException.getInstance("该优惠卷不存在");
|
|
throw BusinessRuntimeException.getInstance("该优惠卷不存在");
|
|
|
}
|
|
}
|
|
|
- if (couponUserView.getCouponUserStatus() == CouponUser.Status.used) {
|
|
|
|
|
- throw BusinessRuntimeException.getInstance("该优惠卷已使用");
|
|
|
|
|
- }
|
|
|
|
|
- if (!couponUserView.getIsValidTime()) {
|
|
|
|
|
- couponUserView.setValidStartTime(couponUserView.getCreatedTime());
|
|
|
|
|
- couponUserView.setValidEndTime(DateUtil.offsetDay(couponUserView.getValidStartTime(), couponUserView.getValidDays()));
|
|
|
|
|
- }
|
|
|
|
|
- couponFontService.setCouponUserStatus(couponUserView, DateTime.now());
|
|
|
|
|
- if (couponUserView.getCouponUserStatus() != CouponUser.Status.unused) {
|
|
|
|
|
- throw BusinessRuntimeException.getInstance("该优惠卷不可使用");
|
|
|
|
|
- }
|
|
|
|
|
- couponUser = couponUserMapper.selectById(couponUserView.getId());
|
|
|
|
|
couponUser.setStatus(CouponUser.Status.used);
|
|
couponUser.setStatus(CouponUser.Status.used);
|
|
|
couponUserMapper.updateById(couponUser);
|
|
couponUserMapper.updateById(couponUser);
|
|
|
}
|
|
}
|