package com.chinacreator.videoalliance.sdk.action; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import com.chinacreator.cache.process.OrderProcessor; import com.chinacreator.cache.util.AESUtil; import com.chinacreator.common.exception.BusinessException; import com.chinacreator.common.pipe.DataOutPipe; import com.chinacreator.common.util.DESUtil; import com.chinacreator.common.util.MD5; import com.chinacreator.videoalliance.common.annotation.DataOut; import com.chinacreator.videoalliance.common.bean.CPInfo; import com.chinacreator.videoalliance.common.util.ConfigUtil; import com.chinacreator.videoalliance.order.bean.OrderInfo; import com.chinacreator.videoalliance.order.util.JsonUtil; @Controller public class QueryOrderAction { @RequestMapping({"/orderquery.do"}) @DataOut(callback="orderquery") public DataOutPipe doOrder(HttpServletRequest request, OrderInfo orderInfo,String timestamp,String sign) throws Exception{ DataOutPipe pipe = new DataOutPipe(); List> list = new ArrayList>(); String userid = orderInfo.getUserid(); String cpid = orderInfo.getCpid(); try{ CPInfo cpInfo = ConfigUtil.getCPInfo(cpid, null); if(!sign.equals(MD5.MD5Encode(cpid+URLEncoder.encode(userid,"utf-8")+timestamp+cpInfo.getNetpwd()))){ throw new BusinessException("7009", "签名验证失败"); }; if (StringUtils.isNotEmpty(userid)) { orderInfo.setUserid(DESUtil.decode(userid, cpInfo.getNetpwd())); if ((orderInfo.getUserid() != null) && (orderInfo.getUserid().length() > 11)) { orderInfo.setUserid(ConfigUtil.getUserid(orderInfo.getUserid(), orderInfo.getCpid())); } } System.out.println(orderInfo.getUserid()+" "+cpid); List listorder = hasreslation(orderInfo.getUserid(),cpid); if(listorder != null && listorder.size()>0){ System.out.println("缓存里面有值:"+listorder.size()); for (com.chinacreator.cache.process.OrderInfo orderInfo2 : listorder) { Map map = new HashMap(); map.put("spid", orderInfo2.getProductid()); list.add(map); } }else{ System.out.println("缓存里面没有值:"); } }catch(Exception e){ e.printStackTrace(); if(e instanceof BusinessException){ pipe.setResultCode(((BusinessException) e).getCode()); pipe.setErrorInfo(e.getMessage()); }else{ pipe.setResultCode("8000"); pipe.setErrorInfo("系统忙请稍后再试!"); } }finally{ pipe.add("datas",JsonUtil.objectToJson(list)); } return pipe; } public List hasreslation(String userid,String cpid) throws Exception { OrderProcessor processor = new OrderProcessor(); return processor.findByCpid(userid, cpid); } public static void main(String[] args) throws Exception { // OrderProcessor processor = new OrderProcessor(); // List list = processor.findByCpid("18673197465", "tencent"); // for (com.chinacreator.cache.process.OrderInfo orderInfo : list) { // System.out.println(orderInfo.getSpid()); // } // System.out.println("18673197465"); // System.out.println(AESUtil.encrypt("18673197465", "ac22273abb2f4960")); // System.out.println(DESUtil.encode(AESUtil.encrypt("18673197465", "ac22273abb2f4960"), "tenc1234")); // System.out.println(URLEncoder.encode(DESUtil.encode(AESUtil.encrypt("18673197465", "ac22273abb2f4960"), "tenc1234"), "utf-8")); // String str = URLEncoder.encode(DESUtil.encode(AESUtil.encrypt("18673197465", "ac22273abb2f4960"), "tenc1234"), "utf-8"); // System.out.println(str); // System.out.println(MD5.MD5Encode("tencent"+str+"1478712090"+"tenc1234")); // // // System.out.println(AESUtil.decrypt(DESUtil.decode(URLDecoder.decode("1888888888", "utf-8"), ""), "")); OrderProcessor processor = new OrderProcessor(); List listorder = processor.findByCpid("18673197465", "pptv"); if(listorder != null){ for (com.chinacreator.cache.process.OrderInfo orderInfo : listorder) { System.out.println(orderInfo.getProductid()); } }else{ System.out.println("无缓存"); } } }