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; } }