e36d627dddae28f64897d8bf4faebb03d33103f3.svn-base 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package com.chinacreator.videoalliance.order.action;
  2. import javax.servlet.http.HttpServletRequest;
  3. import com.chinacreator.common.exception.BusinessException;
  4. import com.chinacreator.common.pipe.DataOutPipe;
  5. import com.chinacreator.common.util.DESUtil;
  6. import com.chinacreator.common.util.RequestUtil;
  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 com.chinacreator.videoalliance.common.annotation.DataOut;
  12. import com.chinacreator.videoalliance.order.bean.ChannelOrgBean;
  13. import com.chinacreator.videoalliance.order.bean.OrderInfo;
  14. import com.chinacreator.videoalliance.order.dao.ChannelDao;
  15. import com.chinacreator.videoalliance.order.service.OrderService;
  16. @Controller
  17. public class ChannelOrderAction {
  18. @Autowired
  19. private OrderService orderService;
  20. @Autowired
  21. private ChannelDao channelDao;
  22. @RequestMapping({ "/channelOrgOrder.do" })
  23. @DataOut(callback = "channelOrgOrder")
  24. public DataOutPipe doOrder(HttpServletRequest request, OrderInfo orderInfo, String channel) throws Exception {
  25. DataOutPipe pipe = new DataOutPipe();
  26. orderInfo.setTimes(System.currentTimeMillis() + "");
  27. if (StringUtils.isEmpty(orderInfo.getUserid()) || StringUtils.isEmpty(channel)) {
  28. throw new BusinessException("9003", "参数错误");
  29. }
  30. ChannelOrgBean channelOrgBean = channelDao.findByChannelId(channel);
  31. if (channelOrgBean == null || channelOrgBean.getStatus().equals("1")) {
  32. throw new BusinessException("9001", "渠道参数错误");
  33. }
  34. try {
  35. orderInfo.setUserid(DESUtil.decode(orderInfo.getUserid(), channelOrgBean.getPassword()));
  36. } catch (Exception e) {
  37. throw new BusinessException("9002", "手机号码解析错误");
  38. }
  39. orderInfo.setApptype(RequestUtil.getMobType(request));
  40. orderInfo.setStatus(0);
  41. orderInfo.setOrderchannel(channel);
  42. orderInfo.setOrderstatus(2);
  43. this.orderService.checkOrder(orderInfo);
  44. this.orderService.order(orderInfo);
  45. return pipe;
  46. }
  47. public String getRemortIP(HttpServletRequest request) {
  48. if (request.getHeader("x-forwarded-for") == null) {
  49. return request.getRemoteAddr();
  50. }
  51. return request.getHeader("x-forwarded-for");
  52. }
  53. }