039ec6e4b25336fea69fb2e4cfd2aa9791f5115e.svn-base 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package com.chinacreator.process.job;
  2. import java.net.URLEncoder;
  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.common.util.AESUtil;
  10. import com.chinacreator.common.util.MD5;
  11. import com.chinacreator.process.bean.NetOrderBean;
  12. import com.chinacreator.process.bean.PreToOrderBean;
  13. import com.chinacreator.process.dao.PreToOrderDao;
  14. import com.chinacreator.process.util.DesUtil;
  15. import com.chinacreator.process.util.JsonUtil;
  16. import com.chinacreator.process.util.URLUtil;
  17. @PersistJobDataAfterExecution
  18. @DisallowConcurrentExecution
  19. public class PreToOrderJob {
  20. private static Logger log = Logger.getLogger(PreToOrderJob.class);
  21. private static Logger logger = Logger.getLogger("pretoorderjob");
  22. @Autowired
  23. private PreToOrderDao preToOrderDao;
  24. private final static String url = "http://172.16.1.81:809/video-activity/order?";
  25. public void doProcess() throws Exception {
  26. log.info("========》腾讯20元预定购转订购开始");
  27. long num =preToOrderDao.getSize()/500+1;
  28. for (int m = 0; m < num; m++) {
  29. List<NetOrderBean> list = preToOrderDao.queryNeedDo();
  30. for (NetOrderBean netOrderBean : list) {
  31. PreToOrderBean logBean = new PreToOrderBean();
  32. String result = "1";
  33. try{
  34. String userid = netOrderBean.getUserid();
  35. logBean.setUserid(userid);
  36. logBean.setId(netOrderBean.getId());
  37. if(!netOrderBean.getStatus().equals("0")){
  38. preToOrderDao.update(netOrderBean.getId(), "3");
  39. result ="3";
  40. logBean.setRsp("3");
  41. continue;
  42. }
  43. String cpid =netOrderBean.getCpid();
  44. String spid=netOrderBean.getSpid();
  45. String pwd = "tenc1234";
  46. String timestamp = (System.currentTimeMillis()/1000)+"";
  47. userid = DesUtil.encode(AESUtil.encrypt(userid, "ac22273abb2f4960"), pwd);
  48. String signature = MD5.MD5Encode(cpid+spid+userid+pwd+timestamp);
  49. String href = url+"cpid="+cpid+"&spid="+spid+"&userid="+URLEncoder.encode(userid, "utf-8")+"&signature="+signature+"&timestamp="+timestamp+"&ordertype=1&channel=pre";
  50. String resultstr= URLUtil.get(href,15000);
  51. logBean.setRsp(resultstr);
  52. Map<?,?> map = JsonUtil.jsonToMap(resultstr);
  53. if(((String)map.get("resultcode")).equals("0")){
  54. result ="0";
  55. }
  56. }catch(Exception e){
  57. log.error(netOrderBean.getUserid(),e);
  58. }finally {
  59. if(result.equals("0")){
  60. preToOrderDao.update(netOrderBean.getId(), "0");
  61. }else if(result.equals("1")){
  62. preToOrderDao.update(netOrderBean.getId(), "2");
  63. }
  64. logger.info(JsonUtil.objectToJson(logBean));
  65. }
  66. }
  67. }
  68. }
  69. public static void main(String[] args) {
  70. System.out.println(4031/500);
  71. }
  72. }