diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/ActUserLogDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/ActUserLogDTO.java index a6f783b20f..aecb1b1750 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/ActUserLogDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/ActUserLogDTO.java @@ -17,9 +17,10 @@ package com.epmet.dto; +import lombok.Data; + import java.io.Serializable; import java.util.Date; -import lombok.Data; /** @@ -50,13 +51,14 @@ public class ActUserLogDTO implements Serializable { /** * 操作类型(已报名/待审核auditing, -审核通过passed, -审核不通过refused -取消报名canceld, -发放积分rewarded -拒绝发放积分refuse_reward -重新处理processing -) + * 审核通过passed, + * 审核不通过refused + * 取消报名canceld, + * 已签到signedin + * 发放积分rewarded + * 拒绝发放积分refuse_reward + * 重新处理processing + * ) */ private String operationType; diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/AactUserDetailFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/AactUserDetailFormDTO.java new file mode 100644 index 0000000000..3e653e76c1 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/AactUserDetailFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.form.work; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 报名审核-人员详情-入参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/7/22 22:22 + */ +@Data +public class AactUserDetailFormDTO implements Serializable { + private static final long serialVersionUID = 5791290477143999176L; + + public interface AddUserInternalGroup { + } + + /** + * 列表页返回的主键 + */ + @NotBlank(message = "主键不能为空", groups = {AddUserInternalGroup.class}) + private String actUserRelationId; + +} diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/AuditResult.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/AuditResult.java new file mode 100644 index 0000000000..480cc75f71 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/AuditResult.java @@ -0,0 +1,26 @@ +package com.epmet.dto.result.work; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 审核结果(已通过/已拒绝) + * + * @author yinzuomei@elink-cn.com + * @date 2020/7/23 14:01 + */ +@Data +public class AuditResult implements Serializable { + private static final long serialVersionUID = -656845099071435835L; + /** + * 审核通过/拒绝的时间yyyy-MM-dd HH:mm:ss + */ + private Date auditTime; + + /** + * 拒绝原因,status=passed时返回空字符串 + */ + private String refusedReason; +} diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/AuditingUserDetailResultDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/AuditingUserDetailResultDTO.java new file mode 100644 index 0000000000..b04972b890 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/AuditingUserDetailResultDTO.java @@ -0,0 +1,103 @@ +package com.epmet.dto.result.work; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 报名审核-待审核人员详情-返参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/7/22 22:24 + */ +@Data +public class AuditingUserDetailResultDTO implements Serializable { + private static final long serialVersionUID = 6259802533450991971L; + /** + * 活动id + */ + private String actId; + /** + * 用户id + */ + private String userId; + + /** + * 姓名 + */ + private String realName; + + /** + * 性别1男2女0未知 + */ + private String gender; + + /** + * true: 是志愿者 false : 不是志愿者 + */ + private Boolean volunteerFlag; + + /** + * 联系方式 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idNum; + + /** + * 居住地址 + */ + private String address; + + /** + * 待审核auditing, 审核通过passed, 审核不通过refused 取消报名canceld, + */ + private String status; + + /** + * 报名时间yyyy-MM-dd HH:mm:ss + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date signUpTime; + + /** + * 返回文本:已拒绝5次 + */ + private String refusedCountDesc; + + /** + * 最近一次拒绝原因 + */ + private String latestRefusedReason; + + /** + * 最近一次拒绝的时间yyyy-MM-dd HH:mm:ss + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date latestAuditTime; + + /** + * 历史活动情况 + */ + private HistoricalActInfo historicalActInfo; + + + /** + * 取消信息(已取消界面 用) + */ + private CancelResult cancelResult; + /** + * 审核结果(已通过/已拒绝) + */ + private AuditResult auditResult; + + /** + * 审核历史(待审核界面需要显示) + */ + private HistoricalAuditResult historicalAuditResult; +} diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/CancelResult.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/CancelResult.java new file mode 100644 index 0000000000..bf128fc0b1 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/CancelResult.java @@ -0,0 +1,29 @@ +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 13:53 + */ +@Data +public class CancelResult implements Serializable { + private static final long serialVersionUID = -4638522326622908384L; + + /** + * 取消的原因:当status=canceld,才有值 + */ + private String cancelReason; + + /** + * 取消的时间yyyy-MM-dd HH:mm:ss + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date cancelTime; +} diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/HistoricalActInfo.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/HistoricalActInfo.java new file mode 100644 index 0000000000..6054511006 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/HistoricalActInfo.java @@ -0,0 +1,34 @@ +package com.epmet.dto.result.work; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 用户历史活动情况 + * + * @author yinzuomei@elink-cn.com + * @date 2020/7/23 12:39 + */ +@Data +public class HistoricalActInfo implements Serializable { + private static final long serialVersionUID = -7554295919888726898L; + /** + * 实际参加活动个数 + */ + private Integer signInActNum; + /** + * 报名活动个数 + */ + private Integer signUpActNum; + /** + * 获得积分活动个数 + */ + private Integer obtainPointsActNum; + + public HistoricalActInfo(){ + this.signInActNum=0; + this.signUpActNum=0; + this.obtainPointsActNum=0; + } +} diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/HistoricalAuditResult.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/HistoricalAuditResult.java new file mode 100644 index 0000000000..54f307c152 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/HistoricalAuditResult.java @@ -0,0 +1,30 @@ +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 14:03 + */ +@Data +public class HistoricalAuditResult implements Serializable { + /** + * 最近一次拒绝原因 + */ + private String latestRefusedReason; + /** + * 最近一次拒绝的时间yyyy-MM-dd HH:mm:ss + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date latestAuditTime; + /** + * 返回文本:已拒绝5次 + */ + private String refusedCountDesc; +} diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/WorkActUserController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/WorkActUserController.java index 78e5f52ce4..44a3151650 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/WorkActUserController.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/WorkActUserController.java @@ -2,6 +2,7 @@ package com.epmet.controller; 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.result.work.*; import com.epmet.service.WorkActUserService; @@ -36,8 +37,7 @@ public class WorkActUserController { @PostMapping("auditinglist") public Result> getAuditingList(@RequestBody AuditingActUserFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO, AuditingActUserFormDTO.AddUserInternalGroup.class); - List list=workActUserService.getAuditingList(formDTO); - return new Result>().ok(list); + return new Result>().ok(workActUserService.getAuditingList(formDTO)); } @@ -51,8 +51,7 @@ public class WorkActUserController { @PostMapping("passedlist") public Result> getPassedList(@RequestBody AuditingActUserFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO, AuditingActUserFormDTO.AddUserInternalGroup.class); - List list=workActUserService.getPassedList(formDTO); - return new Result>().ok(list); + return new Result>().ok(workActUserService.getPassedList(formDTO)); } /** @@ -65,8 +64,7 @@ public class WorkActUserController { @PostMapping("rejectedlist") public Result> getRejectedlist(@RequestBody AuditingActUserFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO, AuditingActUserFormDTO.AddUserInternalGroup.class); - List list=workActUserService.getRejectedlist(formDTO); - return new Result>().ok(list); + return new Result>().ok(workActUserService.getRejectedlist(formDTO)); } /** @@ -77,10 +75,9 @@ public class WorkActUserController { * @Date 2020/7/22 16:23 **/ @PostMapping("canceledlist") - public Result getCanceledList(@RequestBody AuditingActUserFormDTO formDTO){ + public Result> getCanceledList(@RequestBody AuditingActUserFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO, AuditingActUserFormDTO.AddUserInternalGroup.class); - List list=workActUserService.getCanceledList(formDTO); - return new Result>().ok(list); + return new Result>().ok(workActUserService.getCanceledList(formDTO)); } /** @@ -93,8 +90,19 @@ public class WorkActUserController { @PostMapping("signupstat") public Result getActSignUpStat(@RequestBody AuditingActUserFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO, AuditingActUserFormDTO.AddUserInternalGroup.class); - ActSignUpStatResultDTO resultDTO=workActUserService.getActSignUpStat(formDTO.getActId()); - return new Result().ok(resultDTO); + return new Result().ok(workActUserService.getActSignUpStat(formDTO.getActId())); } + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 报名审核-人员详情 + * @Date 2020/7/22 22:44 + **/ + @PostMapping("userdetail") + public Result queryAuditingUserDetail(@RequestBody AactUserDetailFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, AactUserDetailFormDTO.AddUserInternalGroup.class); + return new Result().ok(workActUserService.queryAuditingUserDetail(formDTO)); + } } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserLogDao.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserLogDao.java index 52b3034e75..6e02e27e48 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserLogDao.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserLogDao.java @@ -18,8 +18,10 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.ActUserLogDTO; import com.epmet.entity.ActUserLogEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 用户活动关系日志表 @@ -29,5 +31,24 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ActUserLogDao extends BaseDao { - + + /** + * @return java.lang.Integer + * @param actId + * @param userId + * @author yinzuomei + * @description 被拒绝的总次数 + * @Date 2020/7/23 14:13 + **/ + Integer selectRefusedCount(@Param("actId") String actId, @Param("userId") String userId); + + /** + * @return com.epmet.dto.ActUserLogDTO + * @param actId + * @param userId + * @author yinzuomei + * @description 最后被拒绝的记录 + * @Date 2020/7/23 14:13 + **/ + ActUserLogDTO selectLatestRefused(@Param("actId") String actId, @Param("userId") String userId); } \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserRelationDao.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserRelationDao.java index facb735601..0aa11f07ef 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserRelationDao.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserRelationDao.java @@ -61,4 +61,31 @@ public interface ActUserRelationDao extends BaseDao { * @Date 2020/7/22 18:20 **/ Integer selectCountUser(@Param("actId") String actId, @Param("status")String status); + + /** + * @return java.lang.Integer + * @param userId + * @author yinzuomei + * @description 实际参加活动个数(已经签到的) + * @Date 2020/7/23 15:56 + **/ + Integer countSignInActNum(String userId); + + /** + * @return java.lang.Integer + * @param userId + * @author yinzuomei + * @description 报名活动个数(act_user_realation) + * @Date 2020/7/23 15:57 + **/ + Integer countSignUpActNum(String userId); + + /** + * @return java.lang.Integer + * @param userId + * @author yinzuomei + * @description 获得积分活动个数 + * @Date 2020/7/23 15:57 + **/ + Integer countObtainPointsActNum(String userId); } \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/ActUserLogEntity.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/ActUserLogEntity.java index 101f3c9556..ac05ba61d1 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/ActUserLogEntity.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/ActUserLogEntity.java @@ -18,13 +18,10 @@ package com.epmet.entity; import com.baomidou.mybatisplus.annotation.TableName; - import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; - /** * 用户活动关系日志表 * @@ -50,13 +47,14 @@ public class ActUserLogEntity extends BaseEpmetEntity { /** * 操作类型(已报名/待审核auditing, -审核通过passed, -审核不通过refused -取消报名canceld, -发放积分rewarded -拒绝发放积分refuse_reward -重新处理processing -) + * 审核通过passed, + * 审核不通过refused + * 取消报名canceld, + * 已签到signedin + * 发放积分rewarded + * 拒绝发放积分refuse_reward + * 重新处理processing + * ) */ private String operationType; diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/WorkActUserService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/WorkActUserService.java index 82b846a23a..640be2d5cf 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/WorkActUserService.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/WorkActUserService.java @@ -1,5 +1,6 @@ package com.epmet.service; +import com.epmet.dto.form.work.AactUserDetailFormDTO; import com.epmet.dto.form.work.AuditingActUserFormDTO; import com.epmet.dto.result.work.*; @@ -56,4 +57,13 @@ public interface WorkActUserService { * @Date 2020/7/22 17:02 **/ ActSignUpStatResultDTO getActSignUpStat(String actId); + + /** + * @return com.epmet.dto.result.work.AuditingUserDetailResultDTO + * @param formDTO + * @author yinzuomei + * @description 报名审核-待审核人员详情 + * @Date 2020/7/22 22:44 + **/ + AuditingUserDetailResultDTO queryAuditingUserDetail(AactUserDetailFormDTO formDTO); } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java index a28beae020..0a7004388b 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java @@ -1,10 +1,15 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.ActConstant; import com.epmet.dao.ActInfoDao; +import com.epmet.dao.ActUserLogDao; +import com.epmet.dao.ActUserRelationDao; +import com.epmet.dto.ActUserLogDTO; 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.result.UserBaseInfoResultDTO; import com.epmet.dto.result.work.*; @@ -37,6 +42,10 @@ public class WorkActUserServiceImpl implements WorkActUserService { private EpmetUserOpenFeignClient epmetUserOpenFeignClient; @Autowired private ActInfoDao actInfoDao; + @Autowired + private ActUserLogDao actUserLogDao; + @Autowired + private ActUserRelationDao actUserRelationDao; /** * @param formDTO * @return java.util.List @@ -56,7 +65,7 @@ public class WorkActUserServiceImpl implements WorkActUserService { //查询出待审核的人员id集合 List userIdList=actUserRelationService.getUserIdList(formDTO.getActId(), ActConstant.ACT_USER_STATUS_AUDITING); //根据待审核的人员集合,查询出用户基本信息 - List userInfoList=this.queryUserBaseInfo(userIdList); + List userInfoList=this.queryUserBaseInfoList(userIdList); for(ActUserRelationDTO actUserRelationDTO:actUserRelationDTOList){ AuditingActUserResultDTO auditingDTO=new AuditingActUserResultDTO(); auditingDTO.setActUserRelationId(actUserRelationDTO.getId()); @@ -98,7 +107,7 @@ public class WorkActUserServiceImpl implements WorkActUserService { //查询已通过审核的人员id集合 List userIdList=actUserRelationService.getUserIdList(formDTO.getActId(), ActConstant.ACT_USER_STATUS_PASSED); //根据已通过的人员集合,查询出用户基本信息 - List userInfoList=this.queryUserBaseInfo(userIdList); + List userInfoList=this.queryUserBaseInfoList(userIdList); for(ActUserRelationDTO actUserRelationDTO:actUserRelationDTOList){ PassedActUserResultDTO passedDTO=new PassedActUserResultDTO(); passedDTO.setActUserRelationId(actUserRelationDTO.getId()); @@ -141,7 +150,7 @@ public class WorkActUserServiceImpl implements WorkActUserService { //查询已拒绝审核的人员id集合 List userIdList=actUserRelationService.getUserIdList(formDTO.getActId(), ActConstant.ACT_USER_STATUS_REFUSED); //根据已拒绝的人员集合,查询出用户基本信息 - List userInfoList=this.queryUserBaseInfo(userIdList); + List userInfoList=this.queryUserBaseInfoList(userIdList); for(ActUserRelationDTO actUserRelationDTO:actUserRelationDTOList){ RejectedActUserResultDTO rejectedDTO=new RejectedActUserResultDTO(); rejectedDTO.setActUserRelationId(actUserRelationDTO.getId()); @@ -185,7 +194,7 @@ public class WorkActUserServiceImpl implements WorkActUserService { //查询已取消审核的人员id集合 List userIdList=actUserRelationService.getUserIdList(formDTO.getActId(), ActConstant.ACT_USER_STATUS_CANCELD); //根据已取消的人员集合,查询出用户基本信息 - List userInfoList=this.queryUserBaseInfo(userIdList); + List userInfoList=this.queryUserBaseInfoList(userIdList); for(ActUserRelationDTO actUserRelationDTO:actUserRelationDTOList){ CanceledActUserResultDTO cancelDTO=new CanceledActUserResultDTO(); cancelDTO.setActUserRelationId(actUserRelationDTO.getId()); @@ -241,6 +250,89 @@ public class WorkActUserServiceImpl implements WorkActUserService { return actInfo; } + /** + * @param formDTO + * @return com.epmet.dto.result.work.AuditingUserDetailResultDTO + * @author yinzuomei + * @description 报名审核-待审核人员详情 + * @Date 2020/7/22 22:44 + **/ + @Override + public AuditingUserDetailResultDTO queryAuditingUserDetail(AactUserDetailFormDTO formDTO) { + ActUserRelationDTO actUserRelationDTO=actUserRelationService.get(formDTO.getActUserRelationId()); + UserBaseInfoResultDTO userBaseInfo=queryUserBaseInfo(actUserRelationDTO.getUserId()); + AuditingUserDetailResultDTO resultDTO=new AuditingUserDetailResultDTO(); + //基本信息赋值 + resultDTO.setActId(actUserRelationDTO.getActId()); + resultDTO.setUserId(actUserRelationDTO.getUserId()); + resultDTO.setRealName(userBaseInfo.getRealName()); + resultDTO.setGender(userBaseInfo.getGender()); + resultDTO.setMobile(userBaseInfo.getMobile()); + resultDTO.setIdNum(userBaseInfo.getIdNum()); + resultDTO.setAddress(userBaseInfo.getStreet()+userBaseInfo.getDistrict()+userBaseInfo.getBuildingAddress()); + resultDTO.setSignUpTime(actUserRelationDTO.getCreatedTime()); + /** + * 当前状态(已报名/待审核auditing, + 审核通过passed, + 审核不通过refused + 取消报名canceld, + ) + */ + resultDTO.setStatus(actUserRelationDTO.getStatus()); + HistoricalActInfo historicalActInfo=this.getHistoricalActInfo(actUserRelationDTO.getUserId()); + resultDTO.setHistoricalActInfo(historicalActInfo); + if(ActConstant.ACT_USER_STATUS_AUDITING.equals(resultDTO.getStatus())){ + //被拒绝过,才赋值 + Integer refusedCount=actUserLogDao.selectRefusedCount(actUserRelationDTO.getActId(),actUserRelationDTO.getUserId()); + if(null!=refusedCount&&refusedCount>0){ + ActUserLogDTO latestRefused=actUserLogDao.selectLatestRefused(actUserRelationDTO.getActId(),actUserRelationDTO.getUserId()); + HistoricalAuditResult historicalAuditResult=new HistoricalAuditResult(); + historicalAuditResult.setLatestAuditTime(latestRefused.getCreatedTime()); + historicalAuditResult.setLatestRefusedReason(latestRefused.getReason()); + historicalAuditResult.setRefusedCountDesc(String.format("已拒绝%s次",refusedCount)); + resultDTO.setHistoricalAuditResult(historicalAuditResult); + } + }else if(ActConstant.ACT_USER_STATUS_PASSED.equals(resultDTO.getStatus())||ActConstant.ACT_USER_STATUS_REFUSED.equals(resultDTO.getStatus())){ + AuditResult auditResult=new AuditResult(); + auditResult.setAuditTime(actUserRelationDTO.getAuditTime()); + auditResult.setRefusedReason(actUserRelationDTO.getFailureReason()); + resultDTO.setAuditResult(auditResult); + }else if(ActConstant.ACT_USER_STATUS_CANCELD.equals(resultDTO.getStatus())){ + CancelResult cancelResult=new CancelResult(); + cancelResult.setCancelReason(actUserRelationDTO.getCancelReason()); + cancelResult.setCancelTime(actUserRelationDTO.getCancelTime()); + resultDTO.setCancelResult(cancelResult); + } + return resultDTO; + } + + /** + * @return com.epmet.dto.result.work.HistoricalActInfo + * @param userId + * @author yinzuomei + * @description 用户历史活动情况 + * @Date 2020/7/23 15:56 + **/ + private HistoricalActInfo getHistoricalActInfo(String userId) { + HistoricalActInfo historicalActInfo=new HistoricalActInfo(); + /** + * 实际参加活动个数(已经签到的) + */ + Integer signInActNum=actUserRelationDao.countSignInActNum(userId); + historicalActInfo.setSignInActNum(signInActNum); + /** + * 报名活动个数(act_user_realation) + */ + Integer signUpActNum=actUserRelationDao.countSignUpActNum(userId); + historicalActInfo.setSignUpActNum(signUpActNum); + /** + * 获得积分活动个数 + */ + Integer obtainPointsActNum=actUserRelationDao.countObtainPointsActNum(userId); + historicalActInfo.setObtainPointsActNum(obtainPointsActNum); + return historicalActInfo; + } + private Boolean getVolunteerFlag(String userId) { HeartUserInfoDTO heartUserInfoDTO=heartUserInfoService.getByUserId(userId); //true: 是志愿者 false : 不是志愿者 @@ -257,7 +349,7 @@ public class WorkActUserServiceImpl implements WorkActUserService { * @description 传入用户id集合,返回用户的基本信息(包含微信基本信息) * @Date 2020/7/22 10:38 **/ - private List queryUserBaseInfo(List userIdList) { + private List queryUserBaseInfoList(List userIdList) { List userInfoList=new ArrayList<>(); if(null==userIdList||userIdList.size()==0){ return userInfoList; @@ -271,4 +363,22 @@ public class WorkActUserServiceImpl implements WorkActUserService { } return userInfoList; } + + /** + * @return com.epmet.dto.result.UserBaseInfoResultDTO + * @param userId + * @author yinzuomei + * @description 根据用户id获取用户基本信息 + * @Date 2020/7/23 12:52 + **/ + private UserBaseInfoResultDTO queryUserBaseInfo(String userId) { + List userIdList = new ArrayList<>(); + userIdList.add(userId); + //调用epemet_user服务获取用户的基本信息 + Result> resultUserList = epmetUserOpenFeignClient.queryUserBaseInfo(userIdList); + if (!resultUserList.success() || resultUserList.getData().size() < 1 || null == resultUserList.getData().get(0)) { + throw new RenException("查询用户基本信息失败"); + } + return resultUserList.getData().get(0); + } } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserLogDao.xml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserLogDao.xml index 67716c10d3..5df946833d 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserLogDao.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserLogDao.xml @@ -16,6 +16,30 @@ - - + + + + \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml index f7531ff65a..ff144eb5d6 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml @@ -61,4 +61,39 @@ AND aur.`STATUS` =#{status} AND aur.ACT_ID = #{actId} + + + + + + + + + \ No newline at end of file