7208d863cd25f5f76f7041b055adc97423b156f6.svn-base 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. package com.chinacreator.process.dao;
  2. import java.sql.SQLException;
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import org.apache.log4j.Logger;
  7. import org.springframework.cache.annotation.Cacheable;
  8. import org.springframework.stereotype.Component;
  9. import com.chinacreator.common.support.cache.annotation.CacheName;
  10. import com.chinacreator.process.bean.ContinueBean;
  11. import com.chinacreator.process.bean.KuaishouPushBean;
  12. import com.chinacreator.process.bean.OrderBean;
  13. import com.chinacreator.process.util.DataSource;
  14. import com.frameworkset.common.poolman.PreparedDBUtil;
  15. import com.frameworkset.common.poolman.SQLExecutor;
  16. @Component
  17. @CacheName("OrderSendVip")
  18. public class OrderSendVipDao{
  19. /**
  20. * 更新处理结果
  21. * @param id
  22. * @param resultcode
  23. * @param resultinfo
  24. * @return
  25. * @throws SQLException
  26. */
  27. public boolean updatePush(String id, String resultcode, String resultinfo)throws SQLException {
  28. String sql = "UPDATE TD_ORDER_SENDVIP_REC SET RESULTCODE = ? , RESULTINFO = ? WHERE ID = ? ";
  29. Object rows = SQLExecutor.updateWithDBName(DataSource.NET3G, sql, resultcode,resultinfo, id);
  30. if(Integer.parseInt(rows.toString()) > 0){
  31. return true;
  32. }else{
  33. return false;
  34. }
  35. }
  36. /**
  37. * 查询是否有配置信息
  38. * @param cpid
  39. * @param spid
  40. * @param orderchannel
  41. * @return
  42. * @throws SQLException
  43. */
  44. public boolean qryOrderSendvipConf(String cpid, String spid,String orderchannel)throws SQLException {
  45. String sql = " SELECT COUNT(1) CNT FROM TB_ORDER_SENDVIP_CONF WHERE CPID = ? AND SPID = ? AND CHANNEL = ? AND STATUS = '0' ";
  46. int cnt = SQLExecutor.queryObjectWithDBName(Integer.class, DataSource.NET3G,sql, cpid, spid, orderchannel);
  47. if(cnt > 0){
  48. return true;
  49. }else{
  50. return false;
  51. }
  52. }
  53. /**
  54. * 查询所有自动领取会员配置
  55. * @param
  56. * @return
  57. */
  58. @Cacheable(value="qryOrderSendvipAllConf", key="#cpid + '_' + #spid")
  59. public List<HashMap> qryOrderSendvipAllConf(String cpid, String spid)throws SQLException {
  60. String sql = " SELECT ID,CPID,SPID,CHANNEL,VIPID,VIPTYPE,VIPPWD,TO_CHAR(STARTTIME,'YYYYMMDDHH24MISS') STARTTIME, TO_CHAR(ENDTIME,'YYYYMMDDHH24MISS') ENDTIME, ORDERTYPE, PRODUCTNAME, PRODUCTID, SENDTYPE, SUBCHANNEL FROM TB_ORDER_SENDVIP_CONF WHERE CPID = ? AND SPID = ? AND STATUS = '0' ";
  61. return SQLExecutor.queryListWithDBName(HashMap.class, DataSource.NET3G, sql, cpid, spid);
  62. }
  63. /**
  64. * 查询自动领取会员配置
  65. * @param
  66. * @return
  67. */
  68. public List<HashMap> qryOrderSendvipConf(String cpid, String spid)throws SQLException {
  69. String sql = " SELECT CPID,SPID,CHANNEL,TO_CHAR(STARTTIME,'YYYYMMDDHH24MISS') STARTTIME, TO_CHAR(ENDTIME,'YYYYMMDDHH24MISS') ENDTIME, ORDERTYPE, PRODUCTNAME, PRODUCTID, SUBCHANNEL FROM TB_ORDER_SENDVIP_CONF WHERE CPID = ? AND SPID = ? AND STATUS = '0' AND SENDTYPE = '1' ";
  70. return SQLExecutor.queryListWithDBName(HashMap.class, DataSource.NET3G, sql, cpid, spid);
  71. }
  72. /**
  73. * 查询自动走直充送会员配置
  74. * @param
  75. * @return
  76. */
  77. public List<HashMap> qryOrderSendvipConfByZc(String cpid, String spid)throws SQLException {
  78. String sql = " SELECT CPID,SPID,CHANNEL,VIPID,VIPTYPE,VIPPWD,TO_CHAR(STARTTIME,'YYYYMMDDHH24MISS') STARTTIME, TO_CHAR(ENDTIME,'YYYYMMDDHH24MISS') ENDTIME, ORDERTYPE, PRODUCTNAME, PRODUCTID, SUBCHANNEL FROM TB_ORDER_SENDVIP_CONF WHERE CPID = ? AND SPID = ? AND STATUS = '0' AND SENDTYPE = '0' ";
  79. return SQLExecutor.queryListWithDBName(HashMap.class, DataSource.NET3G, sql, cpid, spid);
  80. }
  81. /**
  82. * 获取ID
  83. * @return
  84. * @throws SQLException
  85. */
  86. public String getNo()throws SQLException {
  87. String sql = "SELECT TO_CHAR(SYSDATE,'yyyyMMddhh24miss')||SEQ_COMMON6.nextval ID FROM DUAL ";
  88. return (String)SQLExecutor.queryFieldWithDBName("net3g",sql,null);
  89. }
  90. /**
  91. * 添加自动赠送会员记录
  92. * @param bean
  93. * @throws SQLException
  94. */
  95. public void addSendvipRec(HashMap<String,String> params) throws SQLException {
  96. String sql = "INSERT INTO TD_ORDER_SENDVIP_REC(ID, USERID, CPID, SPID, SENDMONTH ,RESULTCODE, RESULTINFO ,ORDERTIME ,ORDERCHANNEL, INSERTTIME, CONFID, SUBCHANNEL) " +
  97. " VALUES(#[ID], #[USERID],#[CPID],#[SPID],TO_CHAR(SYSDATE, 'YYYYMM'),#[RESULTCODE],#[RESULTINFO], TO_DATE(#[ORDERTIME],'YYYYMMDDHH24MISS'),#[ORDERCHANNEL], SYSDATE, #[CONFID],#[SUBCHANNEL] )";
  98. SQLExecutor.insertBean("net3g", sql, params);
  99. }
  100. /**
  101. * 根据手机号码和SPID查询订购关系
  102. * @param userid
  103. * @param spid
  104. * @return
  105. * @throws SQLException
  106. */
  107. public List<HashMap> findOrderRel(String userid,String spid)throws SQLException {
  108. String sql = " SELECT ID, CPID, SPID, USERID, TO_CHAR(ORDERTIME, 'yyyymmddhh24miss') ORDERTIME, "+
  109. " TO_CHAR(endtime, 'yyyymmddhh24miss') endtime, TO_CHAR(CANCELTIME, 'yyyymmddhh24miss') CANCELTIME, ORDERCHANNEL, ORDERCHANNEL2, CANCELCHANNEL2, "+
  110. " (case when endtime is null then '0' when endtime >= sysdate then '1' else '2' end) STATUS "+
  111. " FROM TD_ORDER_RELATIONS WHERE USERID = ? AND SPID = ? ";
  112. return SQLExecutor.queryListWithDBName(HashMap.class, DataSource.NET3G, sql, userid, spid);
  113. }
  114. /**
  115. * 获取待生成活动关系的数据
  116. * @param srcflag
  117. * @return
  118. * @throws SQLException
  119. */
  120. public List<OrderBean> getBusshandleWaitData(String srcflag) throws SQLException {
  121. String sql = "SELECT * FROM ( "+
  122. " SELECT ID WAITID,USERID,CPID,SPID,PROVINCE,AREA,STATUS ORDERTYPE, "+
  123. " DECODE(STATUS,'0',ORDERTIME,CANCELTIME) UPDATETIME, "+
  124. " DECODE(STATUS,'0', "+
  125. " DECODE(ORDERCHANNEL,'kf','spfbtx11',NVL(ORDERCHANNEL,'spfbtx1')), "+
  126. " DECODE(CANCELCHANNEL,'kf','spfbtx11',NVL(CANCELCHANNEL,'spfbtx1')) "+
  127. " ) CHANNEL, "+
  128. " DECODE(STATUS,'0', "+
  129. " DECODE(ORDERCHANNEL,NULL,'0','2'), "+
  130. " DECODE(CANCELCHANNEL,NULL,'0','2') "+
  131. " ) ACTIVATED "+
  132. " FROM TD_BUSSHANDLE_WAIT WHERE RESULTCODE = '1' AND SRCFLAG = ? ORDER BY INSERTTIME "+
  133. ") WHERE ROWNUM < 200 ";
  134. return SQLExecutor.queryListWithDBName(OrderBean.class, DataSource.NET3G, sql, srcflag);
  135. }
  136. /**
  137. * 更新记录表的状态
  138. * @param id
  139. * @param resultcode
  140. * @param resultinfo
  141. * @return
  142. * @throws SQLException
  143. */
  144. public boolean updBusshandleWaitData(String id, String resultcode, String resultinfo) throws SQLException {
  145. String sql = " UPDATE TD_BUSSHANDLE_WAIT SET RESULTCODE = ?, RESULTINFO = ?, UPDTIME = SYSDATE WHERE ID = ? ";
  146. Object rows = SQLExecutor.updateWithDBName(DataSource.NET3G, sql, resultcode, resultinfo, id);
  147. if(Integer.parseInt(rows.toString()) > 0){
  148. return true;
  149. }else{
  150. return false;
  151. }
  152. }
  153. public static void main(String[] args) throws SQLException {
  154. OrderSendVipDao dao = new OrderSendVipDao();
  155. //System.out.println(dao.updatePush("202005091510455306373", "0", "ok"));
  156. //System.out.println(dao.findOrderRelaBySpid("18673197465", "1022"));
  157. //System.out.println(dao.getNo());
  158. //System.out.println(dao.queryPush("202005091510455306373"));
  159. HashMap<String,String> params = new HashMap<String,String>();
  160. params.put("USERID", "18673197465");
  161. params.put("CPID", "youtu");
  162. params.put("SPID", "1168");
  163. params.put("SENDMONTH", "202005");
  164. params.put("RESULTCODE", "2");
  165. params.put("RESULTINFO", "处理中");
  166. params.put("ORDERTIME", "20200521164921");
  167. params.put("ORDERCHANNEL", "yyyjjj");
  168. //System.out.println(
  169. //dao.addSendvipRec(params); //);
  170. //System.out.println(dao.findOrderRel("18673197465", "1022"));
  171. //System.out.println(dao.updatePush("202005281022397945602", "0","OK"));
  172. System.out.println(dao.getBusshandleWaitData("0"));
  173. System.out.println(dao.updBusshandleWaitData("20210615110232000001", "0", "ok"));
  174. }
  175. }