Browse Source

志愿者认证,不校验手机验证码

feature/dangjian
wanggongfeng 6 years ago
parent
commit
06baf48440
  1. 87
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  2. 3
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcCompleteVolunteerInfoFormDTO.java
  3. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java
  4. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VolunteerInfoDao.xml

87
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

@ -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);
}

3
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcCompleteVolunteerInfoFormDTO.java

@ -39,6 +39,7 @@ public class EpdcCompleteVolunteerInfoFormDTO implements Serializable {
/**
* 身份证号码
*/
@NotBlank(message = "身份证号码不能为空")
private String identityNo;
/**
@ -89,12 +90,10 @@ public class EpdcCompleteVolunteerInfoFormDTO implements Serializable {
/**
* 短信验证码
*/
@NotBlank(message = "短信验证码不能为空")
private String smsCode;
/**
* 0女1男
*/
@NotBlank(message = "性别不能为空")
private String sex;

2
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java

@ -224,7 +224,7 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl<VolunteerInfoDao,
public Result<Integer> insertVolunteerInfo(EpdcCompleteVolunteerInfoFormDTO epdcCompleteVolunteerInfoFormDTO) {
VolunteerInfoEntity volunteerEntity = ConvertUtils.sourceToTarget(epdcCompleteVolunteerInfoFormDTO, VolunteerInfoEntity.class);
insert(volunteerEntity);
return new Result<Integer>().ok(0);
return new Result<Integer>().ok(1);
}
/**

2
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VolunteerInfoDao.xml

@ -148,7 +148,7 @@
</update>
<select id="getVolunteerCountById" resultType="Integer">
SELECT IFNULL(count(*),0) count FROM `epdc_volunteer_info` where del_flag = '0' and id = #{id} and AUDIT_STATUS in ('1')
SELECT count(*) countNum FROM `epdc_volunteer_info` where del_flag = '0' and USER_ID = #{userId} and AUDIT_STATUS in ('1')
</select>
<select id="selectAdjustVolunteerPointsDTO" parameterType="java.lang.String" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO">

Loading…
Cancel
Save