82af06f3b9e9ceb498bd43cd2458a1a4ee3949e1.svn-base 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package com.chinacreator.process.job;
  2. import com.chinacreator.common.exception.BusinessException;
  3. import com.chinacreator.common.util.URLUtil;
  4. import com.chinacreator.process.dao.DictionaryDao;
  5. import com.chinacreator.process.dao.OrderKsPreDao;
  6. import net.sf.json.JSONObject;
  7. import org.apache.log4j.Logger;
  8. import org.quartz.DisallowConcurrentExecution;
  9. import org.quartz.PersistJobDataAfterExecution;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import java.util.HashMap;
  12. import java.util.List;
  13. @PersistJobDataAfterExecution
  14. @DisallowConcurrentExecution
  15. public class OrderKsPreJob {
  16. private Logger log = Logger.getLogger("ksPre");
  17. @Autowired
  18. private DictionaryDao dictionaryDao;
  19. @Autowired
  20. private OrderKsPreDao orderKsPreDao;
  21. public void doProcess() throws Exception {
  22. System.out.println("快手退订开始处理");
  23. List<HashMap> dataList = orderKsPreDao.queryKsPreList();
  24. log.info("需要退订数据========="+dataList);
  25. if (dataList!=null&&dataList.size()>0){
  26. for (HashMap map : dataList) {
  27. String resultCode="0";
  28. String resultInfo="处理成功";
  29. String userid = (String) map.get("USERID");
  30. String cpid = (String) map.get("CPID");
  31. String spid = (String) map.get("SPID");
  32. //修改状态为执行中
  33. orderKsPreDao.updateStatus("1",userid,spid,cpid);
  34. try {
  35. this.cancel(userid,cpid,spid);
  36. orderKsPreDao.updateKsPre("2",resultCode,resultInfo,userid,spid,cpid);
  37. log.info(userid+"===退订成功");
  38. orderKsPreDao.addOrderLog(userid,cpid,spid,resultCode,resultInfo,"kuaishou_h5","1");
  39. } catch (BusinessException e) {
  40. e.printStackTrace();
  41. resultCode=e.getCode();
  42. resultInfo=e.getMessage();
  43. boolean bool = orderKsPreDao.findRetryNub(userid, spid, cpid);
  44. if (bool){
  45. orderKsPreDao.updateErrorKsPre("0",resultCode,resultInfo,userid,spid,cpid,1);
  46. }else{
  47. orderKsPreDao.updateErrorKsPre("4",resultCode,resultInfo,userid,spid,cpid,0);
  48. orderKsPreDao.addOrderLog(userid,cpid,spid,resultCode,resultInfo,"kuaishou_h5","1");
  49. log.info(userid+"==退订出现异常=="+e.getMessage());
  50. }
  51. }
  52. }
  53. }
  54. }
  55. /**
  56. * 退订
  57. * @param userid
  58. * @param cpid
  59. * @param spid
  60. * @throws BusinessException
  61. */
  62. public void cancel(String userid,String cpid,String spid) throws BusinessException{
  63. String result ="";
  64. String url="";
  65. try{
  66. url = dictionaryDao.getValue("shareCancelUrl");
  67. result = URLUtil.get(url+"?cpid="+cpid+"&spid="+spid+"&userid="+userid,30000);
  68. }catch (Exception e) {
  69. throw new BusinessException("9170", "调用能力共享平台退订接口异常");
  70. }
  71. JSONObject obj = JSONObject.fromObject(result);
  72. System.out.println("能力平台返回参数========="+obj);
  73. if(!obj.getString("resultCode").equals("0")){
  74. throw new BusinessException(obj.getString("resultCode"), obj.getString("resultInfo"));
  75. }
  76. }
  77. }