diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java index c6d5234ddd..1c0247c8b1 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java @@ -50,5 +50,5 @@ public interface NumConstant { String FOUR_STR = "4"; String FIVE_STR = "5"; String POSITIVE_EIGHT_STR = "+8"; - + String EMPTY_STR = ""; } diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/HeartUserInfoDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/HeartUserInfoDTO.java index 3995852d76..8ea2b28322 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/HeartUserInfoDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/HeartUserInfoDTO.java @@ -17,9 +17,10 @@ package com.epmet.dto; +import lombok.Data; + import java.io.Serializable; import java.util.Date; -import lombok.Data; /** @@ -51,7 +52,7 @@ public class HeartUserInfoDTO implements Serializable { /** * 1是志愿者,0不是志愿者(志愿者注册成功后需要来更新值) */ - private Integer volunteerFlag; + private Boolean volunteerFlag; /** * 爱心时长(单位:分钟)(参与并签到了的活动,实际结束-实际开始)签到的。未签到但是有积分的 diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/AuditingActUserFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/AuditingActUserFormDTO.java new file mode 100644 index 0000000000..9fb58c8179 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/AuditingActUserFormDTO.java @@ -0,0 +1,23 @@ +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/21 22:12 + */ +@Data +public class AuditingActUserFormDTO implements Serializable { + private static final long serialVersionUID = 3811387419859675753L; + public interface AddUserInternalGroup {} + /** + * 活动id + */ + @NotBlank(message = "活动id不能为空", groups = { AddUserInternalGroup.class }) + private String actId; +} diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/DraftActInfoFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/DraftActInfoFormDTO.java index 6ec78b75a0..55cd75a090 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/DraftActInfoFormDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/DraftActInfoFormDTO.java @@ -2,10 +2,8 @@ package com.epmet.dto.form.work; import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; -import org.hibernate.validator.constraints.Length; import javax.validation.Valid; -import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import java.io.Serializable; import java.math.BigDecimal; @@ -50,8 +48,6 @@ public class DraftActInfoFormDTO implements Serializable { /** * 活动标题 */ - @NotBlank(message = "活动标题不能为空", groups = {AddDraftUserShowGroup.class}) - @Length(min=1, max=50,message = "活动标题限50字以内", groups = {AddDraftUserShowGroup.class}) private String title; /** @@ -87,13 +83,11 @@ public class DraftActInfoFormDTO implements Serializable { /** * 活动人数 */ - @Min(0) private Integer actQuota; /** * 活动积分 */ - @Min(0) private Integer reward; /** @@ -114,8 +108,6 @@ public class DraftActInfoFormDTO implements Serializable { /** * 报名条件 */ - @NotBlank(message = "报名条件不能为空", groups = {AddDraftUserShowGroup.class}) - @Length(min=1, max=50,message = "报名条件限200字以内", groups = {AddDraftUserShowGroup.class}) private String requirement; /** @@ -146,7 +138,6 @@ public class DraftActInfoFormDTO implements Serializable { /** * 签到有效范围(米) */ - @Min(0) private Integer signInRadius; /** diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/AuditingActUserResultDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/AuditingActUserResultDTO.java new file mode 100644 index 0000000000..c40e1310b2 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/AuditingActUserResultDTO.java @@ -0,0 +1,55 @@ +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/21 22:14 + */ +@Data +public class AuditingActUserResultDTO implements Serializable { + private static final long serialVersionUID = 5567556309702585031L; + + /** + * 活动id + */ + private String actId; + + /** + * 用户id + */ + private String userId; + + /** + * 姓名 + */ + private String realName; + + /** + * 微信昵称 + */ + private String nickName; + + /** + * 头像 + */ + private String headImgUrl; + + /** + * 报名时间yyyy-MM-dd HH:mm:ss + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date signUpTime; + + /** + * true: 是志愿者 false : 不是志愿者 + */ + private Boolean volunteerFlag; + +} diff --git a/epmet-module/epmet-heart/epmet-heart-server/pom.xml b/epmet-module/epmet-heart/epmet-heart-server/pom.xml index c708875ec3..e245a2cdc9 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/pom.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/pom.xml @@ -70,6 +70,12 @@ 2.0.0 compile + + com.epmet + epmet-user-client + 2.0.0 + compile + 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 165c110b9d..514a73f1e4 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 @@ -1,8 +1,18 @@ package com.epmet.controller; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.work.AuditingActUserFormDTO; +import com.epmet.dto.result.work.AuditingActUserResultDTO; +import com.epmet.service.WorkActUserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * 工作端:活动人员相关api * @@ -12,4 +22,21 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/work/actuser") public class WorkActUserController { + + @Autowired + private WorkActUserService workActUserService; + + /** + * @return com.epmet.commons.tools.utils.Result> + * @param formDTO + * @author yinzuomei + * @description 报名审核-待审核列表 + * @Date 2020/7/21 22:24 + **/ + @PostMapping("auditinglist") + public Result> getAuditingList(@RequestBody AuditingActUserFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, AuditingActUserFormDTO.AddUserInternalGroup.class); + List list=workActUserService.getAuditingList(formDTO); + return new Result>().ok(list); + } } 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 83aeabfc61..4054f2dda7 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 @@ -18,9 +18,12 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.ActUserRelationDTO; import com.epmet.entity.ActUserRelationEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 用户活动关系表 * @@ -29,5 +32,22 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ActUserRelationDao extends BaseDao { - + + /** + * @return java.util.List + * @param actId 活动id + * @author yinzuomei + * @description 根据活动id,查询待审核人员关系记录 + * @Date 2020/7/21 22:41 + **/ + List selectAuditingUserList(String actId); + + /** + * @return java.util.List + * @param actId 活动id + * @author yinzuomei + * @description 根据活动id,查询待审核人员,返回用户id集合 + * @Date 2020/7/21 22:45 + **/ + List selectAuditingUserIds(String actId); } \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/HeartUserInfoDao.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/HeartUserInfoDao.java index 595e9178c0..8ec5974ac9 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/HeartUserInfoDao.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/HeartUserInfoDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.HeartUserInfoDTO; import com.epmet.entity.HeartUserInfoEntity; import org.apache.ibatis.annotations.Mapper; @@ -29,5 +30,13 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface HeartUserInfoDao extends BaseDao { - + + /** + * @return com.epmet.dto.HeartUserInfoDTO + * @param userId + * @author yinzuomei + * @description 根据用户id查询爱心用户记录 + * @Date 2020/7/21 22:48 + **/ + HeartUserInfoDTO selectByUserId(String userId); } \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/HeartUserInfoEntity.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/HeartUserInfoEntity.java index 97c1e1da4d..c7b90074b1 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/HeartUserInfoEntity.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/HeartUserInfoEntity.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; - /** * 用户信息 * @@ -51,7 +48,7 @@ public class HeartUserInfoEntity extends BaseEpmetEntity { /** * 1是志愿者,0不是志愿者(志愿者注册成功后需要来更新值) */ - private Integer volunteerFlag; + private Boolean volunteerFlag; /** * 爱心时长(单位:分钟)(参与并签到了的活动,实际结束-实际开始)签到的。未签到但是有积分的 diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/ActUserRelationService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/ActUserRelationService.java index 1def3fd939..f0d0fe7d5b 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/ActUserRelationService.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/ActUserRelationService.java @@ -92,4 +92,22 @@ public interface ActUserRelationService extends BaseService + * @param actId + * @author yinzuomei + * @description 根据活动id,查询待审核人员关系记录 + * @Date 2020/7/21 22:40 + **/ + List getAuditingUserList(String actId); + + /** + * @return java.util.List + * @param actId + * @author yinzuomei + * @description 根据活动id,查询待审核人员,返回用户id集合 + * @Date 2020/7/21 22:44 + **/ + List getAuditingUserIds(String actId); } \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/HeartUserInfoService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/HeartUserInfoService.java index 59427d9848..ba77b11ed9 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/HeartUserInfoService.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/HeartUserInfoService.java @@ -92,4 +92,13 @@ public interface HeartUserInfoService extends BaseService { * @date 2020-07-19 */ void delete(String[] ids); + + /** + * @return com.epmet.dto.HeartUserInfoDTO + * @param userId + * @author yinzuomei + * @description 根据用户id查询爱心用户记录 + * @Date 2020/7/21 22:48 + **/ + HeartUserInfoDTO getByUserId(String userId); } \ No newline at end of file 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 new file mode 100644 index 0000000000..a11d56794d --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/WorkActUserService.java @@ -0,0 +1,23 @@ +package com.epmet.service; + +import com.epmet.dto.form.work.AuditingActUserFormDTO; +import com.epmet.dto.result.work.AuditingActUserResultDTO; + +import java.util.List; + +/** + * 工作端:活动人员相关api + * + * @author yinzuomei@elink-cn.com + * @date 2020/7/21 22:23 + */ +public interface WorkActUserService { + /** + * @return java.util.List + * @param formDTO + * @author yinzuomei + * @description 报名审核-待审核列表 + * @Date 2020/7/21 22:25 + **/ + List getAuditingList(AuditingActUserFormDTO formDTO); +} diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActUserRelationServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActUserRelationServiceImpl.java index 214fd7b76c..0979dc568d 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActUserRelationServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActUserRelationServiceImpl.java @@ -101,4 +101,28 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl + * @author yinzuomei + * @description 根据活动id,查询待审核人员关系记录 + * @Date 2020/7/21 22:40 + **/ + @Override + public List getAuditingUserList(String actId) { + return baseDao.selectAuditingUserList(actId); + } + + /** + * @param actId + * @return java.util.List + * @author yinzuomei + * @description 根据活动id,查询待审核人员,返回用户id集合 + * @Date 2020/7/21 22:44 + **/ + @Override + public List getAuditingUserIds(String actId) { + return baseDao.selectAuditingUserIds(actId); + } + } \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/HeartUserInfoServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/HeartUserInfoServiceImpl.java index 61506b7e6f..3b7aa9f2c9 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/HeartUserInfoServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/HeartUserInfoServiceImpl.java @@ -101,4 +101,16 @@ public class HeartUserInfoServiceImpl extends BaseServiceImpl + * @author yinzuomei + * @description 报名审核-待审核列表 + * @Date 2020/7/21 22:25 + **/ + @Override + public List getAuditingList(AuditingActUserFormDTO formDTO) { + List list=new ArrayList<>(); + //查询出待审核的人员列表 + List actUserRelationDTOList=actUserRelationService.getAuditingUserList(formDTO.getActId()); + if(null==actUserRelationDTOList||actUserRelationDTOList.size()==0){ + logger.info(String.format("当前活动%s没有待审核的报名人员",formDTO.getActId())); + return list; + } + //查询出待审核的人员id集合 + List userIdList=actUserRelationService.getAuditingUserIds(formDTO.getActId()); + //根据待审核的人员结合,查询出用户基本信息 + List userInfoList=this.queryUserBaseInfo(userIdList); + //调用epemet_user服务获取用户的基本信息 + for(ActUserRelationDTO actUserRelationDTO:actUserRelationDTOList){ + AuditingActUserResultDTO resultDTO=new AuditingActUserResultDTO(); + resultDTO.setActId(formDTO.getActId()); + resultDTO.setUserId(actUserRelationDTO.getUserId()); + resultDTO.setSignUpTime(actUserRelationDTO.getCreatedTime()); + //微信基本信息先默认为空字符串 + resultDTO.setRealName(NumConstant.EMPTY_STR); + resultDTO.setNickName(NumConstant.EMPTY_STR); + resultDTO.setHeadImgUrl(NumConstant.EMPTY_STR); + + HeartUserInfoDTO heartUserInfoDTO=heartUserInfoService.getByUserId(actUserRelationDTO.getUserId()); + //true: 是志愿者 false : 不是志愿者 + if(null!=heartUserInfoDTO){ + resultDTO.setVolunteerFlag(heartUserInfoDTO.getVolunteerFlag()); + }else{ + resultDTO.setVolunteerFlag(false); + } + //赋值基本信息 + for(UserBaseInfoResultDTO userBaseInfoResultDTO:userInfoList){ + if(actUserRelationDTO.getUserId().equals(userBaseInfoResultDTO.getUserId())){ + resultDTO.setRealName(userBaseInfoResultDTO.getRealName()); + resultDTO.setNickName(userBaseInfoResultDTO.getNickname()); + resultDTO.setHeadImgUrl(userBaseInfoResultDTO.getHeadImgUrl()); + break; + } + } + list.add(resultDTO); + } + return list; + } + + /** + * @return java.util.List + * @param userIdList + * @author yinzuomei + * @description 传入用户id集合,返回用户的基本信息(包含微信基本信息) + * @Date 2020/7/22 10:38 + **/ + private List queryUserBaseInfo(List userIdList) { + List userInfoList=new ArrayList<>(); + if(null==userIdList||userIdList.size()==0){ + return userInfoList; + } + Result> resultUserList =epmetUserOpenFeignClient.queryUserBaseInfo(userIdList); + if(resultUserList.success()&&resultUserList.getData().size()>0){ + return resultUserList.getData(); + }else{ + logger.warn("查询用户基本信息接口返回失败"); + } + return userInfoList; + } +} 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 9c4689d6e2..7dcd874931 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 @@ -25,5 +25,29 @@ + + + + \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/HeartUserInfoDao.xml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/HeartUserInfoDao.xml index 5da94b031e..341370c3f7 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/HeartUserInfoDao.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/HeartUserInfoDao.xml @@ -19,5 +19,14 @@ - + + \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserBaseInfoDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserBaseInfoDTO.java index 1ac6a85c85..1530f1f3c9 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserBaseInfoDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserBaseInfoDTO.java @@ -17,9 +17,10 @@ package com.epmet.dto; +import lombok.Data; + import java.io.Serializable; import java.util.Date; -import lombok.Data; /** @@ -54,10 +55,15 @@ public class UserBaseInfoDTO implements Serializable { private String surname; /** - * 名称 + * 名 */ private String name; + /** + * 姓名 + */ + private String realName; + /** * 身份证号 */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBaseInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBaseInfoResultDTO.java new file mode 100644 index 0000000000..19ece1b40f --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBaseInfoResultDTO.java @@ -0,0 +1,80 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 用户基本信息-居民录入的基本信息 + * + * @author yinzuomei@elink-cn.com + * @date 2020/7/22 9:26 + */ +@Data +public class UserBaseInfoResultDTO implements Serializable { + private static final long serialVersionUID = 3124057264557384333L; + /** + * 用户id + */ + private String userId; + + /** + * 手机号(注册手机号) + */ + private String mobile; + + /** + * 姓氏 + */ + private String surname; + + /** + * 名 + */ + private String name; + + /** + * 姓名 + */ + private String realName; + + /** + * 身份证号 + */ + private String idNum; + + /** + * 性别(1男2女0未知) + */ + private String gender; + + /** + * 街道 + */ + private String street; + + /** + * 小区名称 + */ + private String district; + + /** + * 楼栋单元 + */ + private String buildingAddress; + + /** + * 昵称(目前来源于微信昵称,后续系统可支持用户有昵称) + */ + private String nickname; + + /** + * 头像(目前来源于微信,后续系统顾客支持上传头像) + */ + private String headImgUrl; + + /** + * 微信基本信息 + */ + private UserWechatResultDTO userWechatResultDTO; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserWechatResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserWechatResultDTO.java new file mode 100644 index 0000000000..e7a9886d41 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserWechatResultDTO.java @@ -0,0 +1,71 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 用户基本信息-微信信息 + * + * @author yinzuomei@elink-cn.com + * @date 2020/7/22 9:27 + */ +@Data +public class UserWechatResultDTO implements Serializable { + private static final long serialVersionUID = 5770079291635923923L; + + /** + * 用户ID + * */ + private String userId; + + /** + * 微信openId + */ + private String wxOpenId; + + /** + * 微信unionId + */ + private String unionId; + + /** + * 手机号 + */ + private String mobile; + + /** + * 昵称 + */ + private String nickname; + + /** + * 性别:0.未知 1.男性2女性 + */ + private Integer sex; + + /** + * 头像 + */ + private String headImgUrl; + + /** + * 国家 + */ + private String country; + + /** + * 省份 + */ + private String province; + + /** + * 城市 + */ + private String city; + + /** + * 语言 + */ + private String language; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index c02d4ba8a1..8a4de9898e 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -139,4 +139,13 @@ public interface EpmetUserOpenFeignClient { @PostMapping("/epmetuser/staffrole/staffroles") Result> getRolesOfStaff(StaffRoleFormDTO staffRoleFormDTO); + /** + * @param userIdList + * @return com.epmet.commons.tools.utils.Result> + * @author yinzuomei + * @description 传入用户id集合,返回用户的基本信息(包含微信基本信息) + * @Date 2020/7/22 9:30 + **/ + @PostMapping("/epmetuser/userbaseinfo/queryuserbaseinfo") + Result> queryUserBaseInfo(@RequestBody List userIdList); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index 8f3ef4c809..bb2cbe9d77 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -86,4 +86,16 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien public Result> getRolesOfStaff(StaffRoleFormDTO staffRoleFormDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getRolesOfStaff", staffRoleFormDTO); } + + /** + * @param userIdList + * @return com.epmet.commons.tools.utils.Result> + * @author yinzuomei + * @description 传入用户id集合,返回用户的基本信息(包含微信基本信息) + * @Date 2020/7/22 9:30 + **/ + @Override + public Result> queryUserBaseInfo(List userIdList) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "queryUserBaseInfo", userIdList); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java index 44204aa99a..046bc0f071 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java @@ -23,9 +23,10 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.UserBaseInfoDTO; +import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.excel.UserBaseInfoExcel; import com.epmet.service.UserBaseInfoService; import org.springframework.beans.factory.annotation.Autowired; @@ -91,4 +92,29 @@ public class UserBaseInfoController { ExcelUtils.exportExcelToTarget(response, null, list, UserBaseInfoExcel.class); } + /** + * @param userIdList + * @return com.epmet.commons.tools.utils.Result> + * @author yinzuomei + * @description 传入用户id集合,返回用户的基本信息(包含微信基本信息) + * @Date 2020/7/22 9:34 + **/ + @PostMapping("queryuserbaseinfo") + public Result> queryUserBaseInfo(@RequestBody List userIdList) { + List list = userBaseInfoService.queryUserBaseInfo(userIdList); + return new Result>().ok(list); + } + + /** + * @return com.epmet.commons.tools.utils.Result + * @param + * @author yinzuomei + * @description 初始化历史用户信息到user_base_info数据 + * @Date 2020/7/22 10:42 + **/ + @PostMapping("initbaseinfo") + public Result initBaseInfo(){ + userBaseInfoService.initBaseInfo(); + return new Result(); + } } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java index 02397056e8..f5ca5fc3aa 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java @@ -18,6 +18,8 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.UserBaseInfoResultDTO; +import com.epmet.dto.result.UserWechatResultDTO; import com.epmet.entity.UserBaseInfoEntity; import org.apache.ibatis.annotations.Mapper; @@ -29,5 +31,22 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface UserBaseInfoDao extends BaseDao { - + + /** + * @return com.epmet.dto.result.UserBaseInfoResultDTO + * @param userId + * @author yinzuomei + * @description 根据用户id查询user_base_info基本信息 + * @Date 2020/7/22 9:46 + **/ + UserBaseInfoResultDTO selectListByUserIdList(String userId); + + /** + * @return com.epmet.dto.result.UserWechatResultDTO + * @param userId + * @author yinzuomei + * @description 根据用户id获取user_wechat表微信用户基本信息 + * @Date 2020/7/22 9:46 + **/ + UserWechatResultDTO selectUserWechatByUserId(String userId); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserResiInfoDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserResiInfoDao.java index a47f215bdc..acb1ce5ab2 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserResiInfoDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserResiInfoDao.java @@ -78,4 +78,13 @@ public interface UserResiInfoDao extends BaseDao { * @date 2020/5/11 11:18 */ IssueInitiatorResultDTO selectIssueInitiator(IssueInitiatorFormDTO formDTO); + + /** + * @return com.epmet.dto.UserResiInfoDTO + * @param userId + * @author yinzuomei + * @description 根据要用户id,查询用户注册的信息 + * @Date 2020/7/22 10:58 + **/ + UserResiInfoDTO selectByUserId(String userId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserWechatDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserWechatDao.java index 6d03a46a9c..fc00b799bf 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserWechatDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserWechatDao.java @@ -55,4 +55,13 @@ public interface UserWechatDao extends BaseDao{ * @CreatedTime 2020/4/26 18:53 */ List selectUserHeadPhotoByUserId(List certifiedResultDTOS); + + /** + * @return com.epmet.entity.UserWechatEntity + * @param + * @author yinzuomei + * @description 查询已经授权的微信用户信息 + * @Date 2020/7/22 10:46 + **/ + List selectAll(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/UserBaseInfoEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/UserBaseInfoEntity.java index e6e5d1dcae..882aaeb243 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/UserBaseInfoEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/UserBaseInfoEntity.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; - /** * 用户基础信息 * @@ -63,6 +60,11 @@ public class UserBaseInfoEntity extends BaseEpmetEntity { */ private String name; + /** + * 姓名 + */ + private String realName; + /** * 身份证号 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java index ab1ca9d0e8..d4c13a7c1c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java @@ -20,6 +20,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.UserBaseInfoDTO; +import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.entity.UserBaseInfoEntity; import java.util.List; @@ -92,4 +93,22 @@ public interface UserBaseInfoService extends BaseService { * @date 2020-07-19 */ void delete(String[] ids); + + /** + * @return java.util.List + * @param userIdList + * @author yinzuomei + * @description 传入用户id集合,返回用户的基本信息(包含微信基本信息) + * @Date 2020/7/22 9:35 + **/ + List queryUserBaseInfo(List userIdList); + + /** + * @return void + * @param + * @author yinzuomei + * @description 初始化历史用户信息到user_base_info数据 + * @Date 2020/7/22 10:42 + **/ + void initBaseInfo(); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java index 17756b8c46..8ba70f14f3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java @@ -20,11 +20,17 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.dao.UserBaseInfoDao; +import com.epmet.dao.UserResiInfoDao; +import com.epmet.dao.UserWechatDao; import com.epmet.dto.UserBaseInfoDTO; +import com.epmet.dto.UserResiInfoDTO; +import com.epmet.dto.UserWechatDTO; +import com.epmet.dto.result.UserBaseInfoResultDTO; +import com.epmet.dto.result.UserWechatResultDTO; import com.epmet.entity.UserBaseInfoEntity; import com.epmet.redis.UserBaseInfoRedis; import com.epmet.service.UserBaseInfoService; @@ -33,6 +39,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -48,6 +55,10 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl page(Map params) { @@ -101,4 +112,60 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl + * @author yinzuomei + * @description 传入用户id集合,返回用户的基本信息(包含微信基本信息) + * @Date 2020/7/22 9:35 + **/ + @Override + public List queryUserBaseInfo(List userIdList) { + if(null==userIdList||userIdList.size()<1){ + return new ArrayList<>(); + } + List userBaseInfoList=new ArrayList<>(); + for(String userId:userIdList){ + UserBaseInfoResultDTO userBaseInfoResultDTO=baseDao.selectListByUserIdList(userId); + if(null!=userBaseInfoResultDTO){ + UserWechatResultDTO userWechatResultDTO=baseDao.selectUserWechatByUserId(userId); + userBaseInfoResultDTO.setUserWechatResultDTO(userWechatResultDTO); + userBaseInfoList.add(userBaseInfoResultDTO); + } + } + return userBaseInfoList; + } + + /** + * @return void + * @author yinzuomei + * @description 初始化历史用户信息到user_base_info数据 + * @Date 2020/7/22 10:42 + **/ + @Override + public void initBaseInfo() { + List userWechatDTOList=userWechatDao.selectAll(); + for(UserWechatDTO userWechatDTO:userWechatDTOList){ + UserResiInfoDTO userResiInfoDTO=userResiInfoDao.selectByUserId(userWechatDTO.getUserId()); + UserBaseInfoEntity userBaseInfoEntity=new UserBaseInfoEntity(); + + userBaseInfoEntity.setUserId(userResiInfoDTO.getUserId()); + userBaseInfoEntity.setMobile(userResiInfoDTO.getRegMobile()); + userBaseInfoEntity.setSurname(userResiInfoDTO.getSurname()); + userBaseInfoEntity.setName(userResiInfoDTO.getName()); + userBaseInfoEntity.setRealName(userResiInfoDTO.getSurname()+userResiInfoDTO.getName()); + //查询党员信息 +// userBaseInfoEntity.setIdNum(); + userBaseInfoEntity.setGender(userWechatDTO.getSex().toString()); + userBaseInfoEntity.setStreet(userResiInfoDTO.getStreet()); + userBaseInfoEntity.setDistrict(userResiInfoDTO.getDistrict()); + userBaseInfoEntity.setBuildingAddress(userResiInfoDTO.getBuildingAddress()); + userBaseInfoEntity.setNickname(userWechatDTO.getNickname()); + userBaseInfoEntity.setHeadImgUrl(userWechatDTO.getHeadImgUrl()); + baseDao.insert(userBaseInfoEntity); + } + return; + } + + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml index 87f3520461..3733452b77 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml @@ -24,5 +24,46 @@ + + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml index a95fc89291..724d49a68b 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml @@ -153,4 +153,15 @@ AND uri.del_flag = 0 AND uw.del_flag = 0 + + + diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml index 48786dc58a..6ed041a555 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml @@ -79,4 +79,14 @@ AND del_flag = 0 + +