diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/ActPeriodDTO.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/ActPeriodDTO.java index dea91602..be8418ac 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/ActPeriodDTO.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/ActPeriodDTO.java @@ -97,4 +97,9 @@ public class ActPeriodDTO implements Serializable { * 名额类型(0-不限名额,1-固定名额) */ private Integer actPeriodQuotaCategory; + + /** + * 已报名人数 + */ + private Integer actPeriodSignupNum; } diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActPeriodDao.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActPeriodDao.java index 656b59f9..ebcfaf34 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActPeriodDao.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActPeriodDao.java @@ -75,4 +75,24 @@ public interface ActPeriodDao extends BaseDao { * @Date 17:29 2021-09-24 **/ Integer getPeriodNumberByActId(@Param("actId") String actId); + + /** + * 活动时间段 报名人数+1 + * + * @param periodIds + * @return void + * @Author zhangyong + * @Date 14:29 2021-10-08 + **/ + void addPeriodSignUpNum(@Param("periodIds") List periodIds); + + /** + * 活动时间段 报名人数 -1 + * + * @param periodIds + * @return void + * @Author zhangyong + * @Date 14:29 2021-10-08 + **/ + void minusPeriodSignUpNum(@Param("periodIds") List periodIds); } diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/entity/ActPeriodEntity.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/entity/ActPeriodEntity.java index 89a89c7a..f1f49964 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/entity/ActPeriodEntity.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/entity/ActPeriodEntity.java @@ -62,4 +62,9 @@ public class ActPeriodEntity extends BaseEpdcEntity { * 名额类型(0-不限名额,1-固定名额) */ private Integer actPeriodQuotaCategory; + + /** + * 已报名人数 + */ + private Integer actPeriodSignupNum; } diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActPeriodService.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActPeriodService.java index e2a41d37..723b651d 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActPeriodService.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActPeriodService.java @@ -123,4 +123,24 @@ public interface ActPeriodService extends BaseService { * @Date 17:29 2021-09-24 **/ Integer getPeriodNumberByActId(String actId); + + /** + * 活动时间段 报名人数 +1 + * + * @param periodIds + * @return void + * @Author zhangyong + * @Date 14:29 2021-10-08 + **/ + void addPeriodSignUpNum(List periodIds); + + /** + * 活动时间段 报名人数 -1 + * + * @param periodIds + * @return void + * @Author zhangyong + * @Date 14:29 2021-10-08 + **/ + void minusPeriodSignUpNum(List periodIds); } diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActPeriodServiceImpl.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActPeriodServiceImpl.java index 3c8274df..33f0f21f 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActPeriodServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActPeriodServiceImpl.java @@ -125,4 +125,19 @@ public class ActPeriodServiceImpl extends BaseServiceImpl periodIds) { + if (NumConstant.ZERO < periodIds.size()) { + baseDao.addPeriodSignUpNum(periodIds); + } + + } + + @Override + public void minusPeriodSignUpNum(List periodIds) { + if (NumConstant.ZERO < periodIds.size()) { + baseDao.minusPeriodSignUpNum(periodIds); + } + } } diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserRelationServiceImpl.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserRelationServiceImpl.java index 8f58ac97..146ff10f 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserRelationServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserRelationServiceImpl.java @@ -259,9 +259,13 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl periods = actUserRelationDTO.getPeriods(); + // 存储活动时间段ID,用作 活动时间段报名人数修改 + List periodIds = new ArrayList<>(); + // 校验当前报名的 活动时间段,是否已报满 List periodsByActId = actPeriodService.listOfActPeriodsByActId(actUserRelationDTO.getActId()); for (ActPeriodDTO period : periods) { + periodIds.add(period.getId()); for (ActPeriodDTO dto : periodsByActId) { if (period.getId().equals(dto.getId())) { if (NumConstant.ZERO != dto.getActPeriodQuotaCategory() && @@ -298,6 +302,9 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl periodIds = new ArrayList<>(); + // 根据活动id,查询该活动是否属于老数据(即,epdc_act_period 表中,不存在的活动) Integer number = actPeriodService.getPeriodNumberByActId(appActUserCancelsignupDTO.getActId()); @@ -326,6 +336,8 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl periodUserDtoList = new ArrayList<>(); for (String actPeriodId : appActUserCancelsignupDTO.getActPeriodId()) { + periodIds.add(actPeriodId); + ActPeriodUserDTO periodUserDTO = new ActPeriodUserDTO(); periodUserDTO.setActPeriodId(actPeriodId); periodUserDTO.setActUserRelationId(actUserRelationEntity.getId()); @@ -369,6 +381,10 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActPeriodDao.xml b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActPeriodDao.xml index a751828a..ad5dee2b 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActPeriodDao.xml +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActPeriodDao.xml @@ -62,4 +62,23 @@ AND P.ACT_ID = #{actId} + + update epdc_act_period + set ACT_PERIOD_SIGNUP_NUM = ACT_PERIOD_SIGNUP_NUM + 1 + where DEL_FLAG = '0' + and ID in + + #{periodId} + + + + + update epdc_act_period + set ACT_PERIOD_SIGNUP_NUM = ACT_PERIOD_SIGNUP_NUM - 1 + where DEL_FLAG = '0' + and ID in + + #{periodId} + +