SyncTemplateInfoSaveTask.java 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.ssj.taskasync;
  2. import java.util.Date;
  3. import java.util.List;
  4. import org.apache.http.client.utils.DateUtils;
  5. import org.slf4j.Logger;
  6. import org.slf4j.LoggerFactory;
  7. import org.springframework.scheduling.annotation.Async;
  8. import org.springframework.stereotype.Component;
  9. import com.ssj.bean.weixin.push.domain.TbWxTemplate;
  10. import com.ssj.bean.weixin.push.domain.TbWxTemplateInfo;
  11. import com.ssj.framework.core.util.StringUtil;
  12. import com.ssj.framework.core.util.SystemResourceLocator;
  13. import com.ssj.framework.weixin.news.bean.Template;
  14. import com.ssj.framework.weixin.util.NewsUtil;
  15. import com.ssj.service.weixin.push.service.WxTemplateInfoService;
  16. @Component
  17. public class SyncTemplateInfoSaveTask {
  18. protected Logger logger = LoggerFactory.getLogger(this.getClass());
  19. @Async("taskExecutor")
  20. public void run(String templateIdShort,TbWxTemplate tbWxTemplate,String accessToken) {
  21. synchronized(this){
  22. WxTemplateInfoService wxTemplateInfoService = (WxTemplateInfoService)SystemResourceLocator.getBean(WxTemplateInfoService.class);
  23. try {
  24. if(StringUtil.isNotEmpty(templateIdShort)){
  25. List<TbWxTemplateInfo> tbWxTemplateInfos= wxTemplateInfoService.queryTbWxTemplateInfoByShort(templateIdShort);
  26. if(tbWxTemplateInfos==null || tbWxTemplateInfos.size()==0){
  27. List<Template> templates= NewsUtil.getAllTemplate(accessToken);
  28. for (Template template : templates) {
  29. if(template.getTemplate_id().equals(tbWxTemplate.getTemplateId())){
  30. TbWxTemplateInfo tbWxTemplateInfo=new TbWxTemplateInfo();
  31. tbWxTemplateInfo.setContent(template.getContent());
  32. tbWxTemplateInfo.setCreateTime(DateUtils.formatDate(new Date(), "yyyy-MM-dd"));
  33. tbWxTemplateInfo.setDeputyIndustry(template.getDeputy_industry());
  34. tbWxTemplateInfo.setExample(template.getExample());
  35. tbWxTemplateInfo.setPrimaryIndustry(template.getTitle());
  36. tbWxTemplateInfo.setTemplateIdShort(templateIdShort);
  37. tbWxTemplateInfo.setTitle(template.getTitle());
  38. wxTemplateInfoService.save(tbWxTemplateInfo);
  39. break;
  40. }
  41. }
  42. }
  43. }
  44. } catch (Exception e) {
  45. logger.error(" 微信模板明细数据保存,异常---------------");
  46. }
  47. }
  48. }
  49. }