Browse Source

爱心互助接口调整-一波

master
zhangyongzhangyong 5 years ago
parent
commit
24a841a0a7
  1. 5
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiActInsertLiveFormDTO.java
  2. 11
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
  3. 4
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java
  4. 12
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActLiveRecDao.java
  5. 15
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActSignInRecDao.java
  6. 7
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/ActLiveRecService.java
  7. 5
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/ActSignInRecService.java
  8. 40
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActLiveRecServiceImpl.java
  9. 58
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActSignInRecServiceImpl.java
  10. 95
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActUserRelationServiceImpl.java
  11. 58
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/HeartUserInfoServiceImpl.java
  12. 6
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/utils/ValidityVerification.java
  13. 12
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActInfoDao.xml
  14. 31
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActLiveRecDao.xml
  15. 37
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActSignInRecDao.xml
  16. 3
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/HeartUserInfoDao.xml
  17. 11
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
  18. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
  19. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java

5
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiActInsertLiveFormDTO.java

@ -90,4 +90,9 @@ public class ResiActInsertLiveFormDTO implements Serializable {
* 用户id * 用户id
*/ */
private String userId; private String userId;
/**
* id
*/
private String id;
} }

11
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/EpmetUserFeignClient.java

@ -36,17 +36,6 @@ public interface EpmetUserFeignClient {
@PostMapping("epmetuser/userbaseinfo/queryuserbaseinfo") @PostMapping("epmetuser/userbaseinfo/queryuserbaseinfo")
Result<List<UserBaseInfoResultDTO>> heartQueryUserBaseInfo(@RequestBody List<String> userIds); Result<List<UserBaseInfoResultDTO>> heartQueryUserBaseInfo(@RequestBody List<String> userIds);
/**
* 根据用户ID查询用户所属角色: 多种身份
*
* @param userId
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.UserRoleResultDTO>>
* @Author zhangyong
* @Date 14:13 2020-07-23
**/
@PostMapping(value = "epmetuser/userrole/getuserroleinfobyuserid/{userId}", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<UserRoleResultDTO>> getUserRoleInfoByUserId(@PathVariable("userId") String userId);
/** /**
* 同步-居民基础信息用户微信信息 * 同步-居民基础信息用户微信信息
* *

4
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java

@ -25,10 +25,6 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "heartQueryUserBaseInfo", userIds); return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "heartQueryUserBaseInfo", userIds);
} }
@Override
public Result<List<UserRoleResultDTO>> getUserRoleInfoByUserId(String userId) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserRoleInfoByUserId", userId);
}
@Override @Override
public Result updateUserBaseAndWxUserInfo(WxUserInfoFormDTO formDTO) { public Result updateUserBaseAndWxUserInfo(WxUserInfoFormDTO formDTO) {

12
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActLiveRecDao.java

@ -20,7 +20,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ActLivePicDTO; import com.epmet.dto.ActLivePicDTO;
import com.epmet.dto.ActLiveRecDTO; import com.epmet.dto.ActLiveRecDTO;
import com.epmet.dto.form.resi.ResiActContentFormDTO; import com.epmet.dto.form.resi.ResiActInsertLiveFormDTO;
import com.epmet.entity.ActLiveRecEntity; import com.epmet.entity.ActLiveRecEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -55,4 +55,14 @@ public interface ActLiveRecDao extends BaseDao<ActLiveRecEntity> {
* @Date 17:04 2020-07-22 * @Date 17:04 2020-07-22
**/ **/
List<ActLivePicDTO> selectListActLiveImg(@Param("liveId") List liveIds); List<ActLivePicDTO> selectListActLiveImg(@Param("liveId") List liveIds);
/**
* 插入活动实况表
*
* @param formDTO
* @return void
* @Author zhangyong
* @Date 18:05 2020-07-24
**/
void insertActLiveRec(ResiActInsertLiveFormDTO formDTO);
} }

15
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActSignInRecDao.java

@ -18,6 +18,8 @@
package com.epmet.dao; package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ActSignInRecDTO;
import com.epmet.dto.form.resi.ResiActSignInFormDTO;
import com.epmet.entity.ActSignInRecEntity; import com.epmet.entity.ActSignInRecEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -29,5 +31,14 @@ import org.apache.ibatis.annotations.Mapper;
*/ */
@Mapper @Mapper
public interface ActSignInRecDao extends BaseDao<ActSignInRecEntity> { public interface ActSignInRecDao extends BaseDao<ActSignInRecEntity> {
} /**
* 插入活动签到记录表
*
* @param dto
* @return void
* @Author zhangyong
* @Date 18:05 2020-07-24
**/
void insertActSignInRec(ActSignInRecDTO dto);
}

7
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/ActLiveRecService.java

@ -18,19 +18,12 @@
package com.epmet.service; package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.ActLiveRecDTO;
import com.epmet.dto.form.resi.ResiActContentFormDTO;
import com.epmet.dto.form.resi.ResiActInsertLiveFormDTO; import com.epmet.dto.form.resi.ResiActInsertLiveFormDTO;
import com.epmet.dto.form.resi.ResiActSignInFormDTO;
import com.epmet.dto.result.resi.ResiActLiveRecResultDTO; import com.epmet.dto.result.resi.ResiActLiveRecResultDTO;
import com.epmet.entity.ActLiveRecEntity; import com.epmet.entity.ActLiveRecEntity;
import java.util.List;
import java.util.Map;
/** /**
* 活动实况记录 * 活动实况记录
* *

5
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/ActSignInRecService.java

@ -18,16 +18,11 @@
package com.epmet.service; package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.ActSignInRecDTO;
import com.epmet.dto.form.resi.ResiActSignInFormDTO; import com.epmet.dto.form.resi.ResiActSignInFormDTO;
import com.epmet.entity.ActSignInRecEntity; import com.epmet.entity.ActSignInRecEntity;
import java.util.List;
import java.util.Map;
/** /**
* 活动签到记录 * 活动签到记录
* *

40
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActLiveRecServiceImpl.java

@ -20,11 +20,10 @@ package com.epmet.service.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.ActLivePicDao; import com.epmet.dao.ActLivePicDao;
import com.epmet.dao.ActLiveRecDao; import com.epmet.dao.ActLiveRecDao;
import com.epmet.dao.ActUserLogDao;
import com.epmet.dao.ActUserRelationDao;
import com.epmet.dto.ActLivePicDTO; import com.epmet.dto.ActLivePicDTO;
import com.epmet.dto.ActLiveRecDTO; import com.epmet.dto.ActLiveRecDTO;
import com.epmet.dto.form.resi.ResiActInsertLiveFormDTO; import com.epmet.dto.form.resi.ResiActInsertLiveFormDTO;
@ -32,9 +31,11 @@ import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.dto.result.resi.ResiActLiveRecResultDTO; import com.epmet.dto.result.resi.ResiActLiveRecResultDTO;
import com.epmet.entity.ActLivePicEntity; import com.epmet.entity.ActLivePicEntity;
import com.epmet.entity.ActLiveRecEntity; import com.epmet.entity.ActLiveRecEntity;
import com.epmet.entity.ActSignInRecEntity;
import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.redis.ActLiveRecRedis; import com.epmet.redis.ActLiveRecRedis;
import com.epmet.service.ActLiveRecService; import com.epmet.service.ActLiveRecService;
import com.epmet.utils.ValidityVerification;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -99,26 +100,29 @@ public class ActLiveRecServiceImpl extends BaseServiceImpl<ActLiveRecDao, ActLiv
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Result<String> inSertlive(TokenDto tokenDto, ResiActInsertLiveFormDTO formDTO) { public Result<String> inSertlive(TokenDto tokenDto, ResiActInsertLiveFormDTO formDTO) {
formDTO.setUserId(tokenDto.getUserId()); formDTO.setUserId(tokenDto.getUserId());
// 文本校验
ValidityVerification verification = new ValidityVerification();
verification.textScanVerification(formDTO.getDesc(),"添加实况-文本内容审核失败");
// 图片校验
verification.imgScanVerification(formDTO.getImages(),"添加实况-图片审核失败");
// 存储活动实况记录表 // 存储活动实况记录表
ActLiveRecEntity actLiveRecEntity = new ActLiveRecEntity(); String uuid = UUID.randomUUID().toString().replaceAll("-","");
actLiveRecEntity.setActId(formDTO.getActId()); formDTO.setId(uuid);
actLiveRecEntity.setUserId(formDTO.getUserId()); baseDao.insertActLiveRec(formDTO);
actLiveRecEntity.setLongitude(formDTO.getLongitude());
actLiveRecEntity.setLatitude(formDTO.getLatitude());
actLiveRecEntity.setAddress(formDTO.getAddress());
actLiveRecEntity.setDesc(formDTO.getDesc());
baseDao.insert(actLiveRecEntity);
//存储活动实况图片 //存储活动实况图片
List<String> imgList = formDTO.getImages(); List<String> imgList = formDTO.getImages();
for (int i = 0; i < imgList.size(); i++) { if (null != imgList){
String imgUrl = imgList.get(i); for (int i = 0; i < imgList.size(); i++) {
ActLivePicEntity actLivePicEntity = new ActLivePicEntity(); String imgUrl = imgList.get(i);
actLivePicEntity.setLiveId(actLiveRecEntity.getId()); ActLivePicEntity actLivePicEntity = new ActLivePicEntity();
actLivePicEntity.setPicUrl(imgUrl); actLivePicEntity.setLiveId(uuid);
actLivePicEntity.setSort(i + NumConstant.ONE); actLivePicEntity.setPicUrl(imgUrl);
actLivePicDao.insert(actLivePicEntity); actLivePicEntity.setSort(i + NumConstant.ONE);
actLivePicDao.insert(actLivePicEntity);
}
} }
return new Result<String>().ok(actLiveRecEntity.getId()); return new Result<String>().ok(uuid);
} }
} }

58
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActSignInRecServiceImpl.java

@ -25,22 +25,23 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.ActConstant; import com.epmet.constant.ActConstant;
import com.epmet.dao.ActSignInPicDao; import com.epmet.dao.ActSignInPicDao;
import com.epmet.dao.ActSignInRecDao; import com.epmet.dao.ActSignInRecDao;
import com.epmet.dao.ActUserLogDao;
import com.epmet.dao.ActUserRelationDao; import com.epmet.dao.ActUserRelationDao;
import com.epmet.dto.ActSignInRecDTO;
import com.epmet.dto.ActUserRelationDTO; import com.epmet.dto.ActUserRelationDTO;
import com.epmet.dto.form.resi.ResiActInsertLiveFormDTO; import com.epmet.dto.form.resi.ResiActInsertLiveFormDTO;
import com.epmet.dto.form.resi.ResiActSignInFormDTO; import com.epmet.dto.form.resi.ResiActSignInFormDTO;
import com.epmet.entity.ActSignInPicEntity; import com.epmet.entity.ActSignInPicEntity;
import com.epmet.entity.ActSignInRecEntity; import com.epmet.entity.ActSignInRecEntity;
import com.epmet.entity.ActUserLogEntity;
import com.epmet.redis.ActSignInRecRedis; import com.epmet.redis.ActSignInRecRedis;
import com.epmet.service.ActLiveRecService; import com.epmet.service.ActLiveRecService;
import com.epmet.service.ActSignInRecService; import com.epmet.service.ActSignInRecService;
import com.epmet.utils.ValidityVerification;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
import java.util.UUID;
/** /**
* 活动签到记录 * 活动签到记录
@ -57,9 +58,6 @@ public class ActSignInRecServiceImpl extends BaseServiceImpl<ActSignInRecDao, Ac
@Autowired @Autowired
private ActUserRelationDao actUserRelationDao; private ActUserRelationDao actUserRelationDao;
@Autowired
private ActUserLogDao actUserLogDao;
@Autowired @Autowired
private ActSignInPicDao actSignInPicDao; private ActSignInPicDao actSignInPicDao;
@ -70,6 +68,12 @@ public class ActSignInRecServiceImpl extends BaseServiceImpl<ActSignInRecDao, Ac
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Result actSignIn(TokenDto tokenDto, ResiActSignInFormDTO formDTO) { public Result actSignIn(TokenDto tokenDto, ResiActSignInFormDTO formDTO) {
formDTO.setUserId(tokenDto.getUserId()); formDTO.setUserId(tokenDto.getUserId());
// 文本校验
ValidityVerification verification = new ValidityVerification();
verification.textScanVerification(formDTO.getDesc(),"添加签到-文本内容审核失败");
// 图片校验
verification.imgScanVerification(formDTO.getImages(),"添加签到-图片审核失败");
// 更新用户活动关系表 SIGN_IN_FLAG字段更新为已签到 // 更新用户活动关系表 SIGN_IN_FLAG字段更新为已签到
ActUserRelationDTO actUserRelationDTO = new ActUserRelationDTO(); ActUserRelationDTO actUserRelationDTO = new ActUserRelationDTO();
actUserRelationDTO.setActId(formDTO.getActId()); actUserRelationDTO.setActId(formDTO.getActId());
@ -77,43 +81,31 @@ public class ActSignInRecServiceImpl extends BaseServiceImpl<ActSignInRecDao, Ac
actUserRelationDTO.setSignInFlag(ActConstant.ACT_USER_STATUS_SIGNED_IN); actUserRelationDTO.setSignInFlag(ActConstant.ACT_USER_STATUS_SIGNED_IN);
actUserRelationDao.updateUserRelationByActIdAndUserId(actUserRelationDTO); actUserRelationDao.updateUserRelationByActIdAndUserId(actUserRelationDTO);
// 存储用户活动关系日志表 ActSignInRecDTO dto = ConvertUtils.sourceToTarget(formDTO, ActSignInRecDTO.class);
ActUserLogEntity actUserLogEntity = new ActUserLogEntity();
actUserLogEntity.setActId(formDTO.getActId());
actUserLogEntity.setUserId(formDTO.getUserId());
actUserLogEntity.setOperationType(ActConstant.ACT_USER_STATUS_SIGNED_IN);
actUserLogDao.insert(actUserLogEntity);
//" 实况id,当sync_live=1时此列有值" if (formDTO.getSyncLive() == NumConstant.ONE){
String liveId = "";
if (formDTO.getSyncLive() == 1){
// 签到内容同步到实况 // 签到内容同步到实况
ResiActInsertLiveFormDTO liveFormDTO = ConvertUtils.sourceToTarget(formDTO, ResiActInsertLiveFormDTO.class); ResiActInsertLiveFormDTO liveFormDTO = ConvertUtils.sourceToTarget(formDTO, ResiActInsertLiveFormDTO.class);
Result<String> inSertlive = actLiveRecService.inSertlive(tokenDto, liveFormDTO); Result<String> inSertlive = actLiveRecService.inSertlive(tokenDto, liveFormDTO);
liveId = inSertlive.getData(); //实况id, 当sync_live=1时此列有值
dto.setLiveId(inSertlive.getData());
} }
// 存储活动签到记录表 // 存储活动签到记录表
ActSignInRecEntity actSignInRecEntity = new ActSignInRecEntity(); String uuid = UUID.randomUUID().toString().replaceAll("-","");
actSignInRecEntity.setActId(formDTO.getActId()); dto.setId(uuid);
actSignInRecEntity.setUserId(formDTO.getUserId()); baseDao.insertActSignInRec(dto);
actSignInRecEntity.setLongitude(formDTO.getLongitude());
actSignInRecEntity.setLatitude(formDTO.getLatitude());
actSignInRecEntity.setAddress(formDTO.getAddress());
actSignInRecEntity.setDesc(formDTO.getDesc());
actSignInRecEntity.setSyncLive(formDTO.getSyncLive());
actSignInRecEntity.setLiveId(liveId);
baseDao.insert(actSignInRecEntity);
//存储活动签到图片 //存储活动签到图片
List<String> imgList = formDTO.getImages(); List<String> imgList = formDTO.getImages();
for (int i = 0; i < imgList.size(); i++) { if (null != imgList){
String imgUrl = imgList.get(i); for (int i = 0; i < imgList.size(); i++) {
ActSignInPicEntity actLivePicEntity = new ActSignInPicEntity(); String imgUrl = imgList.get(i);
actLivePicEntity.setSignInId(actSignInRecEntity.getId()); ActSignInPicEntity actLivePicEntity = new ActSignInPicEntity();
actLivePicEntity.setPicUrl(imgUrl); actLivePicEntity.setSignInId(uuid);
actLivePicEntity.setSort(i + NumConstant.ONE); actLivePicEntity.setPicUrl(imgUrl);
actSignInPicDao.insert(actLivePicEntity); actLivePicEntity.setSort(i + NumConstant.ONE);
actSignInPicDao.insert(actLivePicEntity);
}
} }
return new Result(); return new Result();
} }

95
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActUserRelationServiceImpl.java

@ -42,7 +42,7 @@ import com.epmet.dto.result.UserRoleResultDTO;
import com.epmet.entity.ActUserLogEntity; import com.epmet.entity.ActUserLogEntity;
import com.epmet.entity.ActUserRelationEntity; import com.epmet.entity.ActUserRelationEntity;
import com.epmet.entity.HeartUserInfoEntity; import com.epmet.entity.HeartUserInfoEntity;
import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.redis.ActUserRelationRedis; import com.epmet.redis.ActUserRelationRedis;
import com.epmet.service.ActInfoService; import com.epmet.service.ActInfoService;
import com.epmet.service.ActUserLogService; import com.epmet.service.ActUserLogService;
@ -76,7 +76,7 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
@Autowired @Autowired
private VolunteerInfoDao volunteerInfoDao; private VolunteerInfoDao volunteerInfoDao;
@Autowired @Autowired
private EpmetUserFeignClient epmetUserFeignClient; private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired @Autowired
private HeartUserInfoDao heartUserInfoDao; private HeartUserInfoDao heartUserInfoDao;
@ -188,7 +188,7 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
ActUserLogDTO userLogDTO = new ActUserLogDTO(); ActUserLogDTO userLogDTO = new ActUserLogDTO();
userLogDTO.setActId(formDTO.getActId()); userLogDTO.setActId(formDTO.getActId());
userLogDTO.setUserId(tokenDto.getUserId()); userLogDTO.setUserId(tokenDto.getUserId());
userLogDTO.setOperationType(ActConstant.ACT_USER_STATUS_CANCELD); userLogDTO.setOperationType(ActConstant.ACT_USER_LOG_OPER_CANCELD);
userLogDTO.setReason(formDTO.getFailureReason()); userLogDTO.setReason(formDTO.getFailureReason());
actUserLogService.save(userLogDTO); actUserLogService.save(userLogDTO);
return new Result(); return new Result();
@ -201,35 +201,33 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
boolean satisfy = false; boolean satisfy = false;
// 查询活动信息 // 查询活动信息
ActInfoDTO actInfoDTO = actInfoService.get(formDTO.getActId()); ActInfoDTO actInfoDTO = actInfoService.get(formDTO.getActId());
// >0 当前用户是志愿者
Integer volunteerFlag = volunteerInfoDao.queryVolunteerFlagByUserId(formDTO.getActId());
if (actInfoDTO.getVolunteerLimit()){ if (actInfoDTO.getVolunteerLimit()){
// 活动只能志愿者参加 // 活动只能志愿者参加, 当前用户是否满足条件
Integer volunteerFlag = volunteerInfoDao.queryVolunteerFlagByUserId(formDTO.getUserId()); satisfy = this.volunteerParticipationAct(volunteerFlag);
if (volunteerFlag > NumConstant.ZERO){
satisfy = true;
} else {
logger.info("活动报名失败,请先认证志愿者");
throw new RenException(EpmetErrorCode.NON_CERTIFIED_VOLUNTEER.getCode());
}
} else { } else {
// 活动不限制志愿者身份,但要求是 居民身份 // 活动不限制志愿者身份,但要求是 居民身份, 当前用户是否满足条件
Result<List<UserRoleResultDTO>> userRoleInfo = epmetUserFeignClient.getUserRoleInfoByUserId(formDTO.getUserId()); satisfy = this.resiParticipationAct(formDTO.getUserId());
for (UserRoleResultDTO roleResultDTO :userRoleInfo.getData()){
if (EpmetRoleKeyConstant.REGISTERED_RESI.equals(roleResultDTO.getRoleKey())){
satisfy = true;
}
}
if (!satisfy){
logger.info("活动报名失败,请完善居民信息");
throw new RenException(EpmetErrorCode.CANNOT_AUDIT_WARM.getCode());
}
} }
if (satisfy){ if (satisfy){
this.actStartSignUp(actInfoDTO, formDTO); // 开始报名
this.actStartSignUp(actInfoDTO, formDTO, volunteerFlag);
} }
return new Result(); return new Result();
} }
private void actStartSignUp(ActInfoDTO actInfoDTO, ResiActRegistrationFormDTO formDTO){ /**
* 开始报名活动
*
* @param actInfoDTO 活动详情
* @param formDTO 接口请求入参
* @param volunteerFlag >0 当前用户是志愿者
* @return void
* @Author zhangyong
* @Date 15:31 2020-07-24
**/
private void actStartSignUp(ActInfoDTO actInfoDTO, ResiActRegistrationFormDTO formDTO, Integer volunteerFlag){
boolean signUp = true; boolean signUp = true;
Integer auditingNum = actUserLogService.countActTimesOfParticipation(formDTO.getUserId()); Integer auditingNum = actUserLogService.countActTimesOfParticipation(formDTO.getUserId());
if (auditingNum > NumConstant.ZERO){ if (auditingNum > NumConstant.ZERO){
@ -246,7 +244,7 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
HeartUserInfoEntity entity = new HeartUserInfoEntity(); HeartUserInfoEntity entity = new HeartUserInfoEntity();
entity.setCustomerId(formDTO.getCustomerId()); entity.setCustomerId(formDTO.getCustomerId());
entity.setUserId(formDTO.getUserId()); entity.setUserId(formDTO.getUserId());
entity.setVolunteerFlag(true); entity.setVolunteerFlag(volunteerFlag > NumConstant.ZERO);
entity.setKindnessTime(NumConstant.ZERO); entity.setKindnessTime(NumConstant.ZERO);
entity.setParticipationNum(NumConstant.ZERO); entity.setParticipationNum(NumConstant.ZERO);
entity.setObtainPointNum(NumConstant.ZERO); entity.setObtainPointNum(NumConstant.ZERO);
@ -264,8 +262,53 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
ActUserLogEntity userLogEntity = new ActUserLogEntity(); ActUserLogEntity userLogEntity = new ActUserLogEntity();
userLogEntity.setActId(formDTO.getActId()); userLogEntity.setActId(formDTO.getActId());
userLogEntity.setUserId(formDTO.getUserId()); userLogEntity.setUserId(formDTO.getUserId());
userLogEntity.setOperationType(ActConstant.ACT_USER_STATUS_AUDITING); userLogEntity.setOperationType(ActConstant.ACT_USER_LOG_OPER_AUDITING);
actUserLogService.insert(userLogEntity); actUserLogService.insert(userLogEntity);
} }
} }
/**
* 活动报名限制必须是志愿者身份当前用户是否符合
* @param volunteerFlag
* @return boolean
* @Author zhangyong
* @Date 15:04 2020-07-24
**/
private boolean volunteerParticipationAct(Integer volunteerFlag){
boolean satisfy = false;
// 活动只能志愿者参加
if (volunteerFlag > NumConstant.ZERO){
satisfy = true;
return satisfy;
} else {
logger.info("活动报名失败,请先认证志愿者");
throw new RenException(EpmetErrorCode.NON_CERTIFIED_VOLUNTEER.getCode());
}
}
/**
* 活动报名不限制志愿者身份但要求是 居民身份当前用户是否符合
* @param userId
* @return boolean
* @Author zhangyong
* @Date 15:04 2020-07-24
**/
private boolean resiParticipationAct(String userId){
boolean satisfy = false;
// 活动不限制志愿者身份,但要求是 居民身份
Result<List<UserRoleResultDTO>> userRoleInfo = epmetUserOpenFeignClient.getUserRoleInfoByUserId(userId);
if (userRoleInfo.success()){
for (UserRoleResultDTO roleResultDTO :userRoleInfo.getData()){
if (EpmetRoleKeyConstant.REGISTERED_RESI.equals(roleResultDTO.getRoleKey())){
satisfy = true;
}
}
}
if (!satisfy){
logger.info("活动报名失败,请完善居民信息");
throw new RenException(EpmetErrorCode.CANNOT_AUDIT_WARM.getCode());
} else {
return satisfy;
}
}
} }

58
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/HeartUserInfoServiceImpl.java

@ -20,21 +20,24 @@ package com.epmet.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.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
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.constant.FieldConstant;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.HeartUserInfoDao; import com.epmet.dao.HeartUserInfoDao;
import com.epmet.dto.HeartUserInfoDTO; import com.epmet.dto.HeartUserInfoDTO;
import com.epmet.dto.UserWechatDTO;
import com.epmet.dto.form.resi.ResiActBaseFormDTO; import com.epmet.dto.form.resi.ResiActBaseFormDTO;
import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.dto.result.resi.ResiLeaderboardResultDTO; import com.epmet.dto.result.resi.ResiLeaderboardResultDTO;
import com.epmet.entity.HeartUserInfoEntity; import com.epmet.entity.HeartUserInfoEntity;
import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.redis.HeartUserInfoRedis; import com.epmet.redis.HeartUserInfoRedis;
import com.epmet.service.HeartUserInfoService; import com.epmet.service.HeartUserInfoService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -52,11 +55,11 @@ import java.util.Map;
*/ */
@Service @Service
public class HeartUserInfoServiceImpl extends BaseServiceImpl<HeartUserInfoDao, HeartUserInfoEntity> implements HeartUserInfoService { public class HeartUserInfoServiceImpl extends BaseServiceImpl<HeartUserInfoDao, HeartUserInfoEntity> implements HeartUserInfoService {
private Logger logger = LogManager.getLogger(HeartUserInfoServiceImpl.class);
@Autowired @Autowired
private HeartUserInfoRedis heartUserInfoRedis; private HeartUserInfoRedis heartUserInfoRedis;
@Autowired @Autowired
private EpmetUserFeignClient epmetUserFeignClient; private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Override @Override
public PageData<HeartUserInfoDTO> page(Map<String, Object> params) { public PageData<HeartUserInfoDTO> page(Map<String, Object> params) {
@ -124,28 +127,35 @@ public class HeartUserInfoServiceImpl extends BaseServiceImpl<HeartUserInfoDao,
@Override @Override
public Result<List<ResiLeaderboardResultDTO>> leaderboard(ResiActBaseFormDTO formDTO) { public Result<List<ResiLeaderboardResultDTO>> leaderboard(ResiActBaseFormDTO formDTO) {
List<ResiLeaderboardResultDTO> resultDTOS = new ArrayList<>();
// 获取排好序的 排行榜 // 获取排好序的 排行榜
List<HeartUserInfoDTO> leaderboardList = baseDao.selectListLeaderboard(formDTO); List<HeartUserInfoDTO> leaderboardList = baseDao.selectListLeaderboard(formDTO);
// 根据用户ID获取微信昵称、头像 if (leaderboardList.size() > NumConstant.ZERO){
List<String> userIds = new ArrayList<>(); // 根据用户ID获取微信昵称、头像
for (HeartUserInfoDTO list : leaderboardList){ List<String> userIds = new ArrayList<>();
userIds.add(list.getUserId()); for (HeartUserInfoDTO list : leaderboardList){
} userIds.add(list.getUserId());
// 查询用户微信基础信息 }
Result<List<UserBaseInfoResultDTO>> userWxInfos = epmetUserFeignClient.heartQueryUserBaseInfo(userIds); // 查询用户微信基础信息
Result<List<UserBaseInfoResultDTO>> userWxInfos = epmetUserOpenFeignClient.queryUserBaseInfo(userIds);
List<ResiLeaderboardResultDTO> resultDTOS = new ArrayList<>(); if (userWxInfos.success() && userWxInfos.getData().size() > NumConstant.ZERO){
for (HeartUserInfoDTO list : leaderboardList){ for (HeartUserInfoDTO list : leaderboardList){
ResiLeaderboardResultDTO dto = new ResiLeaderboardResultDTO(); ResiLeaderboardResultDTO dto = new ResiLeaderboardResultDTO();
dto.setKindnessTime(list.getKindnessTime()); dto.setKindnessTime(list.getKindnessTime());
dto.setVolunteerFlag(list.getVolunteerFlag()); dto.setVolunteerFlag(list.getVolunteerFlag());
dto.setParticipationNum(list.getParticipationNum()); dto.setParticipationNum(list.getParticipationNum());
List<UserBaseInfoResultDTO> wxInfo = userWxInfos.getData(); List<UserBaseInfoResultDTO> wxInfo = userWxInfos.getData();
for (UserBaseInfoResultDTO wx : wxInfo){ for (UserBaseInfoResultDTO wx : wxInfo){
if (list.getUserId().equals(wx.getUserId())){ if (list.getUserId().equals(wx.getUserId())){
dto.setHeadImg(wx.getHeadImgUrl()); dto.setHeadImg(wx.getHeadImgUrl());
dto.setNickname(wx.getNickname()); dto.setNickname(wx.getNickname());
}
}
resultDTOS.add(dto);
} }
} else {
logger.info("查询用户基本信息接口返回失败");
throw new RenException("查询用户基本信息失败");
} }
} }
return new Result<List<ResiLeaderboardResultDTO>>().ok(resultDTOS); return new Result<List<ResiLeaderboardResultDTO>>().ok(resultDTOS);

6
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/utils/ValidityVerification.java

@ -64,11 +64,13 @@ public class ValidityVerification {
/** /**
* 图片列表校验 * 图片列表校验
* @param imgList 被校验的图片列表 * @param imgList 被校验的图片列表
* @param businessEnum 业务枚举定义校验失败后输出的日志信息
*
* @return void * @return void
* @auther zhangyong * @auther zhangyong
* @Date 14:42 2020-07-15 * @Date 14:42 2020-07-15
**/ **/
public void imgScanVerification(List<String> imgList){ public void imgScanVerification(List<String> imgList, String businessEnum){
if (NumConstant.ZERO != imgList.size()){ if (NumConstant.ZERO != imgList.size()){
ImgScanParamDTO imgScanParamDTO = new ImgScanParamDTO(); ImgScanParamDTO imgScanParamDTO = new ImgScanParamDTO();
imgList.forEach(url -> { imgList.forEach(url -> {
@ -82,6 +84,8 @@ public class ValidityVerification {
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode());
} else { } else {
if (!imgScanResult.getData().isAllPass()) { if (!imgScanResult.getData().isAllPass()) {
// 业务枚举:例如:评论话题失败,评论内容为:%s"
log.error(String.format(businessEnum));
throw new RenException(EpmetErrorCode.IMG_SCAN_FAILED.getCode()); throw new RenException(EpmetErrorCode.IMG_SCAN_FAILED.getCode());
} }
} }

12
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActInfoDao.xml

@ -450,12 +450,12 @@
resultType="java.lang.Integer"> resultType="java.lang.Integer">
SELECT SELECT
COUNT(1) COUNT(1)
FROM act_info FROM act_info i LEFT JOIN act_user_relation r ON i.ID = r.ACT_ID
WHERE DEL_FLAG = '0' WHERE i.DEL_FLAG = '0'
AND USER_ID = #{userId} AND r.USER_ID = #{userId}
AND ACT_STATUS = 'published' AND i.ACT_STATUS = 'published'
AND ((#{actStartTime} BETWEEN ACT_START_TIME AND ACT_END_TIME OR #{actEndTime} BETWEEN ACT_START_TIME AND ACT_END_TIME) AND ((#{actStartTime} BETWEEN i.ACT_START_TIME AND i.ACT_END_TIME OR #{actEndTime} BETWEEN i.ACT_START_TIME AND i.ACT_END_TIME)
or (ACT_START_TIME BETWEEN #{actStartTime} AND #{actEndTime} OR ACT_END_TIME BETWEEN #{actStartTime} AND #{actEndTime})); or (i.ACT_START_TIME BETWEEN #{actStartTime} AND #{actEndTime} OR i.ACT_END_TIME BETWEEN #{actStartTime} AND #{actEndTime}));
</select> </select>
<!-- 查询正在进行中的活动列表 --> <!-- 查询正在进行中的活动列表 -->

31
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActLiveRecDao.xml

@ -48,4 +48,35 @@
</foreach> </foreach>
order by SORT asc order by SORT asc
</select> </select>
<insert id="insertActLiveRec" parameterType="com.epmet.dto.form.resi.ResiActInsertLiveFormDTO">
INSERT INTO act_live_rec (
ID,
ACT_ID,
USER_ID,
LONGITUDE,
LATITUDE,
ADDRESS,
`DESC`,
DEL_FLAG,
REVISION,
CREATED_BY,
CREATED_TIME,
UPDATED_BY,
UPDATED_TIME)
VALUES
( #{id},
#{actId},
#{userId},
#{longitude},
#{latitude},
#{address},
#{desc},
0,
0,
#{userId},
now(),
#{userId},
now())
</insert>
</mapper> </mapper>

37
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActSignInRecDao.xml

@ -21,5 +21,38 @@
<result property="updatedTime" column="UPDATED_TIME"/> <result property="updatedTime" column="UPDATED_TIME"/>
</resultMap> </resultMap>
<insert id="insertActSignInRec" parameterType="com.epmet.dto.ActSignInRecDTO">
</mapper> INSERT INTO act_sign_in_rec (
ID,
ACT_ID,
USER_ID,
LONGITUDE,
LATITUDE,
ADDRESS,
`DESC`,
SYNC_LIVE,
LIVE_ID,
DEL_FLAG,
REVISION,
CREATED_BY,
CREATED_TIME,
UPDATED_BY,
UPDATED_TIME)
VALUES
( #{id},
#{actId},
#{userId},
#{longitude},
#{latitude},
#{address},
#{desc},
#{syncLive},
#{liveId},
0,
0,
#{userId},
now(),
#{userId},
now())
</insert>
</mapper>

3
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/HeartUserInfoDao.xml

@ -45,8 +45,7 @@
resultType="com.epmet.dto.HeartUserInfoDTO"> resultType="com.epmet.dto.HeartUserInfoDTO">
SELECT SELECT
ui.USER_ID userId, ui.USER_ID userId,
volunteerFlag, ui.VOLUNTEER_FLAG volunteerFlag,
IF(ui.VOLUNTEER_FLAG = 1, true , false )
ui.KINDNESS_TIME kindnessTime, ui.KINDNESS_TIME kindnessTime,
ui.PARTICIPATION_NUM participationNum ui.PARTICIPATION_NUM participationNum
FROM heart_user_info ui FROM heart_user_info ui

11
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java

@ -148,4 +148,15 @@ public interface EpmetUserOpenFeignClient {
**/ **/
@PostMapping("/epmetuser/userbaseinfo/queryuserbaseinfo") @PostMapping("/epmetuser/userbaseinfo/queryuserbaseinfo")
Result<List<UserBaseInfoResultDTO>> queryUserBaseInfo(@RequestBody List<String> userIdList); Result<List<UserBaseInfoResultDTO>> queryUserBaseInfo(@RequestBody List<String> userIdList);
/**
* 根据用户ID查询用户所属角色: 多种身份
*
* @param userId
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.UserRoleResultDTO>>
* @Author zhangyong
* @Date 14:13 2020-07-23
**/
@GetMapping(value = "epmetuser/userrole/getuserroleinfobyuserid/{userId}")
Result<List<UserRoleResultDTO>> getUserRoleInfoByUserId(@PathVariable("userId") String userId);
} }

5
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java

@ -98,4 +98,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien
public Result<List<UserBaseInfoResultDTO>> queryUserBaseInfo(List<String> userIdList) { public Result<List<UserBaseInfoResultDTO>> queryUserBaseInfo(List<String> userIdList) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "queryUserBaseInfo", userIdList); return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "queryUserBaseInfo", userIdList);
} }
@Override
public Result<List<UserRoleResultDTO>> getUserRoleInfoByUserId(String userId) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserRoleInfoByUserId", userId);
}
} }

4
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java

@ -128,8 +128,8 @@ public class UserRoleController {
* @Author zhangyong * @Author zhangyong
* @Date 14:24 2020-07-23 * @Date 14:24 2020-07-23
**/ **/
@PostMapping("getuserroleinfobyuserid/{userId}") @GetMapping("getuserroleinfobyuserid/{userId}")
public Result<List<UserRoleResultDTO>> getUserRoleInfoByUserId(@PathVariable String userId) { public Result<List<UserRoleResultDTO>> getUserRoleInfoByUserId(@PathVariable("userId") String userId) {
return userRoleService.getUserRoleInfoByUserId(userId); return userRoleService.getUserRoleInfoByUserId(userId);
} }
} }

Loading…
Cancel
Save