⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subscribermanagementsystembean.java

📁 Sun公司Dream项目
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
            s.pin = rs.getString(3);

            s.firstname = rs.getString(4);

            s.lastname = rs.getString(5);

            s.SimCardNum = rs.getString(11);

        } else {

            // check if user is a sub subscriber

            rs.close();

            stmt.close();

            stmt = conn.prepareStatement("SELECT * FROM  SUBSUBSCRIBERS WHERE SUBSUBSCRIBERS.SIMCARDNUM = ?");

            stmt.setQueryTimeout(QUERYTIMEOUT);

            stmt.setString(1, SIMNumber);

            rs = stmt.executeQuery();

            

            if (rs.next()) {

                s.masterid = rs.getInt(1);

                s.id = rs.getLong(2);

                s.login = rs.getString(3);

                s.pin = rs.getString(4);

                s.firstname = rs.getString(5);

                s.lastname = rs.getString(6);

                s.SimCardNum = rs.getString(7);

            } else {

                s = null;

            }

        }

        rs.close();

        stmt.close();

        conn.close();

        return s;

    }

    

    

    

    /**

     *updates the database with the rights information

     */

    public void updateFixedRightsInfo(RightsInfo userRightsInfo) throws java.rmi.RemoteException, SQLException{

        

        System.out.println("Checking inputs for sms.updateFixedRightsInfo");

        printRightsInfo(userRightsInfo);

        System.out.println("End of Checking inputs for sms.updateFixedRightsInfo");

        int remainingRights = userRightsInfo.remainingRights;

        String userid = userRightsInfo.userID;

        String contentid = userRightsInfo.movieName;

        

        Connection conn = dataSource.getConnection();

        

        //check if the user+contentid combination exists

        PreparedStatement stmt = conn.prepareStatement("SELECT RIGHTSKEY FROM OPERA_LICENSE_INFO WHERE (OPERA_LICENSE_INFO.CONTENTID = ?) AND (OPERA_LICENSE_INFO.USERID = ?) ");

        stmt.setQueryTimeout(QUERYTIMEOUT);

        stmt.setString(1, contentid);

        stmt.setString(2, userid);

        ResultSet rs = stmt.executeQuery();

        if(rs.next()) {

            System.out.println("Existing License for contentid "+contentid+" and userid "+userid);

            String rightskey = rs.getString(1);

            stmt = conn.prepareStatement("UPDATE  OPERA_LICENSE_INFO SET  OPERA_LICENSE_INFO.REMAINING = ? WHERE (OPERA_LICENSE_INFO.CONTENTID = ?) AND (OPERA_LICENSE_INFO.USERID = ?) ");

            stmt.setQueryTimeout(QUERYTIMEOUT);

            stmt.setInt(1, remainingRights);

            stmt.setString(2, contentid);

            stmt.setString(3, userid);

            stmt.executeUpdate();

            if (userRightsInfo.verbElements != null) {

                for (int i=0; i< userRightsInfo.verbElements.length; i++) {

                    PreparedStatement rightsSelectStmt = conn.prepareStatement("SELECT * FROM RIGHTS_INFO WHERE (VERBNAME = ?) AND (VERBARGNAME=?) AND (RIGHTSKEY = ?) ");

                    rightsSelectStmt.setQueryTimeout(QUERYTIMEOUT);

                    rightsSelectStmt.setString(1, userRightsInfo.verbElements[i].verbName);

                    rightsSelectStmt.setString(2, userRightsInfo.verbElements[i].verbArgName);

                    rightsSelectStmt.setString(3, rightskey);

                    ResultSet rightsResultSet = rightsSelectStmt.executeQuery();

                    if (rightsResultSet.next()){

                        System.out.println("Existing VerbElement for "+userRightsInfo.verbElements[i].verbName);

                        PreparedStatement rightsUpdateStmt = conn.prepareStatement("UPDATE RIGHTS_INFO SET VERBARGVAL = ? WHERE (VERBNAME = ?) AND (VERBARGNAME=?) AND (RIGHTSKEY = ?) ");

                        rightsUpdateStmt.setString(1, userRightsInfo.verbElements[i].verbArgValue);

                        rightsUpdateStmt.setString(2, userRightsInfo.verbElements[i].verbName);

                        rightsUpdateStmt.setString(3, userRightsInfo.verbElements[i].verbArgName);

                        rightsUpdateStmt.setString(4, rightskey);

                        rightsUpdateStmt.executeUpdate();

                        rightsUpdateStmt.close();

                    } else {

                        PreparedStatement rightsInsertStmt = conn.prepareStatement("INSERT INTO RIGHTS_INFO (VERBNAME, VERBARGNAME, VERBARGVAL,RIGHTSKEY) VALUES (?,?,?,?) ");

                        rightsInsertStmt.setString(1, userRightsInfo.verbElements[i].verbName);

                        rightsInsertStmt.setString(2, userRightsInfo.verbElements[i].verbArgName);

                        rightsInsertStmt.setString(3, userRightsInfo.verbElements[i].verbArgValue);

                        rightsInsertStmt.setString(4, rightskey);

                        System.out.println("Insert new data "+rightsInsertStmt);

                        rightsInsertStmt.executeUpdate();

                        rightsInsertStmt.close();

                    }

                }

            }

        } else {

            stmt = conn.prepareStatement("INSERT INTO OPERA_LICENSE_INFO (RIGHTSKEY, LICENSETYPE,USERID,SHOPID,CONTENTID,TOTAL,REMAINING,STARTTIME,ENDTIME) VALUES(?,?,?,?,?,?,?,?,?)");

            stmt.setQueryTimeout(0);

            String rightsKey = userid+contentid;

            stmt.setString(1, rightsKey);

            stmt.setInt(2, userRightsInfo.rightsType);

            stmt.setString(3, userid);

            stmt.setString(4, "operaShop0");

            stmt.setString(5, contentid);

            stmt.setInt(6, userRightsInfo.remainingRights);

            stmt.setInt(7, userRightsInfo.remainingRights);

            System.out.println("Insert new data for rightskey "+rightsKey);

            Timestamp st = null;

            if (userRightsInfo.rightsStartDate != null) 

                st = new Timestamp(userRightsInfo.rightsStartDate.getTime());

            else

                st = new Timestamp(1000 * 60 * 60 * 24 * 365 * 30);

            System.out.println ("StartDate is "+st);

            Timestamp dt = null; 

            if (userRightsInfo.rightsEndDate != null) 

                dt = new Timestamp(userRightsInfo.rightsEndDate.getTime());

            else

                dt = new Timestamp(1000 * 60 * 60 * 24 * 365 * 37);

            System.out.println ("EndDate is "+dt);

            stmt.setTimestamp(8, st);

            stmt.setTimestamp(9, dt);

            stmt.executeUpdate();

            System.out.println("Insert new License row "+stmt);

            if (userRightsInfo.verbElements.length > 0) {

                for (int i=0; i< userRightsInfo.verbElements.length; i++) {

                    PreparedStatement rightsInsertStmt = conn.prepareStatement("INSERT INTO RIGHTS_INFO (VERBNAME, VERBARGNAME, VERBARGVAL,RIGHTSKEY) VALUES (?,?,?,?) ");

                    rightsInsertStmt.setString(1, userRightsInfo.verbElements[i].verbName);

                    rightsInsertStmt.setString(2, userRightsInfo.verbElements[i].verbArgName);

                    rightsInsertStmt.setString(3, userRightsInfo.verbElements[i].verbArgValue);

                    rightsInsertStmt.setString(4, rightsKey);

                    rightsInsertStmt.executeUpdate();

                    System.out.println("Insert new data 2"+rightsInsertStmt);

                    rightsInsertStmt.close();

                }

            }

        }

        stmt.close();

        conn.close();

    }

    

    /*

     * inserts user information into subsubcriber table when user registers in the admin pages

     */

    public String registerUser(long masterID,String login, String password, String firstName, String lastName, String SIMNum) throws SQLException,java.rmi.RemoteException {

        String returnMsg= "User registration successfull";

        

        try {

            Connection conn = dataSource.getConnection();

            PreparedStatement stmt1 = conn.prepareStatement("SELECT * FROM  MAXIDVALUES");

            int nextUserID = -1;

            int maxUserID = -1;

            ResultSet rs = stmt1.executeQuery();

            if (rs.next()) {

                maxUserID = rs.getInt(1);

                //System.out.println("maxuserid from maxid table" +maxUserID);

                nextUserID = maxUserID +1;

            }

            stmt1.close();

            PreparedStatement stmt = conn.prepareStatement("INSERT INTO SUBSUBSCRIBERS (MASTERID,ID,LOGIN,PIN,FIRSTNAME,LASTNAME,SIM) VALUES(?,?,?,?,?,?,?)");

            stmt.setQueryTimeout(QUERYTIMEOUT);

            stmt.setLong(1, masterID);

            stmt.setInt(2, nextUserID);

            stmt.setString(3, login);

            stmt.setString(4, password);

            stmt.setString(5, firstName);

            stmt.setString(6, lastName);

            stmt.setString(7, SIMNum);

            stmt.executeUpdate();

            stmt.close();

            

            PreparedStatement stmt2 = conn.prepareStatement("UPDATE  MAXIDVALUES SET MAXUSERID = ? WHERE (MAXIDVALUES.MAXUSERID = ?)");

            stmt2.setInt(1,nextUserID);

            stmt2.setInt(2,maxUserID);

            stmt2.executeUpdate();

            stmt2.close();

            

            conn.close();

        } catch(Exception ee) {

            System.out.println("exception in " +ee);

            returnMsg = " User registration failed " + ee;

        }

        return returnMsg;

    }

    

     /*

      * Shopped rights are added to the database.

      *

      */

    public void addRightsInfo(String Userid,String contentid,int rightsType, int NumRights) throws SQLException,java.rmi.RemoteException {

        

        //System.out.println(" userid " +Userid);

        //System.out.println(" rights" + rightsType);

        //System.out.println("contentid " + contentid);

        //System.out.println("No of rights" + NumRights);

        Timestamp startDate = new Timestamp(System.currentTimeMillis());

        Timestamp endDate = new Timestamp(System.currentTimeMillis() + 1000 * 60 * 60 * 24 * 365);

        int defaultrightsType = 0;

        //System.out.println(" rights" + defaultrightsType);

        try {

            

            Connection conn = dataSource.getConnection();

            PreparedStatement stmt = conn.prepareStatement("SELECT REMAINING FROM  OPERA_LICENSE_INFO WHERE (CONTENTID = ?) AND (LICENSETYPE = ?) AND (USERID = ?)");

            stmt.setQueryTimeout(QUERYTIMEOUT);

            stmt.setString(1, contentid);

            stmt.setInt(2, defaultrightsType);

            stmt.setString(3, Userid);

            ResultSet rs = stmt.executeQuery();

            RightsInfo r = new RightsInfo();

            if (rs.next()) {

                r.remainingRights = rs.getInt(1);

                System.out.println("remaining rights for now are" +r.remainingRights);

                int rightsNow = r.remainingRights + NumRights;

                System.out.println("remaining rights for now are" +rightsNow);

                

                PreparedStatement stmt1 = conn.prepareStatement("UPDATE  OPERA_LICENSE_INFO SET  OPERA_LICENSE_INFO.REMAINING = ? WHERE ( (OPERA_LICENSE_INFO.CONTENTID = ?) AND (OPERA_LICENSE_INFO.USERID = ?) AND (OPERA_LICENSE_INFO.LICENSETYPE=?))");

                stmt.setQueryTimeout(QUERYTIMEOUT);

                stmt1.setInt(1, rightsNow);

                stmt1.setString(2, contentid);

                stmt1.setString(3, Userid);

                stmt1.setInt(4, defaultrightsType);

                stmt1.executeUpdate();

                stmt1.close();

            } else {

                PreparedStatement stmt2 = conn.prepareStatement("INSERT INTO OPERA_LICENSE_INFO (RIGHTSKEY, LICENSETYPE,USERID,SHOPID,CONTENTID,TOTAL,REMAINING,STARTTIME,ENDTIME) VALUES(?,?,?,?,?,?,?,?,?)");

                stmt2.setQueryTimeout(0);

                

                String rightsKey = Userid+contentid;

                stmt2.setString(1, rightsKey);

                stmt2.setInt(2, defaultrightsType);

                stmt2.setString(3, Userid);

                stmt2.setString(4, "Shop0");

                stmt2.setString(5, contentid);

                stmt2.setInt(6, NumRights);

                stmt2.setInt(7, NumRights);

                stmt2.setTimestamp(8, startDate);

                stmt2.setTimestamp(9,endDate);

                System.out.println("statement 2 is :"+stmt2);

                stmt2.executeUpdate();

                //System.out.println("result  of query exec" +exec);

                stmt2.close();

            }

            

            stmt.close();

            conn.close();

        } catch(Exception ee) {

            System.out.println("exception in " +ee);

        }

        

    }

    

    private void logStrMessage (String varName, String varVal) {

        if (varVal == null)

            System.out.println("Warning : "+varName+" is null");

        else

            System.out.println("Value of "+varName+" is "+varVal);

    }

    

    private void printRightsInfo (RightsInfo rightsInfo) {

        if (rightsInfo != null) {

            logStrMessage("rightsInfo.userID", rightsInfo.userID);

            logStrMessage("rightsInfo.movieName", rightsInfo.movieName);

            System.out.println("rightsInfo.expired "+rightsInfo.expired);

            System.out.println("rightsInfo.remainingRights"+rightsInfo.remainingRights);

            if (rightsInfo.rightsStartDate!=null)

                logStrMessage("rightsInfo.rightsStartDate",rightsInfo.rightsStartDate.toString());

            if (rightsInfo.rightsEndDate!=null)

                logStrMessage("rightsInfo.rightsEndDate",rightsInfo.rightsEndDate.toString());

            if (rightsInfo.verbElements != null) {

                for(int k=0; k<rightsInfo.verbElements.length; k++) {

                    if (rightsInfo.verbElements[k]!= null){

                        logStrMessage("rightsInfo.verbElements["+k+"].verbName = ", rightsInfo.verbElements[k].verbName);

                        logStrMessage("rightsInfo.verbElements["+k+"].verbArgName = ", rightsInfo.verbElements[k].verbArgName);

                        logStrMessage("rightsInfo.verbElements["+k+"].verbArgValue = ", rightsInfo.verbElements[k].verbArgValue);

                    }

                }

            }

        } else

            System.out.println("rightsInfo is null !!");

    }    

    

}







⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -