| | |
| | | } |
| | | } |
| | | // 根据openid查询当前绑定的门店 |
| | | if (StringUtils.isNotBlank(member.getOpenid())) { |
| | | if (Objects.nonNull(member.getLoginShopId())) { |
| | | ShopInfo bindShop = shopInfoMapper.selectOne(new QueryWrapper<ShopInfo>().lambda() |
| | | .eq(ShopInfo::getOpenid, member.getOpenid()) |
| | | .eq(ShopInfo::getId, member.getLoginShopId()) |
| | | .eq(ShopInfo::getDeleted, Constants.ZERO) |
| | | .last("limit 1")); |
| | | if (bindShop != null) { |
| | |
| | | ); |
| | | } |
| | | |
| | | /** |
| | | * 注册满X年赠送优惠券(定时任务调用) |
| | | * 规则:根据运营配置 registerCouponYears(满几年赠送)、registerCouponGiftCount(至多赠送次数)、registerCouponId(赠送优惠券ID列表), |
| | | * 遍历所有普通会员,计算注册年限,每满配置年数赠送一次,累计赠送次数不超过配置上限。 |
| | | * 例如:配置满2年赠送、至多3次,则注册第2/4/6年各赠送一次,共3次。 |
| | | */ |
| | | @Override |
| | | public void giftRegisterCoupon() { |
| | | // 1. 读取配置 |
| | |
| | | return; |
| | | } |
| | | |
| | | // 3. 查询所有普通会员 |
| | | // 3. 数据库层面过滤:注册满configYears且未赠满的普通会员 |
| | | Calendar cal = Calendar.getInstance(); |
| | | cal.add(Calendar.YEAR, -configYears); |
| | | Date minRegisterDate = cal.getTime(); |
| | | |
| | | List<Member> members = memberMapper.selectList(new QueryWrapper<Member>().lambda() |
| | | .eq(Member::getDeleted, Constants.ZERO) |
| | | .eq(Member::getStatus, Constants.ZERO) |
| | | .eq(Member::getUserType, Constants.ZERO) |
| | | .le(Member::getCreateTime, minRegisterDate) |
| | | .lt(Member::getRegisterCouponGiftCount, maxGiftCount) |
| | | .isNotNull(Member::getCreateTime)); |
| | | |
| | | Date now = new Date(); |