xiaoyong931011
2023-02-13 fe00af0129ea00d7b3e33af06ab8f48acaf0389c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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("申请成功");
    }
}