1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package com.chinacreator.videoalliance.net.handler;
- import java.net.URLEncoder;
- import java.util.UUID;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.commons.lang.math.NumberUtils;
- import org.apache.log4j.Logger;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import com.chinacreator.common.exception.BusinessException;
- import com.chinacreator.common.util.RequestUtil;
- import com.chinacreator.common.util.URLUtil;
- import com.chinacreator.videoalliance.common.dao.DictionaryDao;
- import com.chinacreator.videoalliance.common.dao.IPNumberDao;
- import com.chinacreator.videoalliance.common.util.AreaUtil;
- import com.chinacreator.videoalliance.net.util.WebUtil;
- @Component
- public class AcademeNet implements INetHandler {
- @Autowired
- private IPNumberDao ipNumberDao;
-
- @Autowired
- private DictionaryDao dictionaryDao;
-
- private static Logger logger = Logger.getLogger("AcademeNet");
-
- public String execute(HttpServletRequest request, HttpServletResponse response, int sequence)
- throws Exception {
- String unikey = request.getParameter("unikey");
- String apptype = request.getParameter("apptype");
- String backurl = request.getParameter("backurl");
- String cpid = request.getParameter("cpid");
- String responseStr = request.getParameter("response");
- String timestamp = request.getParameter("timestamp");
- String userip = RequestUtil.getIpAddr(request);
- if(backurl != null) {
- backurl = URLEncoder.encode(backurl, "UTF-8");
- }
- if(!ipNumberDao.allowNet(AreaUtil.ip2num(userip))) {
- throw new BusinessException("8005", "该省已停止研究院取号");
- }
- if(unikey == null || "null".equals(unikey)) {
- unikey = UUID.randomUUID().toString().replaceAll("-", "");
- String url = WebUtil.getBasePath(request) + "/netNumber.do?cpid=" + cpid + "×tamp=" + timestamp + "&response=" + responseStr + "&unikey=" + unikey + "&backurl=" +backurl + "&apptype=" + apptype + "&net=academe&sequence=" + sequence;
- System.out.println(" WebUtil.getBasePath(request)==="+ url);
- response.sendRedirect(url);
- return "302";
- }
- String netNumber = dictionaryDao.getValue("netNumber");
- if(!netNumber.endsWith("/")) {
- netNumber += "/";
- }
- String netTimeout = dictionaryDao.getValue("netTimeout");
-
- String numberGetUrl = netNumber + unikey + "," + RequestUtil.getIpAddr(request);
- logger.info("numberGetUrl ===> " + numberGetUrl);
- String resultStr = URLUtil.get(numberGetUrl, NumberUtils.toInt(netTimeout, 0));
- if("0".equals(resultStr)) {
- resultStr = null;
- }
- System.out.println("resultStr========="+resultStr);
- return resultStr;
- }
- }
|