8961bc2eefde26814b05ba8c24c57bb66c136836.svn-base 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. package com.chinacreator.process.job;
  2. import java.util.List;
  3. import java.util.Map;
  4. import org.apache.commons.lang.math.NumberUtils;
  5. import org.apache.log4j.Logger;
  6. import org.quartz.DisallowConcurrentExecution;
  7. import org.quartz.PersistJobDataAfterExecution;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import com.chinacreator.common.exception.BusinessException;
  10. import com.chinacreator.process.bean.ActivityConfigBean;
  11. import com.chinacreator.process.bean.LogBean;
  12. import com.chinacreator.process.bean.OrderBean;
  13. import com.chinacreator.process.dao.ActivityConfigDao;
  14. import com.chinacreator.process.dao.BlackWhiteDao;
  15. import com.chinacreator.process.dao.DictionaryDao;
  16. import com.chinacreator.process.service.NewYearOrderService;
  17. import com.chinacreator.process.service.OrderService;
  18. import com.chinacreator.process.util.JsonUtil;
  19. import com.chinacreator.video.queue.MessageService;
  20. import com.chinacreator.video.queue.bean.MessagePipe;
  21. @PersistJobDataAfterExecution
  22. @DisallowConcurrentExecution
  23. public class ReciveMQJob2 {
  24. private Logger log = Logger.getLogger("recivemq");
  25. @Autowired
  26. private MessageService messageService;
  27. @Autowired
  28. private ActivityConfigDao activityConfigDao;
  29. @Autowired
  30. private BlackWhiteDao blackWhiteDao;
  31. @Autowired
  32. private DictionaryDao dictionaryDao;
  33. @Autowired
  34. private OrderService orderService;
  35. @Autowired
  36. private NewYearOrderService newYearOrderService;
  37. public void doProcess() throws Exception {
  38. System.out.println("接收订购队列JOB启动");
  39. if(dictionaryDao.getValue("recivemq").equals("0")){
  40. List<MessagePipe> list = messageService
  41. .reciveBatchMessage("order", 500);
  42. for (MessagePipe messagePipe : list) {
  43. LogBean logBean = new LogBean();
  44. try {
  45. OrderBean orderBean = transBean(messagePipe.getBody());
  46. logBean.setUserid(orderBean.getUserid());
  47. logBean.setInputParm(JsonUtil.objectToJson(orderBean));
  48. ActivityConfigBean activityConfigBean = activityConfigDao
  49. .findByCallerhead(orderBean.getCpid(),
  50. orderBean.getSpid(),"");/** =============>error<====================== */
  51. if (activityConfigBean == null) {
  52. throw new BusinessException("9030", "非视频风暴活动产品或者活动结束");
  53. }
  54. if(blackWhiteDao.isWhite(orderBean.getUserid())){
  55. orderBean.setIsWhite(0);
  56. }else{
  57. orderBean.setIsWhite(1);
  58. }
  59. if(orderBean.getOrderType().equals("0")){
  60. if ((NumberUtils.toLong(orderBean.getUpdateTime()) < NumberUtils
  61. .toLong(activityConfigBean.getBegintime()) || NumberUtils
  62. .toLong(orderBean.getUpdateTime()) > NumberUtils
  63. .toLong(activityConfigBean.getEndtime()))
  64. && (orderBean.getIsWhite() == 1)) {
  65. throw new BusinessException("9030", "非视频风暴活动产品或者活动结束");
  66. }
  67. }else{
  68. if ((NumberUtils.toLong(orderBean.getUpdateTime()) < NumberUtils
  69. .toLong(activityConfigBean.getBegintime()) || NumberUtils
  70. .toLong(orderBean.getUpdateTime()) > NumberUtils
  71. .toLong(activityConfigBean.getCancelendtime()))
  72. && (orderBean.getIsWhite() == 1)) {
  73. throw new BusinessException("9030", "非视频风暴活动产品或者活动结束");
  74. }
  75. }
  76. // if((orderBean.getProvince() != null && orderBean.getProvince().equals("浙江") && orderBean.getSpid().equals("6"))){
  77. // handle(orderBean);
  78. // }else{
  79. newYearHandle(orderBean);
  80. // }
  81. } catch (Exception e) {
  82. e.printStackTrace();
  83. logBean.setErrorInfo("系统错误");
  84. logBean.setResultCode("8000");
  85. if (e instanceof BusinessException) {
  86. logBean.setErrorInfo(e.getMessage());
  87. logBean.setResultCode(((BusinessException) e).getCode());
  88. }
  89. } finally {
  90. log.info(JsonUtil.objectToJson(logBean));
  91. }
  92. }
  93. }else{
  94. System.out.println("停止接收队列消息");
  95. }
  96. }
  97. public void handle(OrderBean orderBean) throws Exception {
  98. if (orderBean.getOrderType().equals("0")) {
  99. orderService.order(orderBean);
  100. } else {
  101. orderService.cancel(orderBean);
  102. }
  103. }
  104. public void newYearHandle(OrderBean orderBean) throws Exception {
  105. orderBean.setActiveType(1);
  106. if (orderBean.getOrderType().equals("0")) {
  107. newYearOrderService.order(orderBean);
  108. } else {
  109. newYearOrderService.cancel(orderBean);
  110. }
  111. }
  112. public OrderBean transBean(Map<String, Object> body) {
  113. String jsonStr = JsonUtil.objectToJson(body);
  114. return (OrderBean) JsonUtil.jsonToBean(jsonStr, OrderBean.class);
  115. }
  116. }