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.core.conditions.Wrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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<MallAgentRecordMapper, MallAgentRecord> 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)){
|
mallAgentRecordMapper.deleteByMemberIdAndState(memberId,MallAgentRecord.APPLY_ING);
|
}
|
|
MallAgentRecord mallAgentRecordNew = MallAgentRecordConversion.INSTANCE.dtoToEntity(apiAgentApplyDto);
|
mallAgentRecordNew.setMemberId(memberId);
|
mallAgentRecordNew.setState(MallAgentRecord.APPLY_ING);
|
mallAgentRecordMapper.insert(mallAgentRecordNew);
|
|
return new FebsResponse().success().message("申请成功");
|
}
|
}
|