6e10aeb10e31bca3addc69a46d454049f04f7c72.svn-base 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. package com.chinacreator.process.dao;
  2. import java.sql.SQLException;
  3. import java.util.List;
  4. import org.springframework.stereotype.Component;
  5. import com.chinacreator.process.bean.NetOrderBean;
  6. import com.chinacreator.process.bean.OrderBean;
  7. import com.chinacreator.process.bean.OrderLog;
  8. import com.chinacreator.process.util.DataSource;
  9. import com.frameworkset.common.poolman.SQLExecutor;
  10. @Component
  11. public class KfkChangeNumDao {
  12. public List<NetOrderBean> queryByUserid(String userid) throws SQLException {
  13. String sql = "select id,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 from TD_ORDER_RELATIONS where userid=? and (canceltime is null or endtime > sysdate) and spid in('6','84','1017','21156','979','1005','11','980','952')";
  14. return SQLExecutor.queryListWithDBName(NetOrderBean.class, DataSource.NET3G, sql, userid);
  15. }
  16. public void order(NetOrderBean order) throws Exception {
  17. String sql = "merge into td_order_relations a using (select #[cpid] cpid, #[spid] spid, #[userid] userid from dual) b "
  18. + "on(a.cpid = b.cpid and a.spid = b.spid and a.userid = b.userid) "
  19. + "when matched then update set ordertime=#if($ordertime && !$ordertime.equals(\"\")) to_date(#[ordertimestr], 'yyyymmddhh24miss') #else sysdate #end,"
  20. + "effecttime=#if($effecttime && !$effecttime.equals(\"\")) to_date(#[effecttimestr], 'yyyymmddhh24miss') #elseif($ordertime) to_date(#[ordertimestr], 'yyyymmddhh24miss') #else sysdate #end, "
  21. + "canceltime=#if($canceltime && !$canceltime.equals(\"\"))to_date(#[canceltimestr], 'yyyymmddhh24miss') #else '' #end,#if($endtime && !$endtime.equals(\"\"))endtime=to_date(#[endtimestr], 'yyyymmddhh24miss') #else endtime='' #end,"
  22. + "status=#[status],synccount=0,syncsucceed='1',lastsynctime='',issms='1',smstime='',"
  23. + "orderchannel=#[orderchannel],fromurl=#[fromurl],type=#[type],orderstatus=#[orderstatus],"
  24. + "ordertype=#[ordertype],apptype=#[apptype],isexperience=#[isexperience],ordervaccode=#[ordervaccode],"
  25. + "videoid=#[videoid],videourl=#[videourl],videoname=#[videoname],videotag=#[videotag],videosize=#[videosize],"
  26. + "cachesucceed=1,showstatus=#[showstatus],batchid=#[batchid] when not matched then insert (id,cpid,spid,userid,ordertime,"
  27. + "effecttime,endtime,status,province,area,orderchannel,synccount,syncsucceed,fromurl,type,orderstatus,ordertype,apptype,"
  28. + "isexperience,videoid,videoname,videourl, videotag, videosize,ordervaccode,cachesucceed, showstatus,batchid,canceltime,cancelchannel)"
  29. + "values( to_char(sysdate,'yyyyMMddhh24miss')||SEQ_COMMON6.nextval,#[cpid],#[spid],#[userid],"
  30. + "#if($ordertime && !$ordertime.equals(\"\")) to_date(#[ordertimestr], 'yyyymmddhh24miss') #else sysdate #end,"
  31. + "#if($effecttime && !$effecttime.equals(\"\")) to_date(#[effecttimestr], 'yyyymmddhh24miss') #elseif($ordertime) to_date(#[ordertimestr], 'yyyymmddhh24miss') #else sysdate #end, "
  32. + "#if($endtime && !$endtime.equals(\"\"))to_date(#[endtimestr], 'yyyymmddhh24miss') #else '' #end,#[status],#[province],#[area],"
  33. + "#[orderchannel],0,1,#[fromurl],#[type],#[orderstatus],#[ordertype],#[apptype],#[isexperience],"
  34. + "#[videoid],#[videoname],#[videourl],#[videotag],#[videosize],#[ordervaccode],1, #[showstatus],#[batchid],to_date(#[canceltimestr], 'yyyymmddhh24miss'),#[cancelchannel])";
  35. SQLExecutor.insertBean(DataSource.NET3G, sql, order);
  36. }
  37. public void cancelOrder(String id) throws Exception {
  38. String sql = "update td_order_relations set canceltime =sysdate,endtime=trunc(last_day(sysdate))+1-1/86400,status=1,cancelchannel='kfkchange',orderstatus=5 where id=?";
  39. SQLExecutor.updateWithDBName(DataSource.NET3G, sql, id);
  40. }
  41. public void addOrderLog(OrderLog orderLog) throws SQLException {
  42. String sql = "insert into tl_order_log (id, userid, province, area, apptype, useragent, origin, "
  43. +"channel, cpid, spid, errorcode, errorinfo, status, orderstatus, ordertype, inserttime, isexperience) values ( "
  44. +"to_char(sysdate, 'yyyymmddhh24miss') || SEQ_COMMON6.nextval,"
  45. +"#[userid], #[province], #[area], #[apptype], #[useragent], #[origin], #[channel], #[cpid],"
  46. +"#[spid], #[errorcode], #[errorinfo], #[status], #[orderstatus], #[ordertype],"
  47. +"sysdate, #[isexperience])";
  48. SQLExecutor.insertBean(DataSource.NET3G, sql, orderLog);
  49. }
  50. public void copyUserMsg(String userid,String oldUserid) throws SQLException{
  51. String sql = "insert into TD_USERMSG_INFO (CPID,SPID,USERID,MSG1,MSG2,MSG3,ACTIVEID,INSERTTIME,MSG4) select cpid,spid,? userid,MSG1,MSG2,MSG3,ACTIVEID,sysdate,'kfkchange' MSG4 from TD_USERMSG_INFO where userid=? and ACTIVEID=6 and cpid='tencent' and spid ='84' and rownum=1";
  52. SQLExecutor.insertWithDBName(DataSource.NET3G, sql, userid,oldUserid);
  53. }
  54. public void copyVacMsg(String userid,String oldUserid) throws SQLException{
  55. String sql = "insert into TD_VACORDER_CONTROL(USERID,CPID,SPID,ORDERTIME,REMARK) select ? userid,CPID,SPID,ORDERTIME,'kfkchange' REMARK from TD_VACORDER_CONTROL where cpid='tencent' and spid='84' and userid =? and to_char(ordertime,'yyyymm')=to_char(sysdate,'yyyymm') and rownum=1";
  56. SQLExecutor.insertWithDBName(DataSource.NET3G, sql, userid,oldUserid);
  57. }
  58. public void copyGiveVipMsg(String userid,String oldUserid) throws SQLException{
  59. String sql = "insert into TD_VIPGIVE_CONTROL(USERID,CPID,SPID,givetime,REMARK) select ? userid,CPID,SPID,GIVETIME,'kfkchange' REMARK from TD_VIPGIVE_CONTROL where cpid='tencent' and spid='84' and userid =? and to_char(GIVETIME,'yyyymm')=to_char(sysdate,'yyyymm') and rownum=1";
  60. SQLExecutor.insertWithDBName(DataSource.NET3G, sql, userid,oldUserid);
  61. }
  62. public void copyActivityMsg(String userid,String id) throws SQLException{
  63. String sql = "insert into TD_BUSSINESS_HANDLE "
  64. + "(id,userid,cpid,spid,province,area,ordertime,effectivetime,activitystatus,activitytime,orderchannel,orderstatus,inserttime,endtime,ischarge,flowstatus,activetype,vipstatus,canceltime,VIPTIME,VIPCONSTATUS,VIPCONTIME,cancelchannel ) "
  65. + "select to_char(sysdate,'yyyyMMddhh24miss')||SEQ_COMMON6.nextval id,? userid,cpid,spid,province,area,ordertime,effectivetime,activitystatus,activitytime,'kfkchange' orderchannel,orderstatus,inserttime,endtime,ischarge,flowstatus,activetype,vipstatus,canceltime,VIPTIME,VIPCONSTATUS,VIPCONTIME,decode(canceltime,'','','kfkchange') cancelchannel "
  66. + "from TD_BUSSINESS_HANDLE where id=?";
  67. SQLExecutor.insertWithDBName(DataSource.NET3G, sql, userid,id);
  68. }
  69. public void cancelActivity(String id) throws SQLException {
  70. String sql = "update TD_BUSSINESS_HANDLE set canceltime =sysdate,endtime=last_day(trunc(sysdate)+1-1/(24*60*60)),cancelchannel= 'kfkchange',"
  71. + "orderstatus =1 where id=?";
  72. SQLExecutor.updateWithDBName(DataSource.NET3G, sql, id);
  73. }
  74. public OrderBean existUser(String userid) throws SQLException {
  75. String sql = "select id,orderstatus,to_char(endtime,'yyyymmddhh24miss') endtime from TD_BUSSINESS_HANDLE where userid =? and cpid ='tencent' and spid='84' and ACTIVETYPE=6";
  76. return SQLExecutor.queryObjectWithDBName(OrderBean.class, DataSource.NET3G, sql, userid);
  77. }
  78. public void updateAcative(String id,String newid) throws SQLException {
  79. String sql = "update TD_BUSSINESS_HANDLE set (ordertime,canceltime,endtime,orderchannel,cancelchannel,ORDERSTATUS,VIPSTATUS,VIPTIME,VIPCONSTATUS,VIPCONTIME) "
  80. + "=(select ordertime,canceltime,endtime,orderchannel,cancelchannel,ORDERSTATUS,VIPSTATUS,VIPTIME,VIPCONSTATUS,VIPCONTIME from TD_BUSSINESS_HANDLE where id=?) where id =?";
  81. SQLExecutor.updateWithDBName(DataSource.NET3G, sql, id,newid);
  82. }
  83. public static void main(String[] args) throws SQLException {
  84. KfkChangeNumDao dao = new KfkChangeNumDao();
  85. System.out.println( dao.queryByUserid("18574414678").size());
  86. }
  87. }