Browse Source

志愿者去哪儿小程序代码提交

feature/screenDataPush
songyunpeng 5 years ago
parent
commit
2eb9e9c104
  1. 10
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  2. 6
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
  3. 39
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  4. 19
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/CheckRepeatUserFormDTO.java
  5. 14
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java
  6. 8
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  7. 22
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

10
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java

@ -603,5 +603,13 @@ public interface UserFeignClient {
*/
@GetMapping("app-user/epdc-app/volunteerinfo/tags")
Result<List<VolunteerTagsResultDTO>> getVolunteerTags();
/**
* @Description 检查用户重复信息
* @Author songyunpeng
* @Date 2021/4/9
* @Param [wxMaUserInfo]
* @return java.lang.String
**/
@PostMapping("app-user/user/checkRepeatUser")
Result<String> checkRepeatUser(CheckRepeatUserFormDTO checkRepeatUserFormDTO);
}

6
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java

@ -10,7 +10,6 @@ import com.elink.esua.epdc.dto.epdc.form.v2.EpdcCompleteVolunteerInfoV2FormDTO;
import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.feign.UserFeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
@ -293,4 +292,9 @@ public class UserFeignClientFallback implements UserFeignClient {
public Result<List<VolunteerTagsResultDTO>> getVolunteerTags() {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getVolunteerTags", null);
}
@Override
public Result<String> checkRepeatUser(CheckRepeatUserFormDTO checkRepeatUserFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "checkRepeatUser", checkRepeatUserFormDTO);
}
}

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

@ -815,6 +815,11 @@ public class AppUserServiceImpl implements AppUserService {
return new Result().error("解析微信开放平台ID失败");
}
userDto.setWxUnionId(wxMaUserInfo.getUnionId());
//检验志愿者去哪儿 和 居民端 用户重复问题
String userId = this.checkRepeatUser(wxMaUserInfo);
if(StringUtils.isNotBlank(userId)){
userDto.setId(userId);
}
}
// 党员提交,验证身份证号
@ -898,6 +903,28 @@ public class AppUserServiceImpl implements AppUserService {
//获取用户认证网格ID - 积分使用 - end
return new Result().ok(authorizationDto);
}
/**
* @Description 检验用户重复问题并返回合并后的userId
* @Author songyunpeng
* @Date 2021/4/9
* @Param [wxMaUserInfo]
* @return void
**/
private String checkRepeatUser(WxMaUserInfo wxMaUserInfo) {
String unionId = wxMaUserInfo.getUnionId();
String openId = wxMaUserInfo.getOpenId();
if(StringUtils.isBlank(unionId) || StringUtils.isBlank(openId)){
return "";
}
CheckRepeatUserFormDTO checkRepeatUserFormDTO = new CheckRepeatUserFormDTO();
checkRepeatUserFormDTO.setOpenId(openId);
checkRepeatUserFormDTO.setUnionId(unionId);
Result<String> userIdResult = userFeignClient.checkRepeatUser(checkRepeatUserFormDTO);
if(userIdResult.success()){
userIdResult.getData();
}
return "";
}
@Override
public Result<EpdcCompleteUserInfoDTO> prepareCompleteUserInfo(TokenDto tokenDto) {
@ -1378,6 +1405,11 @@ public class AppUserServiceImpl implements AppUserService {
}
userDto.setWxUnionId(wxMaUserInfo.getUnionId());
userDto.setFaceImg(wxMaUserInfo.getAvatarUrl());
//检验志愿者去哪儿 和 居民端 用户重复问题
String unionUserId = this.checkRepeatUser(wxMaUserInfo);
if(StringUtils.isNotBlank(unionUserId)){
userDto.setId(unionUserId);
}
}
}
EpdcCompleteAppUserDTO completeAppUserDto = ConvertUtils.sourceToTarget(userDto, EpdcCompleteAppUserDTO.class);
@ -1419,7 +1451,12 @@ public class AppUserServiceImpl implements AppUserService {
@Override
public Result<String> getUserWxPhone(EpdcAppUserMaInfoFormDTO formDto) {
try {
WxMaService wxMaService = wxMaServiceUtils.normalWxMaService();
WxMaService wxMaService;
if(StringUtils.isNotBlank(formDto.getType()) && "volunteer".equals(formDto.getType())){
wxMaService = wxMaServiceUtils.volunteerWxMaService();
} else {
wxMaService = wxMaServiceUtils.normalWxMaService();
}
WxMaJscode2SessionResult wxMaJscode2SessionResult = wxMaService.jsCode2SessionInfo(formDto.getWxCode());
WxMaPhoneNumberInfo phoneNoInfo = wxMaService.getUserService().getPhoneNoInfo(wxMaJscode2SessionResult.getSessionKey(), formDto.getEncryptedData(), formDto.getIv());
if (null != phoneNoInfo) {

19
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/CheckRepeatUserFormDTO.java

@ -0,0 +1,19 @@
package com.elink.esua.epdc.dto.epdc.form;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author syp
* @Date 2019/11/22 13:54
*/
@Data
public class CheckRepeatUserFormDTO implements Serializable {
private static final long serialVersionUID = -4267811821756082365L;
private String openId;
private String unionId;
}

14
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java

@ -31,6 +31,7 @@ import com.elink.esua.epdc.dto.PartyMemberModifyFormDTO;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.UserPointResultDTO;
import com.elink.esua.epdc.dto.UserPointsDTO;
import com.elink.esua.epdc.dto.epdc.form.CheckRepeatUserFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsFormDTO;
import com.elink.esua.epdc.enums.AppUserStatesEnum;
import com.elink.esua.epdc.excel.UserExcel;
@ -340,4 +341,17 @@ public class UserController {
return userService.updateUserPoints(epdcUserPointsFormDTO);
}
/**
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.pointcommons.tools.dto.BehaviorResultDto>
* @Description 更新用户积分信息
* @Author songyunpeng
* @Date 2020/4/29
* @Param [dto]
**/
@PostMapping(value = "checkRepeatUser")
Result<String> checkRepeatUser(@RequestBody CheckRepeatUserFormDTO checkRepeatUserFormDTO){
return userService.checkRepeatUser(checkRepeatUserFormDTO);
}
}

8
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java

@ -417,4 +417,12 @@ public interface UserService extends BaseService<UserEntity> {
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.lang.Long>
**/
Result<Long> getUserGridIdByUserId(String userId);
/**
* @Description 检查完善信息 合并重复用户
* @Author songyunpeng
* @Date 2021/4/9
* @Param [checkRepeatUserFormDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.lang.String>
**/
Result<String> checkRepeatUser(CheckRepeatUserFormDTO checkRepeatUserFormDTO);
}

22
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

@ -1465,4 +1465,26 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
public Result<Long> getUserGridIdByUserId(String userId) {
return new Result<Long>().ok(baseDao.getUserGridIdByUserId(userId));
}
@Override
public Result<String> checkRepeatUser(CheckRepeatUserFormDTO checkRepeatUserFormDTO) {
String unionId = checkRepeatUserFormDTO.getUnionId();
String openId = checkRepeatUserFormDTO.getOpenId();
//根据unionId获取用户
QueryWrapper<UserEntity> wrapper = new QueryWrapper<>();
wrapper.eq("UNION_ID", unionId);
UserEntity unionIdUserEntity = baseDao.selectOne(wrapper);
//根据openId获取用户
QueryWrapper<UserEntity> wrapper2 = new QueryWrapper<>();
wrapper2.eq("OPEN_ID", openId);
UserEntity openIdUserEntity = baseDao.selectOne(wrapper2);
//代表两条用户记录
if(unionIdUserEntity!=null && openIdUserEntity!=null && !unionIdUserEntity.getId().equals(openIdUserEntity.getIdentityNo())){
CachingUserInfoDTO oIdUser = ConvertUtils.sourceToTarget(openIdUserEntity,CachingUserInfoDTO.class);
CachingUserInfoDTO uIdUser = ConvertUtils.sourceToTarget(unionIdUserEntity,CachingUserInfoDTO.class);
this.combineUsers(oIdUser,uIdUser,openId);
return new Result<String>().ok(unionIdUserEntity.getId());
}
return new Result<String>().ok("");
}
}

Loading…
Cancel
Save