cc2478c0d779dd4436ac1722d650ebce5e75d55c.svn-base 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. package com.chinacreator.videoalliance.query.action;
  2. import java.net.URLEncoder;
  3. import java.text.ParseException;
  4. import java.util.Calendar;
  5. import java.util.Date;
  6. import java.util.HashMap;
  7. import java.util.Map;
  8. import javax.servlet.http.HttpServletRequest;
  9. import org.apache.commons.lang.StringUtils;
  10. import org.apache.commons.lang.math.NumberUtils;
  11. import org.apache.commons.lang.time.DateFormatUtils;
  12. import org.apache.commons.lang.time.DateUtils;
  13. import org.apache.log4j.Logger;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Controller;
  16. import org.springframework.web.bind.annotation.RequestMapping;
  17. import com.chinacreator.common.pipe.DataOutPipe;
  18. import com.chinacreator.common.util.DESUtil;
  19. import com.chinacreator.common.util.URLUtil;
  20. import com.chinacreator.videoalliance.common.annotation.DataOut;
  21. import com.chinacreator.videoalliance.order.bean.EcbProductInfo;
  22. import com.chinacreator.videoalliance.order.service.EcbService;
  23. import com.chinacreator.videoalliance.order.util.JsonUtil;
  24. import com.chinacreator.videoalliance.query.bean.EcbProductXmlBean;
  25. @Controller
  26. public class CsOrderXMLAction {
  27. private static Logger log = Logger.getLogger(CsOrderXMLAction.class);
  28. @Autowired
  29. private EcbService ecbService;
  30. @RequestMapping("/orderproductinfoxml.do")
  31. @DataOut(callback = "orderproductinfoxml")
  32. public DataOutPipe doOrder(HttpServletRequest request, EcbProductXmlBean ecbProductXmlBean, String type)
  33. throws Exception {
  34. DataOutPipe pipe = new DataOutPipe();
  35. String ecbstr = "";
  36. log.info(JsonUtil.objectToJson(ecbProductXmlBean));
  37. EcbProductInfo info = new EcbProductInfo();
  38. info.setDiscntCode(ecbProductXmlBean.getDiscntCode());
  39. if(!type.equals("2")){
  40. if(StringUtils.isEmpty(ecbProductXmlBean.getDiscntStartDate()) || NumberUtils.toLong(ecbProductXmlBean.getDiscntStartDate()) < NumberUtils.toLong(DateFormatUtils.format(new Date(), "yyyyMMddHHmmss"))){
  41. info.setDiscntStartDate(DateFormatUtils.format(new Date(), "yyyyMMddHHmmss"));
  42. }else{
  43. info.setDiscntStartDate(ecbProductXmlBean.getDiscntStartDate());
  44. }
  45. if(StringUtils.isNotEmpty(type) && type.equals("1")){
  46. info.setDiscntEndDate(getLastDay(DateFormatUtils.format(new Date(), "yyyyMMddHHmmss")));
  47. }else{
  48. info.setDiscntEndDate(ecbProductXmlBean.getDiscntEndDate());
  49. }
  50. }else{
  51. type = "0";
  52. info.setDiscntStartDate(ecbProductXmlBean.getDiscntStartDate());
  53. info.setDiscntEndDate(DateFormatUtils.format(new Date(), "yyyyMMddHHmmss"));
  54. }
  55. info.setPackageCode(ecbProductXmlBean.getPackageCode());
  56. info.setProductId(ecbProductXmlBean.getProductId());
  57. String resultecb = ecbService.ecbxml(info, type, ecbProductXmlBean.getUserid(), ecbProductXmlBean.getCpid(), ecbProductXmlBean.getSpid());
  58. log.info("resultecb="+resultecb);
  59. EcbProductXmlBean returnEcbProductXmlBean = (EcbProductXmlBean) JsonUtil.jsonToBean(resultecb, EcbProductXmlBean.class);
  60. try{
  61. if(!StringUtils.isEmpty(returnEcbProductXmlBean.getTransIdo())){
  62. Map<String,String> map = new HashMap<String,String>();
  63. map.put("phoneNo", ecbProductXmlBean.getUserid());
  64. map.put("requestno", returnEcbProductXmlBean.getTransIdo());
  65. map.put("dateTime", DateFormatUtils.format(new Date(), "yyyyMMddHHmmss"));
  66. ecbstr = URLUtil.post("http://172.16.2.169:9999/ecb/test", JsonUtil.objectToJson(map));
  67. }
  68. }catch(Exception e){
  69. log.error(e.getMessage(),e);
  70. }
  71. pipe.add("requeststr", returnEcbProductXmlBean.getRequeststr());
  72. pipe.add("responsestr", returnEcbProductXmlBean.getResponsestr());
  73. pipe.add("transido", returnEcbProductXmlBean.getTransIdo());
  74. pipe.add("ecbstr", ecbstr);
  75. pipe.add("code", returnEcbProductXmlBean.getCode());
  76. pipe.add("errorInfo", returnEcbProductXmlBean.getErrorInfo());
  77. log.info("pipe=:"+JsonUtil.objectToJson(pipe));
  78. return pipe;
  79. }
  80. public static String getLastDay(String timeStr) throws ParseException{
  81. Calendar calendar = Calendar.getInstance();
  82. if(!StringUtils.isEmpty(timeStr)){
  83. calendar.setTime(DateUtils.parseDate(timeStr, new String[]{"yyyyMMddHHmmss"}));
  84. }
  85. calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
  86. return DateFormatUtils.format(calendar, "yyyyMMdd")+"235959";
  87. }
  88. public static void main(String[] args) throws Exception {
  89. String url = "http://114.255.201.228:86/videoif/queryproductinfo.do?";
  90. String userid = DESUtil.encode("18667191697", "chsh5a1d");
  91. userid = URLEncoder.encode(userid, "UTF-8");
  92. String result = URLUtil.get(url + "cpid=changshi&userid=" + userid + "&apptype=2");
  93. System.out.println(result);
  94. }
  95. }