9f897e1e8f3a7754e849a9c48a449722e284cef6.svn-base 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. package com.chinacreator.process.service;
  2. import java.net.URLEncoder;
  3. import java.util.HashMap;
  4. import java.util.Map;
  5. import org.apache.log4j.Logger;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Component;
  8. import com.chinacreator.common.exception.BusinessException;
  9. import com.chinacreator.common.util.MD5;
  10. import com.chinacreator.common.util.URLUtil;
  11. import com.chinacreator.process.bean.ActivityConfigBean;
  12. import com.chinacreator.process.bean.OrderBean;
  13. import com.chinacreator.process.dao.ActiveHandleDao;
  14. import com.chinacreator.process.dao.ActivityConfigDao;
  15. import com.chinacreator.process.util.DesUtil;
  16. import com.chinacreator.process.util.JsonUtil;
  17. @Component
  18. public class ActivityHandleService {
  19. private static Logger log = Logger.getLogger(ActivityHandleService.class);
  20. @Autowired
  21. private ActiveHandleDao activeHandleDao;
  22. @Autowired
  23. private ActivityConfigDao activityConfigDao;
  24. private static String url = "http://10.199.99.144:8090/video-activity/joinActivity";
  25. public void handle(OrderBean orderBean) {
  26. log.info("活动" + JsonUtil.objectToJson(orderBean));
  27. try {
  28. if (orderBean.getOrderType().equals("0")) {
  29. order(orderBean);
  30. givevip(orderBean);
  31. } else {
  32. cancel(orderBean);
  33. }
  34. } catch (Exception e) {
  35. log.error(orderBean.getUserid(), e);
  36. }
  37. }
  38. public void order(OrderBean orderBean) throws Exception {
  39. OrderBean oldOrderBean = activeHandleDao.existUser(orderBean.getUserid(), orderBean.getCpid(),
  40. orderBean.getSpid(), String.valueOf(orderBean.getActiveType()));
  41. ActivityConfigBean activityConfigBean = activityConfigDao.findByCallerheadtype(orderBean.getCpid(),
  42. orderBean.getSpid(), orderBean.getProvince(), String.valueOf(orderBean.getActiveType()));
  43. System.out.println(JsonUtil.objectToJson(activityConfigBean));
  44. if (oldOrderBean == null) {
  45. if (activityConfigBean.getVip() == 0) {
  46. orderBean.setVipstatus("2");
  47. } else {
  48. orderBean.setVipstatus("5");
  49. }
  50. if (activityConfigBean.getFlow() == 0) {
  51. orderBean.setFlowstatus("1");
  52. } else {
  53. orderBean.setFlowstatus("8");
  54. }
  55. activeHandleDao.insertBeans(orderBean);
  56. } else {
  57. if (activityConfigBean.getCanrepeat() == 1) {
  58. throw new BusinessException("10001", "该活动不能重复参加");
  59. }
  60. }
  61. }
  62. public void cancel(OrderBean orderBean) throws Exception {
  63. OrderBean oldOrderBean = activeHandleDao.existUser(orderBean.getUserid(), orderBean.getCpid(),
  64. orderBean.getSpid(), String.valueOf(orderBean.getActiveType()));
  65. if (oldOrderBean == null) {
  66. throw new BusinessException("10002", "该用户未参加活动");
  67. } else {
  68. if (oldOrderBean.getOrderType().equals("1")) {
  69. throw new BusinessException("10003", "用户已退订");
  70. } else {
  71. orderBean.setId(oldOrderBean.getId());
  72. System.out.println("====>"+JsonUtil.objectToJson(orderBean));
  73. activeHandleDao.cancelOrder(orderBean);
  74. }
  75. }
  76. }
  77. public void givevip(OrderBean orderBean) {
  78. try {
  79. if (orderBean.getCpid().equals("youtu") && orderBean.getSpid().equals("21156")) {
  80. String vipurl = url;
  81. String userid = orderBean.getUserid();
  82. String pwd = "ea044e50";
  83. userid = DesUtil.encode(userid, pwd);
  84. String timestamp = (System.currentTimeMillis() / 1000) + "";
  85. String activetype = "21";
  86. String usertype = "4";
  87. String userval = orderBean.getUserid();
  88. String vipname = "";
  89. vipname = URLEncoder.encode(vipname, "UTF-8");
  90. String signature = MD5.MD5Encode(userid + userval + pwd + timestamp);
  91. vipurl = vipurl + "?userid=" + URLEncoder.encode(userid, "utf-8") + "&signature=" + signature + "&timestamp="
  92. + timestamp + "&activetype=" + activetype + "&usertype=" + usertype + "&userval=" + userval
  93. + "&vipname=" + vipname;
  94. String result = URLUtil.get(vipurl);
  95. log.info("活动会员赠送结果" +orderBean.getUserid()+","+result);
  96. Map<?,?> map = JsonUtil.jsonToMap(result);
  97. if(((String)map.get("resultcode")).equals("0")){
  98. inserSmstMq(orderBean);
  99. }
  100. }
  101. } catch (Exception e) {
  102. e.printStackTrace();
  103. }
  104. }
  105. public void inserSmstMq(OrderBean orderBean) {
  106. // try {
  107. // Map<String, String> map = new HashMap<String, String>();
  108. // map.put("userid", orderBean.getUserid());
  109. // map.put("cpid", "youtu");
  110. // map.put("spid", "21156");
  111. // map.put("result", "0");
  112. // map.put("channel", "");
  113. // map.put("style", "50");
  114. // map.put("times", "");
  115. // map.put("orderType", "");
  116. // map.put("type", "cssms");
  117. // URLUtil.post("http://10.199.99.144:8090/mq-service/recive.do", JsonUtil.objectToJson(map));
  118. // } catch (Exception e) {
  119. // e.printStackTrace();
  120. // }
  121. }
  122. }