package net.mingsoft.tf.biz.impl; import cn.hutool.core.util.RandomUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import net.mingsoft.base.biz.impl.BaseBizImpl; import net.mingsoft.base.dao.IBaseDao; import net.mingsoft.tf.biz.IExhibitorBiz; import net.mingsoft.tf.dao.IExhibitorDao; import net.mingsoft.tf.entity.ExhibitorEntity; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.function.Function; /** * 展商管理持久化层 * * @author 阿白 * 创建日期:2025年10月23日 下午6:41:34
* 历史修订:
*/ @Service("tfexhibitorBizImpl") public class ExhibitorBizImpl extends BaseBizImpl implements IExhibitorBiz { @Autowired private IExhibitorDao exhibitorDao; @Override protected IBaseDao getDao() { return exhibitorDao; } @Override public ExhibitorEntity query(String user, String exhibition) { return exhibitorDao.selectOne(new LambdaQueryWrapper<>(ExhibitorEntity.class) .eq(ExhibitorEntity::getExhibitorUser, user) .eq(ExhibitorEntity::getExhibitorActivities, exhibition) ); } @Override public ExhibitorEntity queryByBooth(String exhibition, String booth) { return exhibitorDao.selectOne(new LambdaQueryWrapper<>(ExhibitorEntity.class) .eq(ExhibitorEntity::getExhibitorActivities, exhibition) .eq(ExhibitorEntity::getExhibitorBooth, booth) ); } /** * 创建邀请码 */ public static String createInvitationCode(Function check) { String code; for (int i = 0; i <= 5; i++) { code = RandomUtil.randomString(9); if (check.apply(code) == null) { return code; } } throw new RuntimeException("无法生成邀请码"); } @Override public ExhibitorEntity queryByInvitationCode(String invitationCode) { return exhibitorDao.selectOne(new LambdaQueryWrapper<>(ExhibitorEntity.class).eq(ExhibitorEntity::getExhibitorCode, invitationCode)); } @Override public List queryByName(String name) { return exhibitorDao.selectList(new LambdaQueryWrapper<>(ExhibitorEntity.class) .like(ExhibitorEntity::getExhibitorName, name) .isNull(ExhibitorEntity::getExhibitorUser) .isNull(ExhibitorEntity::getExhibitorActivities) ); } }