package cn.iocoder.yudao.module.member.api.point; import cn.hutool.core.lang.Assert; import cn.iocoder.yudao.module.member.enums.point.MemberPointBizTypeEnum; import cn.iocoder.yudao.module.member.service.point.MemberPointRecordService; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import jakarta.annotation.Resource; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.POINT_RECORD_BIZ_NOT_SUPPORT; /** * 用户积分的 API 实现类 * * @author owen */ @Service @Validated public class MemberPointApiImpl implements MemberPointApi { @Resource private MemberPointRecordService memberPointRecordService; @Override public void addPoint(Long userId, Integer point, Integer bizType, String bizId) { Assert.isTrue(point > 0); MemberPointBizTypeEnum bizTypeEnum = MemberPointBizTypeEnum.getByType(bizType); if (bizTypeEnum == null) { throw exception(POINT_RECORD_BIZ_NOT_SUPPORT); } memberPointRecordService.createPointRecord(userId, point, bizTypeEnum, bizId); } @Override public void reducePoint(Long userId, Integer point, Integer bizType, String bizId) { Assert.isTrue(point > 0); MemberPointBizTypeEnum bizTypeEnum = MemberPointBizTypeEnum.getByType(bizType); if (bizTypeEnum == null) { throw exception(POINT_RECORD_BIZ_NOT_SUPPORT); } memberPointRecordService.createPointRecord(userId, -point, bizTypeEnum, bizId); } }