Browse Source

志愿者,增加:参与的活动记录

feature/screenDataPush
zhangyongzhangyong 4 years ago
parent
commit
065cbceceb
  1. 36
      esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/form/ParticipatedActRecordFormDTO.java
  2. 40
      esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ParticipatedActRecordResultDTO.java
  3. 14
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/ActPeriodUserController.java
  4. 12
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActPeriodUserDao.java
  5. 13
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActPeriodUserService.java
  6. 14
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActPeriodUserServiceImpl.java
  7. 2
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/UserInfoFeignClient.java
  8. 35
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActPeriodUserDao.xml

36
esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/form/ParticipatedActRecordFormDTO.java

@ -0,0 +1,36 @@
package com.elink.esua.epdc.activity.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 参与的活动记录 入参
* @author zy
*/
@Data
public class ParticipatedActRecordFormDTO implements Serializable {
private static final long serialVersionUID = 5597918895256848428L;
/**
* 用户ID
*/
@NotBlank(message = "用户ID不能为空")
private String userId;
/**
* 页码
*/
@Min(value = 1, message = "页码必须大于0")
private Integer pageIndex;
/**
* 页容量
*/
@Min(value = 1, message = "页容量必须大于0")
private Integer pageSize;
}

40
esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ParticipatedActRecordResultDTO.java

@ -0,0 +1,40 @@
package com.elink.esua.epdc.activity.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 参与的活动记录
* @author zy
*/
@Data
public class ParticipatedActRecordResultDTO implements Serializable {
private static final long serialVersionUID = 5597918895256848428L;
/**
* 活动ID
*/
private String actId;
/**
* 活动标题
*/
private String title;
/**
* 活动开始时间
*/
private Date actPeriodStartTime;
/**
* 活动结束时间
*/
private Date actPeriodEndTime;
/**
* 当前状态0-报名1-审核通过2-打卡3-取消报名4-审核不通过5-确认积分6-拒绝加积分
*/
private String periodStatus;
}

14
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/ActPeriodUserController.java

@ -18,6 +18,8 @@
package com.elink.esua.epdc.modules.activity.controller;
import com.elink.esua.epdc.activity.ActPeriodUserDTO;
import com.elink.esua.epdc.activity.form.ParticipatedActRecordFormDTO;
import com.elink.esua.epdc.activity.result.ParticipatedActRecordResultDTO;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
@ -84,4 +86,16 @@ public class ActPeriodUserController {
return new Result();
}
/**
* 查询用户参与的活动记录不包含已取消未通过的活动
*
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.activity.result.ParticipatedActRecordResultDTO>>
* @Author zhangyong
* @Date 15:57 2021-09-24
**/
@GetMapping("getParticipatedActRecordByUserId")
public Result<List<ParticipatedActRecordResultDTO>> getParticipatedActRecordByUserId(@RequestParam ParticipatedActRecordFormDTO formDTO) {
return actPeriodUserService.getParticipatedActRecordByUserId(formDTO);
}
}

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

@ -19,6 +19,8 @@ package com.elink.esua.epdc.modules.activity.dao;
import com.elink.esua.epdc.activity.ActPeriodDTO;
import com.elink.esua.epdc.activity.ActPeriodUserDTO;
import com.elink.esua.epdc.activity.form.ParticipatedActRecordFormDTO;
import com.elink.esua.epdc.activity.result.ParticipatedActRecordResultDTO;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.modules.activity.entity.ActPeriodUserEntity;
import org.apache.ibatis.annotations.Mapper;
@ -83,4 +85,14 @@ public interface ActPeriodUserDao extends BaseDao<ActPeriodUserEntity> {
* @Date 17:04 2021-09-23
**/
void updateByActUserRelationId(ActPeriodUserDTO dto);
/**
* 查询用户参与的活动记录不包含已取消未通过的活动
*
* @param formDTO
* @return java.util.List<com.elink.esua.epdc.activity.result.ParticipatedActRecordResultDTO>
* @Author zhangyong
* @Date 16:03 2021-09-24
**/
List<ParticipatedActRecordResultDTO> selectListParticipatedActRecordByUserId(ParticipatedActRecordFormDTO formDTO);
}

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

@ -19,8 +19,11 @@ package com.elink.esua.epdc.modules.activity.service;
import com.elink.esua.epdc.activity.ActPeriodDTO;
import com.elink.esua.epdc.activity.ActPeriodUserDTO;
import com.elink.esua.epdc.activity.form.ParticipatedActRecordFormDTO;
import com.elink.esua.epdc.activity.result.ParticipatedActRecordResultDTO;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.modules.activity.entity.ActPeriodUserEntity;
import java.util.List;
@ -142,4 +145,14 @@ public interface ActPeriodUserService extends BaseService<ActPeriodUserEntity> {
* @Date 17:04 2021-09-23
**/
void updateByActUserRelationId(ActPeriodUserDTO dto);
/**
* 查询用户参与的活动记录不包含已取消未通过的活动
*
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.activity.result.ParticipatedActRecordResultDTO>>
* @Author zhangyong
* @Date 15:57 2021-09-24
**/
Result<List<ParticipatedActRecordResultDTO>> getParticipatedActRecordByUserId(ParticipatedActRecordFormDTO formDTO);
}

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

@ -21,14 +21,20 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.activity.ActPeriodDTO;
import com.elink.esua.epdc.activity.ActPeriodUserDTO;
import com.elink.esua.epdc.activity.form.ParticipatedActRecordFormDTO;
import com.elink.esua.epdc.activity.result.ParticipatedActRecordResultDTO;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.modules.activity.dao.ActPeriodUserDao;
import com.elink.esua.epdc.modules.activity.entity.ActPeriodUserEntity;
import com.elink.esua.epdc.modules.activity.service.ActPeriodUserService;
import com.elink.esua.epdc.modules.feign.UserInfoFeignClient;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -122,4 +128,12 @@ public class ActPeriodUserServiceImpl extends BaseServiceImpl<ActPeriodUserDao,
public void updateByActUserRelationId(ActPeriodUserDTO dto) {
baseDao.updateByActUserRelationId(dto);
}
@Override
public Result<List<ParticipatedActRecordResultDTO>> getParticipatedActRecordByUserId(ParticipatedActRecordFormDTO formDTO) {
int pageIndex = (formDTO.getPageIndex() - NumConstant.ONE) * formDTO.getPageSize();
formDTO.setPageIndex(pageIndex);
List<ParticipatedActRecordResultDTO> result = baseDao.selectListParticipatedActRecordByUserId(formDTO);
return new Result<List<ParticipatedActRecordResultDTO>>().ok(result);
}
}

2
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/UserInfoFeignClient.java

@ -99,7 +99,7 @@ public interface UserInfoFeignClient {
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcAppUserPointsResultDTO>
**/
@PostMapping(value = "app-user/epdc-app/user/getUserGridIdByUserId/{userId}", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<Long> getUserGridIdByUserId(@PathVariable String userId);
Result<Long> getUserGridIdByUserId(@PathVariable("userId") String userId);
/**
* @Description 更新志愿者积分
* @Author songyunpeng

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

@ -91,4 +91,39 @@
where ACT_USER_RELATION_ID = #{actUserRelationId} and del_flag = '0'
</update>
<select id="selectListParticipatedActRecordByUserId" resultType="com.elink.esua.epdc.activity.result.ParticipatedActRecordResultDTO">
SELECT
t.ID actId,
t.TITLE title,
t.`STATUS` periodStatus,
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
ai.ACT_START_TIME,
ai.ACT_END_TIME,
ai.ID,
ai.TITLE,
ur.ID actUserRelationId,
ur.`STATUS`
FROM
epdc_act_user_relation ur
LEFT JOIN epdc_act_info ai ON ai.ID = ur.ACT_ID
WHERE ai.DEL_FLAG = '0'
AND ur.`STATUS` NOT IN ('3', '4')
AND USER_ID = #{userId}
) t
LEFT JOIN epdc_act_period_user pu ON pu.ACT_USER_RELATION_ID = t.actUserRelationId 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 DESC
LIMIT #{pageIndex},#{pageSize}
</select>
</mapper>

Loading…
Cancel
Save