d440a411d1b74700aea6b5ac6fa8765bc725a7e7.svn-base 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package com.chinacreator.process.job;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import java.util.Map;
  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.process.bean.CsHisBean;
  10. import com.chinacreator.process.dao.CsHisDao;
  11. import com.chinacreator.process.dao.DictionaryDao;
  12. import com.chinacreator.process.util.JsonUtil;
  13. import com.chinacreator.video.queue.MessageService;
  14. import com.chinacreator.video.queue.bean.MessagePipe;
  15. @PersistJobDataAfterExecution
  16. @DisallowConcurrentExecution
  17. public class CSHisJob {
  18. private Logger logger = Logger.getLogger(CSHisJob.class);
  19. @Autowired
  20. private DictionaryDao dictionaryDao;
  21. @Autowired
  22. private MessageService messageService;
  23. @Autowired
  24. private CsHisDao csHisDao;
  25. public void doProcess() throws Exception {
  26. logger.info("接收畅视活动历史数据队列JOB启动");
  27. if (dictionaryDao.getValue("recivemq").equals("0")) {
  28. List<MessagePipe> list = messageService.reciveBatchMessage("cshis", 500);
  29. if(list != null && list.size()>0){
  30. List<CsHisBean> listdao = new ArrayList<CsHisBean>();
  31. for (MessagePipe messagePipe : list) {
  32. listdao.add(transBean(messagePipe.getBody()));
  33. }
  34. csHisDao.save(listdao);
  35. logger.info("畅视活动历史数据接收完成 size="+listdao.size());
  36. }
  37. }else{
  38. logger.info("停止接收畅视活动历史数据队列JOB启动");
  39. }
  40. }
  41. public CsHisBean transBean(Map<String, Object> body) {
  42. String jsonStr = JsonUtil.objectToJson(body);
  43. return (CsHisBean) JsonUtil.jsonToBean(jsonStr, CsHisBean.class);
  44. }
  45. }