|
|
@ -19,12 +19,10 @@ import com.epmet.constant.SmsTemplateConstant; |
|
|
|
import com.epmet.dto.CustomerAgencyDTO; |
|
|
|
import com.epmet.dto.CustomerStaffDTO; |
|
|
|
import com.epmet.dto.GovStaffRoleDTO; |
|
|
|
import com.epmet.dto.UserWechatDTO; |
|
|
|
import com.epmet.dto.form.*; |
|
|
|
import com.epmet.dto.result.*; |
|
|
|
import com.epmet.feign.EpmetMessageOpenFeignClient; |
|
|
|
import com.epmet.feign.EpmetUserFeignClient; |
|
|
|
import com.epmet.feign.EpmetUserOpenFeignClient; |
|
|
|
import com.epmet.feign.GovOrgFeignClient; |
|
|
|
import com.epmet.feign.*; |
|
|
|
import com.epmet.jwt.JwtTokenProperties; |
|
|
|
import com.epmet.jwt.JwtTokenUtils; |
|
|
|
import com.epmet.redis.CaptchaRedis; |
|
|
@ -67,6 +65,8 @@ public class GovLoginServiceImpl implements GovLoginService { |
|
|
|
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; |
|
|
|
@Autowired |
|
|
|
private EpmetUserOpenFeignClient userOpenFeignClient; |
|
|
|
@Autowired |
|
|
|
private EpmetThirdFeignClient epmetThirdFeignClient; |
|
|
|
|
|
|
|
/** |
|
|
|
* @param formDTO |
|
|
@ -272,8 +272,24 @@ public class GovLoginServiceImpl implements GovLoginService { |
|
|
|
throw new RenException(customerStaffDTOResult.getCode()); |
|
|
|
} |
|
|
|
CustomerStaffDTO customerStaff = customerStaffDTOResult.getData(); |
|
|
|
//2、解析微信用户
|
|
|
|
WxMaJscode2SessionResult wxMaJscode2SessionResult = loginService.getWxMaUser(LoginConstant.APP_GOV, formDTO.getWxCode()); |
|
|
|
/*//2、解析微信用户
|
|
|
|
WxMaJscode2SessionResult wxMaJscode2SessionResult = loginService.getWxMaUser(LoginConstant.APP_GOV, formDTO.getWxCode());*/ |
|
|
|
//2020.7.24 获取微信信息接口调整,改调用微信api的方式 sun
|
|
|
|
//2.调用epmet_third服务,校验appId是否有效以及是否授权,校验通过的调用微信API获取用户基本信息
|
|
|
|
WxLoginFormDTO resiLoginFormDTO = new WxLoginFormDTO(); |
|
|
|
resiLoginFormDTO.setAppId(formDTO.getAppId()); |
|
|
|
resiLoginFormDTO.setWxCode(formDTO.getWxCode()); |
|
|
|
Result<UserWechatDTO> result = epmetThirdFeignClient.resiAndWorkLogin(resiLoginFormDTO); |
|
|
|
if (!result.success()) { |
|
|
|
logger.error("工作端小程序登陆,调用epmet_third服务获取数据失败"); |
|
|
|
throw new RenException(result.getCode()); |
|
|
|
} |
|
|
|
UserWechatDTO userWechatDTO = result.getData(); |
|
|
|
WxMaJscode2SessionResult wxMaJscode2SessionResult = new WxMaJscode2SessionResult(); |
|
|
|
wxMaJscode2SessionResult.setOpenid(userWechatDTO.getWxOpenId()); |
|
|
|
wxMaJscode2SessionResult.setSessionKey(userWechatDTO.getSessionKey()); |
|
|
|
wxMaJscode2SessionResult.setUnionid(""); |
|
|
|
|
|
|
|
//3、记录staff_wechat,并记录用户激活状态,激活时间
|
|
|
|
this.savestaffwechat(customerStaff.getUserId(), wxMaJscode2SessionResult.getOpenid()); |
|
|
|
//4、记录登录日志
|
|
|
@ -437,7 +453,7 @@ public class GovLoginServiceImpl implements GovLoginService { |
|
|
|
govTokenDto.setUserId(staffId); |
|
|
|
govTokenDto.setOpenId(wxMaJscode2SessionResult.getOpenid()); |
|
|
|
govTokenDto.setSessionKey(wxMaJscode2SessionResult.getSessionKey()); |
|
|
|
govTokenDto.setUnionId(wxMaJscode2SessionResult.getUnionid()); |
|
|
|
govTokenDto.setUnionId(null == wxMaJscode2SessionResult.getUnionid() ? "" : wxMaJscode2SessionResult.getUnionid()); |
|
|
|
govTokenDto.setToken(token); |
|
|
|
govTokenDto.setUpdateTime(System.currentTimeMillis()); |
|
|
|
govTokenDto.setExpireTime(jwtTokenUtils.getExpiration(token).getTime()); |
|
|
|