6b930d692eb2b10d2123605846d86f878746ae86.svn-base 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.chinacreator.process.dao;
  2. import com.chinacreator.common.dao.CacheableDao;
  3. import com.chinacreator.common.support.cache.annotation.CacheName;
  4. import com.chinacreator.process.bean.ActivityConfigBean;
  5. import com.chinacreator.process.util.DataSource;
  6. import com.frameworkset.common.poolman.PreparedDBUtil;
  7. import org.springframework.cache.annotation.Cacheable;
  8. import org.springframework.stereotype.Component;
  9. import javax.annotation.PostConstruct;
  10. import java.sql.SQLException;
  11. import java.util.List;
  12. @Component
  13. @CacheName("ActivityConfigBean")
  14. public class ActivityConfigDao extends CacheableDao{
  15. /**
  16. * 初始化缓存
  17. * @throws SQLException
  18. */
  19. @SuppressWarnings("unchecked")
  20. @PostConstruct
  21. public void loadCache() throws SQLException {
  22. PreparedDBUtil pdb = new PreparedDBUtil();
  23. String sql = "select cpid,spid,to_char(begintime,'yyyymmddhh24miss') begintime,to_char(endtime,'yyyymmddhh24miss') endtime,to_char(add_months(endtime,3),'yyyymmddhh24miss') cancelendtime ,activetype,province from TB_ACTIVITY_CONFIG where status = 0 ";
  24. List<ActivityConfigBean> activityConfigBeans = pdb.executeSelectForList(DataSource.NET3G, sql, ActivityConfigBean.class);
  25. for(ActivityConfigBean activityConfigBean : activityConfigBeans) {
  26. addCache("ActivityConfigBean", activityConfigBean.getCpid() + "_" +activityConfigBean.getSpid()+ "_" +activityConfigBean.getProvince(), activityConfigBean);
  27. }
  28. }
  29. @Cacheable(value="ActivityConfigProvinceBean", key="#cpid + '_' + #spid+ '_' + #province")
  30. public ActivityConfigBean findByCallerhead(String cpid,String spid,String province) {
  31. PreparedDBUtil pdb = new PreparedDBUtil();
  32. String sql = "select cpid,spid,to_char(begintime,'yyyymmddhh24miss') begintime,to_char(endtime,'yyyymmddhh24miss') endtime,to_char(endtime,'yyyymmddhh24miss') cancelendtime ,activetype,province, activehandle from TB_ACTIVITY_CONFIG where cpid = ? and spid = ? and province in ('0',?) and status =0 ";
  33. try {
  34. pdb.preparedSelect(DataSource.NET3G, sql);
  35. pdb.setString(1, cpid);
  36. pdb.setString(2, spid);
  37. pdb.setString(3, province);
  38. return (ActivityConfigBean) pdb.executePreparedForObject(ActivityConfigBean.class);
  39. } catch (SQLException e) {
  40. e.printStackTrace();
  41. }
  42. return null;
  43. }
  44. public ActivityConfigBean findByCallerheadtype(String cpid,String spid,String province,String activetype) {
  45. PreparedDBUtil pdb = new PreparedDBUtil();
  46. String sql = "select cpid,spid,to_char(begintime,'yyyymmddhh24miss') begintime,to_char(endtime,'yyyymmddhh24miss') endtime,to_char(endtime,'yyyymmddhh24miss') cancelendtime ,activetype,province,vip,flow,canrepeat from TB_ACTIVITY_CONFIG where cpid = ? and spid = ? and province in ('0',?) and status =0 and activetype=? order by leveler desc, province desc";
  47. try {
  48. pdb.preparedSelect(DataSource.NET3G, sql);
  49. pdb.setString(1, cpid);
  50. pdb.setString(2, spid);
  51. pdb.setString(3, province);
  52. pdb.setString(4, activetype);
  53. return (ActivityConfigBean) pdb.executePreparedForObject(ActivityConfigBean.class);
  54. } catch (SQLException e) {
  55. e.printStackTrace();
  56. }
  57. return null;
  58. }
  59. }