Browse Source

活动时间段逻辑,接口调整

feature/screenDataPush
zhangyongzhangyong 4 years ago
parent
commit
47c5ecb8f5
  1. 8
      esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppActUserCancelsignupDTO.java
  2. 10
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActPeriodUserDao.java
  3. 10
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActPeriodUserService.java
  4. 5
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActPeriodUserServiceImpl.java
  5. 4
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserRelationServiceImpl.java
  6. 32
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActPeriodUserDao.xml

8
esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppActUserCancelsignupDTO.java

@ -21,7 +21,9 @@ import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* 取消报名参数
@ -50,4 +52,10 @@ public class EpdcAppActUserCancelsignupDTO implements Serializable {
@NotBlank(message = "取消报名原因不能为空")
@Length(max = 150, message = "取消报名原因不能超过150字")
private String failureReason;
/**
* 活动详细时间段表ID
*/
@NotNull(message = "活动时间段ID不能为空")
private List<String> actPeriodId;
}

10
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActPeriodUserDao.java

@ -45,6 +45,16 @@ public interface ActPeriodUserDao extends BaseDao<ActPeriodUserEntity> {
*/
List<ActPeriodDTO> selectListOfSignInActPeriodsByActUserRelationId(String actUserRelationId);
/**
* 获取用户报名时间段且该时间段未被取消未被拒绝
*
* @param actUserRelationId
* @return java.util.List<com.elink.esua.epdc.activity.ActPeriodDTO>
* @author lc
* @since 2021/9/2 20:05
*/
List<ActPeriodDTO> listOfNormalSignInActPeriodsByActUserRelationId1(String actUserRelationId);
/**
* 删除参与活动时间段记录
*

10
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActPeriodUserService.java

@ -104,6 +104,16 @@ public interface ActPeriodUserService extends BaseService<ActPeriodUserEntity> {
*/
List<ActPeriodDTO> listOfSignInActPeriodsByActUserRelationId(String actUserRelationId);
/**
* 获取用户报名时间段且该时间段未被取消未被拒绝
*
* @param actUserRelationId
* @return java.util.List<com.elink.esua.epdc.activity.ActPeriodDTO>
* @author lc
* @since 2021/9/2 20:05
*/
List<ActPeriodDTO> listOfNormalSignInActPeriodsByActUserRelationId1(String actUserRelationId);
/**
* 删除参与活动时间段记录
*

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

@ -102,6 +102,11 @@ public class ActPeriodUserServiceImpl extends BaseServiceImpl<ActPeriodUserDao,
return baseDao.selectListOfSignInActPeriodsByActUserRelationId(actUserRelationId);
}
@Override
public List<ActPeriodDTO> listOfNormalSignInActPeriodsByActUserRelationId1(String actUserRelationId) {
return baseDao.listOfNormalSignInActPeriodsByActUserRelationId1(actUserRelationId);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void removeActPeriodUserByActUserRelationId(String actUserRelationId) {

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

@ -333,8 +333,8 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
// 批量修改
actPeriodUserService.updateBatch(periodUserDtoList);
// 查询已报名的所有时间段
List<ActPeriodDTO> periodTime = actPeriodUserService.listOfSignInActPeriodsByActUserRelationId(actUserRelationEntity.getId());
// 查询状态为:已报名的所有时间段
List<ActPeriodDTO> periodTime = actPeriodUserService.listOfNormalSignInActPeriodsByActUserRelationId1(actUserRelationEntity.getId());
if (null == periodTime) {
periodTime = new ArrayList<>();
}

32
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActPeriodUserDao.xml

@ -26,13 +26,41 @@
WHERE
ur.ID = #{actUserRelationId}
) t
LEFT JOIN epdc_act_period_user pu ON pu.ACT_USER_RELATION_ID = t.ID AND pu.PERIOD_STATUS NOT IN ('3','4')
LEFT JOIN epdc_act_period_user pu ON pu.ACT_USER_RELATION_ID = t.ID
AND pu.DEL_FLAG = '0'
LEFT JOIN epdc_act_period p ON p.ID = pu.ACT_PERIOD_ID
AND p.DEL_FLAG = '0'
ORDER BY actPeriodStartTime
</select>
<select id="listOfNormalSignInActPeriodsByActUserRelationId1" resultType="com.elink.esua.epdc.activity.ActPeriodDTO">
SELECT
CASE
WHEN
p.ACT_PERIOD_START_TIME IS NULL THEN
t.ACT_START_TIME ELSE p.ACT_PERIOD_START_TIME
END AS actPeriodStartTime,
CASE
WHEN p.ACT_PERIOD_END_TIME IS NULL THEN
t.ACT_END_TIME ELSE p.ACT_PERIOD_END_TIME
END AS actPeriodEndTime
FROM
(
SELECT
ur.ID,
ai.ACT_START_TIME,
ai.ACT_END_TIME
FROM
epdc_act_user_relation ur
LEFT JOIN epdc_act_info ai ON ai.ID = ur.ACT_ID
WHERE ur.ID = #{actUserRelationId}
) t
LEFT JOIN epdc_act_period_user pu ON pu.ACT_USER_RELATION_ID = t.ID AND pu.DEL_FLAG = '0'
LEFT JOIN epdc_act_period p ON p.ID = pu.ACT_PERIOD_ID AND p.DEL_FLAG = '0'
WHERE IFNULL(pu.PERIOD_STATUS , '0')NOT IN ('3','4')
ORDER BY actPeriodStartTime
</select>
<update id="modifyActPeriodUserDelFlagByActUserRelationId">
update epdc_act_period_user set del_flag = '1' where ACT_USER_RELATION_ID = #{actUserRelationId}
</update>
@ -44,7 +72,7 @@
<if test="item.failureReason != null and item.failureReason.trim() != ''">
FAILURE_REASON = #{item.failureReason},
</if>
PERIOD_STATUS = #{periodStatus}
PERIOD_STATUS = #{item.periodStatus},
UPDATED_TIME = NOW()
WHERE ACT_USER_RELATION_ID = #{item.actUserRelationId} AND ACT_PERIOD_ID = #{item.actPeriodId}
</foreach>

Loading…
Cancel
Save