|
@ -21,20 +21,22 @@ import com.alibaba.fastjson.JSON; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
import com.epmet.commons.tools.constant.AppClientConstant; |
|
|
import com.epmet.commons.tools.constant.*; |
|
|
import com.epmet.commons.tools.constant.FieldConstant; |
|
|
import com.epmet.commons.tools.dto.form.mq.MqBaseMsgDTO; |
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
import com.epmet.commons.tools.dto.form.mq.eventmsg.BasePointEventMsg; |
|
|
import com.epmet.commons.tools.constant.ServiceConstant; |
|
|
import com.epmet.commons.tools.enums.EventEnum; |
|
|
import com.epmet.commons.tools.exception.EpmetErrorCode; |
|
|
import com.epmet.commons.tools.exception.EpmetErrorCode; |
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
import com.epmet.commons.tools.page.PageData; |
|
|
import com.epmet.commons.tools.page.PageData; |
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
|
|
|
import com.epmet.commons.tools.utils.SendMqMsgUtils; |
|
|
import com.epmet.constant.ReadFlagConstant; |
|
|
import com.epmet.constant.ReadFlagConstant; |
|
|
import com.epmet.dto.form.*; |
|
|
import com.epmet.dto.form.*; |
|
|
import com.epmet.dto.result.UserResiInfoResultDTO; |
|
|
import com.epmet.dto.result.UserResiInfoResultDTO; |
|
|
import com.epmet.feign.EpmetMessageOpenFeignClient; |
|
|
import com.epmet.feign.EpmetMessageOpenFeignClient; |
|
|
import com.epmet.feign.EpmetUserOpenFeignClient; |
|
|
import com.epmet.feign.EpmetUserOpenFeignClient; |
|
|
|
|
|
import com.epmet.feign.GovIssueOpenFeignClient; |
|
|
import com.epmet.modules.constant.GroupMemberConstant; |
|
|
import com.epmet.modules.constant.GroupMemberConstant; |
|
|
import com.epmet.modules.constant.UserMessageConstant; |
|
|
import com.epmet.modules.constant.UserMessageConstant; |
|
|
import com.epmet.modules.feign.EpmetUserFeignClient; |
|
|
import com.epmet.modules.feign.EpmetUserFeignClient; |
|
@ -48,7 +50,9 @@ import com.epmet.modules.member.entity.ResiGroupMemberEntity; |
|
|
import com.epmet.modules.member.redis.ResiGroupMemberRedis; |
|
|
import com.epmet.modules.member.redis.ResiGroupMemberRedis; |
|
|
import com.epmet.modules.member.service.GroupMemeberOperationService; |
|
|
import com.epmet.modules.member.service.GroupMemeberOperationService; |
|
|
import com.epmet.modules.member.service.ResiGroupMemberService; |
|
|
import com.epmet.modules.member.service.ResiGroupMemberService; |
|
|
|
|
|
import com.epmet.modules.topic.dao.ResiTopicDao; |
|
|
import com.epmet.modules.topic.service.ResiTopicService; |
|
|
import com.epmet.modules.topic.service.ResiTopicService; |
|
|
|
|
|
import com.epmet.modules.topic.service.TopicShareLinkVisitRecordService; |
|
|
import com.epmet.modules.utils.ModuleConstant; |
|
|
import com.epmet.modules.utils.ModuleConstant; |
|
|
import com.epmet.resi.group.constant.EnterGroupTypeConstant; |
|
|
import com.epmet.resi.group.constant.EnterGroupTypeConstant; |
|
|
import com.epmet.resi.group.constant.LeaderFlagConstant; |
|
|
import com.epmet.resi.group.constant.LeaderFlagConstant; |
|
@ -111,7 +115,8 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD |
|
|
|
|
|
|
|
|
@Autowired |
|
|
@Autowired |
|
|
private ResiTopicService resiTopicService; |
|
|
private ResiTopicService resiTopicService; |
|
|
|
|
|
@Autowired |
|
|
|
|
|
private ResiTopicDao topicDao; |
|
|
@Autowired |
|
|
@Autowired |
|
|
private ResiGroupMemberRedis resiGroupMemberRedis; |
|
|
private ResiGroupMemberRedis resiGroupMemberRedis; |
|
|
|
|
|
|
|
@ -121,6 +126,10 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD |
|
|
private ResiGroupDao resiGroupDao; |
|
|
private ResiGroupDao resiGroupDao; |
|
|
@Autowired |
|
|
@Autowired |
|
|
private EpmetUserOpenFeignClient userOpenFeignClient; |
|
|
private EpmetUserOpenFeignClient userOpenFeignClient; |
|
|
|
|
|
@Autowired |
|
|
|
|
|
private GovIssueOpenFeignClient issueClient; |
|
|
|
|
|
@Autowired |
|
|
|
|
|
private TopicShareLinkVisitRecordService topicShareLinkVisitRecordService; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public PageData<ResiGroupMemberDTO> page(Map<String, Object> params) { |
|
|
public PageData<ResiGroupMemberDTO> page(Map<String, Object> params) { |
|
@ -484,6 +493,42 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD |
|
|
} |
|
|
} |
|
|
resiGroupRedis.set(groupCache); |
|
|
resiGroupRedis.set(groupCache); |
|
|
} |
|
|
} |
|
|
|
|
|
//9、查询当前入组申请人是否是通过话题/议题链接入组,如果是,要给邀请人发送积分事件
|
|
|
|
|
|
Map<String,String> inviterMap = null; |
|
|
|
|
|
if(StringUtils.equals(groupMemeberOperationDTO.getEnterGroupType(),ModuleConstant.ENTER_GROUP_TYPE_TOPIC_LINK)){ |
|
|
|
|
|
inviterMap = topicShareLinkVisitRecordService.getInviter(groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupId()); |
|
|
|
|
|
}else if(StringUtils.equals(groupMemeberOperationDTO.getEnterGroupType(),ModuleConstant.ENTER_GROUP_TYPE_ISSUE_LINK)){ |
|
|
|
|
|
List<String> issues = topicDao.selectIssueIdsByGroupId(groupMemeberOperationDTO.getGroupId()); |
|
|
|
|
|
if(!CollectionUtils.isEmpty(issues)){ |
|
|
|
|
|
Result<Map<String,String>> inviterResult = issueClient.inviter(groupMemeberOperationDTO.getCustomerUserId(),issues); |
|
|
|
|
|
if(inviterResult.success() && !CollectionUtils.isEmpty(inviterResult.getData())) inviterMap = inviterResult.getData(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
if(!CollectionUtils.isEmpty(inviterMap)){ |
|
|
|
|
|
//groupMemeberOperationDTO.getCreatedTime()
|
|
|
|
|
|
|
|
|
|
|
|
boolean isNew = StringUtils.isBlank(inviterMap.get("new")); |
|
|
|
|
|
|
|
|
|
|
|
//mq的事件类型
|
|
|
|
|
|
MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); |
|
|
|
|
|
//事件code
|
|
|
|
|
|
mqBaseMsgDTO.setEventTag(isNew ? EventEnum.INVITE_NEW_RESIDENT_INTO_GROUP.getEventTag() : EventEnum.INVITE_RESIDENT_INTO_GROUP.getEventTag()); |
|
|
|
|
|
List<BasePointEventMsg> pointEventMsgList = new ArrayList<>(); |
|
|
|
|
|
BasePointEventMsg pointEventMsg = new BasePointEventMsg(); |
|
|
|
|
|
pointEventMsg.setCustomerId(groupCache.getCustomerId()); |
|
|
|
|
|
pointEventMsg.setUserId(isNew ? inviterMap.get("new") : inviterMap.get("register")); |
|
|
|
|
|
pointEventMsg.setActionFlag(MqConstant.PLUS); |
|
|
|
|
|
pointEventMsg.setIsCommon(false); |
|
|
|
|
|
if(!isNew) pointEventMsg.setTargetDate(groupMemeberOperationDTO.getCreatedTime()); |
|
|
|
|
|
pointEventMsgList.add(pointEventMsg); |
|
|
|
|
|
|
|
|
|
|
|
mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); |
|
|
|
|
|
Result result= SendMqMsgUtils.sendMsg(mqBaseMsgDTO); |
|
|
|
|
|
if(!result.success()){ |
|
|
|
|
|
logger.error((isNew ? "拉新用户入组事件发送失败" : "邀请已注册用户入组事件发送失败").concat(",参数:%s"),JSON.toJSONString(agreeApplyFormDTO)); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|