Browse Source

修改志愿者认证bug

feature/syp_points
liuchuang 6 years ago
parent
commit
136bc83ac9
  1. 14
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java
  2. 11
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  3. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
  4. 10
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java
  5. 28
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  6. 13
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java
  7. 10
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
  8. 9
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  9. 24
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  10. 38
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml
  11. 22
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserTagDao.xml

14
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java

@ -314,4 +314,18 @@ public class ApiAppUserController {
return appUserService.volunteerAuthenticate(tokenDto, formDto); return appUserService.volunteerAuthenticate(tokenDto, formDto);
} }
/**
* 获取用户微信手机号
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author work@yujt.net.cn
* @date 2020/2/20 17:23
*/
@GetMapping("user/ma/getWxPhone")
public Result<String> getUserWxPhone(EpdcAppUserMaInfoFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return appUserService.getUserWxPhone(formDto);
}
} }

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

@ -356,4 +356,15 @@ public interface UserFeignClient {
*/ */
@GetMapping(value = "app-user/epdc-app/user/needCachingUserInfoByUserId/{userId}") @GetMapping(value = "app-user/epdc-app/user/needCachingUserInfoByUserId/{userId}")
Result<CachingUserInfoDTO> needCachingUserInfoByUserId(@PathVariable("userId") String userId); Result<CachingUserInfoDTO> needCachingUserInfoByUserId(@PathVariable("userId") String userId);
/**
* 需要缓存的用户信息
*
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.CachingUserInfoDTO>
* @author rongchao
* @since 2019-12-18
*/
@PostMapping(value = "app-user/epdc-app/user/needCachingUserInfo", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<CachingUserInfoDTO> needCachingUserInfo(EpdcAppQueryUserInfoFormDTO formDTO);
} }

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

@ -175,4 +175,9 @@ public class UserFeignClientFallback implements UserFeignClient {
public Result<CachingUserInfoDTO> needCachingUserInfoByUserId(String userId) { public Result<CachingUserInfoDTO> needCachingUserInfoByUserId(String userId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "needCachingUserInfoByUserId", userId); return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "needCachingUserInfoByUserId", userId);
} }
@Override
public Result<CachingUserInfoDTO> needCachingUserInfo(EpdcAppQueryUserInfoFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "needCachingUserInfo", formDTO);
}
} }

10
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java

@ -236,4 +236,14 @@ public interface AppUserService {
* @Author wanggongfeng * @Author wanggongfeng
*/ */
Result volunteerAuthenticate(TokenDto tokenDto, EpdcCompleteVolunteerInfoFormDTO formDto); Result volunteerAuthenticate(TokenDto tokenDto, EpdcCompleteVolunteerInfoFormDTO formDto);
/**
* 获取用户微信手机号
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author work@yujt.net.cn
* @date 2020/2/20 17:24
*/
Result<String> getUserWxPhone(EpdcAppUserMaInfoFormDTO formDto);
} }

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

@ -1,6 +1,8 @@
package com.elink.esua.epdc.service.impl; package com.elink.esua.epdc.service.impl;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo; import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import cn.binarywang.wx.miniapp.util.crypt.WxMaCryptUtils; import cn.binarywang.wx.miniapp.util.crypt.WxMaCryptUtils;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@ -215,7 +217,8 @@ public class AppUserServiceImpl implements AppUserService {
EpdcAppQueryUserInfoFormDTO formDTO = new EpdcAppQueryUserInfoFormDTO(); EpdcAppQueryUserInfoFormDTO formDTO = new EpdcAppQueryUserInfoFormDTO();
formDTO.setOpenId(wxMaJscode2SessionResult.getOpenid()); formDTO.setOpenId(wxMaJscode2SessionResult.getOpenid());
formDTO.setUnionId(wxMaJscode2SessionResult.getUnionid()); formDTO.setUnionId(wxMaJscode2SessionResult.getUnionid());
Result<UserDTO> userInfoResult = userFeignClient.queryUserDto(formDTO); // Result<UserDTO> userInfoResult = userFeignClient.queryUserDto(formDTO);
Result<CachingUserInfoDTO> userInfoResult = userFeignClient.needCachingUserInfo(formDTO);
if (!userInfoResult.success()) { if (!userInfoResult.success()) {
return new Result().error(userInfoResult.getMsg()); return new Result().error(userInfoResult.getMsg());
} }
@ -230,7 +233,7 @@ public class AppUserServiceImpl implements AppUserService {
* @author work@yujt.net.cn * @author work@yujt.net.cn
* @date 2019/9/19 19:17 * @date 2019/9/19 19:17
*/ */
private Result<EpdcAppAuthorizationDTO> getTokenByUserDto(UserDTO userDto) { private Result<EpdcAppAuthorizationDTO> getTokenByUserDto(CachingUserInfoDTO userDto) {
EpdcAppAuthorizationDTO authorization = new EpdcAppAuthorizationDTO(); EpdcAppAuthorizationDTO authorization = new EpdcAppAuthorizationDTO();
// 用户未注册 // 用户未注册
@ -239,10 +242,11 @@ public class AppUserServiceImpl implements AppUserService {
return new Result().ok(authorization); return new Result().ok(authorization);
} }
TokenDto tokenDto = ConvertUtils.sourceToTarget(userDto, TokenDto.class); TokenDto tokenDto = ConvertUtils.sourceToTarget(userDto, TokenDto.class);
tokenDto.setUserId(userDto.getId()); // tokenDto.setUserId(userDto.getId());
String state = userDto.getState(); String state = userDto.getState();
authorization = this.packageEpdcAppAuthorization(tokenDto, userDto.getGrid(), userDto.getState()); // authorization = this.packageEpdcAppAuthorization(tokenDto, userDto.getGrid(), userDto.getState());
authorization = this.packageEpdcAppAuthorization(tokenDto, userDto.getGrid(), state);
Result result = new Result().ok(authorization); Result result = new Result().ok(authorization);
// 已注册,未完善信息 // 已注册,未完善信息
@ -1350,4 +1354,20 @@ public class AppUserServiceImpl implements AppUserService {
} }
return completeResult; return completeResult;
} }
@Override
public Result<String> getUserWxPhone(EpdcAppUserMaInfoFormDTO formDto) {
try {
WxMaService wxMaService = wxMaServiceUtils.normalWxMaService();
WxMaJscode2SessionResult wxMaJscode2SessionResult = wxMaService.jsCode2SessionInfo(formDto.getWxCode());
WxMaPhoneNumberInfo phoneNoInfo = wxMaService.getUserService().getPhoneNoInfo(wxMaJscode2SessionResult.getSessionKey(), formDto.getEncryptedData(), formDto.getIv());
if (null != phoneNoInfo) {
return new Result().ok(phoneNoInfo.getPurePhoneNumber());
}
} catch (WxErrorException e) {
e.printStackTrace();
log.error(e.getError().getErrorMsg());
}
return new Result().error("解析用户手机号失败");
}
} }

13
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java

@ -400,4 +400,17 @@ public class EpdcAppUserController {
public Result<CachingUserInfoDTO> needCachingUserInfoByUserId(@PathVariable("userId") String userId) { public Result<CachingUserInfoDTO> needCachingUserInfoByUserId(@PathVariable("userId") String userId) {
return userService.cachingUserInfoByUserId(userId); return userService.cachingUserInfoByUserId(userId);
} }
/**
* 获取用户缓存信息
*
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.CachingUserInfoDTO>
* @author rongchao
* @since 2019-12-18
*/
@PostMapping("needCachingUserInfo")
public Result<CachingUserInfoDTO> needCachingUserInfo(@RequestBody EpdcAppQueryUserInfoFormDTO formDTO) {
return userService.queryCachingUserInfo(formDTO);
}
} }

10
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java

@ -186,4 +186,14 @@ public interface UserDao extends BaseDao<UserEntity> {
* @Date 2020/1/15 17:43 * @Date 2020/1/15 17:43
**/ **/
CachingUserInfoDTO selectCachingUserInfoDTOByUserId(String userId); CachingUserInfoDTO selectCachingUserInfoDTOByUserId(String userId);
/**
* @param openId
* @param unionId
* @return com.elink.esua.epdc.dto.CachingUserInfoDTO
* @Author yinzuomei
* @Description 获取用户缓存信息
* @Date 2019/12/18 14:12
**/
CachingUserInfoDTO selectCachingUserInfoDTO(@Param("openId") String openId, @Param("unionId") String unionId);
} }

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

@ -297,4 +297,13 @@ public interface UserService extends BaseService<UserEntity> {
* @Date 2020/1/15 17:40 * @Date 2020/1/15 17:40
**/ **/
Result<CachingUserInfoDTO> cachingUserInfoByUserId(String userId); Result<CachingUserInfoDTO> cachingUserInfoByUserId(String userId);
/**
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.CachingUserInfoDTO>
* @Author yinzuomei
* @Description 获取用户缓存信息
* @Date 2019/12/18 14:01
**/
Result<CachingUserInfoDTO> queryCachingUserInfo(EpdcAppQueryUserInfoFormDTO formDTO);
} }

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

@ -979,4 +979,28 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
return new Result<CachingUserInfoDTO>().ok(cachingUserInfoDTO); return new Result<CachingUserInfoDTO>().ok(cachingUserInfoDTO);
} }
/**
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.CachingUserInfoDTO>
* @Author yinzuomei
* @Description 获取用户缓存信息
* @Date 2019/12/18 14:01
**/
@Override
public Result<CachingUserInfoDTO> queryCachingUserInfo(EpdcAppQueryUserInfoFormDTO formDTO) {
if (StringUtils.isBlank(formDTO.getOpenId())) {
throw new RenException("openId不能为空");
}
CachingUserInfoDTO cachingUserInfoDTO = null;
if (StringUtils.isNotBlank(formDTO.getUnionId())) {
//根据unionId查询
cachingUserInfoDTO = this.baseDao.selectCachingUserInfoDTO(null, formDTO.getUnionId());
}
if (null == cachingUserInfoDTO) {
//根据openId查询
cachingUserInfoDTO = this.baseDao.selectCachingUserInfoDTO(formDTO.getOpenId(), null);
}
return new Result<CachingUserInfoDTO>().ok(cachingUserInfoDTO);
}
} }

38
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

@ -451,4 +451,42 @@
and eu.id=#{userId} and eu.id=#{userId}
</select> </select>
<!-- 获取用户缓存信息 -->
<select id="selectCachingUserInfoDTO" parameterType="map" resultMap="CachingUserInfoDTOMap">
SELECT
eu.ID,
eu.NICKNAME,
eu.MOBILE,
eu.FACE_IMG,
eu.SEX,
eu.REAL_NAME,
eu.STATE,
eu.REMARK,
(select r.GRID_ID
from epdc_user_grid_relation r
where r.USER_ID=eu.ID
and r.DEL_FLAG='0'
order by r.SWITCHED_TIME desc
limit 1
)as gridId,
(
select r.GRID
from epdc_user_grid_relation r
where r.USER_ID=eu.ID
and r.DEL_FLAG='0'
order by r.SWITCHED_TIME desc
limit 1
)as grid
FROM
epdc_user eu
WHERE
eu.DEL_FLAG = '0'
<if test="openId!=null and openId!=''">
and eu.WX_OPEN_ID=#{openId}
</if>
<if test="unionId!=null and unionId!=''">
and eu.WX_UNION_ID=#{unionId}
</if>
</select>
</mapper> </mapper>

22
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserTagDao.xml

@ -15,5 +15,27 @@
<result property="delFlag" column="DEL_FLAG"/> <result property="delFlag" column="DEL_FLAG"/>
</resultMap> </resultMap>
<!-- 根据标签编码查询信息 -->
<select id="selectByTagCode" parameterType="java.lang.String" resultMap="userTagMap">
select *
from epdc_user_tag m
where m.DEL_FLAG='0'
and m.TAG_CODE=#{tagCode}
</select>
<!-- 根据用户id 查询用户标签信息 -->
<select id="selectByUserId" resultType="com.elink.esua.epdc.dto.UserTagInfo">
SELECT
u.id,
u.TAG_CODE as tagCode
FROM
epdc_user_tag u
WHERE u.DEL_FLAG='0'
and u.ID IN ( SELECT r.TAG_ID
FROM epdc_user_tag_relation r
WHERE r.DEL_FLAG = '0'
AND r.USER_ID = #{userId}
)
</select>
</mapper> </mapper>
Loading…
Cancel
Save