651a28462ad4c972abf1c30df4dc6cff77e7b4a2.svn-base 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. package com.chinacreator.videoalliance.order.action;
  2. import com.chinacreator.common.exception.BusinessException;
  3. import com.chinacreator.common.pipe.DataOutPipe;
  4. import com.chinacreator.common.util.Base64;
  5. import com.chinacreator.common.util.DESUtil;
  6. import com.chinacreator.common.util.RequestUtil;
  7. import com.chinacreator.videoalliance.common.annotation.DataOut;
  8. import com.chinacreator.videoalliance.common.dao.DictionaryDao;
  9. import com.chinacreator.videoalliance.common.dao.SysDao;
  10. import com.chinacreator.videoalliance.common.util.ConfigUtil;
  11. import com.chinacreator.videoalliance.common.util.SmsUtil;
  12. import com.chinacreator.videoalliance.order.bean.CustomSpInfo;
  13. import com.chinacreator.videoalliance.order.bean.MemberlogBean;
  14. import com.chinacreator.videoalliance.order.bean.OrderInfo;
  15. import com.chinacreator.videoalliance.order.dao.CustomDao;
  16. import com.chinacreator.videoalliance.order.service.OrderService;
  17. import com.chinacreator.videoalliance.order.service.VIPOrderServise;
  18. import com.chinacreator.videoalliance.order.util.IpAddrUtil;
  19. import org.apache.commons.lang.StringUtils;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.stereotype.Controller;
  22. import org.springframework.web.bind.annotation.RequestMapping;
  23. import javax.servlet.http.HttpServletRequest;
  24. import java.io.UnsupportedEncodingException;
  25. import java.net.URLEncoder;
  26. import java.sql.SQLException;
  27. @Controller
  28. public class NumberOrderAction {
  29. @Autowired
  30. private OrderService orderService;
  31. @Autowired
  32. private VIPOrderServise vipServise;
  33. @Autowired
  34. private SysDao sysDao;
  35. @Autowired
  36. private DictionaryDao dictionaryDao;
  37. @Autowired
  38. private CustomDao customDao;
  39. @RequestMapping({ "/numOrder.do" })
  40. @DataOut(callback = "numOrder")
  41. public DataOutPipe doOrder(HttpServletRequest request, OrderInfo orderInfo, String channel, String numcode)
  42. throws Exception {
  43. DataOutPipe pipe = new DataOutPipe();
  44. MemberlogBean logBean = new MemberlogBean();
  45. String resultcode = "0";
  46. String errorinfo = "";
  47. if (StringUtils.isEmpty(numcode)) {
  48. throw new BusinessException("9001", "参数错误");
  49. }
  50. String userid = orderInfo.getUserid();
  51. pipe.add("userid", URLEncoder.encode(userid, "utf-8"));
  52. CustomSpInfo customSpInfo = customDao.findByCP(orderInfo.getCpid(),orderInfo.getSpid());
  53. try{
  54. getLogBean(orderInfo, numcode, logBean);
  55. if (StringUtils.isNotEmpty(userid)) {
  56. orderInfo.setUserid(ConfigUtil.decrypt(userid, orderInfo.getCpid()));
  57. if ((orderInfo.getUserid() != null) && (orderInfo.getUserid().length() > 11)) {
  58. orderInfo.setUserid(ConfigUtil.getUserid(orderInfo.getUserid(), orderInfo.getCpid()));
  59. }
  60. }
  61. logBean.setUserid(orderInfo.getUserid());
  62. orderInfo.setApptype(RequestUtil.getMobType(request));
  63. orderInfo.setStatus(0);
  64. orderInfo.setOrderchannel(channel);
  65. orderInfo.setOrderstatus(2);
  66. vipServise.checkVip(numcode,orderInfo);
  67. orderService.checkOrder(orderInfo);
  68. vipServise.checkOrder(orderInfo);
  69. vipServise.getFlowOrder(orderInfo);
  70. vipServise.giveVIP(orderInfo, numcode,IpAddrUtil.getIpAddr(request),logBean,customSpInfo);
  71. }catch(Exception e){
  72. resultcode = "8000";
  73. errorinfo = "系统忙";
  74. e.printStackTrace();
  75. if(e instanceof BusinessException){
  76. resultcode = ((BusinessException) e).getCode();
  77. errorinfo = ((BusinessException) e).getMessage();
  78. }
  79. logBean.setResultcode(resultcode);
  80. logBean.setErrorinfo(errorinfo);
  81. }finally{
  82. pipe.add("numcode", numcode);
  83. pipe.add("ordertime", orderInfo.getOrdertime() == null ? "" : orderInfo.getOrdertime());
  84. if(orderInfo.getOrdertime() == null ){
  85. orderInfo.setEndtime("");
  86. }
  87. pipe.add("endtime", orderInfo.getEndtime() == null ? "" : orderInfo.getEndtime());
  88. if(StringUtils.isEmpty( logBean.getPwd())){
  89. pipe.add("pwd","");
  90. }else{
  91. pipe.add("pwd", URLEncoder.encode(DESUtil.encode(logBean.getPwd(), "eb0b1e2b"), "UTF-8"));
  92. }
  93. pipe.add("ordertype", "1");
  94. pipe.add("membertime", logBean.getMembertime() == null ? "" : logBean.getMembertime());
  95. pipe.setResultCode(resultcode);
  96. pipe.setErrorInfo(errorinfo);
  97. pipe.add("errorcode", logBean.getErrorinfo() == null ? "" : URLEncoder.encode(Base64.encodeBase64String(logBean.getErrorinfo().getBytes()),"UTF-8"));
  98. vipServise.saveVIPLog(logBean);
  99. if(customSpInfo.getIssms().equals("1")){
  100. String content = "";
  101. try{
  102. if(resultcode.equals("9043") ){
  103. content = dictionaryDao.getValue("mgtvsmserr");
  104. }else if(resultcode.equals("0")){
  105. content = dictionaryDao.getValue("mgtvsmssucc").replace("{ordertime}", orderInfo.getOrdertime());
  106. content = content.replace("{endtime}", orderInfo.getEndtime());
  107. content = content.replace("{membertime}",logBean.getMembertime()) ;
  108. content = content.replace("{userid}",orderInfo.getUserid()) ;
  109. content = content.replace("{pwd}",logBean.getPwd()) ;
  110. }else if(resultcode.equals("9010") ){
  111. content = dictionaryDao.getValue("mgtvsmscf");
  112. }
  113. System.out.println(orderInfo.getUserid()+":"+content);
  114. SmsUtil.sendSms(orderInfo.getUserid(), content);
  115. }catch(Exception e){
  116. e.printStackTrace();
  117. }
  118. }
  119. }
  120. return pipe;
  121. }
  122. public void getLogBean(OrderInfo orderInfo,String numcode,MemberlogBean logBean) throws SQLException{
  123. logBean.setCpid(orderInfo.getCpid());
  124. logBean.setSpid(orderInfo.getSpid());
  125. logBean.setNumcode(numcode);
  126. logBean.setId(sysDao.getID());
  127. //logBean.setUserid(orderInfo.getUserid());
  128. }
  129. public static void main(String[] args) throws UnsupportedEncodingException, Exception {
  130. System.out.println(URLEncoder.encode(DESUtil.encode("18574414678", "eb0b1e2b"), "utf-8"));
  131. }
  132. }