Browse Source

heart-work:报名审核-人员历史活动情况api

dev_shibei_match
yinzuomei 5 years ago
parent
commit
0d9d30ef15
  1. 22
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/UserHistoricalActFormDTO.java
  2. 56
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/UserHistoricalActInfoDTO.java
  3. 54
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/UserHistoricalActResultDTO.java
  4. 14
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/WorkActUserController.java
  5. 10
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserRelationDao.java
  6. 10
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/WorkActUserService.java
  7. 27
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java
  8. 27
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml

22
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/UserHistoricalActFormDTO.java

@ -0,0 +1,22 @@
package com.epmet.dto.form.work;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 报名审核-人员历史活动情况入参
*
* @author yinzuomei@elink-cn.com
* @date 2020/7/23 16:12
*/
@Data
public class UserHistoricalActFormDTO implements Serializable {
public interface AddUserInternalGroup {}
/**
* 居民端用户id
*/
@NotBlank(message = "居民端用户id不能为空", groups = {AddUserInternalGroup.class})
private String userId;
}

56
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/UserHistoricalActInfoDTO.java

@ -0,0 +1,56 @@
package com.epmet.dto.result.work;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 历史活动列表
*
* @author yinzuomei@elink-cn.com
* @date 2020/7/23 16:19
*/
@Data
public class UserHistoricalActInfoDTO implements Serializable {
private static final long serialVersionUID = 3703921511083310251L;
/**
* 活动id
*/
private String actId;
/**
* 活动标题
*/
private String title;
/**
* 活动地址
*/
private String actAddress;
/**
* 签到时间yyyy-MM-dd HH:mm:ss
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date signInTime;
/**
* 服务时长单位120分钟
*/
private Integer kindNessTime;
/**
* 可得积分
*/
private Integer reward;
/**
* 正常发放agree, 拒绝发放deny
*/
private String rewardFlag;
/**
* 拒绝给分的理由
*/
private String denyRewardReason;
/**
* 已处理: handled; 默认"",重新处理时reward_flag置为空字符串
*/
private String processFlag;
}

54
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/UserHistoricalActResultDTO.java

@ -0,0 +1,54 @@
package com.epmet.dto.result.work;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 描述一下
*
* @author yinzuomei@elink-cn.com
* @date 2020/7/23 16:15
*/
@Data
public class UserHistoricalActResultDTO implements Serializable {
private static final long serialVersionUID = 7437428110692437615L;
/**
* 居民端用户id
*/
private String userId;
/**
* 头像
*/
private String headImgUrl;
/**
* 昵称
*/
private String nickName;
/**
* 姓名
*/
private String realName;
/**
* 实际参加活动个数
*/
private Integer signInActNum;
/**
* 报名活动个数
*/
private Integer signUpActNum;
/**
* 获得积分活动个数
*/
private Integer obtainPointsActNum;
/**
*历史活动列表
*/
private List<UserHistoricalActInfoDTO> actInfoList;
}

14
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/WorkActUserController.java

@ -4,6 +4,7 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.work.AactUserDetailFormDTO;
import com.epmet.dto.form.work.AuditingActUserFormDTO;
import com.epmet.dto.form.work.UserHistoricalActFormDTO;
import com.epmet.dto.result.work.*;
import com.epmet.service.WorkActUserService;
import org.springframework.beans.factory.annotation.Autowired;
@ -105,4 +106,17 @@ public class WorkActUserController {
ValidatorUtils.validateEntity(formDTO, AactUserDetailFormDTO.AddUserInternalGroup.class);
return new Result<AuditingUserDetailResultDTO>().ok(workActUserService.queryAuditingUserDetail(formDTO));
}
/**
* @return com.epmet.commons.tools.utils.Result
* @param
* @author yinzuomei
* @description 报名审核-人员历史活动情况
* @Date 2020/7/23 16:12
**/
@PostMapping("historicalact")
public Result<UserHistoricalActResultDTO> queryUserHistoricalAct(@RequestBody UserHistoricalActFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, UserHistoricalActFormDTO.AddUserInternalGroup.class);
return new Result<UserHistoricalActResultDTO>().ok(workActUserService.queryUserHistoricalAct(formDTO));
}
}

10
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserRelationDao.java

@ -19,6 +19,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ActUserRelationDTO;
import com.epmet.dto.result.work.UserHistoricalActInfoDTO;
import com.epmet.entity.ActUserRelationEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -108,4 +109,13 @@ public interface ActUserRelationDao extends BaseDao<ActUserRelationEntity> {
* @Date 2020/7/23 15:57
**/
Integer countObtainPointsActNum(String userId);
/**
* @return java.util.List<com.epmet.dto.result.work.UserHistoricalActInfoDTO>
* @param userId
* @author yinzuomei
* @description 根据userId查询参与活动记录
* @Date 2020/7/23 16:46
**/
List<UserHistoricalActInfoDTO> selectAllByUserId(String userId);
}

10
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/WorkActUserService.java

@ -2,6 +2,7 @@ package com.epmet.service;
import com.epmet.dto.form.work.AactUserDetailFormDTO;
import com.epmet.dto.form.work.AuditingActUserFormDTO;
import com.epmet.dto.form.work.UserHistoricalActFormDTO;
import com.epmet.dto.result.work.*;
import java.util.List;
@ -66,4 +67,13 @@ public interface WorkActUserService {
* @Date 2020/7/22 22:44
**/
AuditingUserDetailResultDTO queryAuditingUserDetail(AactUserDetailFormDTO formDTO);
/**
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.work.UserHistoricalActResultDTO>
* @param formDTO
* @author yinzuomei
* @description 报名审核-人员历史活动情况
* @Date 2020/7/23 16:16
**/
UserHistoricalActResultDTO queryUserHistoricalAct(UserHistoricalActFormDTO formDTO);
}

27
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java

@ -11,6 +11,7 @@ import com.epmet.dto.ActUserRelationDTO;
import com.epmet.dto.HeartUserInfoDTO;
import com.epmet.dto.form.work.AactUserDetailFormDTO;
import com.epmet.dto.form.work.AuditingActUserFormDTO;
import com.epmet.dto.form.work.UserHistoricalActFormDTO;
import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.dto.result.work.*;
import com.epmet.feign.EpmetUserOpenFeignClient;
@ -306,6 +307,32 @@ public class WorkActUserServiceImpl implements WorkActUserService {
return resultDTO;
}
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.work.UserHistoricalActResultDTO>
* @author yinzuomei
* @description 报名审核-人员历史活动情况
* @Date 2020/7/23 16:16
**/
@Override
public UserHistoricalActResultDTO queryUserHistoricalAct(UserHistoricalActFormDTO formDTO) {
UserHistoricalActResultDTO resultDTO=new UserHistoricalActResultDTO();
UserBaseInfoResultDTO userBaseInfoResultDTO=this.queryUserBaseInfo(formDTO.getUserId());
//基本信息
resultDTO.setUserId(formDTO.getUserId());
resultDTO.setHeadImgUrl(userBaseInfoResultDTO.getHeadImgUrl());
resultDTO.setNickName(userBaseInfoResultDTO.getNickname());
resultDTO.setRealName(userBaseInfoResultDTO.getRealName());
//参与活动统计值
HistoricalActInfo historicalActInfo=getHistoricalActInfo(formDTO.getUserId());
resultDTO.setSignInActNum(historicalActInfo.getSignInActNum());
resultDTO.setSignUpActNum(historicalActInfo.getSignUpActNum());
resultDTO.setObtainPointsActNum(historicalActInfo.getObtainPointsActNum());
//历史活动列表
resultDTO.setActInfoList(actUserRelationDao.selectAllByUserId(formDTO.getUserId()));
return resultDTO;
}
/**
* @return com.epmet.dto.result.work.HistoricalActInfo
* @param userId

27
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml

@ -129,4 +129,31 @@
and REWARD_FLAG='agree'
AND acu.USER_ID = #{userId}
</select>
<!-- 根据userId,查询参与活动记录 -->
<select id="selectAllByUserId" resultType="com.epmet.dto.result.work.UserHistoricalActInfoDTO" parameterType="java.lang.String">
SELECT
acr.ACT_ID AS actId,
ACR.USER_ID AS userId,
ai.TITLE AS title,
ai.ACT_ADDRESS AS actAddress,
ai.SERVICE_MIN AS kindNessTime,
ai.REWARD AS reward,
acr.REWARD_FLAG AS rewardFlag,
acr.DENY_REWARD_REASON AS denyRewardReason,
acr.PROCESS_FLAG AS processFlag,
(select CREATED_TIME
from act_sign_in_rec ar
where ar.ACT_ID=acr.ACT_ID
and ar.USER_ID=acr.USER_ID
order by ar.CREATED_TIME asc limit 1) as signInTime
FROM
act_user_relation acr
LEFT JOIN act_info ai ON ( acr.ACT_ID = ai.id )
WHERE
acr.DEL_FLAG = '0'
AND acr.USER_ID = #{userId}
ORDER BY
acr.CREATED_TIME DESC
</select>
</mapper>

Loading…
Cancel
Save