Browse Source

小组通知、活动分享

feature/evaluate
sunyuchao 5 years ago
parent
commit
2dd616a619
  1. 31
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/form/ShareFormDTO.java
  2. 19
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/result/ShareResultDTO.java
  3. 21
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/controller/InvitationRecordController.java
  4. 9
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/InvitationRecordService.java
  5. 56
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/InvitationRecordServiceImpl.java

31
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/form/ShareFormDTO.java

@ -0,0 +1,31 @@
package com.epmet.resi.group.dto.invitation.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author sun
* @Description 小组通知活动分享-接口入参
*/
@Data
public class ShareFormDTO implements Serializable {
private static final long serialVersionUID = 7069116393380944951L;
/**
* 通知或活动Id
*/
@NotBlank(message="通知或活动Id不能为空",groups = {ShareFormDTO.Add.class})
private String id;
/**
* 类型(notice:通知 act:活动)
*/
@NotBlank(message = "类型(notice:通知 act:活动)不能为空",groups = {ShareFormDTO.Add.class})
private String type;
/**
* token中用户Id
*/
private String userId;
public interface Add{}
}

19
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/result/ShareResultDTO.java

@ -0,0 +1,19 @@
package com.epmet.resi.group.dto.invitation.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author sun
* @Description 小组通知活动分享-接口返参
*/
@Data
public class ShareResultDTO implements Serializable {
private static final long serialVersionUID = 6136787210623326830L;
/**
* 分享Id
*/
private String invitationRecordId;
}

21
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/controller/InvitationRecordController.java

@ -17,8 +17,16 @@
package com.epmet.modules.invitation.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.modules.invitation.service.InvitationRecordService;
import com.epmet.resi.group.dto.invitation.form.ShareFormDTO;
import com.epmet.resi.group.dto.invitation.result.ShareResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -37,4 +45,17 @@ public class InvitationRecordController {
private InvitationRecordService invitationRecordService;
/**
* @param formDTO
* @return
* @Author sun
* @Description 小组通知活动分享
**/
@PostMapping(value = "share")
public Result<ShareResultDTO> share(@LoginUser TokenDto tokenDto, @RequestBody ShareFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, ShareFormDTO.Add.class);
formDTO.setUserId(tokenDto.getUserId());
return new Result<ShareResultDTO>().ok(invitationRecordService.share(formDTO));
}
}

9
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/InvitationRecordService.java

@ -19,6 +19,8 @@ package com.epmet.modules.invitation.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.modules.invitation.entity.InvitationRecordEntity;
import com.epmet.resi.group.dto.invitation.form.ShareFormDTO;
import com.epmet.resi.group.dto.invitation.result.ShareResultDTO;
/**
* 分享记录(话题通知...后续支持增加)
@ -28,4 +30,11 @@ import com.epmet.modules.invitation.entity.InvitationRecordEntity;
*/
public interface InvitationRecordService extends BaseService<InvitationRecordEntity> {
/**
* @param formDTO
* @return
* @Author sun
* @Description 小组通知活动分享
**/
ShareResultDTO share(ShareFormDTO formDTO);
}

56
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/InvitationRecordServiceImpl.java

@ -18,9 +18,18 @@
package com.epmet.modules.invitation.service.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.modules.act.dao.GroupActInfoDao;
import com.epmet.modules.act.entity.GroupActInfoEntity;
import com.epmet.modules.invitation.dao.InvitationRecordDao;
import com.epmet.modules.invitation.entity.InvitationRecordEntity;
import com.epmet.modules.invitation.service.InvitationRecordService;
import com.epmet.modules.notice.dao.NoticeDao;
import com.epmet.modules.notice.dao.NoticeReafdRecordDao;
import com.epmet.modules.notice.entity.NoticeEntity;
import com.epmet.resi.group.dto.invitation.form.ShareFormDTO;
import com.epmet.resi.group.dto.invitation.result.ShareResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
@ -32,5 +41,52 @@ import org.springframework.stereotype.Service;
@Service
public class InvitationRecordServiceImpl extends BaseServiceImpl<InvitationRecordDao, InvitationRecordEntity> implements InvitationRecordService {
@Autowired
private NoticeDao noticeDao;
@Autowired
private GroupActInfoDao groupActInfoDao;
/**
* @param formDTO
* @return
* @Author sun
* @Description 小组通知活动分享
**/
@Override
public ShareResultDTO share(ShareFormDTO formDTO) {
ShareResultDTO resultDTO = new ShareResultDTO();
//1.按类型查询通知或活动数据
InvitationRecordEntity entity = new InvitationRecordEntity();
NoticeEntity notice = null;
GroupActInfoEntity act = null;
if ("notice".equals(formDTO.getType())) {
notice = noticeDao.selectById(formDTO.getId());
if (null == notice) {
throw new RenException(String.format("通知分享,根据通知Id查询通知数据失败,通知Id->", formDTO.getId()));
}
entity.setCustomerId(notice.getCustomerId());
entity.setGridId(notice.getGridId());
entity.setGroupId(notice.getGroupId());
entity.setSourceId(formDTO.getId());
entity.setSourceType(formDTO.getType());
entity.setShareUserId(formDTO.getUserId());
} else if ("act".equals(formDTO.getType())) {
act = groupActInfoDao.selectById(formDTO.getId());
if (null == act) {
throw new RenException(String.format("活动分享,根据活动Id查询活动数据失败,活动Id->", formDTO.getId()));
}
entity.setCustomerId(act.getCustomerId());
entity.setGridId(act.getGridId());
entity.setGroupId(act.getGroupId());
entity.setSourceId(formDTO.getId());
entity.setSourceType(formDTO.getType());
entity.setShareUserId(formDTO.getUserId());
}
//2.新增分享数据,生成分享Id
baseDao.insert(entity);
resultDTO.setInvitationRecordId(entity.getId());
return resultDTO;
}
}
Loading…
Cancel
Save