订单页优惠券查询

邀请页 是否可邀请 是否可领取
This commit is contained in:
2024-11-13 15:48:45 +08:00
parent b30d618e47
commit 99e9aae70a
4 changed files with 37 additions and 38 deletions

View File

@@ -3,6 +3,7 @@ package com.chaozhanggui.system.cashierservice.entity.dto;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
@Data
public class CouponDto {

View File

@@ -87,7 +87,7 @@ public class TbShopCouponServiceImpl implements TbShopCouponService {
boolean isUse = true;
TbShopCoupon tbShopCoupon = couponMapper.queryById(tbUserCouponVo.getCouponId());
StringBuilder useRestrictions = new StringBuilder("每天 ");
if (tbShopCoupon.getType().equals(1)) {
if (amount != null && tbShopCoupon.getType().equals(1)) {
if (amount.compareTo(tbShopCoupon.getFullAmount()) < 0) {
isUse = false;
}
@@ -125,10 +125,6 @@ public class TbShopCouponServiceImpl implements TbShopCouponService {
if (param.getOrderId() != null) {
TbShopUser tbShopUser = shopUserMapper.selectByUserIdAndShopId(param.getUserId().toString(), param.getShopId().toString());
TbOrderInfo tbOrderInfo = orderInfoMapper.selectByPrimaryKey(param.getOrderId());
List<TbOrderDetail> tbOrderDetails = orderDetailMapper.selectAllByOrderId(param.getOrderId());
Set<Integer> pros = tbOrderDetails.stream().map(TbOrderDetail::getProductId).collect(Collectors.toSet());
if (CollectionUtil.isNotEmpty(tbOrderDetails)) {
List<TbUserCouponVo> tbUserCouponVos = inRecordMapper.queryByVipIdAndShopId(Arrays.asList(Integer.valueOf(tbShopUser.getId())), param.getShopId());
if (CollectionUtil.isNotEmpty(tbUserCouponVos)) {
String week = DateUtil.dayOfWeekEnum(new Date()).toChinese("");
@@ -139,22 +135,16 @@ public class TbShopCouponServiceImpl implements TbShopCouponService {
Map<Integer, JsonObject> coupons = new HashMap<>();
for (TbUserCouponVo tbUserCouponVo : tbUserCouponVos) {
if (!coupons.containsKey(tbUserCouponVo.getCouponId())) {
setCouponInfo(coupons, tbUserCouponVo, tbOrderInfo.getAmount(), week, now, formatter);
setCouponInfo(coupons, tbUserCouponVo, null, week ,now, formatter);
}
JsonObject couponJson = coupons.get(tbUserCouponVo.getCouponId());
tbUserCouponVo.setUseRestrictions(couponJson.get("useRestrictions").toString());
if (tbUserCouponVo.getType().equals(1)) {
tbUserCouponVo.setUse(couponJson.get("isUse").getAsBoolean());
} else if (tbUserCouponVo.getType().equals(2) && couponJson.get("isUse").getAsBoolean()) {
if (!pros.contains(tbUserCouponVo.getProId())) {
tbUserCouponVo.setUse(false);
}
}
}
tbUserCouponVos.sort(Comparator.comparing(TbUserCouponVo::isUse).reversed().thenComparing(TbUserCouponVo::getExpireTime));
return new Result(CodeEnum.SUCCESS, tbUserCouponVos);
}
}
} else {
List<TbShopUser> tbShopUser = shopUserMapper.selectAllByUserId(param.getUserId().toString());
if (CollectionUtil.isNotEmpty(tbShopUser)) {

View File

@@ -150,6 +150,9 @@ public class TbShopShareRecordServiceImpl implements TbShopShareRecordService {
for (TbShopShare.ShareCoupons newCoupon : tbShopShare.getNewCoupons()) {
TbShopCoupon coupon = couponMapper.queryById(newCoupon.getCouponId());
if (coupon != null) {
if (coupon.getLeftNumber() <= 0) {
query.setStatus(0);
}
if (coupon.getType() == 1) {
//满减
newCoupon.setType(1);
@@ -286,6 +289,8 @@ public class TbShopShareRecordServiceImpl implements TbShopShareRecordService {
}
}
activateInRecordMapper.insertBatch(actGiveRecords);
tbShopCoupon.setLeftNumber(tbShopCoupon.getLeftNumber()-newCoupon.getCouponNum());
couponMapper.update(tbShopCoupon);
}
}

View File

@@ -40,6 +40,9 @@ public class TbShopShareServiceImpl implements TbShopShareService {
for (TbShopShare.ShareCoupons newCoupon : tbShopShare.getNewCoupons()) {
TbShopCoupon coupon = couponMapper.queryById(newCoupon.getCouponId());
if (coupon != null) {
if (coupon.getLeftNumber() <= 0) {
tbShopShare.setStatus(0);
}
if (coupon.getType() == 1) {
//满减
newCoupon.setType(1);