feat(coupon): hide whitelist-only coupons from non-whitelisted users in wx queryAll
This commit is contained in:
@@ -9,6 +9,7 @@ import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity;
|
|||||||
import com.starry.admin.modules.clerk.service.IPlayClerkUserInfoService;
|
import com.starry.admin.modules.clerk.service.IPlayClerkUserInfoService;
|
||||||
import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity;
|
import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity;
|
||||||
import com.starry.admin.modules.shop.module.entity.PlayCouponInfoEntity;
|
import com.starry.admin.modules.shop.module.entity.PlayCouponInfoEntity;
|
||||||
|
import com.starry.admin.modules.shop.module.enums.CouponClaimConditionType;
|
||||||
import com.starry.admin.modules.shop.module.vo.PlayCommodityInfoVo;
|
import com.starry.admin.modules.shop.module.vo.PlayCommodityInfoVo;
|
||||||
import com.starry.admin.modules.shop.module.vo.PlayCouponDetailsReturnVo;
|
import com.starry.admin.modules.shop.module.vo.PlayCouponDetailsReturnVo;
|
||||||
import com.starry.admin.modules.shop.service.IPlayCommodityInfoService;
|
import com.starry.admin.modules.shop.service.IPlayCommodityInfoService;
|
||||||
@@ -94,14 +95,22 @@ public class WxCouponController {
|
|||||||
@CustomUserLogin
|
@CustomUserLogin
|
||||||
@PostMapping("/custom/queryAll")
|
@PostMapping("/custom/queryAll")
|
||||||
public R queryAll() {
|
public R queryAll() {
|
||||||
|
String currentCustomId = ThreadLocalRequestDetail.getCustomUserInfo().getId();
|
||||||
List<PlayCouponDetailsReturnVo> obtainedCoupons = couponDetailsService
|
List<PlayCouponDetailsReturnVo> obtainedCoupons = couponDetailsService
|
||||||
.selectByCustomId(ThreadLocalRequestDetail.getCustomUserInfo().getId());
|
.selectByCustomId(currentCustomId);
|
||||||
List<PlayCouponInfoEntity> couponInfoEntities = couponInfoService.queryAll();
|
List<PlayCouponInfoEntity> couponInfoEntities = couponInfoService.queryAll();
|
||||||
List<WxCouponReceiveReturnVo> returnVos = new ArrayList<>(couponInfoEntities.size());
|
List<WxCouponReceiveReturnVo> returnVos = new ArrayList<>(couponInfoEntities.size());
|
||||||
for (PlayCouponInfoEntity couponInfoEntity : couponInfoEntities) {
|
for (PlayCouponInfoEntity couponInfoEntity : couponInfoEntities) {
|
||||||
if ("0".equals(couponInfoEntity.getCouponOnLineState())) {
|
if ("0".equals(couponInfoEntity.getCouponOnLineState())) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
// 领取白名单:非白名单用户不可见
|
||||||
|
if (CouponClaimConditionType.WHITELIST.code().equals(couponInfoEntity.getClaimConditionType())) {
|
||||||
|
List<String> wl = couponInfoEntity.getCustomWhitelist();
|
||||||
|
if (wl == null || !wl.contains(currentCustomId)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
WxCouponReceiveReturnVo vo = ConvertUtil.entityToVo(couponInfoEntity, WxCouponReceiveReturnVo.class);
|
WxCouponReceiveReturnVo vo = ConvertUtil.entityToVo(couponInfoEntity, WxCouponReceiveReturnVo.class);
|
||||||
for (PlayCouponDetailsReturnVo obtainedCoupon : obtainedCoupons) {
|
for (PlayCouponDetailsReturnVo obtainedCoupon : obtainedCoupons) {
|
||||||
if (obtainedCoupon.getCouponId().equals(couponInfoEntity.getId())) {
|
if (obtainedCoupon.getCouponId().equals(couponInfoEntity.getId())) {
|
||||||
|
|||||||
Reference in New Issue
Block a user