From 19cf5604764181ace3f777a3586478e10caea6d4 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Fri, 12 Dec 2025 15:43:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=97=A5=E6=9C=89=E7=A4=BC=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/BirthdayGiftController.java | 6 - .../impl/MkBirthdayGiftServiceImpl.java | 115 +++++++++--------- 2 files changed, 57 insertions(+), 64 deletions(-) diff --git a/cash-api/market-server/src/main/java/com/czg/controller/admin/BirthdayGiftController.java b/cash-api/market-server/src/main/java/com/czg/controller/admin/BirthdayGiftController.java index 2cb6cb54d..083b0ecee 100644 --- a/cash-api/market-server/src/main/java/com/czg/controller/admin/BirthdayGiftController.java +++ b/cash-api/market-server/src/main/java/com/czg/controller/admin/BirthdayGiftController.java @@ -27,12 +27,6 @@ public class BirthdayGiftController { @Resource private MkBirthdayGiftService service; - - @GetMapping("/test") - public CzgResult test() { - service.deliver(); - return CzgResult.success(); - } /** * 配置信息获取 * 权限标识: activate:list diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkBirthdayGiftServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkBirthdayGiftServiceImpl.java index 47c606a47..479ae9718 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkBirthdayGiftServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkBirthdayGiftServiceImpl.java @@ -104,7 +104,8 @@ public class MkBirthdayGiftServiceImpl extends ServiceImpl getRecord(Long shopId, String key, LocalDateTime dateTime) { - QueryWrapper queryWrapper = new QueryWrapper().select() + QueryWrapper queryWrapper = new MyQueryWrapper() + .selectAll(MkBirthdayGiftRecord.class) .select(ShopUser::getNickName, ShopUser::getPhone) .eq(MkBirthdayGiftRecord::getMainShopId, shopId) .leftJoin(ShopUser.class).on(ShopUser::getId, MkBirthdayGiftRecord::getShopUserId); @@ -165,66 +166,64 @@ public class MkBirthdayGiftServiceImpl extends ServiceImpl { - JSONArray.parseArray(birthdayGift.getConfigList()).toJavaList(MkBirthdayGiftConfig.class).forEach(config -> { - LocalDate current = DateUtil.date().toLocalDateTime().toLocalDate(); - if ("day".equals(config.getDeliverDate())) { - if (config.getDeliverTime() != 1) { - current = current.plusDays(config.getDeliverTime()); - } - } else { - // 获取当月第一天 - current = DateUtil.beginOfMonth(now).toLocalDateTime().toLocalDate(); + FunUtils.safeRunVoid(() -> JSONArray.parseArray(birthdayGift.getConfigList()).toJavaList(MkBirthdayGiftConfig.class).forEach(config -> { + LocalDate current = DateUtil.date().toLocalDateTime().toLocalDate(); + if ("day".equals(config.getDeliverDate())) { + if (config.getDeliverTime() != 1) { + current = current.plusDays(config.getDeliverTime()); } - List shopUserList = shopUserService.selectBirthdayUser(current, birthdayGift.getMainShopId(), config.getUserType()); - log.info("符合用户, {}", shopUserList); - for (ShopUser shopUser : shopUserList) { - long count = birthdayGiftRecordService.count(new QueryWrapper().eq(MkBirthdayGiftRecord::getUserId, shopUser.getUserId()) - .eq(MkBirthdayGiftRecord::getYear, DateUtil.year(now))); - if (count > 1) { - log.info("用户{}已领取过生日礼包", shopUser.getUserId()); - continue; - } - // 发放记录 - MkBirthdayGiftRecord giftRecord = new MkBirthdayGiftRecord().setUserId(shopUser.getUserId()).setShopUserId(shopUser.getId()) - .setPushStatus(birthdayGift.getSendSms() == 1 ? - TableValueConstant.BirthdayGiftRecord.PushStatus.WAIT_PUSH.getCode() : TableValueConstant.BirthdayGiftRecord.PushStatus.NO_PUSH.getCode()) - .setMainShopId(birthdayGift.getMainShopId()).setBirthday(DateUtil.parseDate(shopUser.getBirthDay()).toLocalDateTime().toLocalDate()) - .setPhone(shopUser.getPhone()).setTemplateId(shopTemplate == null ? null : shopTemplate.getId()) - .setYear(DateUtil.year(now)).setUserType(config.getUserType()) - .setSourceId(birthdayGift.getId()).setTemplateCode(shopTemplate == null ? null : shopTemplate.getTemplateCode()).setTemplateContent(JSONObject.toJSONString(Map.of( - "用户昵称", shopUser.getNickName(), - "店铺名称", shopInfo.getShopName(), - "数量", config.getCouponInfoList() != null ? config.getCouponInfoList().stream().map(CouponInfoDTO::getNum).reduce(0, Integer::sum) : 0 - ))); - birthdayGiftRecordService.save(giftRecord); - rabbitPublisher.sendBirthdayGiftSmsMsg(giftRecord.getId().toString()); + } else { + // 获取当月第一天 + current = DateUtil.beginOfMonth(now).toLocalDateTime().toLocalDate(); + } + List shopUserList = shopUserService.selectBirthdayUser(current, birthdayGift.getMainShopId(), config.getUserType()); + log.info("符合用户, {}", shopUserList); + for (ShopUser shopUser : shopUserList) { + long count = birthdayGiftRecordService.count(new QueryWrapper().eq(MkBirthdayGiftRecord::getUserId, shopUser.getUserId()) + .eq(MkBirthdayGiftRecord::getYear, DateUtil.year(now))); + if (count > 1) { + log.info("用户{}已领取过生日礼包", shopUser.getUserId()); + continue; + } + // 发放记录 + MkBirthdayGiftRecord giftRecord = new MkBirthdayGiftRecord().setUserId(shopUser.getUserId()).setShopUserId(shopUser.getId()) + .setPushStatus(birthdayGift.getSendSms() == 1 ? + TableValueConstant.BirthdayGiftRecord.PushStatus.WAIT_PUSH.getCode() : TableValueConstant.BirthdayGiftRecord.PushStatus.NO_PUSH.getCode()) + .setMainShopId(birthdayGift.getMainShopId()).setBirthday(DateUtil.parseDate(shopUser.getBirthDay()).toLocalDateTime().toLocalDate()) + .setPhone(shopUser.getPhone()).setTemplateId(shopTemplate == null ? null : shopTemplate.getId()) + .setYear(DateUtil.year(now)).setUserType(config.getUserType()) + .setSourceId(birthdayGift.getId()).setTemplateCode(shopTemplate == null ? null : shopTemplate.getTemplateCode()).setTemplateContent(JSONObject.toJSONString(Map.of( + "用户昵称", shopUser.getNickName(), + "店铺名称", shopInfo.getShopName(), + "数量", config.getCouponInfoList() != null ? config.getCouponInfoList().stream().map(CouponInfoDTO::getNum).reduce(0, Integer::sum) : 0 + ))); + birthdayGiftRecordService.save(giftRecord); + rabbitPublisher.sendBirthdayGiftSmsMsg(giftRecord.getId().toString()); - // 优惠券信息 - if (config.getCouponInfoList() != null && !config.getCouponInfoList().isEmpty()) { - Map couponMap = shopCouponService.list(new QueryWrapper().in(ShopCoupon::getId, config.getCouponInfoList() - .stream().map(CouponInfoDTO::getId).toList())).stream().collect(Collectors.toMap(ShopCoupon::getId, item -> item)); - config.getCouponInfoList().forEach(couponInfo -> { - ShopCoupon shopCoupon = couponMap.get(couponInfo.getId()); - if (shopCoupon == null) { - log.warn("优惠券不存在, id: {}", couponInfo.getId()); - return; - } - FunUtils.safeRunVoid(() -> { - shopCouponRecordService.grant(birthdayGift.getMainShopId(), new MkRewardCouponDTO().setCouponId(couponInfo.getId()) - .setNum(couponInfo.getNum()) - .setUserId(shopUser.getUserId()) - .setShopId(birthdayGift.getMainShopId()), "生日赠券"); - MkBirthdayGiftRecordCoupon recordCoupon = new MkBirthdayGiftRecordCoupon().setCouponName(shopCoupon.getTitle()).setNum(couponInfo.getNum()) - .setType(TableValueConstant.BirthdayGiftRecordCoupon.Type.GIVE.getCode()) - .setRecordId(giftRecord.getId()).setUserId(shopUser.getUserId()).setShopUserId(shopUser.getId()); - birthdayGiftRecordCouponService.save(recordCoupon); - }, "优惠券发放失败"); - }); - } + // 优惠券信息 + if (config.getCouponInfoList() != null && !config.getCouponInfoList().isEmpty()) { + Map couponMap = shopCouponService.list(new QueryWrapper().in(ShopCoupon::getId, config.getCouponInfoList() + .stream().map(CouponInfoDTO::getId).toList())).stream().collect(Collectors.toMap(ShopCoupon::getId, item -> item)); + config.getCouponInfoList().forEach(couponInfo -> { + ShopCoupon shopCoupon = couponMap.get(couponInfo.getId()); + if (shopCoupon == null) { + log.warn("优惠券不存在, id: {}", couponInfo.getId()); + return; + } + FunUtils.safeRunVoid(() -> { + shopCouponRecordService.grant(birthdayGift.getMainShopId(), new MkRewardCouponDTO().setCouponId(couponInfo.getId()) + .setNum(couponInfo.getNum()) + .setUserId(shopUser.getUserId()) + .setShopId(birthdayGift.getMainShopId()), "生日赠券"); + MkBirthdayGiftRecordCoupon recordCoupon = new MkBirthdayGiftRecordCoupon().setCouponName(shopCoupon.getTitle()).setNum(couponInfo.getNum()) + .setType(TableValueConstant.BirthdayGiftRecordCoupon.Type.GIVE.getCode()) + .setRecordId(giftRecord.getId()).setUserId(shopUser.getUserId()).setShopUserId(shopUser.getId()); + birthdayGiftRecordCouponService.save(recordCoupon); + }, "优惠券发放失败"); + }); } - }); - }); + } + })); }