package com.chinacreator.videoalliance.order.action; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import com.chinacreator.common.util.DESUtil; import org.apache.commons.lang.StringUtils; 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.exception.BusinessException; import com.chinacreator.common.pipe.DataOutPipe; import com.chinacreator.videoalliance.common.annotation.DataOut; import com.chinacreator.videoalliance.common.util.ConfigUtil; import com.chinacreator.videoalliance.order.bean.BussinessBean; import com.chinacreator.videoalliance.order.bean.OrderInfo; import com.chinacreator.videoalliance.order.bean.WxcsBean; import com.chinacreator.videoalliance.order.dao.BussinessDao; import com.chinacreator.videoalliance.order.dao.CsOrderControlDao; import com.chinacreator.videoalliance.order.dao.OrderDao; import com.chinacreator.videoalliance.order.dao.WxcsDao; import com.chinacreator.videoalliance.order.service.WxcsService; import com.chinacreator.videoalliance.order.util.JsonUtil; @Controller public class CanOrderAction { private static Logger log = Logger.getLogger(CanOrderAction.class); @Autowired private WxcsService wxcsService; @Autowired private WxcsDao wxcsDao; @Autowired private BussinessDao bussinessDao; @Autowired private CsOrderControlDao csOrderControlDao; @Autowired private OrderDao orderDao; @RequestMapping({ "/canorder.do" }) @DataOut(callback = "canorder") public DataOutPipe doOrder(HttpServletRequest request, String cpid, String spid, String userid, String discntFee, String discntCode) throws Exception { DataOutPipe pipe = new DataOutPipe(); int vipstatus = 0; int flowstatus = 0; if (StringUtils.isNotEmpty(userid)) { userid = ConfigUtil.decrypt(userid, cpid); if ((userid != null) && (userid.length() > 11)) { userid = ConfigUtil.getUserid(userid, cpid); } WxcsBean wxcsBean = wxcsDao.getConfig(cpid, spid); if(wxcsBean == null){ throw new BusinessException("7002", "参数错误"); } vipstatus = wxcsService.checkVipConfig(wxcsBean, discntFee); flowstatus = wxcsService.checkFlowConfig(wxcsBean, discntFee); if(vipstatus == 0 || flowstatus == 0){ if(csOrderControlDao.discntFeeControl(discntCode, cpid, spid)){ if(vipstatus == 0){ vipstatus =6; } if(flowstatus == 0){ flowstatus =5; } } } if (vipstatus == 0 || flowstatus == 0) { BussinessBean bussinessBean = bussinessDao.getBussinessInfo(cpid, spid, userid); if(bussinessBean == null){ OrderInfo orderInfo = orderDao.findByUser(userid, cpid, spid); if(orderInfo == null){ if(vipstatus == 0){ vipstatus = 2; } if(flowstatus == 0){ flowstatus = 2; } }else{ if(vipstatus == 0){ vipstatus = 0; } if(flowstatus == 0){ flowstatus = 0; } } } if (vipstatus == 0 && bussinessBean !=null) { vipstatus = wxcsService.checkVip(bussinessBean); } if (flowstatus == 0 && bussinessBean !=null) { flowstatus = wxcsService.checkFlow(bussinessBean); } } pipe.add("vipcode", ""); pipe.add("vipname", ""); pipe.add("vipstatus", vipstatus); pipe.add("flowstatus", flowstatus); log.info("会员+流量赠送结果查询"+JsonUtil.objectToJson(pipe)); } return pipe; } public static void main(String[] args) throws UnsupportedEncodingException, Exception { System.out.println(DESUtil.decode(URLDecoder.decode("TIdFDJ3zAoOo4gf7at91aA%3D%3D", "utf-8"), "ed8d9d3a")); } }