83 lines
3.5 KiB
Java
83 lines
3.5 KiB
Java
|
|
package com.seeyon.apps.src_dhxbacklog.sso;
|
||
|
|
|
||
|
|
import com.seeyon.apps.common.config.ICstConfigApi;
|
||
|
|
import com.seeyon.apps.common.plugin.vo.ConfigVo;
|
||
|
|
import com.seeyon.apps.src_dhxbacklog.constanst.DhxFlowConstants;
|
||
|
|
import com.seeyon.apps.src_dhxbacklog.util.GetToken;
|
||
|
|
import com.seeyon.ctp.common.AppContext;
|
||
|
|
import com.seeyon.ctp.common.controller.BaseController;
|
||
|
|
import com.seeyon.ctp.organization.manager.OrgManager;
|
||
|
|
import com.seeyon.ctp.util.annotation.Inject;
|
||
|
|
import org.springframework.web.servlet.ModelAndView;
|
||
|
|
|
||
|
|
import javax.servlet.http.HttpServletRequest;
|
||
|
|
import javax.servlet.http.HttpServletResponse;
|
||
|
|
import java.net.URLEncoder;
|
||
|
|
import java.util.Date;
|
||
|
|
|
||
|
|
public class DhxFlowWaitHandlesso extends BaseController {
|
||
|
|
|
||
|
|
@Inject
|
||
|
|
private ICstConfigApi cstConfigApi;
|
||
|
|
|
||
|
|
private OrgManager orgManager;
|
||
|
|
public void setOrgManager(OrgManager orgManager) {this.orgManager = orgManager; }
|
||
|
|
public OrgManager getOrgManager() {
|
||
|
|
if (orgManager == null) {orgManager = (OrgManager) AppContext.getBean("orgManager");}return orgManager;
|
||
|
|
}
|
||
|
|
|
||
|
|
public ConfigVo getDhxBacklogConfig() {
|
||
|
|
return cstConfigApi.getConfig(getPluginId());
|
||
|
|
}
|
||
|
|
|
||
|
|
public String getPluginId() {
|
||
|
|
return DhxFlowConstants.getPluginId();
|
||
|
|
}
|
||
|
|
|
||
|
|
public ModelAndView index(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||
|
|
System.out.println("123123123123123");
|
||
|
|
ConfigVo configVo = getDhxBacklogConfig();
|
||
|
|
ModelAndView mv = new ModelAndView();
|
||
|
|
// 根据当前账号获取流程平台账号
|
||
|
|
String userLoginName = AppContext.currentUserLoginName();
|
||
|
|
// V3xOrgMember v3xOrgMember = orgManager.getMemberById(userId);
|
||
|
|
// if(v3xOrgMember==null){
|
||
|
|
// mv.setViewName("跳转失败"); // 设置视图名称
|
||
|
|
// mv.addObject("message", "请检查登录名数据绑定!"); // 添加模型数据
|
||
|
|
// return mv;
|
||
|
|
// }
|
||
|
|
// 获取当前绑定人员登录名
|
||
|
|
// String changleLoginName = users.get(0).get("changleLoginName");
|
||
|
|
String salt = "-";
|
||
|
|
Date date = new Date();
|
||
|
|
String ticket = userLoginName+salt+date.getTime();
|
||
|
|
String toUrl = request.getParameter("tourl");
|
||
|
|
String type = request.getParameter("type");
|
||
|
|
String toEncodeUrl = URLEncoder.encode(toUrl, "UTF-8");
|
||
|
|
|
||
|
|
String pathUrl = configVo.getParamVal(DhxFlowConstants.flowUrl.name())+
|
||
|
|
configVo.getParamVal(DhxFlowConstants.dhxflowssourl.name())+ticket+"&tourl="+toEncodeUrl;
|
||
|
|
// 判断登录是否移动端
|
||
|
|
if("H5".equals(type)){
|
||
|
|
// 长乐rest用户名
|
||
|
|
String changleRestUsername = configVo.getParamVal(DhxFlowConstants.flowRestUsername.name());
|
||
|
|
// 长乐rest密码
|
||
|
|
String changleRestPassword = configVo.getParamVal(DhxFlowConstants.flowRestPassword.name());
|
||
|
|
// 长乐获取tokenUrl
|
||
|
|
String url = configVo.getParamVal(DhxFlowConstants.flowUrl.name())+
|
||
|
|
configVo.getParamVal(DhxFlowConstants.TokenUrl.name());
|
||
|
|
// 调用接口获取TOKEN信息
|
||
|
|
String token = GetToken.changleToken(url,changleRestUsername,changleRestPassword,userLoginName);
|
||
|
|
|
||
|
|
pathUrl = configVo.getParamVal(DhxFlowConstants.flowUrl.name())+
|
||
|
|
configVo.getParamVal(DhxFlowConstants.dhxflowssoh5url.name())+token+"&html="+toEncodeUrl+"&loginName="+userLoginName;
|
||
|
|
}
|
||
|
|
System.out.println(pathUrl);
|
||
|
|
response.sendRedirect(pathUrl);
|
||
|
|
return null;
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
}
|