3b46a5093301539baa429241f1facb803c9c7677.svn-base 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package com.chinacreator.process.service;
  2. import com.chinacreator.common.util.URLUtil;
  3. import com.chinacreator.process.bean.OrderBean;
  4. import com.chinacreator.process.dao.DictionaryDao;
  5. import com.chinacreator.process.util.JsonUtil;
  6. import com.chinacreator.process.util.fakeid.MD5;
  7. import org.apache.log4j.Logger;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Component;
  10. import java.sql.SQLException;
  11. import java.util.Date;
  12. import java.util.Map;
  13. /**
  14. * N天后订购送N天会员
  15. * 20190903
  16. * zzb
  17. */
  18. @Component
  19. public class OrderToVipService {
  20. private Logger logger = Logger.getLogger("recivemq");
  21. private Logger log = Logger.getLogger(OrderToVipService.class);
  22. @Autowired
  23. private DictionaryDao dictionaryDao;
  24. /**
  25. * N天后订购送N天会员
  26. * @param orderInfo
  27. * @throws SQLException
  28. */
  29. public String sendVip(OrderBean orderBean) throws SQLException {
  30. String resultcode = "1"; //无权限领取
  31. //目前支持优酷20元
  32. if(orderBean.getCpid().equals("youtu") && orderBean.getSpid().equals("1167")){
  33. String days = this.dictionaryDao.getValue("youkutwoDay");//多少天后订购送会员
  34. //String vips = this.dictionaryDao.getValue("youkutwoVip");//送多少天会员,由于送会员不能指定多少天,暂时默认七天
  35. Integer nowday = Integer.parseInt(days);
  36. int day = new Date().getDay();
  37. if(day>=nowday){
  38. try {
  39. logger.info("优酷20订购送7天会员,userId:"+orderBean.getUserid());
  40. String userid = orderBean.getUserid();
  41. String orderid = getOrderIdByUUId();
  42. //测试接口地址:http://114.255.201.228:86/vip/giveVip
  43. //正式接口地址:http://114.255.201.238:8090/videovip/giveVip
  44. String vipurl = this.dictionaryDao.getValue("youkutwoUrl");
  45. String apptype="2";
  46. String channel=this.dictionaryDao.getValue("youkutwoChannel");
  47. String timestamp = (System.currentTimeMillis() / 1000) + "";
  48. String usertype="4";
  49. String userval=userid;
  50. String vipid=this.dictionaryDao.getValue("youkutwoVipid");
  51. String viptype="1";//1:星期 2: 月 3:季 4:年
  52. String vipval="1";
  53. String pwd=this.dictionaryDao.getValue("youkutwoPwd");
  54. //md5(orderid+channel+vipid+userval+pwd+timestamp)
  55. String signature = MD5.MD5Encode(orderid + channel + vipid + userval + pwd + timestamp);
  56. signature = signature.toLowerCase();
  57. vipurl = vipurl + "?apptype="+apptype+"&orderid="+orderid+"&channel="+channel + "&timestamp=" + timestamp+ "&usertype=" + usertype+ "&userval=" + userval+
  58. "&vipid=" + vipid+ "&viptype=" + viptype+ "&vipval=" + vipval + "&signature=" + signature;
  59. logger.info("vipurl: "+vipurl);
  60. String result = URLUtil.get(vipurl,30*1000); //调赠送会员接口,超时时间设置为10秒
  61. logger.info("赠送会员结果=> userid: " +userid+", result: "+result);
  62. Map<?,?> map = JsonUtil.jsonToMap(result);
  63. resultcode = (String)map.get("resultcode");
  64. if(resultcode.equals("0")){
  65. log.info("赠送成功");
  66. }
  67. } catch (Exception e) {
  68. resultcode="2";//失败
  69. e.printStackTrace();
  70. logger.error("userid: "+orderBean.getUserid()+"赠送会员失败,"+e);
  71. }
  72. }
  73. }
  74. return resultcode;
  75. }
  76. public static String getOrderIdByUUId() {
  77. long a = System.currentTimeMillis();
  78. int b = (int)(Math.random()*900 + 100);
  79. StringBuffer bf = new StringBuffer();
  80. bf.append(a);
  81. bf.append(b);
  82. return bf.toString();
  83. }
  84. /*public static void main(String[] args) throws SQLException {
  85. String paths[]={"applicationContext.xml"};
  86. //加载spring的配置文件
  87. ApplicationContext context=new ClassPathXmlApplicationContext(paths);
  88. BeanFactory factory = (BeanFactory) context;
  89. OrderToVipService atu=(OrderToVipService) factory.getBean(OrderToVipService.class);
  90. OrderBean orderBean = new OrderBean();
  91. orderBean.setCpid("youtu");
  92. orderBean.setSpid("1167");
  93. orderBean.setUserid("18974646566");
  94. String aaa = atu.sendVip(orderBean);
  95. System.out.println(aaa);
  96. }*/
  97. }