Browse Source

报名审核、取消活动用户发送消息通知

feature/dangjian
尹作梅 6 years ago
parent
commit
16e29ce0d1
  1. 38
      esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/constant/HeartNoticeConstant.java
  2. 9
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActUserRelationDao.java
  3. 36
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java
  4. 38
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserRelationServiceImpl.java
  5. 47
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/async/NewsTask.java
  6. 43
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/NewsFeignClient.java
  7. 28
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/NewsFeignClientFallback.java
  8. 13
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActUserRelationDao.xml
  9. 2
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcInformationFormDTO.java
  10. 13
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppInformationController.java
  11. 9
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/InformationService.java
  12. 12
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/InformationServiceImpl.java

38
esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/constant/HeartNoticeConstant.java

@ -0,0 +1,38 @@
package com.elink.esua.epdc.constant;
/**
* @Description 爱心互助模块发送消息常量
* @Author yinzuomei
* @Date 2020/2/7 20:14
*/
public interface HeartNoticeConstant {
/**
* 活动报名审核未通过
*/
String NOTICE_SIGN_UP_NOT_PASSED = "您报名的活动【审核未通过】";
/**
* 活动报名审核通过
*/
String NOTICE_SIGN_UP_PASSED = "您报名的活动【审核通过】";
/**
* 活动取消
*/
String NOTICE_CANCEL_ACT = "您报名的活动【已经取消】";
/**
* 消息所属业务类型activity活动
*/
String NOTICE__BUSINESS_TYPE_ACTIVITY = "activity";
/**
* 我的消息类型0审核通知
*/
String NOTICE_TYPE_AUDIT_NOTICE = "0";
/**
* 我的消息类型1互动通知
*/
String NOTICE_TYPE_INTERACTIVE_NOTICE = "1";
}

9
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActUserRelationDao.java

@ -107,4 +107,13 @@ public interface ActUserRelationDao extends BaseDao<ActUserRelationEntity> {
* @Date 2020/2/6 0:10 * @Date 2020/2/6 0:10
**/ **/
ActUserRelationEntity selectOneByUserIdAndActId(@Param("userId") String userId, @Param("actId") String actId); ActUserRelationEntity selectOneByUserIdAndActId(@Param("userId") String userId, @Param("actId") String actId);
/**
* @param actId
* @return java.util.List<com.elink.esua.epdc.activity.ActUserRelationDTO>
* @Author yinzuomei
* @Description 根据活动id查询所有已经报名的用户
* @Date 2020/2/7 20:53
**/
List<ActUserRelationDTO> selectAllSignUpUsers(String actId);
} }

36
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java

@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.activity.ActBannerDTO; import com.elink.esua.epdc.activity.ActBannerDTO;
import com.elink.esua.epdc.activity.ActInfoDTO; import com.elink.esua.epdc.activity.ActInfoDTO;
import com.elink.esua.epdc.activity.ActUserRelationDTO;
import com.elink.esua.epdc.activity.form.ActInfoAppFormDTO; import com.elink.esua.epdc.activity.form.ActInfoAppFormDTO;
import com.elink.esua.epdc.activity.form.ActInfoFormDTO; import com.elink.esua.epdc.activity.form.ActInfoFormDTO;
import com.elink.esua.epdc.activity.result.ActInfoAppResultDTO; import com.elink.esua.epdc.activity.result.ActInfoAppResultDTO;
@ -40,7 +41,9 @@ import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.constant.ActStateConstant; import com.elink.esua.epdc.constant.ActStateConstant;
import com.elink.esua.epdc.constant.ActUserRelationStatusConstant; import com.elink.esua.epdc.constant.ActUserRelationStatusConstant;
import com.elink.esua.epdc.constant.ActUserStatusConstant; import com.elink.esua.epdc.constant.ActUserStatusConstant;
import com.elink.esua.epdc.constant.HeartNoticeConstant;
import com.elink.esua.epdc.dto.ScheduleJobDTO; import com.elink.esua.epdc.dto.ScheduleJobDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.modules.activity.dao.ActInfoDao; import com.elink.esua.epdc.modules.activity.dao.ActInfoDao;
import com.elink.esua.epdc.modules.activity.dao.ActUserClockLogDao; import com.elink.esua.epdc.modules.activity.dao.ActUserClockLogDao;
import com.elink.esua.epdc.modules.activity.dao.ActUserRelationDao; import com.elink.esua.epdc.modules.activity.dao.ActUserRelationDao;
@ -51,6 +54,7 @@ import com.elink.esua.epdc.modules.activity.entity.ActUserRelationEntity;
import com.elink.esua.epdc.modules.activity.redis.ActInfoRedis; import com.elink.esua.epdc.modules.activity.redis.ActInfoRedis;
import com.elink.esua.epdc.modules.activity.service.ActBannerService; import com.elink.esua.epdc.modules.activity.service.ActBannerService;
import com.elink.esua.epdc.modules.activity.service.ActInfoService; import com.elink.esua.epdc.modules.activity.service.ActInfoService;
import com.elink.esua.epdc.modules.async.NewsTask;
import com.elink.esua.epdc.modules.feign.JobFeignClient; import com.elink.esua.epdc.modules.feign.JobFeignClient;
import com.elink.esua.epdc.modules.feign.UserInfoFeignClient; import com.elink.esua.epdc.modules.feign.UserInfoFeignClient;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -82,6 +86,8 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
private ActUserClockLogDao actUserClockLogDao; private ActUserClockLogDao actUserClockLogDao;
@Autowired @Autowired
private UserInfoFeignClient userInfoFeignClient; private UserInfoFeignClient userInfoFeignClient;
@Autowired
private NewsTask newsTask;
@Override @Override
public PageData<ActInfoDTO> page(Map<String, Object> params) { public PageData<ActInfoDTO> page(Map<String, Object> params) {
@ -183,15 +189,45 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
} }
ActInfoEntity updateEntity = new ActInfoEntity(); ActInfoEntity updateEntity = new ActInfoEntity();
updateEntity.setId(dto.getId()); updateEntity.setId(dto.getId());
updateEntity.setTitle(entity.getTitle());
updateEntity.setCancelReason(dto.getCancelReason()); updateEntity.setCancelReason(dto.getCancelReason());
updateEntity.setActStatus(ActStateConstant.ACT_INFO_STATUS_UNDERCARRIAGE); updateEntity.setActStatus(ActStateConstant.ACT_INFO_STATUS_UNDERCARRIAGE);
updateById(updateEntity); updateById(updateEntity);
// 下架banner // 下架banner
actBannerService.takeOffBannerByActId(dto.getId()); actBannerService.takeOffBannerByActId(dto.getId());
// 通知用户
this.sendUserCancelActNotice(updateEntity);
return new Result(); return new Result();
} }
/**
* @param actInfoEntity
* @return void
* @Author yinzuomei
* @Description 取消活动时通知所有已经报名的 用户
* @Date 2020/2/7 20:43
**/
private void sendUserCancelActNotice(ActInfoEntity actInfoEntity) {
List<ActUserRelationDTO> userList = actUserRelationDao.selectAllSignUpUsers(actInfoEntity.getId());
if (null == userList || userList.size() == 0) {
return;
}
List<EpdcInformationFormDTO> epdcInformationFormDTOList = new ArrayList<>();
for (ActUserRelationDTO user : userList) {
EpdcInformationFormDTO informationFormDTO = new EpdcInformationFormDTO();
informationFormDTO.setTitle(HeartNoticeConstant.NOTICE_CANCEL_ACT);
informationFormDTO.setUserId(user.getUserId());
informationFormDTO.setType(HeartNoticeConstant.NOTICE_TYPE_INTERACTIVE_NOTICE);
informationFormDTO.setBusinessType(HeartNoticeConstant.NOTICE__BUSINESS_TYPE_ACTIVITY);
informationFormDTO.setBusinessId(actInfoEntity.getId());
informationFormDTO.setContent(actInfoEntity.getCancelReason());
informationFormDTO.setRelBusinessContent(actInfoEntity.getTitle());
epdcInformationFormDTOList.add(informationFormDTO);
}
newsTask.insertBatchUserInformation(epdcInformationFormDTOList);
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) { public void delete(String[] ids) {

38
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserRelationServiceImpl.java

@ -38,8 +38,10 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.constant.ActStateConstant; import com.elink.esua.epdc.constant.ActStateConstant;
import com.elink.esua.epdc.constant.ActUserPointsOperationTypeConstant; import com.elink.esua.epdc.constant.ActUserPointsOperationTypeConstant;
import com.elink.esua.epdc.constant.ActUserRelationStatusConstant; import com.elink.esua.epdc.constant.ActUserRelationStatusConstant;
import com.elink.esua.epdc.constant.HeartNoticeConstant;
import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.VolunteerInfoDTO; import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsFormDTO;
import com.elink.esua.epdc.dto.logs.PointsLogsDTO; import com.elink.esua.epdc.dto.logs.PointsLogsDTO;
import com.elink.esua.epdc.modules.activity.dao.ActInfoDao; import com.elink.esua.epdc.modules.activity.dao.ActInfoDao;
@ -52,6 +54,7 @@ import com.elink.esua.epdc.modules.activity.service.ActInfoService;
import com.elink.esua.epdc.modules.activity.service.ActUserLogService; import com.elink.esua.epdc.modules.activity.service.ActUserLogService;
import com.elink.esua.epdc.modules.activity.service.ActUserPointsLogService; import com.elink.esua.epdc.modules.activity.service.ActUserPointsLogService;
import com.elink.esua.epdc.modules.activity.service.ActUserRelationService; import com.elink.esua.epdc.modules.activity.service.ActUserRelationService;
import com.elink.esua.epdc.modules.async.NewsTask;
import com.elink.esua.epdc.modules.feign.PointsFeignClient; import com.elink.esua.epdc.modules.feign.PointsFeignClient;
import com.elink.esua.epdc.modules.feign.UserInfoFeignClient; import com.elink.esua.epdc.modules.feign.UserInfoFeignClient;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -94,6 +97,9 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
@Autowired @Autowired
private PointsFeignClient pointsFeignClient; private PointsFeignClient pointsFeignClient;
@Autowired
private NewsTask newsTask;
@Override @Override
public PageData<ActUserRelationDTO> page(Map<String, Object> params) { public PageData<ActUserRelationDTO> page(Map<String, Object> params) {
IPage<ActUserRelationEntity> page = baseDao.selectPage( IPage<ActUserRelationEntity> page = baseDao.selectPage(
@ -164,6 +170,8 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
if (ActStateConstant.ACT_USER_RELATION_STATUS_APPLY.equals(entity.getStatus())) { if (ActStateConstant.ACT_USER_RELATION_STATUS_APPLY.equals(entity.getStatus())) {
ActUserRelationEntity updateEntity = new ActUserRelationEntity(); ActUserRelationEntity updateEntity = new ActUserRelationEntity();
updateEntity.setId(dto.getId()); updateEntity.setId(dto.getId());
updateEntity.setUserId(entity.getUserId());
updateEntity.setActId(entity.getActId());
updateEntity.setStatus(dto.getStatus()); updateEntity.setStatus(dto.getStatus());
updateEntity.setFailureReason(dto.getFailureReason()); updateEntity.setFailureReason(dto.getFailureReason());
updateEntity.setAuditTime(new Date()); updateEntity.setAuditTime(new Date());
@ -175,11 +183,41 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
actUserLogDTO.setFailureReason(dto.getFailureReason()); actUserLogDTO.setFailureReason(dto.getFailureReason());
actUserLogDTO.setOperationTime(new Date()); actUserLogDTO.setOperationTime(new Date());
actUserLogService.save(actUserLogDTO); actUserLogService.save(actUserLogDTO);
this.insertUserInformation(updateEntity);
return new Result(); return new Result();
} }
return new Result().error("不可操作"); return new Result().error("不可操作");
} }
/**
* @param actUserRelationEntity
* @return void
* @Author yinzuomei
* @Description 报名审核-用户发送消息通知
* @Date 2020/2/7 20:08
**/
private void insertUserInformation(ActUserRelationEntity actUserRelationEntity) {
EpdcInformationFormDTO informationFormDTO = new EpdcInformationFormDTO();
// 当前状态(0-报名,1-审核通过,2-打卡,3-取消报名,4-审核不通过)
if (ActUserRelationStatusConstant.APPROVED.equals(actUserRelationEntity.getStatus())) {
informationFormDTO.setTitle(HeartNoticeConstant.NOTICE_SIGN_UP_PASSED);
} else if (ActUserRelationStatusConstant.NOT_APPROVED.equals(actUserRelationEntity.getStatus())) {
informationFormDTO.setTitle(HeartNoticeConstant.NOTICE_SIGN_UP_NOT_PASSED);
} else {
return;
}
informationFormDTO.setUserId(actUserRelationEntity.getUserId());
informationFormDTO.setType(HeartNoticeConstant.NOTICE_TYPE_AUDIT_NOTICE);
informationFormDTO.setBusinessType(HeartNoticeConstant.NOTICE__BUSINESS_TYPE_ACTIVITY);
informationFormDTO.setBusinessId(actUserRelationEntity.getActId());
informationFormDTO.setContent(actUserRelationEntity.getFailureReason());
ActInfoDTO actInfoDTO = actInfoService.get(actUserRelationEntity.getActId());
if (null != actInfoDTO) {
informationFormDTO.setRelBusinessContent(actInfoDTO.getTitle());
}
newsTask.insertUserInformation(informationFormDTO);
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) { public void delete(String[] ids) {

47
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/async/NewsTask.java

@ -0,0 +1,47 @@
package com.elink.esua.epdc.modules.async;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.modules.feign.NewsFeignClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 新闻通知消息模块 线程任务
*
* @author yujintao
* @email yujintao@elink-cn.com
* @date 2019/9/10 10:02
*/
@Component
public class NewsTask {
@Autowired
private NewsFeignClient newsFeignClient;
/**
* 给用户发送消息
*
* @param informationDto
* @return void
* @author yujintao
* @date 2019/9/10 10:33
*/
@Async
public void insertUserInformation(EpdcInformationFormDTO informationDto) {
newsFeignClient.saveInformation(informationDto);
}
/**
* @param epdcInformationFormDTOList
* @return void
* @Author yinzuomei
* @Description 批量给用户发消息
* @Date 2020/2/7 21:01
**/
public void insertBatchUserInformation(List<EpdcInformationFormDTO> epdcInformationFormDTOList) {
newsFeignClient.saveInformationList(epdcInformationFormDTOList);
}
}

43
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/NewsFeignClient.java

@ -0,0 +1,43 @@
package com.elink.esua.epdc.modules.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.modules.feign.fallback.NewsFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* 消息模块
*
* @author work@yujt.net.cn
* @date 2019/9/18 15:37
*/
@FeignClient(name = ServiceConstant.EPDC_NEWS_SERVER, fallback = NewsFeignClientFallback.class)
public interface NewsFeignClient {
/**
* 给用户发消息
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author work@yujt.net.cn
* @date 2019/9/18 15:40
*/
@PostMapping(value = "news/epdc-app/information/save", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result saveInformation(@RequestBody EpdcInformationFormDTO formDto);
/**
* @param epdcInformationFormDTOList
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei
* @Description 批量给用户发消息
* @Date 2020/2/7 21:00
**/
@PostMapping(value = "news/epdc-app/information/saveList", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result saveInformationList(List<EpdcInformationFormDTO> epdcInformationFormDTOList);
}

28
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/NewsFeignClientFallback.java

@ -0,0 +1,28 @@
package com.elink.esua.epdc.modules.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.modules.feign.NewsFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author work@yujt.net.cn
* @date 2019/9/18 15:38
*/
@Component
public class NewsFeignClientFallback implements NewsFeignClient {
@Override
public Result saveInformation(EpdcInformationFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_NEWS_SERVER, "saveInformation", formDto);
}
@Override
public Result saveInformationList(List<EpdcInformationFormDTO> epdcInformationFormDTOList) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_NEWS_SERVER, "saveInformationList", epdcInformationFormDTOList);
}
}

13
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActUserRelationDao.xml

@ -255,4 +255,17 @@
and eaur.ACT_ID=#{actId} and eaur.ACT_ID=#{actId}
and eaur.USER_ID=#{userId} and eaur.USER_ID=#{userId}
</select> </select>
<!-- 根据活动id查询所有已经报名的用户 -->
<select id="selectAllSignUpUsers" parameterType="java.lang.String"
resultType="com.elink.esua.epdc.activity.ActUserRelationDTO">
SELECT
eaur.*
FROM
epdc_act_user_relation eaur
WHERE
eaur.DEL_FLAG = '0'
AND eaur.`STATUS` IN ( '0', '1' )
AND eaur.ACT_ID = #{actId}
</select>
</mapper> </mapper>

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项目评论回复 * 消息所属业务类型event事件审核issueComment议题评论issueReply议题评论回复itemComment项目评论itemReply项目评论回复
* issueApprove支持议题itemApprove支持项目issueCommentApprove议题评论支持issueCommentOppose议题评论反对 * issueApprove支持议题itemApprove支持项目issueCommentApprove议题评论支持issueCommentOppose议题评论反对
* itemCommentApprove项目评论支持itemCommentOppose项目评论反对issue议题处理 * itemCommentApprove项目评论支持itemCommentOppose项目评论反对issue议题处理
* item项目处理groupInvited社群邀请等; volunteer志愿者审核 * item项目处理groupInvited社群邀请等; volunteer志愿者审核;activity爱心互助活动;
*/ */
@NotBlank(message = "消息所属业务类型不能为空") @NotBlank(message = "消息所属业务类型不能为空")
private String businessType; private String businessType;

13
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppInformationController.java

@ -59,6 +59,19 @@ public class EpdcAppInformationController {
return this.informationService.saveInformation(formDto); return this.informationService.saveInformation(formDto);
} }
/**
* @param epdcInformationFormDTOList
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei
* @Description 批量发送消息
* @Date 2020/2/7 21:04
**/
@PostMapping("saveList")
public Result saveInformation(@RequestBody List<EpdcInformationFormDTO> epdcInformationFormDTOList) {
ValidatorUtils.validateEntity(epdcInformationFormDTOList);
return this.informationService.saveInformationList(epdcInformationFormDTOList);
}
/** /**
* 消息已读 * 消息已读
* *

9
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/InformationService.java

@ -137,4 +137,13 @@ public interface InformationService extends BaseService<InformationEntity> {
* @date 2019/9/11 19:05 * @date 2019/9/11 19:05
*/ */
Result<EpdcInformationFristResultDTO> selectOneFristByUserId(String userId); Result<EpdcInformationFristResultDTO> selectOneFristByUserId(String userId);
/**
* @param epdcInformationFormDTOList
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei 批量给用户发消息
* @Description saveInformationList
* @Date 2020/2/7 21:04
**/
Result saveInformationList(List<EpdcInformationFormDTO> epdcInformationFormDTOList);
} }

12
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/InformationServiceImpl.java

@ -20,11 +20,11 @@ package com.elink.esua.epdc.service.impl;
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.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum; import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum;
import com.elink.esua.epdc.commons.tools.page.PageData; 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.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.commons.tools.utils.Result;
import com.elink.esua.epdc.dao.InformationDao; import com.elink.esua.epdc.dao.InformationDao;
import com.elink.esua.epdc.dto.InformationDTO; import com.elink.esua.epdc.dto.InformationDTO;
@ -132,4 +132,14 @@ public class InformationServiceImpl extends BaseServiceImpl<InformationDao, Info
public Result<EpdcInformationFristResultDTO> selectOneFristByUserId(String userId) { public Result<EpdcInformationFristResultDTO> selectOneFristByUserId(String userId) {
return new Result<EpdcInformationFristResultDTO>().ok(baseDao.selectOneFristByUserId(userId)); return new Result<EpdcInformationFristResultDTO>().ok(baseDao.selectOneFristByUserId(userId));
} }
@Override
public Result saveInformationList(List<EpdcInformationFormDTO> epdcInformationFormDTOList) {
List<InformationEntity> entityList = ConvertUtils.sourceToTarget(epdcInformationFormDTOList, InformationEntity.class);
for (InformationEntity entity : entityList) {
entity.setReadFlag(YesOrNoEnum.NO.value());
}
this.insertBatch(entityList);
return new Result();
}
} }
Loading…
Cancel
Save