989ae912002ec901e3419031e882ff9e7c70f698.svn-base 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. package com.chinacreator.videoalliance.sdk.action;
  2. import java.net.URLDecoder;
  3. import java.net.URLEncoder;
  4. import java.util.ArrayList;
  5. import java.util.HashMap;
  6. import java.util.List;
  7. import java.util.Map;
  8. import javax.servlet.http.HttpServletRequest;
  9. import org.apache.commons.lang.StringUtils;
  10. import org.springframework.stereotype.Controller;
  11. import org.springframework.web.bind.annotation.RequestMapping;
  12. import com.chinacreator.cache.process.OrderProcessor;
  13. import com.chinacreator.cache.util.AESUtil;
  14. import com.chinacreator.common.exception.BusinessException;
  15. import com.chinacreator.common.pipe.DataOutPipe;
  16. import com.chinacreator.common.util.DESUtil;
  17. import com.chinacreator.common.util.MD5;
  18. import com.chinacreator.videoalliance.common.annotation.DataOut;
  19. import com.chinacreator.videoalliance.common.bean.CPInfo;
  20. import com.chinacreator.videoalliance.common.util.ConfigUtil;
  21. import com.chinacreator.videoalliance.order.bean.OrderInfo;
  22. import com.chinacreator.videoalliance.order.util.JsonUtil;
  23. @Controller
  24. public class QueryOrderAction {
  25. @RequestMapping({"/orderquery.do"})
  26. @DataOut(callback="orderquery")
  27. public DataOutPipe doOrder(HttpServletRequest request, OrderInfo orderInfo,String timestamp,String sign) throws Exception{
  28. DataOutPipe pipe = new DataOutPipe();
  29. List<Map<String,String>> list = new ArrayList<Map<String,String>>();
  30. String userid = orderInfo.getUserid();
  31. String cpid = orderInfo.getCpid();
  32. try{
  33. CPInfo cpInfo = ConfigUtil.getCPInfo(cpid, null);
  34. if(!sign.equals(MD5.MD5Encode(cpid+URLEncoder.encode(userid,"utf-8")+timestamp+cpInfo.getNetpwd()))){
  35. throw new BusinessException("7009", "签名验证失败");
  36. };
  37. if (StringUtils.isNotEmpty(userid)) {
  38. orderInfo.setUserid(DESUtil.decode(userid, cpInfo.getNetpwd()));
  39. if ((orderInfo.getUserid() != null) && (orderInfo.getUserid().length() > 11)) {
  40. orderInfo.setUserid(ConfigUtil.getUserid(orderInfo.getUserid(), orderInfo.getCpid()));
  41. }
  42. }
  43. System.out.println(orderInfo.getUserid()+" "+cpid);
  44. List<com.chinacreator.cache.process.OrderInfo> listorder = hasreslation(orderInfo.getUserid(),cpid);
  45. if(listorder != null && listorder.size()>0){
  46. System.out.println("缓存里面有值:"+listorder.size());
  47. for (com.chinacreator.cache.process.OrderInfo orderInfo2 : listorder) {
  48. Map<String,String> map = new HashMap<String, String>();
  49. map.put("spid", orderInfo2.getProductid());
  50. list.add(map);
  51. }
  52. }else{
  53. System.out.println("缓存里面没有值:");
  54. }
  55. }catch(Exception e){
  56. e.printStackTrace();
  57. if(e instanceof BusinessException){
  58. pipe.setResultCode(((BusinessException) e).getCode());
  59. pipe.setErrorInfo(e.getMessage());
  60. }else{
  61. pipe.setResultCode("8000");
  62. pipe.setErrorInfo("系统忙请稍后再试!");
  63. }
  64. }finally{
  65. pipe.add("datas",JsonUtil.objectToJson(list));
  66. }
  67. return pipe;
  68. }
  69. public List<com.chinacreator.cache.process.OrderInfo> hasreslation(String userid,String cpid) throws Exception {
  70. OrderProcessor processor = new OrderProcessor();
  71. return processor.findByCpid(userid, cpid);
  72. }
  73. public static void main(String[] args) throws Exception {
  74. // OrderProcessor processor = new OrderProcessor();
  75. // List<com.chinacreator.cache.process.OrderInfo> list = processor.findByCpid("18673197465", "tencent");
  76. // for (com.chinacreator.cache.process.OrderInfo orderInfo : list) {
  77. // System.out.println(orderInfo.getSpid());
  78. // }
  79. // System.out.println("18673197465");
  80. // System.out.println(AESUtil.encrypt("18673197465", "ac22273abb2f4960"));
  81. // System.out.println(DESUtil.encode(AESUtil.encrypt("18673197465", "ac22273abb2f4960"), "tenc1234"));
  82. // System.out.println(URLEncoder.encode(DESUtil.encode(AESUtil.encrypt("18673197465", "ac22273abb2f4960"), "tenc1234"), "utf-8"));
  83. // String str = URLEncoder.encode(DESUtil.encode(AESUtil.encrypt("18673197465", "ac22273abb2f4960"), "tenc1234"), "utf-8");
  84. // System.out.println(str);
  85. // System.out.println(MD5.MD5Encode("tencent"+str+"1478712090"+"tenc1234"));
  86. //
  87. //
  88. // System.out.println(AESUtil.decrypt(DESUtil.decode(URLDecoder.decode("1888888888", "utf-8"), ""), ""));
  89. OrderProcessor processor = new OrderProcessor();
  90. List<com.chinacreator.cache.process.OrderInfo> listorder = processor.findByCpid("18673197465", "pptv");
  91. if(listorder != null){
  92. for (com.chinacreator.cache.process.OrderInfo orderInfo : listorder) {
  93. System.out.println(orderInfo.getProductid());
  94. }
  95. }else{
  96. System.out.println("无缓存");
  97. }
  98. }
  99. }