OrderInfoManageCtrl.java 2.51 KB
package com.ui.ctrl;

import com.ui.common.OrderTokenConstant;
import com.ui.http.HttpRestClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.UUID;

/**
 * Created by craig.qin on 2017/8/10.
 * 调转到opsmanage项目
 */
@Controller
@RequestMapping("/orderInfoManage")
public class OrderInfoManageCtrl {

    @Autowired
    private HttpRestClient httpRestClient;

    private final String opsManageUrl="http://dev.yohops.com";
    //private final String opsManageUrl="http://localhost:8780";

    @RequestMapping("/toOrderCheck")
    @ResponseBody
    public ModelAndView toOrderCheck(Model model) {

        return new ModelAndView("orderInfoManage/orderInfoCheck");
    }

    @RequestMapping("/loadOrderInfoCheckPage")
    public void toOrderCheck(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String uuid=  UUID.randomUUID().toString().replaceAll("-","");
        OrderTokenConstant.orderTokens.add(uuid);
        response.sendRedirect(opsManageUrl+"/toOrderInfoCheckPageFromOps.do?token="+uuid);
        //clearCache(uuid);
    }



    @RequestMapping("/toOrderQuery")
    @ResponseBody
    public ModelAndView toOrderQuery(Model model) {

        return new ModelAndView("orderInfoManage/orderQuery");
    }

    @RequestMapping("/loadOrderQuery")
    public void loadOrderQuery(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String uuid=  UUID.randomUUID().toString().replaceAll("-","");
        OrderTokenConstant.orderTokens.add(uuid);
        response.sendRedirect(opsManageUrl+"/toQueryOrderPageFromOps.do?token="+uuid);
        //clearCache(uuid);
    }

    private void clearCache(String uuid){
        new Thread(() -> {
            try {
                Thread.sleep(1000*60);//1分钟有效
                if (OrderTokenConstant.orderTokens.contains(uuid)){
                    OrderTokenConstant.orderTokens.remove(uuid);
                }
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

        }).start();
    }


}