Browse Source

活动报名接口修改

master
zhangyongzhangyong 5 years ago
parent
commit
426b339e49
  1. 4
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  2. 27
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/resi/ResiActRegistrationResultDTO.java
  3. 4
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiActListController.java
  4. 5
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/ActUserRelationService.java
  5. 46
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActUserRelationServiceImpl.java

4
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java

@ -83,9 +83,9 @@ public enum EpmetErrorCode {
// 爱心互助 居民端 // 爱心互助 居民端
NOT_IN_THE_SIGN_IN_RANGE(8510, "您还未进入指定的签到范围~"), NOT_IN_THE_SIGN_IN_RANGE(8510, "您还未进入指定的签到范围~"),
NON_CERTIFIED_VOLUNTEER(8511, "活动报名失败,请先认证志愿者"), // 活动报名失败,弹窗:志愿者认证
NON_CERTIFIED_VOLUNTEER(8511, "是否认证志愿者,完成报名"),
ACT_TIME_CONFLICT(8512, "报名失败。您本次报名活动时间与已报名活动时间间隔较短,为了不影响您已报名的活动,请选择其他时间的活动,谢谢。"), ACT_TIME_CONFLICT(8512, "报名失败。您本次报名活动时间与已报名活动时间间隔较短,为了不影响您已报名的活动,请选择其他时间的活动,谢谢。"),
ACT_REGISTRATION_SUCCESS(8513, "报名成功。"),
// 该错误不会提示给前端,只是后端传输错误信息用。 // 该错误不会提示给前端,只是后端传输错误信息用。
ACCESS_SQL_FILTER_MISSION_ARGS(8701, "缺少生成权限过滤SQL所需参数"), ACCESS_SQL_FILTER_MISSION_ARGS(8701, "缺少生成权限过滤SQL所需参数"),

27
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/resi/ResiActRegistrationResultDTO.java

@ -1,27 +0,0 @@
package com.epmet.dto.result.resi;
import lombok.Data;
import java.io.Serializable;
/**
* 活动报名 - 返回值
*
* @Auther: zhangyong
* @Date: 2020-07-28 16:22
*/
@Data
public class ResiActRegistrationResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 异常编码
*/
private Integer flag;
/**
* 提示信息
*/
private String tip;
}

4
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiActListController.java

@ -294,12 +294,12 @@ public class ResiActListController {
* *
* @param tokenDto * @param tokenDto
* @param formDTO * @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.resi.ResiActRegistrationResultDTO> * @return com.epmet.commons.tools.utils.Result
* @Author zhangyong * @Author zhangyong
* @Date 16:26 2020-07-28 * @Date 16:26 2020-07-28
**/ **/
@PostMapping("registration") @PostMapping("registration")
public Result<ResiActRegistrationResultDTO> registration(@LoginUser TokenDto tokenDto, @RequestBody ResiActRegistrationFormDTO formDTO) { public Result registration(@LoginUser TokenDto tokenDto, @RequestBody ResiActRegistrationFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, ResiActRegistrationFormDTO.AddUserInternalGroup.class); ValidatorUtils.validateEntity(formDTO, ResiActRegistrationFormDTO.AddUserInternalGroup.class);
return actUserRelationService.registration(tokenDto, formDTO); return actUserRelationService.registration(tokenDto, formDTO);
} }

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

@ -24,7 +24,6 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.ActUserRelationDTO; import com.epmet.dto.ActUserRelationDTO;
import com.epmet.dto.form.resi.ResiActRegistrationFormDTO; import com.epmet.dto.form.resi.ResiActRegistrationFormDTO;
import com.epmet.dto.form.resi.ResiActUserCancelSignUpFormDTO; import com.epmet.dto.form.resi.ResiActUserCancelSignUpFormDTO;
import com.epmet.dto.result.resi.ResiActRegistrationResultDTO;
import com.epmet.entity.ActUserRelationEntity; import com.epmet.entity.ActUserRelationEntity;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -146,9 +145,9 @@ public interface ActUserRelationService extends BaseService<ActUserRelationEntit
* *
* @param tokenDto * @param tokenDto
* @param formDTO * @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.Map<java.lang.Integer,java.lang.String>> * @return com.epmet.commons.tools.utils.Result
* @Author zhangyong * @Author zhangyong
* @Date 15:54 2020-07-28 * @Date 15:54 2020-07-28
**/ **/
Result<ResiActRegistrationResultDTO> registration(TokenDto tokenDto, ResiActRegistrationFormDTO formDTO); Result registration(TokenDto tokenDto, ResiActRegistrationFormDTO formDTO);
} }

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

@ -39,7 +39,6 @@ import com.epmet.dto.ActUserRelationDTO;
import com.epmet.dto.form.resi.ResiActRegistrationFormDTO; import com.epmet.dto.form.resi.ResiActRegistrationFormDTO;
import com.epmet.dto.form.resi.ResiActUserCancelSignUpFormDTO; import com.epmet.dto.form.resi.ResiActUserCancelSignUpFormDTO;
import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.dto.result.UserRoleResultDTO;
import com.epmet.dto.result.resi.ResiActRegistrationResultDTO;
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;
@ -48,6 +47,7 @@ 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;
import com.epmet.service.ActUserRelationService; import com.epmet.service.ActUserRelationService;
import com.epmet.utils.ModuleConstant;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
@ -195,46 +195,40 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Result<ResiActRegistrationResultDTO> registration(TokenDto tokenDto, ResiActRegistrationFormDTO formDTO) { public Result registration(TokenDto tokenDto, ResiActRegistrationFormDTO formDTO) {
formDTO.setUserId(tokenDto.getUserId()); formDTO.setUserId(tokenDto.getUserId());
boolean satisfy = false; boolean satisfy = false;
ResiActRegistrationResultDTO resultDTO = new ResiActRegistrationResultDTO();
// 查询活动信息 // 查询活动信息
ActInfoDTO actInfoDTO = actInfoService.get(formDTO.getActId()); ActInfoDTO actInfoDTO = actInfoService.get(formDTO.getActId());
// >0 当前用户是志愿者 // >0 当前用户是志愿者
Integer volunteerFlag = volunteerInfoDao.queryVolunteerFlagByUserId(formDTO.getUserId()); Integer volunteerFlag = volunteerInfoDao.queryVolunteerFlagByUserId(formDTO.getUserId());
if (actInfoDTO.getVolunteerLimit()){ if (NumConstant.ZERO < volunteerFlag){
// 活动只能志愿者参加, 当前用户是否满足条件 // 志愿者身份,可参加所有活动
satisfy = this.volunteerParticipationAct(volunteerFlag); satisfy = true;
if (!satisfy){
logger.info(EpmetErrorCode.NON_CERTIFIED_VOLUNTEER.getMsg());
resultDTO.setFlag(EpmetErrorCode.NON_CERTIFIED_VOLUNTEER.getCode());
resultDTO.setTip(EpmetErrorCode.NON_CERTIFIED_VOLUNTEER.getMsg());
return new Result<ResiActRegistrationResultDTO>().ok(resultDTO);
}
} else { } else {
// 活动不限制志愿者身份,但要求是 居民身份, 当前用户是否满足条件 // 如果用户不是志愿者,则需判断,当前活动 非志愿者是非可报名
satisfy = this.resiParticipationAct(formDTO.getUserId()); if (actInfoDTO.getVolunteerLimit()){
if (!satisfy){ // 活动只能志愿者参加, 当前用户是否满足条件
logger.info(EpmetErrorCode.CANNOT_AUDIT_WARM.getMsg()); satisfy = this.volunteerParticipationAct(volunteerFlag);
resultDTO.setFlag(EpmetErrorCode.CANNOT_AUDIT_WARM.getCode()); } else {
resultDTO.setTip(EpmetErrorCode.CANNOT_AUDIT_WARM.getMsg()); // 活动不限制志愿者身份,但要求是 居民身份, 当前用户是否满足条件
return new Result<ResiActRegistrationResultDTO>().ok(resultDTO); satisfy = this.resiParticipationAct(formDTO.getUserId());
} }
} }
if (satisfy){ if (satisfy){
// 开始报名 // 开始报名
boolean actTimeConflict = this.actStartSignUp(actInfoDTO, formDTO, volunteerFlag); boolean actTimeConflict = this.actStartSignUp(actInfoDTO, formDTO, volunteerFlag);
if (!actTimeConflict){ if (!actTimeConflict){
logger.info(EpmetErrorCode.ACT_TIME_CONFLICT.getMsg()); logger.info(EpmetErrorCode.ACT_TIME_CONFLICT);
resultDTO.setFlag(EpmetErrorCode.ACT_TIME_CONFLICT.getCode()); throw new RenException(EpmetErrorCode.ACT_TIME_CONFLICT.getCode());
resultDTO.setTip(EpmetErrorCode.ACT_TIME_CONFLICT.getMsg());
return new Result<ResiActRegistrationResultDTO>().ok(resultDTO);
} }
} else {
// 不满足,提示用户去认证志愿者
logger.info(EpmetErrorCode.NON_CERTIFIED_VOLUNTEER);
throw new RenException(EpmetErrorCode.NON_CERTIFIED_VOLUNTEER.getCode());
} }
resultDTO.setFlag(EpmetErrorCode.ACT_REGISTRATION_SUCCESS.getCode()); return new Result();
resultDTO.setTip(EpmetErrorCode.ACT_REGISTRATION_SUCCESS.getMsg());
return new Result<ResiActRegistrationResultDTO>().ok(resultDTO);
} }
/** /**

Loading…
Cancel
Save