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

📄 prision.java

📁 源码/软件简介: 云网论坛1.1RC国际版是采用JSP开发的集论坛、CMS(网站内容管理系统)、博客、聊天室、商城、交友、语音灌水等于一体的门户式社区。拥有CWBBS ( Cloud Web BBS
💻 JAVA
字号:
package com.redmoon.forum.life.prision;

import cn.js.fan.db.*;
import java.util.*;
import cn.js.fan.util.*;
import javax.servlet.http.*;
import com.redmoon.forum.*;
import com.redmoon.forum.person.UserDb;
import org.apache.log4j.Logger;
import cn.js.fan.web.Global;
import cn.js.fan.web.SkinUtil;

public class Prision {
    static String connname = Global.defaultDB;
    public static int bailFeeDay = 0; // 逮捕天数对应于保释金的乘数
    Logger logger = Logger.getLogger(Prision.class.getName());

    public Prision() {
        if (bailFeeDay == 0) {
            Config cfg = new Config();
            bailFeeDay = cfg.getIntProperty("forum.bailFeeDay");
        }
    }

    public static int getBailDlt() {
        return bailFeeDay;
    }

    /**
     * 取得释放日期
     * @param username String
     * @return Calendar
     */
    public static Calendar getReleaseDate(String username) {
        UserDb user = new UserDb();
        user = user.getUser(username);

        java.util.Date arresttime = null;
        int arrestday = 0;
        arresttime = user.getArrestTime();
        arrestday = user.getArrestDay();
        Calendar c1 = DateUtil.add(arresttime, arrestday); //释放日期
        return c1;
    }

    public static int getDayBeginRelease(String username) {
        UserDb user = new UserDb();
        user = user.getUser(username);

        java.util.Date arresttime = null;
        int arrestday = 0;
        arresttime = user.getArrestTime();
        arrestday = user.getArrestDay();
        Calendar c1 = DateUtil.add(arresttime, arrestday); //释放日期
        Calendar c2 = Calendar.getInstance(); //当前日期
        return DateUtil.datediff(c1, c2);
    }

    public static boolean isUserArrested(String username) {
        UserDb user = new UserDb();
        user = user.getUser(username);
        int arrestday = 0;
        arrestday = user.getArrestDay();
        if (arrestday == 0)
            return false;

        java.util.Date arresttime = null;
        arresttime = user.getArrestTime();

        Calendar c1 = DateUtil.add(arresttime, arrestday); //释放日期
        Calendar c2 = Calendar.getInstance(); //当前日期
        if (DateUtil.compare(c1, c2) == 1)
            return true;
        else
            return false;
    }

    public boolean isPolice(String username) {
        UserDb user = new UserDb();
        user = user.getUser(username);
        if (user.getIsPolice() == 0)
            return false;
        else
            return true;
    }

    public boolean arrest(String police, String username, String arrestreason,
                          int arrestday) throws ResKeyException {
        UserDb user = new UserDb();
        user = user.getUser(username);
        if (!user.isLoaded()) {
            throw new ResKeyException("res.forum.life.prision.Prision", "none_user");
        }
        user.setArrestTime(Calendar.getInstance().getTime());
        user.setArrestPolice(police);
        user.setArrestReason(arrestreason);
        user.setArrestDay(arrestday);

        Calendar c1 = DateUtil.add(new java.util.Date(), arrestday); //释放日期
        user.setReleaseTime(c1.getTime());
        return user.save();
    }

    /**
     * 带有参数arresttime
     * @param police String
     * @param user String
     * @param arresttime String
     * @param arrestreason String
     * @param arrestday int
     * @return boolean
     */
    public boolean arrest(String police, String username, String arresttime,
                          String arrestreason, int arrestday) throws ResKeyException {
        UserDb user = new UserDb();
        user = user.getUser(username);
        if (!user.isLoaded()) {
            throw new ResKeyException("res.forum.life.prision.Prision", "none_user");
        }
        user.setArrestPolice(police);
        user.setArrestReason(arrestreason);
        user.setArrestDay(arrestday);

        java.util.Date d = null;
        try {
            d = DateUtil.parse(arresttime, "yyyy-MM-dd HH:mm:ss");
        } catch (Exception e) {
            logger.error("arrest:" + e.getMessage());
        }
        // System.out.println("Prision.java arrest=" + arresttime + " yyyy-MM-dd HH:mm:ss d=" + d);
        user.setArrestTime(d);
        Calendar c1 = DateUtil.add(new java.util.Date(), arrestday); //释放日期
        user.setReleaseTime(c1.getTime());
        return user.save();
    }

    public boolean release(String username) throws ResKeyException {
        UserDb user = new UserDb();
        user = user.getUser(username);
        if (!user.isLoaded()) {
            throw new ResKeyException("res.forum.life.prision.Prision", "none_user");
        }
        user.setArrestDay(0);
        return user.save();
    }

    public String[][] getPolices() {
        ConnAry fq = new ConnAry(connname);
        String sql =
                "select name from sq_user where ispolice=1 order by regdate asc";
        fq.query(sql);
        String[][] ary = fq.getResultAry();
        fq.close();
        return ary;
    }

    public boolean bail(HttpServletRequest request) throws ErrMsgException {
        Privilege privilege = new Privilege();
        if (!privilege.isUserLogin(request)) {
            throw new ErrMsgException(SkinUtil.LoadString(request, "err_not_login"));
        }

        String username = ParamUtil.get(request, "username");
        UserDb arrestuser = new UserDb();
        arrestuser = arrestuser.getUser(username);

        int bailfee = 0;
        int arday = 0;
        // 取逮捕天数
        arday = arrestuser.getArrestDay();

        bailfee = bailFeeDay * arday;
        // 取出用户的信用值
        UserDb user = arrestuser.getUser(privilege.getUser(request));
        int credit = user.getCredit();
        if (bailfee > credit) {
            String s = SkinUtil.LoadString(request, "res.forum.life.prision.Prision", "err_credit_not_enough");
            s = s.replaceFirst("\\$c", "" + credit);
            s = s.replaceFirst("\\$u", username);
            throw new ErrMsgException(s); // "您的信用值只有" + credit + ",不能保释" + username + "!");
        }

        arrestuser.setArrestDay(0);
        arrestuser.save();

        user.setCredit(user.getCredit() - bailFeeDay * arday);
        user.save();
        return true;
    }
}

⌨️ 快捷键说明

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