78cc16b9845bac744ad0bb3806e762cd020546db.svn-base 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package com.chinacreator.videoalliance.order.action;
  2. import java.io.UnsupportedEncodingException;
  3. import java.net.URLEncoder;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6. import javax.servlet.http.HttpServletRequest;
  7. import org.apache.commons.lang.StringUtils;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Controller;
  10. import org.springframework.web.bind.annotation.RequestMapping;
  11. import org.springframework.web.bind.annotation.ResponseBody;
  12. import com.chinacreator.common.exception.BusinessException;
  13. import com.chinacreator.common.support.util.SpringContextUtil;
  14. import com.chinacreator.common.util.AESUtil;
  15. import com.chinacreator.videoalliance.order.bean.ExperienceOrderLog;
  16. import com.chinacreator.videoalliance.order.bean.ExperienceProductBean;
  17. import com.chinacreator.videoalliance.order.dao.ExperienceChannelOrderDao;
  18. import com.chinacreator.videoalliance.order.process.AbstractExperienceOrder;
  19. @Controller
  20. public class ExperienceChannelOrderAction {
  21. @Autowired
  22. private ExperienceChannelOrderDao experienceChannelOrderDao;
  23. @RequestMapping("/experienceChannelOrder.do")
  24. @ResponseBody
  25. public Object order(HttpServletRequest request) throws Exception{
  26. ExperienceOrderLog log = new ExperienceOrderLog();
  27. Map<String,String> outmap = new HashMap<String, String>();
  28. String userid = request.getParameter("userid");
  29. String orderNum = request.getParameter("orderNum");
  30. String effecttime = request.getParameter("effecttime");//tlj add
  31. String productid = request.getParameter("productid");
  32. String channel = request.getParameter("channel");
  33. log.setOrderNum(orderNum);
  34. log.setProductid(productid);
  35. log.setChannel(channel);
  36. String resultcode = "0";
  37. String errorinfo = "";
  38. try{
  39. ExperienceProductBean bean = experienceChannelOrderDao.queryproduct(channel, productid);
  40. if(bean == null){
  41. throw new BusinessException("9001", "渠道或者产品错误");
  42. }
  43. try{
  44. userid = AESUtil.decrypt(userid, bean.getKey());
  45. }catch(Exception e){
  46. throw new BusinessException("9002", "手机号码解密失败");
  47. }
  48. log.setUserid(userid);
  49. if(!StringUtils.isNumeric(orderNum) && orderNum.equals("")){
  50. throw new BusinessException("9003", "体验时间戳不正确");
  51. }
  52. bean.setOrderNum(Integer.parseInt(orderNum));
  53. AbstractExperienceOrder abstractExperienceOrder = (AbstractExperienceOrder) SpringContextUtil.getBean(bean.getProcess());
  54. outmap = abstractExperienceOrder.order(bean,userid,orderNum,effecttime,log); //tlj add (orderTime,)
  55. }catch(Exception e){
  56. if (e instanceof BusinessException) {
  57. resultcode = ((BusinessException) e).getCode();
  58. errorinfo = ((BusinessException) e).getMessage();
  59. }else{
  60. e.printStackTrace();
  61. resultcode = "8000";
  62. errorinfo = "系统忙,请稍后再试!";
  63. }
  64. outmap.put("resultcode", resultcode);
  65. outmap.put("errorinfo", errorinfo);
  66. }
  67. log.setResultcode(outmap.get("resultcode"));
  68. log.setErrorinfo(outmap.get("errorinfo"));
  69. experienceChannelOrderDao.insertlog(log);
  70. return outmap;
  71. }
  72. public static void main(String[] args) throws UnsupportedEncodingException, BusinessException {
  73. //System.out.println(URLEncoder.encode(AESUtil.encrypt("18673197465", "048871ca4c8644er"),"utf-8"));
  74. System.out.println(AESUtil.decrypt("98dd0183603937342fa8ff2ccb8c511b", "048888ca4c8644bd"));
  75. // URLUtil.post("http://127.0.0.1:8080/videoalliance/experienceChannelOrder.do/order/pay.do", data, 2000);
  76. }
  77. public String addParam(String url, String key, String value) {
  78. if (value == null)
  79. return url;
  80. if (url.indexOf("?") == -1) {
  81. url += "?";
  82. } else {
  83. url += "&";
  84. }
  85. return url + key + "=" + value;
  86. }
  87. }