123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- package com.chinacreator.videoalliance.order.action;
- import com.chinacreator.common.exception.BusinessException;
- import com.chinacreator.common.pipe.DataOutPipe;
- import com.chinacreator.common.util.Base64;
- import com.chinacreator.common.util.DESUtil;
- import com.chinacreator.common.util.RequestUtil;
- 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.common.util.SmsUtil;
- import com.chinacreator.videoalliance.order.bean.CustomSpInfo;
- import com.chinacreator.videoalliance.order.bean.MemberlogBean;
- import com.chinacreator.videoalliance.order.bean.OrderInfo;
- import com.chinacreator.videoalliance.order.dao.CustomDao;
- import com.chinacreator.videoalliance.order.service.OrderService;
- import com.chinacreator.videoalliance.order.service.VIPOrderServise;
- import com.chinacreator.videoalliance.order.util.IpAddrUtil;
- 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.URLEncoder;
- import java.sql.SQLException;
- @Controller
- public class NumberOrderAction {
- @Autowired
- private OrderService orderService;
- @Autowired
- private VIPOrderServise vipServise;
- @Autowired
- private SysDao sysDao;
- @Autowired
- private DictionaryDao dictionaryDao;
- @Autowired
- private CustomDao customDao;
- @RequestMapping({ "/numOrder.do" })
- @DataOut(callback = "numOrder")
- public DataOutPipe doOrder(HttpServletRequest request, OrderInfo orderInfo, String channel, String numcode)
- throws Exception {
- DataOutPipe pipe = new DataOutPipe();
- MemberlogBean logBean = new MemberlogBean();
- String resultcode = "0";
- String errorinfo = "";
- if (StringUtils.isEmpty(numcode)) {
- throw new BusinessException("9001", "参数错误");
- }
- String userid = orderInfo.getUserid();
- pipe.add("userid", URLEncoder.encode(userid, "utf-8"));
- CustomSpInfo customSpInfo = customDao.findByCP(orderInfo.getCpid(),orderInfo.getSpid());
- try{
- getLogBean(orderInfo, numcode, logBean);
- if (StringUtils.isNotEmpty(userid)) {
- orderInfo.setUserid(ConfigUtil.decrypt(userid, orderInfo.getCpid()));
- if ((orderInfo.getUserid() != null) && (orderInfo.getUserid().length() > 11)) {
- orderInfo.setUserid(ConfigUtil.getUserid(orderInfo.getUserid(), orderInfo.getCpid()));
- }
- }
- logBean.setUserid(orderInfo.getUserid());
- orderInfo.setApptype(RequestUtil.getMobType(request));
- orderInfo.setStatus(0);
- orderInfo.setOrderchannel(channel);
- orderInfo.setOrderstatus(2);
- vipServise.checkVip(numcode,orderInfo);
- orderService.checkOrder(orderInfo);
- vipServise.checkOrder(orderInfo);
- vipServise.getFlowOrder(orderInfo);
- vipServise.giveVIP(orderInfo, numcode,IpAddrUtil.getIpAddr(request),logBean,customSpInfo);
- }catch(Exception e){
- resultcode = "8000";
- errorinfo = "系统忙";
- e.printStackTrace();
- if(e instanceof BusinessException){
- resultcode = ((BusinessException) e).getCode();
- errorinfo = ((BusinessException) e).getMessage();
- }
- logBean.setResultcode(resultcode);
- logBean.setErrorinfo(errorinfo);
- }finally{
- pipe.add("numcode", numcode);
- pipe.add("ordertime", orderInfo.getOrdertime() == null ? "" : orderInfo.getOrdertime());
- if(orderInfo.getOrdertime() == null ){
- orderInfo.setEndtime("");
- }
- pipe.add("endtime", orderInfo.getEndtime() == null ? "" : orderInfo.getEndtime());
- if(StringUtils.isEmpty( logBean.getPwd())){
- pipe.add("pwd","");
- }else{
- pipe.add("pwd", URLEncoder.encode(DESUtil.encode(logBean.getPwd(), "eb0b1e2b"), "UTF-8"));
- }
- pipe.add("ordertype", "1");
- pipe.add("membertime", logBean.getMembertime() == null ? "" : logBean.getMembertime());
- pipe.setResultCode(resultcode);
- pipe.setErrorInfo(errorinfo);
- pipe.add("errorcode", logBean.getErrorinfo() == null ? "" : URLEncoder.encode(Base64.encodeBase64String(logBean.getErrorinfo().getBytes()),"UTF-8"));
- vipServise.saveVIPLog(logBean);
- if(customSpInfo.getIssms().equals("1")){
- String content = "";
- try{
- if(resultcode.equals("9043") ){
- content = dictionaryDao.getValue("mgtvsmserr");
- }else if(resultcode.equals("0")){
- content = dictionaryDao.getValue("mgtvsmssucc").replace("{ordertime}", orderInfo.getOrdertime());
- content = content.replace("{endtime}", orderInfo.getEndtime());
- content = content.replace("{membertime}",logBean.getMembertime()) ;
- content = content.replace("{userid}",orderInfo.getUserid()) ;
- content = content.replace("{pwd}",logBean.getPwd()) ;
- }else if(resultcode.equals("9010") ){
- content = dictionaryDao.getValue("mgtvsmscf");
- }
- System.out.println(orderInfo.getUserid()+":"+content);
- SmsUtil.sendSms(orderInfo.getUserid(), content);
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- }
- return pipe;
- }
- public void getLogBean(OrderInfo orderInfo,String numcode,MemberlogBean logBean) throws SQLException{
- logBean.setCpid(orderInfo.getCpid());
- logBean.setSpid(orderInfo.getSpid());
- logBean.setNumcode(numcode);
- logBean.setId(sysDao.getID());
- //logBean.setUserid(orderInfo.getUserid());
- }
- public static void main(String[] args) throws UnsupportedEncodingException, Exception {
- System.out.println(URLEncoder.encode(DESUtil.encode("18574414678", "eb0b1e2b"), "utf-8"));
- }
- }
|