Administrator
2026-02-12 a325c295cc5c0943d9345cd3868164dc5e90eace
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMemberLevelServiceImpl.java
@@ -1,20 +1,25 @@
package cc.mrbird.febs.mall.service.impl;
import cc.mrbird.febs.ai.entity.AiMemberRole;
import cc.mrbird.febs.ai.mapper.AiMemberRoleMapper;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.common.enumerates.StateUpDownEnum;
import cc.mrbird.febs.mall.dto.memberLevel.*;
import cc.mrbird.febs.mall.entity.HappyActivityCategory;
import cc.mrbird.febs.mall.entity.HappyMemberLevel;
import cc.mrbird.febs.mall.entity.HappySaleLevel;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.HappyMemberLabelMapper;
import cc.mrbird.febs.mall.mapper.HappyMemberLabelRecordMapper;
import cc.mrbird.febs.mall.mapper.HappyMemberLevelMapper;
import cc.mrbird.febs.mall.mapper.HappySaleLevelMapper;
import cc.mrbird.febs.mall.service.AdminMemberLevelService;
import cc.mrbird.febs.mall.vo.memberLevel.AdminMemberLabelSetDto;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
@@ -32,6 +37,9 @@
    private final HappyMemberLevelMapper happyMemberLevelMapper;
    private final HappySaleLevelMapper happySaleLevelMapper;
    private final HappyMemberLabelMapper happyMemberLabelMapper;
    private final HappyMemberLabelRecordMapper happyMemberLabelRecordMapper;
    private final AiMemberRoleMapper aiMemberRoleMapper;
    @Override
    public IPage<HappyMemberLevel> getLevelListInPage(AdminMemberLevelDto dto, QueryRequest request) {
@@ -43,11 +51,46 @@
    }
    @Override
    public IPage<HappyMemberLabel> getLabelListInPage(AdminMemberLabelDto dto, QueryRequest request) {
        Page<HappyMemberLabel> page = new Page<>(request.getPageNum(), request.getPageSize());
        LambdaQueryWrapper<HappyMemberLabel> lambdaQueryWrapper = new LambdaQueryWrapper<>();
        lambdaQueryWrapper.orderByAsc(HappyMemberLabel::getId);
        Page<HappyMemberLabel>  happyMemberLevelPage = happyMemberLabelMapper.selectPage(page, lambdaQueryWrapper);
        return happyMemberLevelPage;
    }
    @Override
    public FebsResponse levelAdd(AdminMemberLevelAddDto dto) {
        HappyMemberLevel happyMemberLevel = new HappyMemberLevel();
        BeanUtil.copyProperties(dto, happyMemberLevel);
        happyMemberLevelMapper.insert(happyMemberLevel);
        return new FebsResponse().success().message("操作成功");
    }
    @Override
    public FebsResponse labelAdd(AdminMemberLabelAddDto dto) {
        HappyMemberLabel happyMemberLabel = new HappyMemberLabel();
        BeanUtil.copyProperties(dto, happyMemberLabel);
        Integer code = 0;
        if(ObjectUtil.isEmpty(dto.getParentId())){
            code = dto.getCode();
        }
        happyMemberLabel.setCode(code);
        happyMemberLabelMapper.insert(happyMemberLabel);
        return new FebsResponse().success().message("操作成功");
    }
    @Override
    public FebsResponse parentAll() {
        List<HappyMemberLabel> happyMemberLabels = happyMemberLabelMapper.selectList(
                Wrappers.lambdaQuery(HappyMemberLabel.class)
                        .select(HappyMemberLabel::getId, HappyMemberLabel::getName)
                        .eq(HappyMemberLabel::getParentId, 0)
                .eq(HappyMemberLabel::getCode,1)
        );
        return new FebsResponse().success().data(happyMemberLabels);
    }
    @Override
@@ -61,6 +104,47 @@
    }
    @Override
    public FebsResponse labelUpdate(AdminMemberLabelUpdateDto dto) {
        HappyMemberLabel happyMemberLabel = happyMemberLabelMapper.selectById(dto.getId());
        if (ObjectUtil.isNotNull(happyMemberLabel)) {
            BeanUtil.copyProperties(dto, happyMemberLabel);
            Integer code = 0;
            Long parentId = 0L;
            if(ObjectUtil.isEmpty(dto.getParentId())){
                code = dto.getCode();
            }else{
                parentId = dto.getParentId();
            }
            happyMemberLabel.setCode(code);
            happyMemberLabel.setParentId(parentId);
            happyMemberLabelMapper.updateById(happyMemberLabel);
        }
        return new FebsResponse().success().message("操作成功");
    }
    @Override
    public FebsResponse labelMemberSet(AdminMemberLabelSetDto dto) {
        Long labelId = dto.getLabelId();
        List<Long> memberIdList = dto.getMemberIdList();
        HappyMemberLabel happyMemberLabel = happyMemberLabelMapper.selectById(labelId);
        if (ObjectUtil.isNotEmpty(happyMemberLabel)) {
            LambdaQueryWrapper<HappyMemberLabelRecord> happyMemberLabelRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
            happyMemberLabelRecordLambdaQueryWrapper.eq(HappyMemberLabelRecord::getLabelId,labelId);
            happyMemberLabelRecordMapper.delete(happyMemberLabelRecordLambdaQueryWrapper);
            if(CollUtil.isNotEmpty(memberIdList)){
                for (Long memberId:memberIdList){
                    HappyMemberLabelRecord happyMemberLabelRecord = new HappyMemberLabelRecord();
                    happyMemberLabelRecord.setMemberId(memberId);
                    happyMemberLabelRecord.setLabelId(labelId);
                    happyMemberLabelRecordMapper.insert(happyMemberLabelRecord);
                }
            }
        }
        return new FebsResponse().success().message("操作成功");
    }
    @Override
    public FebsResponse levelAll() {
        List<HappyMemberLevel> happyMemberLevels = happyMemberLevelMapper.selectList(
                new LambdaQueryWrapper<HappyMemberLevel>()
@@ -71,6 +155,19 @@
    }
    @Override
    public FebsResponse memberRoleAll(String companyId) {
        LambdaQueryWrapper<AiMemberRole> aiMemberRoleLambdaQueryWrapper = Wrappers.lambdaQuery(AiMemberRole.class);
        aiMemberRoleLambdaQueryWrapper.select(AiMemberRole::getId, AiMemberRole::getName);
        if (StrUtil.isNotBlank(companyId)){
            aiMemberRoleLambdaQueryWrapper.eq(AiMemberRole::getCompanyId, companyId);
        }
        aiMemberRoleLambdaQueryWrapper.eq(AiMemberRole::getState, 1);
        aiMemberRoleLambdaQueryWrapper.orderByAsc(AiMemberRole::getSort);
        List<AiMemberRole> aiMemberRoles = aiMemberRoleMapper.selectList(aiMemberRoleLambdaQueryWrapper);
        return new FebsResponse().success().data(aiMemberRoles);
    }
    @Override
    public IPage<HappySaleLevel> getSaleLevelListInPage(AdminSaleLevelDto dto, QueryRequest request) {
        Page<HappySaleLevel> page = new Page<>(request.getPageNum(), request.getPageSize());