package cn.iocoder.yudao.module.member.service.level; import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.member.controller.admin.level.vo.experience.MemberExperienceRecordPageReqVO; import cn.iocoder.yudao.module.member.convert.level.MemberExperienceRecordConvert; import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberExperienceRecordDO; import cn.iocoder.yudao.module.member.dal.mysql.level.MemberExperienceRecordMapper; import cn.iocoder.yudao.module.member.enums.MemberExperienceBizTypeEnum; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import jakarta.annotation.Resource; import java.util.Collection; import java.util.List; /** * 会员经验记录 Service 实现类 * * @author owen */ @Service @Validated public class MemberExperienceRecordServiceImpl implements MemberExperienceRecordService { @Resource private MemberExperienceRecordMapper experienceLogMapper; @Override public MemberExperienceRecordDO getExperienceRecord(Long id) { return experienceLogMapper.selectById(id); } @Override public PageResult getExperienceRecordPage(MemberExperienceRecordPageReqVO pageReqVO) { return experienceLogMapper.selectPage(pageReqVO); } @Override public PageResult getExperienceRecordPage(Long userId, PageParam pageParam) { return experienceLogMapper.selectPage(userId, pageParam); } @Override public void createExperienceRecord(Long userId, Integer experience, Integer totalExperience, MemberExperienceBizTypeEnum bizType, String bizId) { String description = StrUtil.format(bizType.getDescription(), experience); MemberExperienceRecordDO record = MemberExperienceRecordConvert.INSTANCE.convert( userId, experience, totalExperience, bizId, bizType.getType(), bizType.getTitle(), description); experienceLogMapper.insert(record); } }