package cc.mrbird.febs.mall.service.impl; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.enumerates.AgentLevelEnum; import cc.mrbird.febs.common.utils.LoginUserUtil; import cc.mrbird.febs.mall.conversion.MallAgentRecordConversion; import cc.mrbird.febs.mall.conversion.MallGoodsConversion; import cc.mrbird.febs.mall.dto.ApiAgentApplyDto; import cc.mrbird.febs.mall.entity.MallAgentRecord; import cc.mrbird.febs.mall.entity.MallMember; import cc.mrbird.febs.mall.mapper.MallAgentRecordMapper; import cc.mrbird.febs.mall.mapper.MallMemberMapper; import cc.mrbird.febs.mall.service.IApiMallAgentService; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @Slf4j @Service @RequiredArgsConstructor public class ApiMallAgentServiceImpl extends ServiceImpl implements IApiMallAgentService { private final MallAgentRecordMapper mallAgentRecordMapper; private final MallMemberMapper mallMemberMapper; @Override public FebsResponse agentApply(ApiAgentApplyDto apiAgentApplyDto) { Long memberId = LoginUserUtil.getLoginUser().getId(); //判断用户当前的级别 MallMember mallMember = mallMemberMapper.selectById(memberId); if(!AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())){ return new FebsResponse().fail().message("用户已无法申请"); } //判断用户是否正在申请 MallAgentRecord mallAgentRecord = mallAgentRecordMapper.selectByMemberIdAndState(memberId,MallAgentRecord.APPLY_ING); if(ObjectUtil.isNotEmpty(mallAgentRecord)){ return new FebsResponse().fail().message("用户已申请"); } MallAgentRecord mallAgentRecordNew = MallAgentRecordConversion.INSTANCE.dtoToEntity(apiAgentApplyDto); mallAgentRecordNew.setMemberId(memberId); mallAgentRecordNew.setState(MallAgentRecord.APPLY_ING); mallAgentRecordMapper.insert(mallAgentRecordNew); return new FebsResponse().success().message("申请成功"); } }