Browse Source

优化企业认证相关代码

dev
yujintao 6 years ago
parent
commit
c6f2f0f2cb
  1. 43
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomEnterpriseServiceImpl.java
  2. 12
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/service/impl/EnterpriseInfoServiceImpl.java

43
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomEnterpriseServiceImpl.java

@ -1,5 +1,6 @@
package com.elink.esua.epdc.service.impl;
import cn.binarywang.wx.miniapp.api.WxMaService;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.enterprise.form.EnterpriseInfoFormDTO;
@ -81,12 +82,21 @@ public class CustomEnterpriseServiceImpl implements CustomEnterpriseService {
if (StringUtils.isBlank(wxCode) || StringUtils.isBlank(iv) || StringUtils.isBlank(encryptedData)) {
return null;
}
String sessionKey = this.getUserSessionKey(wxCode);
WxMaUserInfo wxMaUserInfo = wxMaServiceUtils.normalWxMaService().getUserService().getUserInfo(sessionKey, encryptedData, iv);
if (null == wxMaUserInfo || StringUtils.isBlank(wxMaUserInfo.getUnionId())) {
throw new RenException("解析微信数据失败,请刷新后重试");
WxMaService wxMaService = wxMaServiceUtils.normalWxMaService();
try {
WxMaJscode2SessionResult wxMaJscode = wxMaService.jsCode2SessionInfo(wxCode);
WxMaUserInfo wxMaUserInfo = wxMaService.getUserService().getUserInfo(wxMaJscode.getSessionKey(), encryptedData, iv);
if (null == wxMaUserInfo || StringUtils.isBlank(wxMaUserInfo.getUnionId())) {
throw new RenException("解析微信数据失败,请刷新页面后重试");
}
return wxMaUserInfo.getUnionId();
} catch (WxErrorException e) {
e.printStackTrace();
if (e.getError().getErrorCode() == 40163) {
throw new RenException("禁止重复提交,请刷新页面后重试");
}
throw new RenException(e.getError().getErrorMsg());
}
return wxMaUserInfo.getUnionId();
}
/**
@ -99,27 +109,4 @@ public class CustomEnterpriseServiceImpl implements CustomEnterpriseService {
}
}
/**
* 根据微信code获取session_key
*
* @return java.lang.String
* @params [code]
* @author liuchuang
* @since 2019/10/25 16:31
*/
private String getUserSessionKey(String code) {
try {
WxMaJscode2SessionResult wxMaJscode2SessionResult = wxMaServiceUtils.normalWxMaService().jsCode2SessionInfo(code);
if (wxMaJscode2SessionResult != null) {
return wxMaJscode2SessionResult.getSessionKey();
}
} catch (WxErrorException e) {
e.printStackTrace();
if (e.getError().getErrorCode() == 40163) {
throw new RenException("禁止重复提交,请刷新页面后重试");
}
throw new RenException(e.getError().getErrorMsg());
}
return null;
}
}

12
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/service/impl/EnterpriseInfoServiceImpl.java

@ -123,11 +123,13 @@ public class EnterpriseInfoServiceImpl extends BaseServiceImpl<EnterpriseInfoDao
@Override
public EnterpriseInfoResultDTO selectOneEnterpriseInfo(String userId) {
EnterpriseInfoResultDTO result = baseDao.selectOneEnterpriseInfo(userId);
String deptName = result.getDeptName();
if (StringUtils.isNotBlank(deptName)) {
String[] split = deptName.split("-");
if (ArrayUtil.isNotEmpty(split) && split.length == NumConstant.FOUR) {
result.setDeptName(split[NumConstant.TWO] + "-" + split[NumConstant.THREE]);
if (null != result) {
String deptName = result.getDeptName();
if (StringUtils.isNotBlank(deptName)) {
String[] split = deptName.split("-");
if (ArrayUtil.isNotEmpty(split) && split.length == NumConstant.FOUR) {
result.setDeptName(split[NumConstant.TWO] + "-" + split[NumConstant.THREE]);
}
}
}
return result;

Loading…
Cancel
Save