package com.chinacreator.videoalliance.order.action; import com.chinacreator.common.exception.BusinessException; import com.chinacreator.common.pipe.DataOutPipe; import com.chinacreator.common.util.AESUtil; import com.chinacreator.common.util.DESUtil; import com.chinacreator.common.util.URLUtil; import com.chinacreator.videoalliance.common.annotation.DataOut; import com.chinacreator.videoalliance.common.dao.DictionaryDao; import com.chinacreator.videoalliance.common.dao.SysDao; import com.chinacreator.videoalliance.common.util.ConfigUtil; import com.chinacreator.videoalliance.order.bean.CSactivityBean; import com.chinacreator.videoalliance.order.bean.OrderInfo; import com.chinacreator.videoalliance.order.dao.CSactivityDao; import com.chinacreator.videoalliance.order.service.OrderService; import com.chinacreator.videoalliance.order.util.JsonUtil; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.HashMap; import java.util.Map; @Controller public class CShandleAction { @Autowired private OrderService orderService; @Autowired private CSactivityDao csActivityDao; @Autowired private SysDao sysDao; @Autowired private DictionaryDao dictionaryDao; @RequestMapping({ "/csHandle.do" }) @DataOut(callback = "csHandle") public DataOutPipe doOrder(HttpServletRequest request, OrderInfo orderInfo, String orderType, String channel) throws Exception { DataOutPipe pipe = new DataOutPipe(); String userid = orderInfo.getUserid(); if(channel != null && (channel.equals("H5_st1") || channel.equals("PC_pc1"))){ if(csActivityDao.queryBychannel(orderInfo.getCpid(), orderInfo.getSpid(), channel)){ throw new BusinessException("9035", "达到订购上限"); } } if (StringUtils.isEmpty(userid)) { throw new BusinessException("7002", "手机号码无效"); } try { orderInfo.setUserid(ConfigUtil.decrypt(userid, orderInfo.getCpid())); if ((orderInfo.getUserid() != null) && (orderInfo.getUserid().length() > 11)) { orderInfo.setUserid(ConfigUtil.getUserid(orderInfo.getUserid(), orderInfo.getCpid())); } } catch (Exception e) { throw new BusinessException("7002", "手机号码无效"); } orderService.checkCpInfo(orderInfo); String id = sysDao.getID(); orderInfo.setId(id); orderInfo.setOrdertype(Integer.valueOf(orderType)); CSactivityBean bean = new CSactivityBean(); bean.setId(orderInfo.getId()); bean.setUserid(orderInfo.getUserid()); bean.setCpid(orderInfo.getCpid()); bean.setSpid(orderInfo.getSpid()); bean.setState(Integer.valueOf(orderType.equals("0") ? "2" : "4")); bean.setOrderType(orderType); bean.setChannel(channel); csActivityDao.insert(bean); pipe.add("id", id); try { Map map = new HashMap(); map.put("id", id); map.put("userid", orderInfo.getUserid()); map.put("cpid", orderInfo.getCpid()); map.put("spid", orderInfo.getSpid()); map.put("channel", channel); map.put("orderType", orderType); map.put("type", "csorder"); //URLUtil.post("http://10.199.99.177:86/mq-service/recive.do", JsonUtil.objectToJson(map)); URLUtil.post(dictionaryDao.getValue("mqReciveUrl"), JsonUtil.objectToJson(map)); } catch (Exception e) { e.printStackTrace(); } return pipe; } public static void main(String[] args) throws UnsupportedEncodingException, BusinessException, Exception { System.out.println(URLEncoder.encode(DESUtil.encode(AESUtil.encrypt("18687182964", "ac22273abb2f4960"), "chsh5a1d"), "utf-8")); System.out.println(AESUtil.decrypt(DESUtil.decode(URLDecoder.decode("daV10oiotNYw32KafFxm4gdIBftr791mMs9cReComPcAdQ1wMP3rrg%3D%3D", "utf-8"), "chsh5a1d"), "ac22273abb2f4960")); } }