123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- 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<EcbProductXmlBean> listxmBean = new ArrayList<EcbProductXmlBean>();
- EcbResponseBean bean = ecbService.queryPorductXML(userid, cpid, "", "0");
- String transIdo = bean.getTransIdo();
- try {
- if (!StringUtils.isEmpty(transIdo)) {
- Map<String, String> map = new HashMap<String, String>();
- 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<EcbProductInfo> 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<EcbProductInfo> 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 {
- }
- }
|