Browse Source

Merge remote-tracking branch 'origin/dev_1118' into dev_1118

feature/dangjian
李鹏飞 6 years ago
parent
commit
a71bb3e894
  1. 38
      esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/constant/HeartNoticeConstant.java
  2. 6
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/pom.xml
  3. 9
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActUserRelationDao.java
  4. 36
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java
  5. 38
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserRelationServiceImpl.java
  6. 47
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/async/NewsTask.java
  7. 43
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/NewsFeignClient.java
  8. 28
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/NewsFeignClientFallback.java
  9. 13
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActUserRelationDao.xml
  10. 6
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcInformationFormDTO.java
  11. 15
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppInformationController.java
  12. 11
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/InformationService.java
  13. 14
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/InformationServiceImpl.java
  14. 28
      esua-epdc/epdc-module/epdc-points/epdc-points-client/src/main/java/com/elink/esua/epdc/constant/PointsNoticeConstant.java
  15. 6
      esua-epdc/epdc-module/epdc-points/epdc-points-server/pom.xml
  16. 34
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/modules/async/NewsTask.java
  17. 31
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/modules/feign/NewsFeignClient.java
  18. 21
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/NewsFeignClientFallback.java
  19. 44
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/modules/logs/service/impl/PointsLogsServiceImpl.java
  20. 22
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/constant/VolunteerInfoConsant.java
  21. 22
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/constant/VolunteerInfoNoticeConstant.java
  22. 32
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/VolunteerInfoController.java
  23. 11
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserTagDao.java
  24. 5
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserTagRelationDao.java
  25. 17
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserTagRelationService.java
  26. 15
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/VolunteerInfoService.java
  27. 57
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserTagRelationServiceImpl.java
  28. 76
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java
  29. 16
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserTagRelationDao.xml

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";
}

6
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/pom.xml

@ -72,6 +72,12 @@
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-news-client</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

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
**/
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.elink.esua.epdc.activity.ActBannerDTO;
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.ActInfoFormDTO;
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.ActUserRelationStatusConstant;
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.epdc.form.EpdcInformationFormDTO;
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.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.service.ActBannerService;
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.UserInfoFeignClient;
import org.apache.commons.lang3.StringUtils;
@ -82,6 +86,8 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
private ActUserClockLogDao actUserClockLogDao;
@Autowired
private UserInfoFeignClient userInfoFeignClient;
@Autowired
private NewsTask newsTask;
@Override
public PageData<ActInfoDTO> page(Map<String, Object> params) {
@ -183,15 +189,45 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
}
ActInfoEntity updateEntity = new ActInfoEntity();
updateEntity.setId(dto.getId());
updateEntity.setTitle(entity.getTitle());
updateEntity.setCancelReason(dto.getCancelReason());
updateEntity.setActStatus(ActStateConstant.ACT_INFO_STATUS_UNDERCARRIAGE);
updateById(updateEntity);
// 下架banner
actBannerService.takeOffBannerByActId(dto.getId());
// 通知用户
this.sendUserCancelActNotice(updateEntity);
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
@Transactional(rollbackFor = Exception.class)
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.ActUserPointsOperationTypeConstant;
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.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.logs.PointsLogsDTO;
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.ActUserPointsLogService;
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.UserInfoFeignClient;
import org.apache.commons.lang3.StringUtils;
@ -94,6 +97,9 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
@Autowired
private PointsFeignClient pointsFeignClient;
@Autowired
private NewsTask newsTask;
@Override
public PageData<ActUserRelationDTO> page(Map<String, Object> params) {
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())) {
ActUserRelationEntity updateEntity = new ActUserRelationEntity();
updateEntity.setId(dto.getId());
updateEntity.setUserId(entity.getUserId());
updateEntity.setActId(entity.getActId());
updateEntity.setStatus(dto.getStatus());
updateEntity.setFailureReason(dto.getFailureReason());
updateEntity.setAuditTime(new Date());
@ -175,11 +183,41 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
actUserLogDTO.setFailureReason(dto.getFailureReason());
actUserLogDTO.setOperationTime(new Date());
actUserLogService.save(actUserLogDTO);
this.insertUserInformation(updateEntity);
return new Result();
}
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
@Transactional(rollbackFor = Exception.class)
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.USER_ID=#{userId}
</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>

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

@ -62,9 +62,9 @@ public class EpdcInformationFormDTO implements Serializable {
/**
* AppInformationBusinessEnum
* 消息所属业务类型event事件审核issueComment议题评论issueReply议题评论回复itemComment项目评论itemReply项目评论回复
* issueApprove支持议题itemApprove支持项目issueCommentApprove议题评论支持issueCommentOppose议题评论反对
* itemCommentApprove项目评论支持itemCommentOppose项目评论反对issue议题处理
* item项目处理groupInvited社群邀请等; volunteerCheck志愿者审核
* issueApprove支持议题itemApprove支持项目issueCommentApprove议题评论支持issueCommentOppose议题评论反对
* itemCommentApprove项目评论支持itemCommentOppose项目评论反对issue议题处理
* item项目处理groupInvited社群邀请等; volunteer志愿者审核;activity爱心互助活动;points积分商城
*/
@NotBlank(message = "消息所属业务类型不能为空")
private String businessType;

15
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);
}
/**
* @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);
}
/**
* 消息已读
*
@ -99,4 +112,4 @@ public class EpdcAppInformationController {
public Result<EpdcInformationFristResultDTO> selectOneFristByUserId(@PathVariable("userId") String userId) {
return informationService.selectOneFristByUserId(userId);
}
}
}

11
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
*/
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);
}

14
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.metadata.IPage;
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.enums.YesOrNoEnum;
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.dao.InformationDao;
import com.elink.esua.epdc.dto.InformationDTO;
@ -132,4 +132,14 @@ public class InformationServiceImpl extends BaseServiceImpl<InformationDao, Info
public Result<EpdcInformationFristResultDTO> selectOneFristByUserId(String 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();
}
}

28
esua-epdc/epdc-module/epdc-points/epdc-points-client/src/main/java/com/elink/esua/epdc/constant/PointsNoticeConstant.java

@ -0,0 +1,28 @@
package com.elink.esua.epdc.constant;
/**
* @Description 积分商城模块发送消息常量
* @Author yinzuomei
* @Date 2020/2/7 20:14
*/
public interface PointsNoticeConstant {
/**
* 减积分
*/
String SUBTRACT_POINTS_NOTICE = "积分变更【扣减积分】-";
/**
* 加积分
*/
String ADD_POINTS_NOTICE = "积分变更【增加积分】+";
/**
* 消息所属业务类型points积分商城
*/
String NOTICE__BUSINESS_TYPE_ACTIVITY = "points";
/**
* 我的消息类型1互动通知
*/
String NOTICE_TYPE_INTERACTIVE_NOTICE = "1";
}

6
esua-epdc/epdc-module/epdc-points/epdc-points-server/pom.xml

@ -56,6 +56,12 @@
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-news-client</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

34
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/modules/async/NewsTask.java

@ -0,0 +1,34 @@
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;
/**
* 新闻通知消息模块 线程任务
*
* @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);
}
}

31
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/modules/feign/NewsFeignClient.java

@ -0,0 +1,31 @@
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;
/**
* 消息模块
*
* @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);
}

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

@ -0,0 +1,21 @@
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;
/**
* @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);
}
}

44
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/modules/logs/service/impl/PointsLogsServiceImpl.java

@ -24,14 +24,18 @@ 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.PointsConstant;
import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum;
import com.elink.esua.epdc.commons.tools.enums.pointsenum.PointsOperationEnum;
import com.elink.esua.epdc.commons.tools.enums.pointsenum.PointsOperationModeEnum;
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.Result;
import com.elink.esua.epdc.constant.PointsNoticeConstant;
import com.elink.esua.epdc.dto.UserDTO;
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.result.EpdcAdjustVolunteerPointsDTO;
import com.elink.esua.epdc.dto.logs.PointsLogsDTO;
import com.elink.esua.epdc.modules.async.NewsTask;
import com.elink.esua.epdc.modules.feign.UserFeignClient;
import com.elink.esua.epdc.modules.logs.dao.PointsLogsDao;
import com.elink.esua.epdc.modules.logs.entity.PointsLogsEntity;
@ -62,17 +66,20 @@ public class PointsLogsServiceImpl extends BaseServiceImpl<PointsLogsDao, Points
@Autowired
private UserFeignClient userFeignClient;
@Autowired
private NewsTask newsTask;
@Override
public PageData<PointsLogsDTO> page(Map<String, Object> params) {
String volunteerId = (String) params.get("volunteerId");
String behaviorCode=(String) params.get("behaviorCode");
String behaviorCode = (String) params.get("behaviorCode");
QueryWrapper<PointsLogsEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(volunteerId), "VOLUNTEER_ID", volunteerId)
.eq(StringUtils.isNotBlank(behaviorCode),"BEHAVIOR_CODE",behaviorCode);
.eq(StringUtils.isNotBlank(behaviorCode), "BEHAVIOR_CODE", behaviorCode);
IPage<PointsLogsEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
wrapper
getPage(params, FieldConstant.CREATED_TIME, false),
wrapper
);
return getPageData(page, PointsLogsDTO.class);
}
@ -157,6 +164,35 @@ public class PointsLogsServiceImpl extends BaseServiceImpl<PointsLogsDao, Points
pointsLogsEntity.setLavePoints(result.getData().getPoints());
pointsLogsEntity.setBehaviorCode(formDto.getBehaviorCode());
this.insert(pointsLogsEntity);
//给用户发送消息通知
this.issueSmsNotification(pointsLogsEntity);
return new Result();
}
/**
* @param pointsLogsEntity
* @return void
* @Author yinzuomei
* @Description 调整积分完成后-给用户发送消息通知
* @Date 2020/2/7 22:12
**/
private void issueSmsNotification(PointsLogsEntity pointsLogsEntity) {
EpdcInformationFormDTO informationFormDTO = new EpdcInformationFormDTO();
informationFormDTO.setUserId(pointsLogsEntity.getUserId());
informationFormDTO.setContent(pointsLogsEntity.getOperationDesc());
String title = "";
//积分操作类型(0-减积分,1-加积分)
if (PointsOperationEnum.OPERATION_TYPE_ADD.getOperationType().equals(pointsLogsEntity.getOperationType())) {
title = PointsNoticeConstant.ADD_POINTS_NOTICE;
} else if (PointsOperationEnum.OPERATION_TYPE_SUBSTRACT.getOperationType().equals(pointsLogsEntity.getOperationType())) {
title = PointsNoticeConstant.SUBTRACT_POINTS_NOTICE;
}
title = title.concat(pointsLogsEntity.getPoints().toString());
informationFormDTO.setTitle(title);
informationFormDTO.setType(PointsNoticeConstant.NOTICE_TYPE_INTERACTIVE_NOTICE);
informationFormDTO.setBusinessType(PointsNoticeConstant.NOTICE__BUSINESS_TYPE_ACTIVITY);
informationFormDTO.setBusinessId(pointsLogsEntity.getId());
// 发送消息
newsTask.insertUserInformation(informationFormDTO);
}
}

22
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/constant/VolunteerInfoConsant.java

@ -1,22 +0,0 @@
package com.elink.esua.epdc.constant;
/**
* 志愿者审批结果 推送信息常量
*/
public interface VolunteerInfoConsant {
/**
* 标题志愿者审批被拉入黑名单
*/
String NOTICE_TITLE_VOLUNTEER_BLACKLIST = "您已被解除志愿者身份";
/**
* 标题志愿者审批不通过
*/
String NOTICE_TITLE_VOLUNTEER_NOT_PASSED = "您志愿者身份审核未通过";
/**
* 消息所属业务类型 志愿者审核
*/
String NOTICE_BUSINESSTYPE_VOLUNTEER_CHECK = "volunteerCheck";
}

22
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/constant/VolunteerInfoNoticeConstant.java

@ -0,0 +1,22 @@
package com.elink.esua.epdc.constant;
/**
* @Description 志愿者审批发送消息常量
* @Author yinzuomei
* @Date 2020/2/7 12:20
*/
public interface VolunteerInfoNoticeConstant {
/**
* 志愿者审核未通过
*/
String NOTICE_CERTIFICATION_NOT_PASSED = "您的志愿者认证【审核未通过】";
/**
* 消息所属业务类型volunteer志愿者审核
*/
String NOTICE__BUSINESS_TYPE_VOLUNTEER = "volunteer";
/**
* 我的消息类型0审核通知
*/
String NOTICE_TYPE_AUDIT_NOTICE = "0";
}

32
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/VolunteerInfoController.java

@ -18,7 +18,6 @@
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
@ -26,20 +25,16 @@ import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.UserTagDTO;
import com.elink.esua.epdc.dto.UserTagRelationDTO;
import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO;
import com.elink.esua.epdc.excel.VolunteerInfoExcel;
import com.elink.esua.epdc.service.UserTagRelationService;
import com.elink.esua.epdc.service.UserTagService;
import com.elink.esua.epdc.service.VolunteerInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -60,9 +55,6 @@ public class VolunteerInfoController {
@Autowired
private UserTagService userTagService; //标签表
@Autowired
private UserTagRelationService userTagRelationService; //用户标签关系表
/**
* @Description: 查询列表数据
* @Param: [params]
@ -114,29 +106,7 @@ public class VolunteerInfoController {
*/
@PostMapping("volunteerInfoCheck")
public Result volunteerInfoCheck(@RequestBody VolunteerInfoDTO dto){
Long userId = SecurityUser.getUserId();
Date date = new Date();
dto.setAuditor(userId);
dto.setAuditTime(date);
dto.setUpdatedBy(userId.toString());
dto.setUpdatedTime(date);
VolunteerInfoDTO data = volunteerInfoService.get(dto.getId());//查询志愿者表,该志愿者的最新信息
String auditStatus = dto.getAuditStatus(); //申请是否通过
if (auditStatus.equals("1")){ //通过
volunteerInfoService.updateVolunteerInfo(dto);//修改志愿者表 是否通过字段及更新时间
//向标签表中,查询唯一志愿者标签:tag_code = volunteer
UserTagDTO userTag = volunteerInfoService.volunteerTagQuery("volunteer");
UserTagRelationDTO userTagRelationDTO = new UserTagRelationDTO();
userTagRelationDTO.setUserId(data.getUserId());
userTagRelationDTO.setTagId(userTag.getId());
userTagRelationService.save(userTagRelationDTO);
}else if (auditStatus.equals("2") || auditStatus.equals("3")){ //不通过/拉黑
volunteerInfoService.updateVolunteerInfo(dto);//修改志愿者表 字段为:审核人 审核时间 审核状态 审核不通过原因
userTagRelationService.deleteUserTagRelation(data.getUserId());
}
return new Result();
return volunteerInfoService.volunteerInfoCheck(dto);
}
@PutMapping

11
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserTagDao.java

@ -22,6 +22,8 @@ import com.elink.esua.epdc.dto.UserTagInfo;
import com.elink.esua.epdc.entity.UserTagEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 用户标签表
*
@ -40,5 +42,12 @@ public interface UserTagDao extends BaseDao<UserTagEntity> {
**/
UserTagEntity selectByTagCode(String tagCode);
UserTagInfo selectByUserId(String userId);
/**
* @param userId
* @return java.util.List<com.elink.esua.epdc.dto.UserTagInfo>
* @Author yinzuomei
* @Description 根据用户id查询用户标签id用户标签编码
* @Date 2020/2/7 14:17
**/
List<UserTagInfo> selectByUserId(String userId);
}

5
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserTagRelationDao.java

@ -20,6 +20,7 @@ package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.entity.UserTagRelationEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 用户标签关系表
@ -39,5 +40,5 @@ public interface UserTagRelationDao extends BaseDao<UserTagRelationEntity> {
* @author zy
* @date 2019-12-16
*/
void deleteUserTagRelation(String userId);
}
void deleteUserTagRelation(@Param("userId") String userId, @Param("tagCode") String tagCode);
}

17
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserTagRelationService.java

@ -94,13 +94,12 @@ public interface UserTagRelationService extends BaseService<UserTagRelationEntit
void delete(String[] ids);
/**
* 根据user_id 删除
* 用户标签关系表
*
* @param userId
* @param userId 用户id
* @param tagCode 用户标签code
* @return void
* @author zy
* @date 2019-12-16
*/
void deleteUserTagRelation(String userId);
}
* @Author yinzuomei
* @Description 新增用户标签关系
* @Date 2020/2/7 12:05
**/
void addUserTagRelation(String userId, String tagCode);
}

15
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/VolunteerInfoService.java

@ -66,12 +66,6 @@ public interface VolunteerInfoService extends BaseService<VolunteerInfoEntity> {
*/
PageData<VolunteerInfoDTO> page(Map<String, Object> params);
/**
* 自定义 志愿者表修改方法
* @param dto
*/
void updateVolunteerInfo(VolunteerInfoDTO dto);
/**
* 默认查询
*
@ -191,6 +185,15 @@ public interface VolunteerInfoService extends BaseService<VolunteerInfoEntity> {
**/
Result<VolunteerInfoDTO> getVolunteerInfoDTOByUserId(String userId);
/**
* @param dto
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei
* @Description 志愿者审批
* @Date 2020/2/7 10:36
**/
Result volunteerInfoCheck(VolunteerInfoDTO dto);
/**
*
* 增加志愿者爱心时长

57
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserTagRelationServiceImpl.java

@ -17,14 +17,20 @@
package com.elink.esua.epdc.service.impl;
import cn.hutool.core.map.MapUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
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.page.PageData;
import com.elink.esua.epdc.commons.tools.redis.RedisKeys;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.dao.UserTagDao;
import com.elink.esua.epdc.dao.UserTagRelationDao;
import com.elink.esua.epdc.dto.UserTagInfo;
import com.elink.esua.epdc.dto.UserTagRelationDTO;
import com.elink.esua.epdc.entity.UserTagEntity;
import com.elink.esua.epdc.entity.UserTagRelationEntity;
import com.elink.esua.epdc.redis.UserTagRelationRedis;
import com.elink.esua.epdc.service.UserTagRelationService;
@ -46,10 +52,12 @@ import java.util.Map;
@Service
public class UserTagRelationServiceImpl extends BaseServiceImpl<UserTagRelationDao, UserTagRelationEntity> implements UserTagRelationService {
@Autowired
private UserTagDao userTagDao;
@Autowired
private UserTagRelationRedis userTagRelationRedis;
@Autowired
private UserTagRelationDao userTagRelationDao;
private RedisUtils redisUtils;
@Override
public PageData<UserTagRelationDTO> page(Map<String, Object> params) {
@ -104,17 +112,42 @@ public class UserTagRelationServiceImpl extends BaseServiceImpl<UserTagRelationD
}
/**
* 根据user_id 删除
* 用户标签关系表
*
* @param userId
* @param userId 用户id
* @param tagCode 用户标签code
* @return void
* @author zy
* @date 2019-12-16
*/
* @Author yinzuomei
* @Description addUserTagRelation
* @Date 2020/2/7 12:06
**/
@Override
public void deleteUserTagRelation(String userId) {
userTagRelationDao.deleteUserTagRelation(userId);
public void addUserTagRelation(String userId, String tagCode) {
UserTagEntity userTagEntity = userTagDao.selectByTagCode(tagCode);
if (null == userTagEntity) {
return;
}
UserTagRelationDTO userTagRelationDTO = new UserTagRelationDTO();
userTagRelationDTO.setTagId(userTagEntity.getId());
userTagRelationDTO.setUserId(userId);
this.save(userTagRelationDTO);
this.updateUserTagInfo(userId);
}
/**
* @param userId 用户id
* @return void
* @Author yinzuomei
* @Description 根据用户id, 更新redis中TokenDto的userTagInfos
* @Date 2020/2/7 14:07
**/
public void updateUserTagInfo(String userId) {
List<UserTagInfo> userTagInfos = userTagDao.selectByUserId(userId);
String key = RedisKeys.getCpUserKey(userId);
Map<String, Object> map = redisUtils.hGetAll(key);
if (MapUtil.isEmpty(map)) {
return;
}
map.put("userTagInfos", userTagInfos);
redisUtils.hMSet(key, map);
}
}
}

76
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java

@ -22,10 +22,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.async.NewsTask;
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.enums.UserTagEnum;
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.Result;
import com.elink.esua.epdc.constant.VolunteerInfoConsant;
import com.elink.esua.epdc.constant.VolunteerInfoNoticeConstant;
import com.elink.esua.epdc.dao.VolunteerInfoDao;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.dto.UserTagDTO;
@ -38,7 +40,7 @@ import com.elink.esua.epdc.dto.epdc.result.EpdcGetVolunteerRankDTO;
import com.elink.esua.epdc.entity.VolunteerInfoEntity;
import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.redis.VolunteerInfoRedis;
import com.elink.esua.epdc.service.UserService;
import com.elink.esua.epdc.service.UserTagRelationService;
import com.elink.esua.epdc.service.VolunteerInfoService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -65,17 +67,18 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl<VolunteerInfoDao,
@Autowired
private VolunteerInfoDao volunteerInfoDao;
@Autowired
private UserService userService;
@Autowired
private NewsTask newsTask;
@Autowired
private AdminFeignClient adminFeignClient;
@Autowired
private UserTagRelationService userTagRelationService; //用户标签关系表
/**
* 根据查询条件返回首页 志愿者信息列表
*
* @param params
* @return
*/
@ -113,7 +116,6 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl<VolunteerInfoDao,
return volunteerInfoDao.getVolunteerDetail(id);
}
@Override
public PageData<VolunteerInfoDTO> page(Map<String, Object> params) {
IPage<VolunteerInfoEntity> page = baseDao.selectPage(
@ -123,31 +125,6 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl<VolunteerInfoDao,
return getPageData(page, VolunteerInfoDTO.class);
}
/**
* 自定义 志愿者表修改方法
* @param dto
*/
@Override
public void updateVolunteerInfo(VolunteerInfoDTO dto) {
volunteerInfoDao.updateVolunteerInfo(dto);
//审核状态(0-未审核,1-审核通过,2-审核不通过,3-拉黑),当审核状态为2,3时推送消息
if (dto.getAuditStatus().equals("2") || dto.getAuditStatus().equals("3")){
EpdcInformationFormDTO informationFormDTO = new EpdcInformationFormDTO();
informationFormDTO.setUserId(dto.getUserId());
if (dto.getAuditStatus().equals("2")){
informationFormDTO.setTitle(VolunteerInfoConsant.NOTICE_TITLE_VOLUNTEER_NOT_PASSED);
}else if (dto.getAuditStatus().equals("3")){
informationFormDTO.setTitle(VolunteerInfoConsant.NOTICE_TITLE_VOLUNTEER_BLACKLIST);
}
informationFormDTO.setContent(dto.getFailureReason());//审核不通过原因
informationFormDTO.setType("0"); //消息类型:0审核通知
informationFormDTO.setBusinessType(VolunteerInfoConsant.NOTICE_BUSINESSTYPE_VOLUNTEER_CHECK);//消息所属业务类型
informationFormDTO.setBusinessId(dto.getId());//消息所属业务ID:主键id
//消息推送
newsTask.insertUserInformation(informationFormDTO);
}
}
@Override
public List<VolunteerInfoDTO> list(Map<String, Object> params) {
List<VolunteerInfoEntity> entityList = baseDao.selectList(getWrapper(params));
@ -318,6 +295,43 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl<VolunteerInfoDao,
return new Result<VolunteerInfoDTO>().ok(baseDao.selectOneVolunteerInfoDTO(userId));
}
/**
* @param dto
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei
* @Description 志愿者审批
* @Date 2020/2/7 10:37
**/
@Override
public Result volunteerInfoCheck(VolunteerInfoDTO dto) {
if (StringUtils.isBlank(dto.getAuditStatus())) {
return new Result().error("审核状态不能为空");
}
VolunteerInfoDTO volunteerInfoDTO = this.get(dto.getId());
volunteerInfoDTO.setAuditStatus(dto.getAuditStatus());
volunteerInfoDTO.setFailureReason(dto.getFailureReason());
if (NumConstant.TWO_STR.equals(volunteerInfoDTO.getAuditStatus())) {
if (StringUtils.isBlank(volunteerInfoDTO.getFailureReason())) {
return new Result().error("请填写原因");
}
// 1、未通过审核时发送消息-用户可修改信息重新提交
EpdcInformationFormDTO informationFormDTO = new EpdcInformationFormDTO();
informationFormDTO.setUserId(volunteerInfoDTO.getUserId());
informationFormDTO.setContent(dto.getFailureReason());
informationFormDTO.setType(VolunteerInfoNoticeConstant.NOTICE_TYPE_AUDIT_NOTICE);
informationFormDTO.setBusinessType(VolunteerInfoNoticeConstant.NOTICE__BUSINESS_TYPE_VOLUNTEER);
informationFormDTO.setBusinessId(volunteerInfoDTO.getId());
informationFormDTO.setTitle(VolunteerInfoNoticeConstant.NOTICE_CERTIFICATION_NOT_PASSED);
newsTask.insertUserInformation(informationFormDTO);
} else {
//2、审核通过-新增用户标签关系表(此方法里面实现了更新redis里的userTagInfos)
userTagRelationService.addUserTagRelation(volunteerInfoDTO.getUserId(), UserTagEnum.VOLUNTEER.value());
}
//3、更新志愿者信息表
this.update(volunteerInfoDTO);
return new Result();
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result modifyVolunteerKindnessTime(EpdcVolunteerKindnessTimeFormDTO formDto) {

16
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserTagRelationDao.xml

@ -15,8 +15,16 @@
<result property="delFlag" column="DEL_FLAG"/>
</resultMap>
<update id="deleteUserTagRelation" parameterType="String">
UPDATE epdc_user_tag_relation
SET del_flag='1' WHERE USER_ID = #{userId} AND del_flag='0'
<update id="deleteUserTagRelation" parameterType="map">
UPDATE epdc_user_tag_relation r
SET r.del_flag='1'
WHERE r.del_flag='0'
AND r.USER_ID = #{userId}
and r.TAG_ID in(
select eut.id
from epdc_user_tag eut
where eut.DEL_FLAG='0'
and eut.TAG_CODE=#{tagCode}
)
</update>
</mapper>
</mapper>

Loading…
Cancel
Save