package com.chinacreator.videoalliance.query.action; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.time.DateFormatUtils; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import com.chinacreator.common.pipe.DataOutPipe; import com.chinacreator.common.util.URLUtil; import com.chinacreator.videoalliance.common.annotation.DataOut; import com.chinacreator.videoalliance.order.bean.EcbProductInfo; import com.chinacreator.videoalliance.order.bean.EcbResponseBean; import com.chinacreator.videoalliance.order.service.EcbService; import com.chinacreator.videoalliance.order.util.JsonUtil; import com.chinacreator.videoalliance.query.bean.EcbProductXmlBean; @Controller public class WxcsQueryProductXMLAction { private static Logger log = Logger .getLogger(WxcsQueryProductXMLAction.class); @Autowired private EcbService ecbService; @RequestMapping("/wxcsqueryproductinfoxml.do") @DataOut(callback = "queryproductinfoxml") public DataOutPipe doOrder(HttpServletRequest request, String cpid, String userid) throws Exception { DataOutPipe pipe = new DataOutPipe(); String ecbstr = ""; List listxmBean = new ArrayList(); EcbResponseBean bean = ecbService.queryPorductXML(userid, cpid, "", "0"); String transIdo = bean.getTransIdo(); try { if (!StringUtils.isEmpty(transIdo)) { Map map = new HashMap(); map.put("phoneNo", userid); map.put("requestno", transIdo); map.put("dateTime", DateFormatUtils.format(new Date(), "yyyyMMddHHmmss")); ecbstr = URLUtil.post("http://172.16.2.169:9999/ecb/test",JsonUtil.objectToJson(map)); } } catch (Exception e) { log.error(e.getMessage(), e); } if (bean.getUserProductInfo() != null && bean.getUserProductInfo().getProductInfos() != null) { List list = bean.getUserProductInfo().getProductInfos(); log.info(userid + "EcbProductInfolist"+ JsonUtil.objectToJson(list)); boolean isLocalCanOrder = false; for (EcbProductInfo ecbProductInfo : list) { EcbProductXmlBean xmlbean = getXmlBean(ecbProductInfo, bean); xmlbean.setEcbstr(ecbstr); xmlbean.setUserid(userid); xmlbean.setCpid("changshi"); if (StringUtils.isEmpty(xmlbean.getDiscntValue())|| xmlbean.getDiscntValue().equals("0")) { xmlbean.setSpid("1040"); }else if (xmlbean.getDiscntValue().equals("1")) { xmlbean.setSpid("1150"); }else{ xmlbean.setSpid("1041"); } if (!isLocalCanOrder) { List choseResultList = this.ecbService.choseWxcsProduct(list); if ((choseResultList != null) && (choseResultList.size() > 0) && (this.ecbService.choseWxcsProduct(list).get(0) == ecbProductInfo)) { xmlbean.setCanLocalOrder("0"); isLocalCanOrder = true; } else { xmlbean.setCanLocalOrder("1"); } } listxmBean.add(xmlbean); } } else { EcbProductXmlBean errorEcbProductXmlBean = new EcbProductXmlBean(); errorEcbProductXmlBean.setEcbstr(ecbstr); errorEcbProductXmlBean.setUserid(userid); errorEcbProductXmlBean.setCode(bean.getCode()); errorEcbProductXmlBean.setErrorInfo(bean.getErrorInfo()); errorEcbProductXmlBean.setTransIdo(bean.getTransIdo()); errorEcbProductXmlBean.setRequeststr(bean.getRequeststr()); errorEcbProductXmlBean.setResponsestr(bean.getResponsestr()); log.info("errorEcbProductXmlBean=" + JsonUtil.objectToJson(errorEcbProductXmlBean)); listxmBean.add(errorEcbProductXmlBean); } pipe.add("total", listxmBean.size()); pipe.add("rows", listxmBean); return pipe; } public static EcbProductXmlBean getXmlBean(EcbProductInfo ecbProductInfo, EcbResponseBean bean) { EcbProductXmlBean xmlBean = new EcbProductXmlBean(); xmlBean.setProductId(ecbProductInfo.getProductId()); xmlBean.setProductName(ecbProductInfo.getProductName()); xmlBean.setPackageCode(ecbProductInfo.getPackageCode()); xmlBean.setPackageName(ecbProductInfo.getPackageName()); xmlBean.setDiscntCode(ecbProductInfo.getDiscntCode()); xmlBean.setDiscntName(ecbProductInfo.getDiscntName()); xmlBean.setDiscntFee(ecbProductInfo.getDiscntFee()); xmlBean.setDiscntStartDate(ecbProductInfo.getDiscntStartDate()); xmlBean.setDiscntEndDate(ecbProductInfo.getDiscntEndDate()); xmlBean.setDiscntOrderState(ecbProductInfo.getDiscntOrderState()); xmlBean.setDiscntValue(ecbProductInfo.getDiscntValue()); xmlBean.setErrorInfo(bean.getErrorInfo()); xmlBean.setCode(bean.getCode()); xmlBean.setRequeststr(bean.getRequeststr()); xmlBean.setResponsestr(bean.getResponsestr()); xmlBean.setUserProductId(bean.getUserProductInfo().getUserProductId()); xmlBean.setUserProductName(bean.getUserProductInfo() .getUserProductName()); xmlBean.setTransIdo(bean.getTransIdo()); xmlBean.setCanLocalOrder("0"); xmlBean.setUserid(bean.getUserid()); return xmlBean; } public static void main(String[] args) throws Exception { } }