Browse Source

社群添加好友发送消息通知

dev
liuchuang 6 years ago
parent
commit
07d94887f2
  1. 15
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/constant/GroupNoticeConstant.java
  2. 30
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java
  3. 2
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcInformationFormDTO.java

15
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/constant/GroupNoticeConstant.java

@ -29,6 +29,16 @@ public interface GroupNoticeConstant {
*/
String NOTICE_GROUP_REMOVED_MEMBER = "你已被群主移除社群";
/**
* 邀请入群
*/
String NOTICE_GROUP_INVITED = "您已加入社群";
/**
* 邀请入群内容
*/
String NOTICE_GROUP_INVITED_CONTENT = "您已被群主邀请加入groupName社群,快进入社群看看吧。";
/**
* 退出社群
*/
@ -73,4 +83,9 @@ public interface GroupNoticeConstant {
* 消息所属业务类型退出社群
*/
String NOTICE_BUSINESS_TYPE_GROUP_QUIT = "groupQuit";
/**
* 社群邀请
*/
String NOTICE_BUSINESS_TYPE_GROUP_INVITED = "groupInvited";
}

30
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java

@ -25,17 +25,22 @@ import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.constant.GroupNoticeConstant;
import com.elink.esua.epdc.dto.enums.GroupUserStateEnum;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO;
import com.elink.esua.epdc.dto.group.GroupDTO;
import com.elink.esua.epdc.dto.group.UserGroupDTO;
import com.elink.esua.epdc.dto.group.form.GroupAddUserFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupUserFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupUserRemoveOrQuitFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO;
import com.elink.esua.epdc.modules.async.NewsTask;
import com.elink.esua.epdc.modules.feign.UserFeignClient;
import com.elink.esua.epdc.modules.group.dao.UserGroupDao;
import com.elink.esua.epdc.modules.group.entity.UserGroupEntity;
import com.elink.esua.epdc.modules.group.service.GroupService;
import com.elink.esua.epdc.modules.group.service.UserGroupService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -59,6 +64,12 @@ public class UserGroupServiceImpl extends BaseServiceImpl<UserGroupDao, UserGrou
@Autowired
private UserFeignClient userFeignClient;
@Autowired
private GroupService groupService;
@Autowired
private NewsTask newsTask;
@Override
public PageData<UserGroupDTO> page(Map<String, Object> params) {
IPage<UserGroupDTO> page = getPage(params);
@ -156,11 +167,28 @@ public class UserGroupServiceImpl extends BaseServiceImpl<UserGroupDao, UserGrou
entity.setMobile(userDto.getMobile());
entity.setPartyMember(userDto.getPartyMember());
entity.setLordFlag(NumConstant.ZERO_STR);
entity.setState(GroupUserStateEnum.GROUP_USER_STATE_PENDING_REVIEW.getValue());
entity.setState(GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue());
userGroupEntities.add(entity);
}
// 获取社群信息
GroupDTO groupDto = groupService.get(formDto.getGroupId());
// 组装发送消息内容
if (insertBatch(userGroupEntities)) {
for (UserGroupEntity userGroupEntity:
userGroupEntities) {
EpdcInformationFormDTO informationFormDTO = new EpdcInformationFormDTO();
informationFormDTO.setContent(GroupNoticeConstant.NOTICE_GROUP_INVITED_CONTENT.replace("groupName", groupDto.getGroupName()));
informationFormDTO.setType(GroupNoticeConstant.NOTICE_TYPE_GROUP_NOTICE);
informationFormDTO.setBusinessId(formDto.getGroupId());
informationFormDTO.setUserId(userGroupEntity.getUserId());
informationFormDTO.setTitle(GroupNoticeConstant.NOTICE_GROUP_INVITED);
informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_INVITED);
// 发送通知
newsTask.insertUserInformation(informationFormDTO);
}
return new Result();
}

2
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcInformationFormDTO.java

@ -64,7 +64,7 @@ public class EpdcInformationFormDTO implements Serializable {
* 消息所属业务类型event事件审核issueComment议题评论issueReply议题评论回复itemComment项目评论itemReply项目评论回复
* issueApprove支持议题itemApprove支持项目issueCommentApprove议题评论支持issueCommentOppose议题评论反对
* itemCommentApprove项目评论支持itemCommentOppose项目评论反对issue议题处理
* item项目处理crowd社群邀请等
* item项目处理groupInvited社群邀请等
*/
@NotBlank(message = "消息所属业务类型不能为空")
private String businessType;

Loading…
Cancel
Save