Files
daohuaxiang/src/com/seeyon/apps/src_dhxbacklog/sso/DhxFlowWaitHandlesso.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;
}
}