81940f34078861d288831234f1e1d24f173dc864.svn-base 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. package com.chinacreator.process.dao;
  2. import com.chinacreator.process.bean.SDKOrderInfo;
  3. import com.chinacreator.process.bean.SdkOrderBean;
  4. import com.chinacreator.process.exception.ServiceException;
  5. import com.chinacreator.process.util.DataSource;
  6. import com.frameworkset.common.poolman.PreparedDBUtil;
  7. import com.frameworkset.common.poolman.SQLExecutor;
  8. import org.apache.commons.lang.StringUtils;
  9. import org.springframework.stereotype.Component;
  10. import java.sql.SQLException;
  11. @Component
  12. public class SdkOrderDao
  13. {
  14. public SdkOrderBean queryOrderList(String userid,String cpid,String productid)
  15. {
  16. String sql = "select id,productid,status,userid,to_char(ordertime,'yyyymmddhh24miss') ordertime,to_char(canceltime,'yyyymmddhh24miss') canceltime,orderchannel,cancelchannel from td_order_relations where cpid='youtu' and userid=? and cpid = ? and productid = ? order by id desc";
  17. PreparedDBUtil pdb = new PreparedDBUtil();
  18. try {
  19. pdb.preparedSelect(DataSource.SDK, sql);
  20. pdb.setString(1, userid);
  21. pdb.setString(2, cpid);
  22. pdb.setString(3, productid);
  23. return (SdkOrderBean)pdb.executePreparedForObject(SdkOrderBean.class);
  24. } catch (SQLException e) {
  25. throw new ServiceException("查询订购关系失败", e);
  26. }
  27. }
  28. public void order(SDKOrderInfo orderInfo, boolean isCancle)
  29. {
  30. String sql = "";
  31. if (!isCancle) {
  32. sql = "insert into td_order_relations(id,cpid,productId,appid,userid,ordertime,effectivetime,endtime,status,orderChannel,synccount,syncsucceed,type,sectionid,videoid,videoname,videourl,videotag,videoimage,appType,orderStatus,province,area,cachesucceed)values(?,?,?,?,?,to_date(?,'yyyymmddhh24miss'),sysdate,'','0',?,0,1,?,?,?,?,?,?,?,?,?,?,?,'1')";
  33. PreparedDBUtil pdb = new PreparedDBUtil();
  34. try {
  35. pdb.preparedInsert(DataSource.SDK, sql);
  36. pdb.setString(1, orderInfo.getId());
  37. pdb.setString(2, orderInfo.getCpid());
  38. pdb.setString(3, orderInfo.getProductId());
  39. pdb.setString(4, orderInfo.getAppid());
  40. pdb.setString(5, orderInfo.getUserid());
  41. pdb.setString(6, orderInfo.getOrdertimestr());
  42. pdb.setString(7, orderInfo.getOrderChannel());
  43. pdb.setInt(8, orderInfo.getType());
  44. pdb.setString(9, orderInfo.getSectionId());
  45. pdb.setString(10, orderInfo.getVideoId());
  46. pdb.setString(11, orderInfo.getVideoName());
  47. pdb.setString(12, orderInfo.getVideoUrl());
  48. pdb.setString(13, orderInfo.getVideoTag());
  49. pdb.setString(14, orderInfo.getVideoImage());
  50. pdb.setString(15, orderInfo.getAppType());
  51. pdb.setInt(16, orderInfo.getOrderStatus());
  52. pdb.setString(17, orderInfo.getProvince());
  53. pdb.setString(18, orderInfo.getArea());
  54. pdb.executePrepared();
  55. } catch (SQLException e) {
  56. throw new ServiceException("订购失败", e);
  57. }
  58. } else {
  59. sql = "update td_order_relations set canceltime='',endtime='',synccount=0,syncsucceed='1',lastsynctime='',orderChannel=#[orderChannel],status=#[status],appType=#[appType],ordertime=to_date(#[ordertimestr],'yyyymmddhh24miss'),effectivetime=sysdate,cancelChannel='',orderStatus=#[orderStatus],cachesucceed='1' where id=#[id]";
  60. try
  61. {
  62. SQLExecutor.updateBean(DataSource.SDK, sql, orderInfo);
  63. } catch (SQLException e) {
  64. throw new ServiceException("订购失败", e);
  65. }
  66. }
  67. }
  68. public void insertOrderLog(SDKOrderInfo orderInfo, String errorcode, String errorinfo, String ip) {
  69. String sql = "insert into tl_order_log (id,userid, cpid, productid,appid, type,channel, errorcode, errorinfo, inserttime, origin, ip,status,province,area,apptype) values (to_char(sysdate,'yyyyMMddhh24miss')||SEQ_COMMON6.nextval, ?,?,?,?,?,?,?,?,sysdate,?,?,?,?,?,?)";
  70. PreparedDBUtil pdb = new PreparedDBUtil();
  71. String channel = null;
  72. if ("0".equals(orderInfo.getStatus()))
  73. channel = orderInfo.getOrderChannel();
  74. else
  75. channel = orderInfo.getCancelChannel();
  76. try
  77. {
  78. pdb.preparedInsert(DataSource.SDK, sql);
  79. pdb.setString(1, orderInfo.getUserid());
  80. pdb.setString(2, orderInfo.getCpid());
  81. pdb.setString(3, orderInfo.getProductId());
  82. pdb.setString(4, orderInfo.getAppid());
  83. pdb.setInt(5, orderInfo.getType());
  84. pdb.setString(6, channel);
  85. pdb.setString(7, errorcode);
  86. pdb.setString(8, errorinfo);
  87. pdb.setString(9, StringUtils.isEmpty(channel) ? orderInfo.getCpid() : channel);
  88. pdb.setString(10, ip);
  89. pdb.setString(11, orderInfo.getStatus());
  90. pdb.setString(12, orderInfo.getProvince());
  91. pdb.setString(13, orderInfo.getArea());
  92. pdb.setString(14, orderInfo.getAppType());
  93. pdb.executePrepared();
  94. } catch (SQLException e) {
  95. throw new ServiceException("保存订购日志失败", e);
  96. }
  97. }
  98. public void cancelOrder(SDKOrderInfo orderInfo) {
  99. String sql = "update td_order_relations set canceltime=to_date(#[canceltimestr],'yyyymmddhh24miss'),#if($endtime && !$endtime.equals(\"\")) endtime=to_date(#[endtimestr],'yyyymmddhh24miss') #else endtime=trunc(last_day(to_date(#[canceltimestr],'yyyymmddhh24miss')))+1-1/86400 #end,synccount=0,syncsucceed='1',orderStatus=#[orderStatus],cancelChannel=#[cancelChannel],status=#[status],appType=#[appType],cachesucceed='1' where cpid=#[cpid] #if($appid && !$appid.equals(\"\")) and appid=#[appid] #end and productId=#[productId] and userid=#[userid] and id=#[id]";
  100. try
  101. {
  102. SQLExecutor.updateBean(DataSource.SDK, sql, orderInfo);
  103. } catch (SQLException e) {
  104. throw new ServiceException("退订失败", e);
  105. }
  106. }
  107. public String getHmdInfo(String callerhead){
  108. PreparedDBUtil pdb = new PreparedDBUtil();
  109. String sql="select PROVINCE from TB_CALLER_AREACODE where callerhead = ?";
  110. try {
  111. pdb.preparedSelect(DataSource.NET3G, sql);
  112. pdb.setString(1, callerhead);
  113. return (String) pdb.executePreparedForObject(String.class);
  114. } catch (SQLException e) {
  115. e.printStackTrace();
  116. }
  117. return null;
  118. }
  119. public String getProvinceOrder(String spid){
  120. PreparedDBUtil pdb = new PreparedDBUtil();
  121. String sql="select PROVINCE from TB_PROVINCE_ORDER_CONF where spid=? and STATUS='0'";
  122. try {
  123. pdb.preparedSelect(DataSource.NET3G, sql);
  124. pdb.setString(1, spid);
  125. return (String) pdb.executePreparedForObject(String.class);
  126. } catch (SQLException e) {
  127. e.printStackTrace();
  128. }
  129. return null;
  130. }
  131. }