|
|
|
@ -5,8 +5,10 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import com.api.system.language.util.ParseLangDataUtil;
|
|
|
|
|
import com.cloudstore.dev.api.bean.CodeTimeBean;
|
|
|
|
|
import com.cloudstore.dev.api.util.EMManager;
|
|
|
|
|
import com.cloudstore.dev.api.util.LogUtil;
|
|
|
|
|
import com.cloudstore.dev.api.util.Util_DataMap;
|
|
|
|
|
import com.cloudstore.dev.api.util.Util_public;
|
|
|
|
|
import com.cloudstore.dev.bean.LoginLogEntity;
|
|
|
|
|
import com.cloudstore.eccom.common.WeaIndexManager;
|
|
|
|
|
import com.cloudstore.eccom.constant.WeaMessageCode;
|
|
|
|
|
import com.cloudstore.eccom.core.WeaDataChange;
|
|
|
|
@ -24,20 +26,6 @@ import com.engine.msgcenter.util.ValveConfigManager;
|
|
|
|
|
import com.engine.systeminfo.util.AppSyncUtil;
|
|
|
|
|
import com.engine.systeminfo.util.IpTablesUtil;
|
|
|
|
|
import com.google.common.collect.Maps;
|
|
|
|
|
|
|
|
|
|
import java.io.*;
|
|
|
|
|
import java.net.URL;
|
|
|
|
|
import java.net.URLConnection;
|
|
|
|
|
import java.net.URLDecoder;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
import javax.ws.rs.GET;
|
|
|
|
|
import javax.ws.rs.POST;
|
|
|
|
|
import javax.ws.rs.Path;
|
|
|
|
|
import javax.ws.rs.Produces;
|
|
|
|
|
import javax.ws.rs.core.Context;
|
|
|
|
|
|
|
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
|
|
import org.apache.commons.logging.Log;
|
|
|
|
|
import org.apache.commons.logging.LogFactory;
|
|
|
|
@ -45,6 +33,7 @@ import weaver.common.util.string.StringUtil;
|
|
|
|
|
import weaver.conn.RecordSet;
|
|
|
|
|
import weaver.general.PasswordUtil;
|
|
|
|
|
import weaver.general.ThreadVarLanguage;
|
|
|
|
|
import weaver.general.TimeUtil;
|
|
|
|
|
import weaver.general.Util;
|
|
|
|
|
import weaver.hrm.HrmUserVarify;
|
|
|
|
|
import weaver.hrm.OnLineMonitor;
|
|
|
|
@ -54,6 +43,22 @@ import weaver.mobile.plugin.ecology.service.HrmResourceService;
|
|
|
|
|
import weaver.rsa.security.RSA;
|
|
|
|
|
import weaver.systeminfo.SystemEnv;
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
import javax.ws.rs.GET;
|
|
|
|
|
import javax.ws.rs.POST;
|
|
|
|
|
import javax.ws.rs.Path;
|
|
|
|
|
import javax.ws.rs.Produces;
|
|
|
|
|
import javax.ws.rs.core.Context;
|
|
|
|
|
import java.io.FileNotFoundException;
|
|
|
|
|
import java.io.FileOutputStream;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.io.InputStream;
|
|
|
|
|
import java.net.URL;
|
|
|
|
|
import java.net.URLConnection;
|
|
|
|
|
import java.net.URLDecoder;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
|
@Path("/ec/dev/app")
|
|
|
|
|
public class ServiceEC {
|
|
|
|
|
private static volatile boolean inited;
|
|
|
|
@ -242,66 +247,73 @@ public class ServiceEC {
|
|
|
|
|
*/
|
|
|
|
|
private User ssoLoginByAuthCode(HttpServletRequest request) {
|
|
|
|
|
String authCode = request.getParameter("authCode");
|
|
|
|
|
HashMap<String, Object> paramMap = new HashMap<>();
|
|
|
|
|
paramMap.put("auth_code", authCode);
|
|
|
|
|
logger.info("ssoLogin_auth_code:" + authCode);
|
|
|
|
|
MobileSsoLoginService mobileSsoLoginService = getMobileSsoLoginService();
|
|
|
|
|
Map<String, Object> userInfo = mobileSsoLoginService.getUserInfo(paramMap, null);
|
|
|
|
|
Map<String, Object> userInfoData = (HashMap<String, Object>) userInfo.get("data");
|
|
|
|
|
String userCode = (String) userInfoData.get("userCode");
|
|
|
|
|
logger.info("userCode:" + userCode);
|
|
|
|
|
if (StringUtils.isNotEmpty(userCode)) {
|
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
|
String sql = " select * from hrmresource where workcode=?";
|
|
|
|
|
rs.executeQuery(sql, userCode);
|
|
|
|
|
if (rs.next()) {
|
|
|
|
|
User user = new User();
|
|
|
|
|
String languageidweaver = "8";
|
|
|
|
|
user.setUid(rs.getInt("id"));
|
|
|
|
|
user.setLoginid(rs.getString("loginid"));
|
|
|
|
|
user.setFirstname(rs.getString("firstname"));
|
|
|
|
|
user.setLastname(rs.getString("lastname"));
|
|
|
|
|
user.setAliasname(rs.getString("aliasname"));
|
|
|
|
|
user.setTitle(rs.getString("title"));
|
|
|
|
|
user.setTitlelocation(rs.getString("titlelocation"));
|
|
|
|
|
user.setSex(rs.getString("sex"));
|
|
|
|
|
user.setPwd(rs.getString("password"));
|
|
|
|
|
languageidweaver = rs.getString("systemlanguage");
|
|
|
|
|
user.setLanguage(Util.getIntValue(languageidweaver, 0));
|
|
|
|
|
user.setTelephone(rs.getString("telephone"));
|
|
|
|
|
user.setMobile(rs.getString("mobile"));
|
|
|
|
|
user.setMobilecall(rs.getString("mobilecall"));
|
|
|
|
|
user.setEmail(rs.getString("email"));
|
|
|
|
|
user.setCountryid(rs.getString("countryid"));
|
|
|
|
|
user.setLocationid(rs.getString("locationid"));
|
|
|
|
|
user.setResourcetype(rs.getString("resourcetype"));
|
|
|
|
|
user.setStartdate(rs.getString("startdate"));
|
|
|
|
|
user.setEnddate(rs.getString("enddate"));
|
|
|
|
|
user.setContractdate(rs.getString("contractdate"));
|
|
|
|
|
user.setJobtitle(rs.getString("jobtitle"));
|
|
|
|
|
user.setJobgroup(rs.getString("jobgroup"));
|
|
|
|
|
user.setJobactivity(rs.getString("jobactivity"));
|
|
|
|
|
user.setJoblevel(rs.getString("joblevel"));
|
|
|
|
|
user.setSeclevel(rs.getString("seclevel"));
|
|
|
|
|
user.setUserDepartment(Util.getIntValue(rs.getString("departmentid"), 0));
|
|
|
|
|
user.setUserSubCompany1(Util.getIntValue(rs.getString("subcompanyid1"), 0));
|
|
|
|
|
user.setUserSubCompany2(Util.getIntValue(rs.getString("subcompanyid2"), 0));
|
|
|
|
|
user.setUserSubCompany3(Util.getIntValue(rs.getString("subcompanyid3"), 0));
|
|
|
|
|
user.setUserSubCompany4(Util.getIntValue(rs.getString("subcompanyid4"), 0));
|
|
|
|
|
user.setManagerid(rs.getString("managerid"));
|
|
|
|
|
user.setAssistantid(rs.getString("assistantid"));
|
|
|
|
|
user.setPurchaselimit(rs.getString("purchaselimit"));
|
|
|
|
|
user.setCurrencyid(rs.getString("currencyid"));
|
|
|
|
|
user.setLastlogindate(rs.getString("currentdate"));
|
|
|
|
|
user.setLogintype("1");
|
|
|
|
|
user.setAccount(rs.getString("account"));
|
|
|
|
|
user.setLoginip(request.getRemoteAddr());
|
|
|
|
|
|
|
|
|
|
request.getSession(true).setMaxInactiveInterval(60 * 60 * 24);
|
|
|
|
|
request.getSession(true).setAttribute("weaver_user@bean", user);
|
|
|
|
|
request.getSession(true).setAttribute("moniter", new OnLineMonitor("" + user.getUID(), user.getLoginip()));
|
|
|
|
|
return user;
|
|
|
|
|
try {
|
|
|
|
|
HashMap<String, Object> paramMap = new HashMap<>();
|
|
|
|
|
paramMap.put("auth_code", authCode);
|
|
|
|
|
logger.info("ssoLogin_auth_code:" + authCode);
|
|
|
|
|
MobileSsoLoginService mobileSsoLoginService = getMobileSsoLoginService();
|
|
|
|
|
Map<String, Object> userInfo = mobileSsoLoginService.getUserInfo(paramMap, null);
|
|
|
|
|
Map<String, Object> userInfoData = (HashMap<String, Object>) userInfo.get("data");
|
|
|
|
|
String userCode = (String) userInfoData.get("userCode");
|
|
|
|
|
logger.info("userCode:" + userCode);
|
|
|
|
|
if (StringUtils.isNotEmpty(userCode)) {
|
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
|
String sql = " select * from hrmresource where workcode=?";
|
|
|
|
|
rs.executeQuery(sql, userCode);
|
|
|
|
|
if (rs.next()) {
|
|
|
|
|
User user = new User();
|
|
|
|
|
String languageidweaver = "8";
|
|
|
|
|
user.setUid(rs.getInt("id"));
|
|
|
|
|
user.setLoginid(rs.getString("loginid"));
|
|
|
|
|
user.setFirstname(rs.getString("firstname"));
|
|
|
|
|
user.setLastname(rs.getString("lastname"));
|
|
|
|
|
user.setAliasname(rs.getString("aliasname"));
|
|
|
|
|
user.setTitle(rs.getString("title"));
|
|
|
|
|
user.setTitlelocation(rs.getString("titlelocation"));
|
|
|
|
|
user.setSex(rs.getString("sex"));
|
|
|
|
|
user.setPwd(rs.getString("password"));
|
|
|
|
|
languageidweaver = rs.getString("systemlanguage");
|
|
|
|
|
user.setLanguage(Util.getIntValue(languageidweaver, 0));
|
|
|
|
|
user.setTelephone(rs.getString("telephone"));
|
|
|
|
|
user.setMobile(rs.getString("mobile"));
|
|
|
|
|
user.setMobilecall(rs.getString("mobilecall"));
|
|
|
|
|
user.setEmail(rs.getString("email"));
|
|
|
|
|
user.setCountryid(rs.getString("countryid"));
|
|
|
|
|
user.setLocationid(rs.getString("locationid"));
|
|
|
|
|
user.setResourcetype(rs.getString("resourcetype"));
|
|
|
|
|
user.setStartdate(rs.getString("startdate"));
|
|
|
|
|
user.setEnddate(rs.getString("enddate"));
|
|
|
|
|
user.setContractdate(rs.getString("contractdate"));
|
|
|
|
|
user.setJobtitle(rs.getString("jobtitle"));
|
|
|
|
|
user.setJobgroup(rs.getString("jobgroup"));
|
|
|
|
|
user.setJobactivity(rs.getString("jobactivity"));
|
|
|
|
|
user.setJoblevel(rs.getString("joblevel"));
|
|
|
|
|
user.setSeclevel(rs.getString("seclevel"));
|
|
|
|
|
user.setUserDepartment(Util.getIntValue(rs.getString("departmentid"), 0));
|
|
|
|
|
user.setUserSubCompany1(Util.getIntValue(rs.getString("subcompanyid1"), 0));
|
|
|
|
|
user.setUserSubCompany2(Util.getIntValue(rs.getString("subcompanyid2"), 0));
|
|
|
|
|
user.setUserSubCompany3(Util.getIntValue(rs.getString("subcompanyid3"), 0));
|
|
|
|
|
user.setUserSubCompany4(Util.getIntValue(rs.getString("subcompanyid4"), 0));
|
|
|
|
|
user.setManagerid(rs.getString("managerid"));
|
|
|
|
|
user.setAssistantid(rs.getString("assistantid"));
|
|
|
|
|
user.setPurchaselimit(rs.getString("purchaselimit"));
|
|
|
|
|
user.setCurrencyid(rs.getString("currencyid"));
|
|
|
|
|
user.setLastlogindate(rs.getString("currentdate"));
|
|
|
|
|
user.setLogintype("1");
|
|
|
|
|
user.setAccount(rs.getString("account"));
|
|
|
|
|
user.setLoginip(request.getRemoteAddr());
|
|
|
|
|
|
|
|
|
|
request.getSession(true).setMaxInactiveInterval(60 * 60 * 24);
|
|
|
|
|
request.getSession(true).setAttribute("weaver_user@bean", user);
|
|
|
|
|
request.getSession(true).setAttribute("moniter", new OnLineMonitor("" + user.getUID(), user.getLoginip()));
|
|
|
|
|
LogUtil.log(LoginLogEntity.builder().param("workcode-" + userCode).result("成功").msg(authCode).modedate(TimeUtil.getCurrentTimeString()).build());
|
|
|
|
|
return user;
|
|
|
|
|
} else {
|
|
|
|
|
LogUtil.log(LoginLogEntity.builder().param("workcode-" + userCode).result("失败").msg("人员在oa不存在").modedate(TimeUtil.getCurrentTimeString()).build());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
LogUtil.log(LoginLogEntity.builder().param("authcode-" + authCode).result("失败").msg(e.getMessage()).modedate(TimeUtil.getCurrentTimeString()).build());
|
|
|
|
|
}
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|