PeopleExhibitorBizImpl.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package net.mingsoft.tf.biz.impl;
  2. import cn.hutool.core.util.StrUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import net.mingsoft.base.biz.impl.BaseBizImpl;
  5. import net.mingsoft.tf.biz.IExhibitorBiz;
  6. import net.mingsoft.tf.biz.IPeopleExhibitorBiz;
  7. import net.mingsoft.tf.dao.IPeopleExhibitorDao;
  8. import net.mingsoft.tf.entity.ExhibitorEntity;
  9. import net.mingsoft.tf.entity.PeopleExhibitorEntity;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Service;
  12. import java.util.Optional;
  13. /**
  14. * 用户关联展商业务持久化层
  15. *
  16. * @author 阿白
  17. * 创建日期:2025年10月23日 下午6:41:34<br/>
  18. * 历史修订:<br/>
  19. */
  20. @Service
  21. public class PeopleExhibitorBizImpl extends BaseBizImpl<IPeopleExhibitorDao, PeopleExhibitorEntity> implements IPeopleExhibitorBiz {
  22. @Autowired
  23. private IPeopleExhibitorDao peopleExhibitorDao;
  24. @Autowired
  25. private IExhibitorBiz exhibitorBiz;
  26. @Override
  27. public IPeopleExhibitorDao getDao() {
  28. return peopleExhibitorDao;
  29. }
  30. @Override
  31. public void join(String user, String code) {
  32. Optional.ofNullable(code)
  33. .filter(StrUtil::isNotBlank)
  34. .map(exhibitorBiz::queryByInvitationCode)
  35. .map(ExhibitorEntity::getExhibitorUser)
  36. // 稳一手,自己不能邀请自己
  37. .filter(exhibitorUser -> !StrUtil.equals(exhibitorUser, user))
  38. // 判断是否已经邀请过
  39. .filter(exhibitorUser -> peopleExhibitorDao.selectOne(new LambdaQueryWrapper<>(PeopleExhibitorEntity.class)
  40. .eq(PeopleExhibitorEntity::getPeople, user)
  41. .eq(PeopleExhibitorEntity::getExhibitor, exhibitorUser)) == null
  42. )
  43. .map(exhibitorUser -> {
  44. PeopleExhibitorEntity entity = new PeopleExhibitorEntity();
  45. entity.setExhibitor(exhibitorUser);
  46. entity.setPeople(user);
  47. entity.setCode(code);
  48. return entity;
  49. })
  50. .ifPresent(this::save);
  51. }
  52. }