|
|
|
@ -18,7 +18,10 @@ import com.elink.esua.epdc.dto.epdc.EpdcCompleteAppUserDTO; |
|
|
|
import com.elink.esua.epdc.dto.epdc.EpdcGridLeaderRegisterDTO; |
|
|
|
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO; |
|
|
|
import com.elink.esua.epdc.dto.epdc.form.*; |
|
|
|
import com.elink.esua.epdc.dto.epdc.result.*; |
|
|
|
import com.elink.esua.epdc.dto.epdc.result.EpdcUserGridResultDTO; |
|
|
|
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO; |
|
|
|
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterInfoResultDTO; |
|
|
|
import com.elink.esua.epdc.dto.epdc.result.UserInvitationRecordResultDTO; |
|
|
|
import com.elink.esua.epdc.dto.form.*; |
|
|
|
import com.elink.esua.epdc.dto.group.form.GroupUserFormDTO; |
|
|
|
import com.elink.esua.epdc.dto.group.form.GroupUserPartyMemberFormDTO; |
|
|
|
@ -1057,7 +1060,7 @@ public class AppUserServiceImpl implements AppUserService { |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public Result volunteerAuthenticate(TokenDto tokenDto, EpdcCompleteVolunteerInfoFormDTO formDto) { |
|
|
|
//是否为志愿者验证
|
|
|
|
//验证是否为志愿者
|
|
|
|
Result<Integer> volunteerCountResult = userFeignClient.getVolunteerCountById(tokenDto.getUserId()); |
|
|
|
if (!volunteerCountResult.success() || null == volunteerCountResult.getData()) { |
|
|
|
return new Result().error("志愿者认证失败"); |
|
|
|
@ -1067,13 +1070,14 @@ public class AppUserServiceImpl implements AppUserService { |
|
|
|
Result<Integer> insertCountResult = userFeignClient.insertVolunteerInfo(formDto); |
|
|
|
} |
|
|
|
|
|
|
|
//用户完善个人信息-保存
|
|
|
|
//调用用户完善个人信息-保存
|
|
|
|
EpdcCompleteUserInfoFormDTO epdcCompleteUserInfoFormDTO = ConvertUtils.sourceToTarget(formDto, EpdcCompleteUserInfoFormDTO.class); |
|
|
|
String sex = IdentityNoAnalysisUtil.getSex(formDto.getIdentityNo());//身份证解析性别
|
|
|
|
epdcCompleteUserInfoFormDTO.setSex(sex); |
|
|
|
Result<EpdcAppAuthorizationDTO> result = completeUserInfo(tokenDto, epdcCompleteUserInfoFormDTO); |
|
|
|
epdcCompleteUserInfoFormDTO.setSex(sex);//性别
|
|
|
|
epdcCompleteUserInfoFormDTO.setPartyFlag(tokenDto.getPartyFlag());//党员标志
|
|
|
|
Result<EpdcAppAuthorizationDTO> result = completeUserInfoNoVerifyCode(tokenDto, epdcCompleteUserInfoFormDTO); |
|
|
|
|
|
|
|
return new Result().ok("志愿者认证成功"); |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@ -1097,6 +1101,77 @@ public class AppUserServiceImpl implements AppUserService { |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
public Result<EpdcAppAuthorizationDTO> completeUserInfoNoVerifyCode(TokenDto tokenDto, EpdcCompleteUserInfoFormDTO infoDto) { |
|
|
|
|
|
|
|
UserDTO userDto = ConvertUtils.sourceToTarget(infoDto, UserDTO.class); |
|
|
|
userDto.setDeptId(Long.valueOf(infoDto.getGridId())); |
|
|
|
userDto.setId(tokenDto.getUserId()); |
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(infoDto.getWxCode())) { |
|
|
|
String sessionKey = this.getUserSessionKey(infoDto.getWxCode()); |
|
|
|
WxMaUserInfo wxMaUserInfo = wxMaServiceUtils.normalWxMaService().getUserService().getUserInfo(sessionKey, infoDto.getEncryptedData(), infoDto.getIv()); |
|
|
|
if (StringUtils.isBlank(wxMaUserInfo.getUnionId())) { |
|
|
|
return new Result().error("解析微信开放平台ID失败"); |
|
|
|
} |
|
|
|
userDto.setWxUnionId(wxMaUserInfo.getUnionId()); |
|
|
|
} |
|
|
|
|
|
|
|
// 党员提交,验证身份证号
|
|
|
|
if (YesOrNoEnum.YES.value().equals(userDto.getPartyFlag())) { |
|
|
|
String identityNo = userDto.getIdentityNo(); |
|
|
|
if (StringUtils.isBlank(identityNo)) { |
|
|
|
return new Result().error("身份证号不能为空"); |
|
|
|
} else { |
|
|
|
String verification = IdentityNoUtils.IdentityNoVerification(identityNo); |
|
|
|
if (StringUtils.isNotBlank(verification)) { |
|
|
|
return new Result().error(verification); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// 验证手机号验证码
|
|
|
|
//this.checkSmsCode(userDto.getMobile(), infoDto.getSmsCode());
|
|
|
|
// 验证用户提交的信息
|
|
|
|
Result<String> verifyResult = userFeignClient.verifyUserCompleteData(userDto); |
|
|
|
if (!verifyResult.success()) { |
|
|
|
return new Result().error(verifyResult.getMsg()); |
|
|
|
} |
|
|
|
String userState = verifyResult.getData(); |
|
|
|
|
|
|
|
UserGridRelationDTO userGrid = this.packageUserGridRelationInfo(infoDto.getGridId()); |
|
|
|
EpdcCompleteAppUserDTO completeAppUserDto = ConvertUtils.sourceToTarget(userDto, EpdcCompleteAppUserDTO.class); |
|
|
|
completeAppUserDto = this.packageUserCompleteInfo(completeAppUserDto, userState); |
|
|
|
// 组装对象,准备保存用户信息
|
|
|
|
EpdcAppUserCompleteInfoFormDTO dto = new EpdcAppUserCompleteInfoFormDTO(); |
|
|
|
dto.setCompleteAppUser(completeAppUserDto); |
|
|
|
dto.setUserGridRelation(userGrid); |
|
|
|
|
|
|
|
Result<UserDTO> completeResult = userFeignClient.completeUserInfo(dto); |
|
|
|
if (!completeResult.success()) { |
|
|
|
return new Result().error(completeResult.getMsg()); |
|
|
|
} |
|
|
|
UserDTO user = completeResult.getData(); |
|
|
|
tokenDto.setRealName(user.getRealName()); |
|
|
|
tokenDto.setNickname(user.getNickname()); |
|
|
|
tokenDto.setMobile(user.getMobile()); |
|
|
|
tokenDto.setPartyFlag(user.getPartyFlag()); |
|
|
|
EpdcAppAuthorizationDTO authorizationDto = this.packageEpdcAppAuthorization(tokenDto, userGrid.getGrid(), userDto.getState()); |
|
|
|
|
|
|
|
// 更新社群用户党员标识并加入关联的所有网格党员群
|
|
|
|
if (NumConstant.ONE_STR.equals(user.getPartyFlag())) { |
|
|
|
GroupUserPartyMemberFormDTO formDto = new GroupUserPartyMemberFormDTO(); |
|
|
|
formDto.setUserId(user.getId()); |
|
|
|
formDto.setPartyMember(user.getPartyFlag()); |
|
|
|
formDto.setNickname(user.getNickname()); |
|
|
|
formDto.setUserAvatar(user.getFaceImg()); |
|
|
|
formDto.setMobile(user.getMobile()); |
|
|
|
formDto.setDeptId(user.getGridId()); |
|
|
|
formDto.setState(GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()); |
|
|
|
|
|
|
|
groupTask.updateUserPartyMember(formDto); |
|
|
|
} |
|
|
|
|
|
|
|
return new Result().ok(authorizationDto); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|