739b31fbc656e524c228eac14edc6cad4413bb3a.svn-base 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. package com.chinacreator.videoalliance.query.action;
  2. import java.util.ArrayList;
  3. import java.util.Date;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import javax.servlet.http.HttpServletRequest;
  8. import org.apache.commons.lang.StringUtils;
  9. import org.apache.commons.lang.time.DateFormatUtils;
  10. import org.apache.log4j.Logger;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Controller;
  13. import org.springframework.web.bind.annotation.RequestMapping;
  14. import com.chinacreator.common.pipe.DataOutPipe;
  15. import com.chinacreator.common.util.URLUtil;
  16. import com.chinacreator.videoalliance.common.annotation.DataOut;
  17. import com.chinacreator.videoalliance.order.bean.EcbProductInfo;
  18. import com.chinacreator.videoalliance.order.bean.EcbResponseBean;
  19. import com.chinacreator.videoalliance.order.service.EcbService;
  20. import com.chinacreator.videoalliance.order.util.JsonUtil;
  21. import com.chinacreator.videoalliance.query.bean.EcbProductXmlBean;
  22. @Controller
  23. public class WxcsQueryProductXMLAction {
  24. private static Logger log = Logger
  25. .getLogger(WxcsQueryProductXMLAction.class);
  26. @Autowired
  27. private EcbService ecbService;
  28. @RequestMapping("/wxcsqueryproductinfoxml.do")
  29. @DataOut(callback = "queryproductinfoxml")
  30. public DataOutPipe doOrder(HttpServletRequest request, String cpid,
  31. String userid) throws Exception {
  32. DataOutPipe pipe = new DataOutPipe();
  33. String ecbstr = "";
  34. List<EcbProductXmlBean> listxmBean = new ArrayList<EcbProductXmlBean>();
  35. EcbResponseBean bean = ecbService.queryPorductXML(userid, cpid, "", "0");
  36. String transIdo = bean.getTransIdo();
  37. try {
  38. if (!StringUtils.isEmpty(transIdo)) {
  39. Map<String, String> map = new HashMap<String, String>();
  40. map.put("phoneNo", userid);
  41. map.put("requestno", transIdo);
  42. map.put("dateTime",
  43. DateFormatUtils.format(new Date(), "yyyyMMddHHmmss"));
  44. ecbstr = URLUtil.post("http://172.16.2.169:9999/ecb/test",JsonUtil.objectToJson(map));
  45. }
  46. } catch (Exception e) {
  47. log.error(e.getMessage(), e);
  48. }
  49. if (bean.getUserProductInfo() != null && bean.getUserProductInfo().getProductInfos() != null) {
  50. List<EcbProductInfo> list = bean.getUserProductInfo().getProductInfos();
  51. log.info(userid + "EcbProductInfolist"+ JsonUtil.objectToJson(list));
  52. boolean isLocalCanOrder = false;
  53. for (EcbProductInfo ecbProductInfo : list) {
  54. EcbProductXmlBean xmlbean = getXmlBean(ecbProductInfo, bean);
  55. xmlbean.setEcbstr(ecbstr);
  56. xmlbean.setUserid(userid);
  57. xmlbean.setCpid("changshi");
  58. if (StringUtils.isEmpty(xmlbean.getDiscntValue())|| xmlbean.getDiscntValue().equals("0")) {
  59. xmlbean.setSpid("1040");
  60. }else if (xmlbean.getDiscntValue().equals("1")) {
  61. xmlbean.setSpid("1150");
  62. }else{
  63. xmlbean.setSpid("1041");
  64. }
  65. if (!isLocalCanOrder) {
  66. List<EcbProductInfo> choseResultList = this.ecbService.choseWxcsProduct(list);
  67. if ((choseResultList != null) && (choseResultList.size() > 0) && (this.ecbService.choseWxcsProduct(list).get(0) == ecbProductInfo)) {
  68. xmlbean.setCanLocalOrder("0");
  69. isLocalCanOrder = true;
  70. } else {
  71. xmlbean.setCanLocalOrder("1");
  72. }
  73. }
  74. listxmBean.add(xmlbean);
  75. }
  76. } else {
  77. EcbProductXmlBean errorEcbProductXmlBean = new EcbProductXmlBean();
  78. errorEcbProductXmlBean.setEcbstr(ecbstr);
  79. errorEcbProductXmlBean.setUserid(userid);
  80. errorEcbProductXmlBean.setCode(bean.getCode());
  81. errorEcbProductXmlBean.setErrorInfo(bean.getErrorInfo());
  82. errorEcbProductXmlBean.setTransIdo(bean.getTransIdo());
  83. errorEcbProductXmlBean.setRequeststr(bean.getRequeststr());
  84. errorEcbProductXmlBean.setResponsestr(bean.getResponsestr());
  85. log.info("errorEcbProductXmlBean="
  86. + JsonUtil.objectToJson(errorEcbProductXmlBean));
  87. listxmBean.add(errorEcbProductXmlBean);
  88. }
  89. pipe.add("total", listxmBean.size());
  90. pipe.add("rows", listxmBean);
  91. return pipe;
  92. }
  93. public static EcbProductXmlBean getXmlBean(EcbProductInfo ecbProductInfo,
  94. EcbResponseBean bean) {
  95. EcbProductXmlBean xmlBean = new EcbProductXmlBean();
  96. xmlBean.setProductId(ecbProductInfo.getProductId());
  97. xmlBean.setProductName(ecbProductInfo.getProductName());
  98. xmlBean.setPackageCode(ecbProductInfo.getPackageCode());
  99. xmlBean.setPackageName(ecbProductInfo.getPackageName());
  100. xmlBean.setDiscntCode(ecbProductInfo.getDiscntCode());
  101. xmlBean.setDiscntName(ecbProductInfo.getDiscntName());
  102. xmlBean.setDiscntFee(ecbProductInfo.getDiscntFee());
  103. xmlBean.setDiscntStartDate(ecbProductInfo.getDiscntStartDate());
  104. xmlBean.setDiscntEndDate(ecbProductInfo.getDiscntEndDate());
  105. xmlBean.setDiscntOrderState(ecbProductInfo.getDiscntOrderState());
  106. xmlBean.setDiscntValue(ecbProductInfo.getDiscntValue());
  107. xmlBean.setErrorInfo(bean.getErrorInfo());
  108. xmlBean.setCode(bean.getCode());
  109. xmlBean.setRequeststr(bean.getRequeststr());
  110. xmlBean.setResponsestr(bean.getResponsestr());
  111. xmlBean.setUserProductId(bean.getUserProductInfo().getUserProductId());
  112. xmlBean.setUserProductName(bean.getUserProductInfo()
  113. .getUserProductName());
  114. xmlBean.setTransIdo(bean.getTransIdo());
  115. xmlBean.setCanLocalOrder("0");
  116. xmlBean.setUserid(bean.getUserid());
  117. return xmlBean;
  118. }
  119. public static void main(String[] args) throws Exception {
  120. }
  121. }