生日有礼修改

This commit is contained in:
张松
2025-10-16 16:23:19 +08:00
parent 75ce21c95c
commit b4f52dd555
3 changed files with 17 additions and 19 deletions

View File

@@ -1,21 +1,13 @@
package com.czg.controller.user;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.czg.annotation.SaAdminCheckPermission;
import com.czg.market.dto.MkBirthdayGiftDTO;
import com.czg.market.entity.ShopCoupon;
import com.czg.market.service.MkBirthdayGiftService;
import com.czg.market.vo.MkBirthdayGiftRecordSummaryVO;
import com.czg.market.vo.MkBirthdayGiftRecordVO;
import com.czg.market.vo.MkBirthdayGiftVO;
import com.czg.resp.CzgResult;
import com.czg.sa.StpKit;
import com.mybatisflex.core.paginate.Page;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.util.List;
/**
* 生日有礼相关
@@ -32,7 +24,7 @@ public class UBirthdayGiftController {
* 获取生日有礼 不为空则代表今日发放生日有礼的奖励
*/
@GetMapping
public CzgResult<MkBirthdayGiftVO> detail(@RequestParam Integer shopId) {
public CzgResult<List<ShopCoupon>> detail(@RequestParam Integer shopId) {
return CzgResult.success(service.getInfo(StpKit.USER.getLoginIdAsLong(), shopId));
}

View File

@@ -1,6 +1,7 @@
package com.czg.market.service;
import com.czg.market.dto.MkBirthdayGiftDTO;
import com.czg.market.entity.ShopCoupon;
import com.czg.market.vo.MkBirthdayGiftRecordSummaryVO;
import com.czg.market.vo.MkBirthdayGiftRecordVO;
import com.czg.market.vo.MkBirthdayGiftVO;
@@ -9,6 +10,7 @@ import com.mybatisflex.core.service.IService;
import com.czg.market.entity.MkBirthdayGift;
import java.time.LocalDateTime;
import java.util.List;
/**
* 生日有礼 服务层。
@@ -28,5 +30,5 @@ public interface MkBirthdayGiftService extends IService<MkBirthdayGift> {
void deliver();
MkBirthdayGiftVO getInfo(long userId, Integer shopId);
List<ShopCoupon> getInfo(long userId, Integer shopId);
}

View File

@@ -1,7 +1,6 @@
package com.czg.service.market.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
@@ -36,6 +35,7 @@ import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -173,7 +173,12 @@ public class MkBirthdayGiftServiceImpl extends ServiceImpl<MkBirthdayGiftMapper,
queryWrapper.eq(ShopUser::getIsVip, 1);
}
shopUserService.list(queryWrapper).forEach(shopUser -> {
for (ShopUser shopUser : shopUserService.list(queryWrapper)) {
long count = birthdayGiftRecordService.count(new QueryWrapper().eq(MkBirthdayGiftRecord::getUserId, shopUser.getUserId()).eq(MkBirthdayGiftRecord::getBirthday, current));
if (count > 1) {
log.info("用户{}已领取过生日礼包", shopUser.getUserId());
continue;
}
// 发放记录
MkBirthdayGiftRecord giftRecord = new MkBirthdayGiftRecord().setUserId(shopUser.getUserId()).setShopUserId(shopUser.getId())
.setPushStatus(birthdayGift.getSendSms() == 1 ?
@@ -211,7 +216,7 @@ public class MkBirthdayGiftServiceImpl extends ServiceImpl<MkBirthdayGiftMapper,
});
}
});
}
});
});
@@ -222,7 +227,7 @@ public class MkBirthdayGiftServiceImpl extends ServiceImpl<MkBirthdayGiftMapper,
}
@Override
public MkBirthdayGiftVO getInfo(long userId, Integer shopId) {
public List<ShopCoupon> getInfo(long userId, Integer shopId) {
MkBirthdayGift birthdayGift = getOne(new QueryWrapper().eq(MkBirthdayGift::getMainShopId, shopId).eq(MkBirthdayGift::getIsEnable, 1));
if (birthdayGift == null) {
return null;
@@ -248,9 +253,8 @@ public class MkBirthdayGiftServiceImpl extends ServiceImpl<MkBirthdayGiftMapper,
}
if (DateUtil.parseDate(shopUser.getBirthDay()).toLocalDateTime().toLocalDate().isEqual(current)) {
MkBirthdayGiftVO vo = BeanUtil.copyProperties(birthdayGift, MkBirthdayGiftVO.class, "configList");
vo.setConfigList(CollUtil.toList(config));
return vo;
List<CouponInfoDTO> couponInfoList = config.getCouponInfoList();
return shopCouponService.list(new QueryWrapper().in(ShopCoupon::getId, couponInfoList.stream().map(CouponInfoDTO::getId).toList()));
}
}