InviteMessageService.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package com.example.xiaoshiweixinback.service;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  4. import com.example.xiaoshiweixinback.business.common.base.Records;
  5. import com.example.xiaoshiweixinback.business.exception.BusinessException;
  6. import com.example.xiaoshiweixinback.business.exception.ExceptionEnum;
  7. import com.example.xiaoshiweixinback.business.utils.CacheUtil;
  8. import com.example.xiaoshiweixinback.business.utils.LoginUtils;
  9. import com.example.xiaoshiweixinback.domain.InviteMessage;
  10. import com.example.xiaoshiweixinback.domain.Person;
  11. import com.example.xiaoshiweixinback.entity.invite.InvitedPersonQueryDTO;
  12. import com.example.xiaoshiweixinback.entity.invite.InvitedPersonVO;
  13. import com.example.xiaoshiweixinback.entity.person.PersonQueryVO;
  14. import com.example.xiaoshiweixinback.entity.person.PersonVO;
  15. import com.example.xiaoshiweixinback.entity.vo.PersonnelVO;
  16. import com.example.xiaoshiweixinback.mapper.InviteMessageMapper;
  17. import io.swagger.v3.oas.models.security.SecurityScheme;
  18. import lombok.RequiredArgsConstructor;
  19. import org.springframework.context.annotation.Lazy;
  20. import org.springframework.stereotype.Service;
  21. import java.util.List;
  22. /**
  23. * @author admin
  24. * @description 针对表【invite_message(邀请信息表)】的数据库操作Service实现
  25. * @createDate 2024-07-02 21:25:55
  26. */
  27. @Service
  28. @RequiredArgsConstructor
  29. public class InviteMessageService extends ServiceImpl<InviteMessageMapper, InviteMessage> {
  30. private final PersonService personService;
  31. public final CacheUtil cacheUtil;
  32. private final AssoPersonVipService assoPersonVipService;
  33. @Lazy
  34. private final ActivityService activityService;
  35. private final Integer ACTIVITY_SCOPE=-2;
  36. public void checkInvite(String inviteNode) {
  37. if(inviteNode==null){
  38. return;
  39. }
  40. LambdaQueryWrapper<Person> queryWrapper = new LambdaQueryWrapper<>();
  41. queryWrapper.eq(Person::getUuid, inviteNode);
  42. Person person = personService.getOne(queryWrapper, false);
  43. if (person == null) {
  44. throw new BusinessException(ExceptionEnum.LOGIN_INVITE_ERROR, "邀请码错误");
  45. }
  46. }
  47. public void addInviteMessage(String inviteNode, String personUuid) {
  48. if(inviteNode==null){
  49. return;
  50. }
  51. InviteMessage inviteMessage = new InviteMessage();
  52. inviteMessage.setInvitePersonUuid(inviteNode);
  53. inviteMessage.setIfBuyVip(false);
  54. inviteMessage.setInvitedPersonUuid(personUuid);
  55. inviteMessage.insert();
  56. activityService.executeActivity(inviteMessage,ACTIVITY_SCOPE,1,null);
  57. }
  58. public InviteMessage updateInvite(String personUuid) {
  59. //查询人员是否被邀请
  60. LambdaQueryWrapper<InviteMessage> queryWrapper = new LambdaQueryWrapper<>();
  61. queryWrapper.eq(InviteMessage::getInvitedPersonUuid, personUuid)
  62. .eq(InviteMessage::getIfBuyVip, false);
  63. InviteMessage inviteMessage = this.getOne(queryWrapper, false);
  64. if(inviteMessage!=null) {
  65. inviteMessage.setIfBuyVip(true);
  66. inviteMessage.updateById();
  67. }
  68. return inviteMessage;
  69. }
  70. public Records queryInvitedPerson(InvitedPersonQueryDTO invitedPersonQueryDTO) {
  71. Long current = invitedPersonQueryDTO.getCurrent();
  72. Long size = invitedPersonQueryDTO.getSize();
  73. PersonnelVO personVO =cacheUtil.getLoginUser(LoginUtils.getToken());
  74. invitedPersonQueryDTO.setPersonUuid(personVO.getUuid());
  75. List<InvitedPersonVO> invitedPersonVOS = this.getBaseMapper().queryInvitedPerson(invitedPersonQueryDTO);
  76. Long total = this.getBaseMapper().queryInvitedPersonTotal(invitedPersonQueryDTO);
  77. Records records = new Records();
  78. records.setData(invitedPersonVOS);
  79. records.setTotal(total);
  80. records.setSize(size);
  81. records.setCurrent(current);
  82. return records;
  83. }
  84. public InviteMessage getInvitedMessage(String InvitedId) {
  85. LambdaQueryWrapper<InviteMessage> queryWrapper =new LambdaQueryWrapper<>();
  86. queryWrapper.eq(InviteMessage::getInvitedPersonUuid,InvitedId);
  87. InviteMessage inviteMessage =this.getOne(queryWrapper);
  88. return inviteMessage;
  89. }
  90. }