123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- 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"));
- }
- }
|