e2a4ecd27808add640059a4df2137a5d3c1521ad.svn-base 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. package com.chinacreator.process.dao;
  2. import java.sql.SQLException;
  3. import java.util.List;
  4. import org.apache.commons.lang.math.NumberUtils;
  5. import org.springframework.stereotype.Component;
  6. import com.chinacreator.process.bean.NetOrderBean;
  7. import com.chinacreator.process.bean.OrderBean;
  8. import com.chinacreator.process.util.DataSource;
  9. import com.chinacreator.process.util.JsonUtil;
  10. import com.frameworkset.common.poolman.PreparedDBUtil;
  11. import com.frameworkset.common.poolman.SQLExecutor;
  12. @Component
  13. public class YoutuActiveDao {
  14. public OrderBean existUser(String userid,String cpid,String spid,String activetype) throws SQLException{
  15. String sql = "select vipstatus,to_char(viptime,'yyyymmddhh24miss') viptime,userid,cpid,spid,orderstatus ,id,to_char(ordertime,'yyyymmddhh24miss') ordertime,to_char(canceltime,'yyyymmddhh24miss') canceltime,to_char(endtime,'yyyymmddhh24miss') endtime,orderchannel,cancelchannel,vipconstatus,to_char(vipcontime,'yyyymmddhh24miss') vipcontime, flowstatus from TD_BUSSINESS_HANDLE where userid =? and cpid =? and spid=? and ACTIVETYPE=? and fhcpid is null and fhspid is null";
  16. return SQLExecutor.queryObjectWithDBName(OrderBean.class, DataSource.NET3G, sql, userid,cpid,spid,activetype);
  17. }
  18. /**
  19. * 获取主键ID
  20. * @return
  21. * @throws SQLException
  22. */
  23. public String getId() throws SQLException{
  24. String id = "";
  25. String sql = "select to_char(sysdate,'yyyyMMddhh24miss')||SEQ_COMMON6.nextval from dual";
  26. id = SQLExecutor.queryObjectBeanWithDBName(String.class, DataSource.NET3G, sql, null);
  27. return id;
  28. }
  29. /**
  30. * 新增活动表记录
  31. * @param bean
  32. * @throws SQLException
  33. */
  34. public void insertBeans(OrderBean bean) throws SQLException{
  35. String sql = "insert into TD_BUSSINESS_HANDLE(id,userid,cpid,spid,province,area,ordertime,effectivetime,activitystatus,activitytime,orderchannel,orderstatus,inserttime,ischarge,flowstatus,activetype,vipstatus,canceltime,endtime)values( "
  36. + "#[id], #[userid],#[cpid],#[spid],#[province],#[area], "
  37. + "to_date(#[ordertime],'yyyymmddhh24miss'), sysdate, 0,sysdate, "
  38. + "#[orderchannel],#[orderstatus],sysdate,2,#[flowstatus],#[activeType],2,to_date(#[canceltime],'yyyymmddhh24miss'), to_date(#[endtime], 'yyyymmddhh24miss') )";
  39. SQLExecutor.insertBean(DataSource.NET3G, sql, bean);
  40. }
  41. public List<NetOrderBean> findOrder(String cpid, String userid,String spid) throws SQLException
  42. {
  43. PreparedDBUtil pdb = new PreparedDBUtil();
  44. String sql = "select userid, cpid, spid, province, area, orderchannel, cancelchannel, ordertime, endtime, canceltime,(case when canceltime is null then '0' when endtime >= sysdate then '1' else '2' end) status, ordertype,isexperience,effecttime from TD_ORDER_RELATIONS where cpid=? and userid=? and spid=? order by ordertime desc";
  45. pdb.preparedSelect(DataSource.NET3G, sql);
  46. pdb.setString(1, cpid);
  47. pdb.setString(2, userid);
  48. pdb.setString(3, spid);
  49. return pdb.executePreparedForList(NetOrderBean.class);
  50. }
  51. /**
  52. * 更新活动表
  53. * @param bean
  54. * @throws SQLException
  55. */
  56. public void update(OrderBean bean) throws SQLException {
  57. String sql1 = "update TD_BUSSINESS_HANDLE set flowstatus = #[flowstatus], ordertime = to_date(#[ordertime],'yyyymmddhh24miss'),canceltime = to_date(#[canceltime],'yyyymmddhh24miss'), "
  58. +" endtime = to_date(#[endtime],'yyyymmddhh24miss'), effectivetime = to_date(#[effectivetime],'yyyymmddhh24miss'), orderchannel = #[orderchannel], cancelchannel= #[cancelchannel], "
  59. + " orderstatus = #[orderstatus],vipstatus = #[vipstatus],viptime = to_date(#[viptime],'yyyymmddhh24miss') where id = #[id]";
  60. //退订
  61. /*
  62. String sql = "update TD_BUSSINESS_HANDLE set canceltime = to_date(#[updateTime],'yyyymmddhh24miss'), "
  63. +" endtime = last_day(trunc(to_date(#[updateTime],'yyyymmddhh24miss')))+1-1/(24*60*60),cancelchannel= #[channel], orderstatus = 1 where id = #[id]";
  64. if("0".equals(bean.getOrderstatus())){ //订购
  65. sql = "update TD_BUSSINESS_HANDLE set flowstatus = #[flowstatus], ordertime = to_date(#[ordertime],'yyyymmddhh24miss'),canceltime = '', "
  66. +" endtime = to_date('20501231235959','yyyymmddhh24miss'),orderchannel = #[orderchannel],cancelchannel = '' "
  67. + ",orderstatus = 0,vipstatus = #[vipstatus],viptime = to_date(#[viptime],'yyyymmddhh24miss'), effectivetime = sysdate where id = #[id]";
  68. }
  69. */
  70. SQLExecutor.updateBean(DataSource.NET3G, sql1, bean);
  71. }
  72. public void updatestatus(String id) throws SQLException {
  73. String sql = "update TD_BUSSINESS_HANDLE set vipstatus=4 where id = ?";
  74. SQLExecutor.updateWithDBName(DataSource.NET3G, sql, id);
  75. }
  76. /**
  77. * 添加要送流量产品订购记录
  78. * @param bean
  79. * @throws SQLException
  80. */
  81. public void insertFlowRec(OrderBean bean) throws SQLException{
  82. String sql = " INSERT INTO TD_FLOWORDER_REC (ID,USERID,INSERTTIME,ORDERTIME,CANCELTIME,ORDERSTATUS,CPID,SPID,PROVINCE,AREA,ACTIVETYPE) "+
  83. " VALUES (#[id],#[userid],SYSDATE, TO_DATE(#[ordertime],'yyyymmddhh24miss'), TO_DATE(#[canceltime],'yyyymmddhh24miss'), #[orderstatus], #[cpid], #[spid], #[province], #[area],#[activeType]) ";
  84. SQLExecutor.insertBean(DataSource.NET3G, sql, bean);
  85. }
  86. /**
  87. * 查询是否有记录
  88. * @param bean
  89. * @return
  90. * @throws SQLException
  91. */
  92. public boolean qryFlowRec(OrderBean bean) throws SQLException{
  93. String sql = " SELECT COUNT(1) FROM TD_FLOWORDER_REC WHERE USERID = ? AND CPID = ? AND SPID = ? ";
  94. return NumberUtils.toInt(SQLExecutor.queryFieldWithDBName(DataSource.NET3G, sql, bean.getUserid(), bean.getCpid(), bean.getSpid()), 0) > 0;
  95. }
  96. /**
  97. * 查询已存在的记录
  98. * @param bean
  99. * @return
  100. * @throws SQLException
  101. */
  102. public OrderBean existFlowRec(OrderBean bean) throws SQLException{
  103. String sql = " SELECT id, userid, cpid, spid, ordertime,orderstatus,province,area,activeType FROM TD_FLOWORDER_REC WHERE USERID = ? AND CPID = ? AND SPID = ? AND ACTIVETYPE = ?";
  104. return SQLExecutor.queryObjectWithDBName(OrderBean.class, DataSource.NET3G, sql, bean.getUserid(), bean.getCpid(), bean.getSpid(),bean.getActiveType());
  105. }
  106. /**
  107. * 查询已存在的记录
  108. * @param bean
  109. * @return
  110. * @throws SQLException
  111. */
  112. public OrderBean existExpireFlowRec(OrderBean bean) throws SQLException{
  113. //是订购状态,且订购日期到当前日期相差自然月小于或等于2
  114. //String sql = " SELECT id, userid, cpid, spid, ordertime,orderstatus,province,area,activeType FROM TD_FLOWORDER_REC WHERE USERID = ? AND CPID = ? AND SPID = ? AND ACTIVETYPE = ? AND orderstatus = '0' AND (MONTHS_BETWEEN(TO_DATE(TO_CHAR(SYSDATE,'YYYYMM'),'YYYYMM'),TO_DATE(TO_CHAR(ORDERTIME,'YYYYMM'),'YYYYMM')) <= 2) ";
  115. String sql = " SELECT id, userid, cpid, spid, ordertime,orderstatus,province,area,activeType FROM TD_FLOWORDER_REC WHERE USERID = ? AND CPID = ? AND SPID = ? AND ACTIVETYPE = ? AND orderstatus = '0' ";
  116. return SQLExecutor.queryObjectWithDBName(OrderBean.class, DataSource.NET3G, sql, bean.getUserid(), bean.getCpid(), bean.getSpid(),bean.getActiveType());
  117. }
  118. /**
  119. * 更新订购状态
  120. * @param bean
  121. * @throws SQLException
  122. */
  123. public void updateFlowRec(OrderBean bean) throws SQLException{
  124. String sql = " UPDATE TD_FLOWORDER_REC SET ORDERSTATUS = #[orderstatus], CANCELTIME = TO_DATE(#[canceltime],'yyyymmddhh24miss') WHERE ID = #[id] ";
  125. if("0".equals(bean.getOrderstatus())){ //订购
  126. sql = " UPDATE TD_FLOWORDER_REC SET ORDERSTATUS = #[orderstatus], ORDERTIME = TO_DATE(#[ordertime],'yyyymmddhh24miss') WHERE ID = #[id] ";
  127. }
  128. SQLExecutor.insertBean(DataSource.NET3G, sql, bean);
  129. }
  130. public static void main(String[] args) {
  131. YoutuActiveDao dao = new YoutuActiveDao();
  132. OrderBean bean = new OrderBean();
  133. bean.setUserid("18673197465");
  134. bean.setCpid("youtu");
  135. bean.setSpid("1167");
  136. bean.setOrderstatus("1");
  137. bean.setProvince("北京");
  138. bean.setArea("北京");
  139. bean.setOrdertime("20190410103625");
  140. bean.setCanceltime("20190410104021");
  141. try {
  142. //dao.insertFlowRec(bean);
  143. //dao.updateFlowRec(bean);
  144. //System.out.println(JsonUtil.objectToJson(dao.existFlowRec(bean)));
  145. System.out.println(dao.getId());
  146. } catch (SQLException e) {
  147. // TODO Auto-generated catch block
  148. e.printStackTrace();
  149. }
  150. }
  151. }