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

📄 memberwebhandler.java

📁 解觖java技术中后台无法上传数给的情况
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
        StringBuffer bufferPicFile = new StringBuffer(256);
        bufferPicFile.append(context.getRealPath(MVNForumGlobal.UPLOADED_AVATAR_DIR));
        bufferPicFile.append(File.separatorChar).append(memberName).append(".jpg");
        String picFile =  bufferPicFile.toString();

        log.debug("Delete avatar = " + picFile);
        File file = new File(picFile);
        file.delete();// we dont need to check the returned value

        //@todo delete table Post/Thread/Attachment if we support delete posted user
        DAOFactory.getWatchDAO().delete_inMember(memberID);
        DAOFactory.getMemberForumDAO().delete_inMember(memberID);
        DAOFactory.getMemberGroupDAO().delete_inMember(memberID);
        DAOFactory.getMemberPermissionDAO().delete_inMember(memberID);
        DAOFactory.getFavoriteThreadDAO().delete_inMember(memberID);

        //Delete message, attachmessage, folder, message statistics stuff
        PrivateMessageUtil.deleteMessageFoldersInDatabase(memberID);
        DAOFactory.getMessageStatisticsDAO().delete_inMember(memberID);
        if (deleteSentMessages) {
            DAOFactory.getMessageDAO().deleteSenderMessages(memberID);
        }

        //Delete company stuff
        if (MVNForumConfig.getEnableCompany()) {
            DAOFactory.getMemberCompanyDAO().delete_inMember(memberID);
            DAOFactory.getMemberTutorDAO().deleteMembers_inTutor(memberID);
            try {
                DAOFactory.getMemberTutorDAO().delete(memberID);
            } catch (ObjectNotFoundException ex) {
                //ignore
            }
        }

        //Delete in primary table
        DAOFactory.getMemberDAO().deleteByPrimaryKey(memberID);
        MemberIndexer.scheduleDeleteMemberTask(memberID);
        */
    }

    /**
     * This method supports sorting base on many criteria
     */
    public void prepareShowUserManagement(GenericRequest request)
        throws DatabaseException, AssertionException, BadInputException, AuthenticationException {

        OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
        MVNForumPermission permission = onlineUser.getPermission();
        permission.ensureCanAdminSystem();

        Locale locale = I18nUtil.getLocaleInRequest(request);

        // for sort and order stuff
        String sort  = GenericParamUtil.getParameter(request, "sort");
        String order = GenericParamUtil.getParameter(request, "order");
        if (sort.length() == 0) sort = "MemberCreationDate";
        if (order.length()== 0) order = "DESC";

        // we continue
        int postsPerPage = onlineUser.getPostsPerPage();
        int offset = 0;
        try {
            offset = GenericParamUtil.getParameterInt(request, "offset");
        } catch (BadInputException e) {
            // do nothing
        }

        int totalMembers = DAOFactory.getMemberDAO().getNumberOfMembers();
        if (offset > totalMembers) {
            String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.offset_greater_than_total_rows");
            throw new BadInputException(localizedMessage);
            //throw new BadInputException("The offset is not allowed to be greater than total rows.");
        }

        Collection memberBeans = DAOFactory.getMemberDAO().getMembers_withSortSupport_limit(offset, postsPerPage, sort, order);
        int enabledMembers = DAOFactory.getMemberDAO().getNumberOfMembers_inMemberStatus(MemberBean.MEMBER_STATUS_ENABLE);
        int disabledMembers = DAOFactory.getMemberDAO().getNumberOfMembers_inMemberStatus(MemberBean.MEMBER_STATUS_DISABLE);
        int activatedMembers = DAOFactory.getMemberDAO().getNumberOfMembers_inActivationStatus(true);
        int nonactivatedMembers = DAOFactory.getMemberDAO().getNumberOfMembers_inActivationStatus(false);

        if ((disabledMembers + enabledMembers) != totalMembers) {
            // please do not localize this
            throw new AssertionException("Assertion: (disabledMembers + enabledMembers) == totalMembers");
        }
        if ((activatedMembers + nonactivatedMembers) != totalMembers) {
            // please do not localize this
            throw new AssertionException("Assertion: (activatedMembers + nonactivatedMembers) == totalMembers");
        }

        request.setAttribute("MemberBeans", memberBeans);
        request.setAttribute("TotalMembers", new Integer(totalMembers));
        request.setAttribute("EnabledMembers", new Integer(enabledMembers));
        request.setAttribute("DisabledMembers", new Integer(disabledMembers));
        request.setAttribute("ActivatedMembers", new Integer(activatedMembers));
        request.setAttribute("NonActivatedMembers", new Integer(nonactivatedMembers));
        request.setAttribute("offset", new Integer(offset));
    }

    public void prepareListUserExpire(GenericRequest request)
        throws DatabaseException, AssertionException, BadInputException, AuthenticationException {

        OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
        MVNForumPermission permission = onlineUser.getPermission();
        permission.ensureCanAdminSystem();

        // for sort and order stuff
        String sort  = GenericParamUtil.getParameter(request, "sort");
        String order = GenericParamUtil.getParameter(request, "order");
        if (sort.length() == 0) sort = "MemberExpireDate";
        if (order.length()== 0) order = "ASC";

        // we continue
        int postsPerPage = onlineUser.getPostsPerPage();
        int offset = 0;
        try {
            offset = GenericParamUtil.getParameterInt(request, "offset");
        } catch (BadInputException e) {
            // do nothing
        }
        Timestamp expiresoonDate = DateUtil.getCurrentGMTTimestampExpiredDay(MVNForumConfig.getUserTutorExpireSoonDate());

        int totalExpireMembers = DAOFactory.getMemberDAO().getNumberOfMembers_inExpire(expiresoonDate);
        if (offset > totalExpireMembers) {
            //@todo : localize me
            throw new BadInputException("The offset is not allowed to be greater than total members.");
        }

        Collection expireMemberBeans = DAOFactory.getMemberDAO().getMembers_inExpire_limit(expiresoonDate, offset, postsPerPage, sort, order);

        request.setAttribute("TotalMembers", new Integer(totalExpireMembers));
        request.setAttribute("ExpireMemberBeans", expireMemberBeans);
        request.setAttribute("offset", new Integer(offset));
    }

    public void updateMemberExpireProcess(GenericRequest request)
        throws DatabaseException, BadInputException, ObjectNotFoundException,
        AssertionException, AuthenticationException {

        OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
        MVNForumPermission permission = onlineUser.getPermission();
        permission.ensureCanAdminSystem();

        //int expiredDays = MVNForumConfig.getExpireDateTutor();
        String renew   = GenericParamUtil.getParameter(request, "renew");
        String disable = GenericParamUtil.getParameter(request, "disable");
        String enable  = GenericParamUtil.getParameter(request, "enable");
        int expiredDays = GenericParamUtil.getParameterUnsignedInt(request, "addtime");

        String[] checkList = request.getParameterValues("selectedmember");
        if (checkList == null) return;

        if (renew.equals("Renew")) {
            //renew creation date and expire date
            long offsetDate = expiredDays * DateUtil.DAY;
            Timestamp now = DateUtil.getCurrentGMTTimestamp();
            for (int i = 0; (checkList != null) && (i < checkList.length); i++) {
                int memberID = Integer.parseInt(checkList[i]);
                log.debug("Renew expiration date for MemberID = " + memberID);
                try {
                    MemberBean memberBean = DAOFactory.getMemberDAO().getMember_forPublic(memberID);
                    Timestamp expireDate = memberBean.getMemberExpireDate();
                    if (expireDate == null) {
                        expireDate = now;
                    }
                    Timestamp memberExpireDate  = new Timestamp(expireDate.getTime() + offsetDate);
                    DAOFactory.getMemberDAO().updateMember_expireDate(memberID, memberExpireDate);
                } catch (ObjectNotFoundException e) {
                    Locale locale = I18nUtil.getLocaleInRequest(request);
                    String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object[] {new Integer(memberID)});
                    throw new ObjectNotFoundException(localizedMessage);
                }
            }
        } else if (disable.equals("Disable")) {
            for (int i = 0; (checkList != null) && (i < checkList.length); i++) {
                int memberID = Integer.parseInt(checkList[i]);
                log.debug("Disable member with MemberID = " + memberID);
                try {
                    DAOFactory.getMemberDAO().updateStatus(memberID, MemberBean.MEMBER_STATUS_DISABLE);
                } catch (ObjectNotFoundException e) {
                    Locale locale = I18nUtil.getLocaleInRequest(request);
                    String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object[] {new Integer(memberID)});
                    throw new ObjectNotFoundException(localizedMessage);
                }
            }
        } else if (enable.equals("Enable")) {
            for (int i = 0; (checkList != null) && (i < checkList.length); i++) {
                int memberID = Integer.parseInt(checkList[i]);
                log.debug("Enable member with MemberID = " + memberID);
                try {
                    DAOFactory.getMemberDAO().updateStatus(memberID, MemberBean.MEMBER_STATUS_ENABLE);
                } catch (ObjectNotFoundException e) {
                    Locale locale = I18nUtil.getLocaleInRequest(request);
                    String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object[] {new Integer(memberID)});
                    throw new ObjectNotFoundException(localizedMessage);
                }
            }
        }
    }

    public void processSearch(GenericRequest request)
        throws BadInputException, IOException, DatabaseException, ObjectNotFoundException,
        AuthenticationException, AssertionException {

        OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
        MVNForumPermission permission = onlineUser.getPermission();
        permission.ensureCanAdminSystem();

        String memberNameKey      = GenericParamUtil.getParameter(request, "membername", false);
        String memberEmailKey     = GenericParamUtil.getParameter(request, "email", false);
        String memberLastNameKey  = GenericParamUtil.getParameter(request, "lastname", false);
        String memberFirstNameKey = GenericParamUtil.getParameter(request, "firstname", false);
        String memberCountryKey   = GenericParamUtil.getParameter(request, "country", false);

        Locale locale = I18nUtil.getLocaleInRequest(request);

        int defaultRows = onlineUser.getPostsPerPage();

        int offset = GenericParamUtil.getParameterUnsignedInt(request, "offset", 0);
        int rows   = GenericParamUtil.getParameterUnsignedInt(request, "rows", defaultRows);
        if (rows == 0) {
            rows = defaultRows;// fix NullPointerException when rows = 0
        }

        // offset should be even when divide with rowsToReturn
        offset = (offset / rows) * rows;

        MemberSearchQuery query = new MemberSearchQuery();
        boolean isNullKey = true;
        if (memberNameKey.length() > 0) {
            query.setMemberNameKey(memberNameKey);
            isNullKey = false;
        }
        if (memberEmailKey.length() > 0) {
            query.setMemberEmailKey(memberEmailKey);
            isNullKey = false;
        }
        if (memberLastNameKey.length() > 0) {
            query.setMemberLastNameKey(memberLastNameKey);
            isNullKey = false;
        }
        if (memberFirstNameKey.length() > 0){
            query.setMemberFirstNameKey(memberFirstNameKey);
            isNullKey = false;
        }
        if (memberCountryKey.length() > 0) {
            query.setCountry(memberCountryKey);
            isNullKey = false;
        }
        if (isNullKey) {
            String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.cannot_search.key_is_null");
            throw new BadInputException(localizedMessage);
        }

        int searchDate        = GenericParamUtil.getParameterUnsignedInt(request, "date", MemberSearchQuery.SEARCH_ANY_DATE);
        int searchBeforeAfter = GenericParamUtil.getParameterInt(request, "beforeafter", MemberSearchQuery.SEARCH_NEWER);

        if ((searchDate != MemberSearchQuery.SEARCH_ANY_DATE) && (searchDate < 365 * 10)) { // 10 years
            long deltaTime = DateUtil.DAY * searchDate;

            Timestamp now = DateUtil.getCurrentGMTTimestamp();
            Timestamp from = null;
            Timestamp to = null;

            long currentTime = now.getTime();

            if (searchBeforeAfter == MemberSearchQuery.SEARCH_NEWER) {
                from = new Timestamp(currentTime - deltaTime);
            } else {// older
                to = new Timestamp(currentTime - deltaTime);
            }

            query.setFromDate(from);
            query.setToDate(to);
        }


        query.searchDocuments(offset, rows);
        int hitCount = query.getHitCount();

⌨️ 快捷键说明

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