package net.mingsoft.tf.biz.impl; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import net.mingsoft.base.biz.impl.BaseBizImpl; import net.mingsoft.tf.biz.IExhibitorBiz; import net.mingsoft.tf.biz.IPeopleExhibitorBiz; import net.mingsoft.tf.dao.IPeopleExhibitorDao; import net.mingsoft.tf.entity.ExhibitorEntity; import net.mingsoft.tf.entity.PeopleExhibitorEntity; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Optional; /** * 用户关联展商业务持久化层 * * @author 阿白 * 创建日期:2025年10月23日 下午6:41:34
* 历史修订:
*/ @Service public class PeopleExhibitorBizImpl extends BaseBizImpl implements IPeopleExhibitorBiz { @Autowired private IPeopleExhibitorDao peopleExhibitorDao; @Autowired private IExhibitorBiz exhibitorBiz; @Override public IPeopleExhibitorDao getDao() { return peopleExhibitorDao; } @Override public void join(String user, String code) { Optional.ofNullable(code) .filter(StrUtil::isNotBlank) .map(exhibitorBiz::queryByInvitationCode) .map(ExhibitorEntity::getExhibitorUser) // 稳一手,自己不能邀请自己 .filter(exhibitorUser -> !StrUtil.equals(exhibitorUser, user)) // 判断是否已经邀请过 .filter(exhibitorUser -> peopleExhibitorDao.selectOne(new LambdaQueryWrapper<>(PeopleExhibitorEntity.class) .eq(PeopleExhibitorEntity::getPeople, user) .eq(PeopleExhibitorEntity::getExhibitor, exhibitorUser)) == null ) .map(exhibitorUser -> { PeopleExhibitorEntity entity = new PeopleExhibitorEntity(); entity.setExhibitor(exhibitorUser); entity.setPeople(user); entity.setCode(code); return entity; }) .ifPresent(this::save); } }