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.custom.module.entity.PlayCustomUserInfoEntity;
|
||||
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.PlayCouponDetailsReturnVo;
|
||||
import com.starry.admin.modules.shop.service.IPlayCommodityInfoService;
|
||||
@@ -94,14 +95,22 @@ public class WxCouponController {
|
||||
@CustomUserLogin
|
||||
@PostMapping("/custom/queryAll")
|
||||
public R queryAll() {
|
||||
String currentCustomId = ThreadLocalRequestDetail.getCustomUserInfo().getId();
|
||||
List<PlayCouponDetailsReturnVo> obtainedCoupons = couponDetailsService
|
||||
.selectByCustomId(ThreadLocalRequestDetail.getCustomUserInfo().getId());
|
||||
.selectByCustomId(currentCustomId);
|
||||
List<PlayCouponInfoEntity> couponInfoEntities = couponInfoService.queryAll();
|
||||
List<WxCouponReceiveReturnVo> returnVos = new ArrayList<>(couponInfoEntities.size());
|
||||
for (PlayCouponInfoEntity couponInfoEntity : couponInfoEntities) {
|
||||
if ("0".equals(couponInfoEntity.getCouponOnLineState())) {
|
||||
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);
|
||||
for (PlayCouponDetailsReturnVo obtainedCoupon : obtainedCoupons) {
|
||||
if (obtainedCoupon.getCouponId().equals(couponInfoEntity.getId())) {
|
||||
|
||||
Reference in New Issue
Block a user