Browse Source

活动详情接口-获取用户当前状态代码优化

feature/dangjian
yinzuomei 6 years ago
parent
commit
5f7d45cfb0
  1. 5
      esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoDetailAppResultDTO.java
  2. 33
      esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/constant/ActUserRelationStatusConstant.java
  3. 43
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java

5
esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoDetailAppResultDTO.java

@ -17,6 +17,7 @@
package com.elink.esua.epdc.activity.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
@ -57,21 +58,25 @@ public class ActInfoDetailAppResultDTO implements Serializable {
/**
* 报名开始时间yyyy-MM-dd HH:ss
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date signupStartTime;
/**
* 报名截止时间yyyy-MM-dd HH:ss
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date signupEndTime;
/**
* 活动开始时间yyyy-MM-dd HH:ss
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date actStartTime;
/**
* 活动结束时间yyyy-MM-dd HH:ss
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date actEndTime;
/**

33
esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/constant/ActUserRelationStatusConstant.java

@ -0,0 +1,33 @@
package com.elink.esua.epdc.constant;
/**
* @Description 用户活动关系表当前状态0-报名1-审核通过2-打卡3-取消报名4-审核不通过
* @Author yinzuomei
* @Date 2020/2/5 21:35
*/
public interface ActUserRelationStatusConstant {
/**
* 报名
*/
String SIGN_UP="0";
/**
* 审核通过
*/
String APPROVED="1";
/**
* 打卡
*/
String CLOCK="2";
/**
* 取消报名
*/
String CANCEL_SIGN_UP="3";
/**
* 审核不通过
*/
String NOT_APPROVED="4";
}

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

@ -38,6 +38,7 @@ 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.constant.ActStateConstant;
import com.elink.esua.epdc.constant.ActUserRelationStatusConstant;
import com.elink.esua.epdc.constant.ActUserStatusConstant;
import com.elink.esua.epdc.dto.ScheduleJobDTO;
import com.elink.esua.epdc.modules.activity.dao.ActInfoDao;
@ -245,6 +246,14 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
return new Result<ActInfoDetailAppResultDTO>().ok(resultDTO);
}
/**
* @param actId 活动id
* @param userId 用户id
* @return java.lang.String
* @Author yinzuomei
* @Description 返回当前活动下用户状态0-我要报名1-取消报名2-已报满3-未开始4-我要打卡5-更新打卡6-已结束7-已取消
* @Date 2020/2/5 21:54
**/
public String getCurrentUserStatus(String actId, String userId) {
ActInfoEntity actInfoEntity = baseDao.selectById(actId);
String currentUserStatus = "";
@ -276,11 +285,11 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
if (null == actUserRelationEntity) {
currentUserStatus = ActUserStatusConstant.FINISHED;
} else if (null != actUserRelationEntity
&& actUserRelationEntity.getStatus().equals("1")
&& ActUserRelationStatusConstant.APPROVED.equals(actUserRelationEntity.getStatus())
&& CollUtil.isEmpty(actUserClockLogList)) {
currentUserStatus = ActUserStatusConstant.CLOCK;
} else if (null != actUserRelationEntity
&& actUserRelationEntity.getStatus().equals("2")
&& ActUserRelationStatusConstant.CLOCK.equals(actUserRelationEntity.getStatus())
&& CollUtil.isNotEmpty(actUserClockLogList)) {
currentUserStatus = ActUserStatusConstant.UPDATE_CLOCK;
}
@ -292,38 +301,46 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
if (null == actUserRelationEntity) {
currentUserStatus = ActUserStatusConstant.ON_GOING;
} else if (null != actUserRelationEntity
&& actUserRelationEntity.getStatus().equals("1")
&& ActUserRelationStatusConstant.APPROVED.equals(actUserRelationEntity.getStatus())
&& CollUtil.isEmpty(actUserClockLogList)) {
currentUserStatus = ActUserStatusConstant.CLOCK;
} else if (null != actUserRelationEntity
&& actUserRelationEntity.getStatus().equals("2")
&& ActUserRelationStatusConstant.CLOCK.equals(actUserRelationEntity.getStatus())
&& CollUtil.isNotEmpty(actUserClockLogList)) {
currentUserStatus = ActUserStatusConstant.UPDATE_CLOCK;
}
} else if (currentTime.before(actInfoEntity.getSignupEndTime())) {
/*报名截至时间前
1当前用户未报名底部显示按钮 我要报名
2当前用户已报名底部显示按钮 取消报名
3当前用户未报名且活动名额已满底部显示按钮 已报满*/
2当前用户未报名且活动名额已满底部显示按钮 已报满
3当前用户已报名底部显示按钮 取消报名
4当前用户已经取消报名的可再次报名-我要报名*/
if (null == actUserRelationEntity && (actInfoEntity.getActQuota() > actInfoEntity.getSignupNum())) {
currentUserStatus = ActUserStatusConstant.SIGN_UP;
} else if (null == actUserRelationEntity && (actInfoEntity.getActQuota().equals(actInfoEntity.getSignupNum()))) {
currentUserStatus = ActUserStatusConstant.FULL_SIGN_UP;
} else if (null != actUserRelationEntity
&& (actUserRelationEntity.getStatus().equals("0")
|| actUserRelationEntity.getStatus().equals("1"))) {
&& (ActUserRelationStatusConstant.SIGN_UP.equals(actUserRelationEntity.getStatus())
|| ActUserRelationStatusConstant.APPROVED.equals(actUserRelationEntity.getStatus()))) {
currentUserStatus = ActUserStatusConstant.CANCEL_SIGN_UP;
} else if (null != actUserRelationEntity && ActUserRelationStatusConstant.CANCEL_SIGN_UP.equals(actUserRelationEntity.getStatus())) {
currentUserStatus = ActUserStatusConstant.SIGN_UP;
}
} else if (currentTime.after(actInfoEntity.getSignupEndTime()) && currentTime.before(actInfoEntity.getActStartTime())) {
/*报名截至时间到活动未开始时间段内
1当前用户未报名底部显示按钮 未开始
2当前用户已报名且审核通过 取消报名
3当前用户已报名审核不通过 未开始*/
1当前用户未报名底部显示按钮 -未开始
2当前用户已经取消报名的-未开始
3当前用户已报名且审核通过未审核 -取消报名
4当前用户已报名审核不通过 -未开始*/
if (null == actUserRelationEntity) {
currentUserStatus = ActUserStatusConstant.NOT_STARTED;
} else if (null != actUserRelationEntity && actUserRelationEntity.getStatus().equals("1")) {
} else if (null != actUserRelationEntity && ActUserRelationStatusConstant.CANCEL_SIGN_UP.equals(actUserRelationEntity.getStatus())) {
currentUserStatus = ActUserStatusConstant.NOT_STARTED;
} else if (null != actUserRelationEntity
&& (ActUserRelationStatusConstant.APPROVED.equals(actUserRelationEntity.getStatus())
|| ActUserRelationStatusConstant.SIGN_UP.equals(actUserRelationEntity.getStatus()))) {
currentUserStatus = ActUserStatusConstant.CANCEL_SIGN_UP;
} else if (null != actUserRelationEntity && actUserRelationEntity.getStatus().equals("4")) {
} else if (null != actUserRelationEntity && ActUserRelationStatusConstant.NOT_APPROVED.equals(actUserRelationEntity.getStatus())) {
currentUserStatus = ActUserStatusConstant.NOT_STARTED;
}
}

Loading…
Cancel
Save