序列化尝试4

生日有礼统计
This commit is contained in:
2025-12-20 17:38:53 +08:00
parent 641bc3f9cf
commit 2bc5c8cff3
6 changed files with 54 additions and 7 deletions

View File

@@ -19,6 +19,7 @@ import com.czg.market.dto.MkRewardCouponDTO;
import com.czg.market.dto.ShopCouponDTO;
import com.czg.market.entity.*;
import com.czg.market.service.*;
import com.czg.market.vo.MkBirthdayGiftRecordSummaryVO;
import com.czg.market.vo.MkBirthdayGiftRecordVO;
import com.czg.market.vo.MkBirthdayGiftVO;
import com.czg.service.market.mapper.MkBirthdayGiftMapper;
@@ -90,6 +91,26 @@ public class MkBirthdayGiftServiceImpl extends ServiceImpl<MkBirthdayGiftMapper,
return vo;
}
@Override
public MkBirthdayGiftRecordSummaryVO summary(Long shopId, String key, LocalDateTime dateTime) {
QueryWrapper queryWrapper = new MyQueryWrapper()
.leftJoin(MkBirthdayGiftRecord.class).on(MkBirthdayGiftRecord::getId, MkBirthdayGiftRecordCoupon::getRecordId)
.select("sum( IF(type = 'give', num, 0)) as totalNum", "sum( IF(type = 'consume', num, 0)) as usedNum")
.eq(MkBirthdayGiftRecord::getMainShopId, shopId)
.leftJoin(ShopUser.class).on(ShopUser::getId, MkBirthdayGiftRecord::getShopUserId);
if (StrUtil.isNotBlank(key)) {
queryWrapper.and(and -> {
and.or(or -> {
or.like(ShopUser::getNickName, key);
}).or(or -> {
or.like(ShopUser::getPhone, key);
});
});
}
return birthdayGiftRecordCouponService.getOneAsOpt(queryWrapper, MkBirthdayGiftRecordSummaryVO.class).orElseGet(MkBirthdayGiftRecordSummaryVO::new);
}
@Override
@CacheEvict(key = "#shopId")
public Boolean edit(Long shopId, MkBirthdayGiftDTO giftDTO) {