📄 usersubbean.java
字号:
package com.sxit.wap.usersub;import java.sql.*;import java.util.*;import com.sxit.wap.common.*;import com.sxit.wap.exception.*;import com.sxit.wap.usersubhis.*;public class UserSubBean extends UserSubDao{ public static boolean isUserSubed(String userMdn, int channelId) throws SysException { String sql = "SELECT COUNT(*) FROM " + tableName + " WHERE USER_MDN = '" + userMdn + "' AND CHANNEL_ID = " + channelId; return getRowCountBySql(sql) != 0; } public static Collection querySubByUserMdn(String userMdn, int beginRow, int endRow) throws SysException { String sql = "SELECT U.*, C.CHANNEL_NAME FROM WAP_USER_SUB U, WAP_CHANNEL C WHERE U.CHANNEL_ID = C.ID".concat(String.valueOf(String.valueOf(StringUtil.isEmpty(userMdn) ? "" : ((Object) (String.valueOf(String.valueOf((new StringBuffer(" AND U.USER_MDN = '")).append(userMdn).append("'")))))))); return UserSubDao.queryBySql(sql, beginRow, endRow); } public static void subscribe(String userMdn, int channelId, int feeType, int feeCode,int isCancel) throws SysException { Connection conn = null; try { conn = Database.getConnection(); conn.setAutoCommit(false); if ( (feeType != 1) && (feeType != 0)) { UserSubModel userSubModel = new UserSubModel(); userSubModel.setUserMdn(userMdn); userSubModel.setChannelId(channelId); userSubModel.setSubDate(DateUtil.getCurrTime()); if (feeType == 2) { userSubModel.setEndDate(getNextDay()); } else { userSubModel.setEndDate(getthisMonthEnd()); } userSubModel.setFeeType(feeType); userSubModel.setFeeCode(feeCode); userSubModel.setSubStatus(1); userSubModel.setIsCancel(isCancel); userSubModel = UserSubBean.insert(userSubModel, conn); } UserSubHisModel userSubHisModel=new UserSubHisModel(); userSubHisModel.setUserMdn(userMdn); userSubHisModel.setChannelId(channelId); userSubHisModel.setSubDate(Function.getCurrTime()); userSubHisModel.setFeeType(feeType); userSubHisModel.setFeeCode(feeCode); userSubHisModel = UserSubHisBean.insert(userSubHisModel, conn); conn.commit(); } catch (AppException e) { e.printStackTrace(); try {conn.rollback();} catch (Exception ex) {} //throw new SysException("AppException while execute subscribe"); } catch (UpdateException e) { e.printStackTrace(); try {conn.rollback();} catch (Exception ex) {} //throw new SysException("UpdateException while execute subscribe"); } catch (SysException e) { e.printStackTrace(); try {conn.rollback();} catch (Exception ex) {} throw new SysException("SysException while execute subscribe"); } catch (SQLException e) { e.printStackTrace(); try {conn.rollback();} catch (Exception ex) {} throw new SysException("SQLException while execute subscribe"); } finally { try {conn.setAutoCommit(false);} catch (Exception ex) {} try {conn.close();} catch (Exception ex) {} } } public static boolean cancelSub(String userMdn, int channelId, int feeT) throws SysException { String sql = ""; if (feeT == 3) { sql = "update " + tableName + " set is_cancel=1 where user_mdn='" + userMdn + "' AND CHANNEL_ID = " + channelId; } else { sql = "DELETE FROM " + tableName + " WHERE USER_MDN = '" + userMdn + "' AND CHANNEL_ID = " + channelId; } return updateBySql(sql) == 1; } public static Collection queryByUserMdn(String userMdn, int beginRow, int endRow) throws SysException { String sql = "SELECT U.*, C.CHANNEL_NAME, C.CHANNEL_URL FROM WAP_USER_SUB U, WAP_CHANNEL C WHERE U.CHANNEL_ID = C.ID AND U.USER_MDN = '" + userMdn + "'"; return queryBySql(sql, beginRow, endRow); } public static Collection queryByUserMdn(String userMdn) throws SysException { String sql = "SELECT U.*, C.CHANNEL_NAME, C.CHANNEL_URL FROM WAP_USER_SUB U, WAP_CHANNEL C WHERE U.CHANNEL_ID = C.ID AND U.USER_MDN = '" + userMdn + "'"+" order by to_char(U.SUB_DATE,'yyyyMMddHH24miss')"; return queryBySql(sql); } public static Hashtable getCancelTable(String userMdn) throws SysException { Hashtable value = new Hashtable(); String sql = "SELECT CHANNEL_ID, END_DATE FROM " + tableName + " WHERE FEE_TYPE = 3 AND IS_CANCEL = 1 AND USER_MDN = '" + userMdn + "'"; Collection coll = queryBySql(sql); Iterator it = coll.iterator(); while (it.hasNext()) { Hashtable element = (Hashtable)it.next(); value.put((String)element.get("channelId"), (Timestamp)element.get("endDate")); } return value; } public static int getRowCountByUserMdn(String userMdn) throws SysException { String sql = "SELECT COUNT(*) FROM WAP_USER_SUB U, WAP_CHANNEL C WHERE U.CHANNEL_ID = C.ID AND U.USER_MDN = '" + userMdn + "'"; return getRowCountBySql(sql); } public static Collection getCpPhone(String userMdn,int channelId) throws SysException{ String sql = "SELECT U.*,CP.CP_NAME,CH.CHANNEL_NAME,CP.CP_CONTACT,CP.CP_TEL,CP.CLIENT_TEL FROM WAP_USER_SUB U,WAP_CP CP,WAP_CHANNEL CH WHERE U.CHANNEL_ID = CH.ID AND CP.ID=CH.CP_ID AND U.USER_MDN = '" + userMdn + "' and channel_id ="+channelId; return queryBySql(sql); } public static Collection getSubChannel(String userMdn,int channelId) throws SysException{ String sql = "SELECT U.*, C.CHANNEL_NAME, C.CHANNEL_URL FROM WAP_USER_SUB U, WAP_CHANNEL C WHERE U.CHANNEL_ID = C.ID AND U.USER_MDN = '" + userMdn + "' AND C.ID="+channelId; return queryBySql(sql); } public static int getFeeCodeByDate(int feeCode) throws SysException { int nowDate = Integer.parseInt(DateUtil.getDD()); System.out.println(nowDate); if(nowDate >= 15) return feeCode / 2; else return feeCode; } public static void updateEndTime(String userMdn,int channelId) throws SysException { java.sql.Timestamp time = DateUtil.getNextMonthFirstDay(); time = new Timestamp(time.getTime()-1000); String sql = "UPDATE WAP_USER_SUB SET END_DATE =" + DateUtil.getDateSql(0, time) + "WHERE USER_MDN ='" + userMdn + "' AND CHANNEL_ID="+channelId; if (updateBySql(sql) != 1) { throw new SysException("ERROR in updateEndTime !! resultCount != 1"); } } public static Collection getIsCancel(String mdn,int channelId) throws SysException{ String sql = "SELECT END_DATE,IS_CANCEL FROM WAP_USER_SUB WHERE USER_MDN ='" + mdn + "' AND CHANNEL_ID =" +channelId; return queryBySql(sql); } public static boolean isCancel(String mdn,int channelId) throws SysException{ String sql = "SELECT END_DATE,IS_CANCEL FROM WAP_USER_SUB WHERE USER_MDN ='" + mdn + "' AND IS_CANCEL = 1 AND CHANNEL_ID =" +channelId; return queryBySql(sql).size()>0; } public static void deleteSub(String mdn,int channelId) throws SysException{ String sql = " DELETE FROM WAP_USER_SUB WHERE USER_MDN = '" + mdn + "' AND CHANNEL_ID =" + channelId; System.out.println(sql); if (updateBySql(sql) != 1) { throw new SysException("ERROR in deleteUserSub !! resultCount != 1"); } } //获取明天的时间 public static Timestamp getNextDay() { Calendar calendar = Calendar.getInstance(); calendar.setTime(new Timestamp(System.currentTimeMillis())); calendar.add(5, 1); return new Timestamp(calendar.getTime().getTime()); } //获取这个月月底的时间 public static Timestamp getthisMonthEnd() { java.sql.Timestamp time = DateUtil.getNextMonthFirstDay(); time = new Timestamp(time.getTime() - 1000); return time; } public static boolean isSubFromDate(String userMdn,int channelId,Timestamp date)throws SysException{ String sql = "SELECT COUNT(*) FROM WAP_USER_SUB WHERE USER_MDN = '" + userMdn + "' AND CHANNEL_ID = " + channelId; sql += " AND SUB_DATE > " + DateUtil.getDateSql(DBType.ORACLE,date); return getRowCountBySql(sql) != 0; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -