ssm企业员工管理系统源码和论文

ssm企业员工管理系统源码和论文566

开发工具:idea 或eclipse
 数据库mysql5.7+
 数据库链接工具:navcat,小海豚等

package com.wuye.util;

import eu.bitwalker.useragentutils.Browser;
import eu.bitwalker.useragentutils.UserAgent;
import org.apache.commons.lang3.StringUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author hb
 * @date 2022-04-01 10:37
 */
public class CommonUtil {
    public static void main(String[] args) {
        String year = getYear();
        System.out.println(year);
    }


    private static final Random random = new Random();

    private static final DecimalFormat fourdf = new DecimalFormat("0000");

    private static final DecimalFormat sixdf = new DecimalFormat("000000");

    //鐢熸垚4浣嶉殢鏈烘暟
    public static String getFourBitRandom() {
        return fourdf.format(random.nextInt(10000));
    }
    //鐢熸垚6浣嶉殢鏈烘暟
    public static String getSixBitRandom() {
        return sixdf.format(random.nextInt(1000000));
    }



    public static String getNewsString(String url) {


        Document document = null;
        try {
            document = Jsoup.connect(url).get();
            // 鏂囧瓧鏂伴椈
            Elements texts = document.getElementsByTag("div");
            Elements b = document.getElementsByClass("section txt");
            return b.toString();
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }



    }



    /**
     * 鑾峰彇鏃堕棿 鏍煎紡:yyyy-MM-dd HH:mm:ss
     */

    public static String getDateTime() {
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String datetime = sf.format(new Date());

        return datetime;
    }

    /**
     * 鑾峰彇褰撳墠骞翠唤
     *
     * @return
     */
    public static String getYear() {
        SimpleDateFormat sf = new SimpleDateFormat("yyyy");
        String datetime = sf.format(new Date());
        return datetime;
    }

    /**
     * 鑾峰彇鏃堕棿 鏍煎紡:yyyy-MM-dd
     */
    public static String getDate() {
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
        String date = sf.format(new Date());
        return date;
    }

    /**
     * MD5
     */
    public static String makeMD5(String password) {
        MessageDigest md;
        try {
            md = MessageDigest.getInstance("MD5");

            md.update(password.getBytes());

            String pwd = new BigInteger(1, md.digest()).toString(16);
            return pwd;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return password;
    }

    /**
     * 鐢熸垚UUID
     *
     * @return
     */
    public static String getUUID() {

        return UUID.randomUUID().toString().replace("-", "");
    }

    /**
     * 闅忔満ID鐢熸垚
     */
    public static String getGUID() {
        Random random = new Random();
        int rand = random.nextInt(999999) + 100000;
        SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        return sf.format(new Date()).toString() + rand;
    }

    /**
     * 鑾峰彇鐢ㄦ埛鐪熷疄IP鍦板潃锛屼笉浣跨敤request.getRemoteAddr();鐨勫師鍥犳槸鏈夊彲鑳界敤鎴蜂娇鐢ㄤ簡浠g悊杞欢鏂瑰紡閬垮厤鐪熷疄IP鍦板潃,
     * 鍙槸锛屽鏋滈�氳繃浜嗗绾у弽鍚戜唬鐞嗙殑璇濓紝X-Forwarded-For鐨勫�煎苟涓嶆涓�涓紝鑰屾槸涓�涓睮P鍊硷紝绌剁珶鍝釜鎵嶆槸鐪熸鐨勭敤鎴风鐨勭湡瀹濱P鍛紵
     * 绛旀鏄彇X-Forwarded-For涓涓�涓潪unknown鐨勬湁鏁圛P瀛楃涓层��
     *
     * 濡傦細X-Forwarded-For锛�192.168.1.110, 192.168.1.120, 192.168.1.130,
     * 192.168.1.100
     *
     * 鐢ㄦ埛鐪熷疄IP涓猴細 192.168.1.110
     *
     * @param request
     * @return
     */
    public static String getIpAddress(HttpServletRequest request) {
        String ip = "127.0.0.1";
        try{
             ip = request.getHeader("x-forwarded-for");
            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
                ip = request.getHeader("Proxy-Client-IP");
            }
            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
                ip = request.getHeader("WL-Proxy-Client-IP");
            }
            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
                ip = request.getHeader("HTTP_CLIENT_IP");
            }
            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
                ip = request.getHeader("HTTP_X_FORWARDED_FOR");
            }
            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
                ip = request.getRemoteAddr();
            }

        }catch (Exception e){
            return ip;
        }
        return ip;
    }

    /**
     * 鍒ゆ柇鏄惁鍚湁鐗规畩瀛楃
     *
     * @param str
     * @return true涓哄寘鍚紝false涓轰笉鍖呭惈
     */
    public static boolean isSpecialChar(String str) {
        if (StringUtils.isBlank(str)) {
            return false;
        }
        // String regEx = "[
        // _`~!@#$%^&*()+=|{}':;',\\[\\]<>/?~锛丂#锟�%鈥︹��&*锛堬級鈥斺��+|(){}銆愩�戔�橈紱锛氣�濃�溾�欍�傦紝銆侊紵]|\n|\r|\t";
        String regEx = "[_`~@#$%^&*()+=|{}''\\[\\]<>/~@#锟�%鈥︹��&*锛堬級鈥斺��+|(){}銆愩�戔�樷�橾|\n|\r|\t";
        Pattern p = Pattern.compile(regEx);
        Matcher m = p.matcher(str);
        return m.find();
    }

    /**
     * 鎷嗗垎闆嗗悎
     *
     * @param <T>
     * @param resList
     *            瑕佹媶鍒嗙殑闆嗗悎
     * @param count
     *            姣忎釜闆嗗悎鐨勫厓绱犱釜鏁�
     * @return 杩斿洖鎷嗗垎鍚庣殑鍚勪釜闆嗗悎
     */
    public static <T> List<List<T>> splitList(List<T> resList, int count) {

        if (resList == null || count < 1)
            return null;
        List<List<T>> ret = new ArrayList<List<T>>();
        int size = resList.size();
        if (size <= count) { // 鏁版嵁閲忎笉瓒砪ount鎸囧畾鐨勫ぇ灏�
            ret.add(resList);
        } else {
            int pre = size / count;
            int last = size % count;
            // 鍓嶉潰pre涓泦鍚堬紝姣忎釜澶у皬閮芥槸count涓厓绱�
            for (int i = 0; i < pre; i++) {
                List<T> itemList = new ArrayList<T>();
                for (int j = 0; j < count; j++) {
                    itemList.add(resList.get(i * count + j));
                }
                ret.add(itemList);
            }
            // last鐨勮繘琛屽鐞�
            if (last > 0) {
                List<T> itemList = new ArrayList<T>();
                for (int i = 0; i < last; i++) {
                    itemList.add(resList.get(pre * count + i));
                }
                ret.add(itemList);
            }
        }
        return ret;

    }

    /**
     * 鏃堕棿瀛楃涓叉瘮澶у皬<br>
     * 绗竴涓瘮绗簩涓ぇ 杩斿洖 true
     *
     * @throws Exception
     */
    public static boolean comparisonTime(String t1, String t2) throws Exception {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d1 = format.parse(t1);
        Date d2 = format.parse(t2);
        if (d1.getTime() > d2.getTime()) {// t1>t2
            return true;
        }
        return false;
    }

    /**
     * 鍒ゆ柇瀵硅薄鏄惁涓虹┖锛屼笖瀵硅薄鐨勬墍鏈夊睘鎬ч兘涓虹┖ ps: boolean绫诲瀷浼氭湁榛樿鍊糵alse 鍒ゆ柇缁撴灉涓嶄細涓簄ull 浼氬奖鍝嶅垽鏂粨鏋�
     * 搴忓垪鍖栫殑榛樿鍊间篃浼氬奖鍝嶅垽鏂粨鏋�
     *
     * @param object
     * @return
     */
    public static boolean objCheckIsNull(Object object) {
        Class clazz = (Class) object.getClass(); // 寰楀埌绫诲璞�
        Field fields[] = clazz.getDeclaredFields(); // 寰楀埌鎵�鏈夊睘鎬�
        boolean flag = true; // 瀹氫箟杩斿洖缁撴灉锛岄粯璁や负true
        for (Field field : fields) {
            field.setAccessible(true);
            Object fieldValue = null;
            try {
                fieldValue = field.get(object); // 寰楀埌灞炴�у��
                Type fieldType = field.getGenericType();// 寰楀埌灞炴�х被鍨�
                String fieldName = field.getName(); // 寰楀埌灞炴�у悕
                System.out.println("灞炴�х被鍨嬶細" + fieldType + ",灞炴�у悕锛�" + fieldName + ",灞炴�у�硷細" + fieldValue);
            } catch (IllegalArgumentException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
            if (fieldValue != null) { // 鍙鏈変竴涓睘鎬у�间笉涓簄ull 灏辫繑鍥瀎alse 琛ㄧず瀵硅薄涓嶄负null
                flag = false;
                break;
            }
        }
        return flag;
    }

    /**
     * 灏嗗璞′腑鐨勭┖瀛楃涓茶浆鎹负null
     *
     * @param source
     * @return
     * @throws IllegalArgumentException
     * @throws IllegalAccessException
     * @throws SecurityException
     */
    public static <T> T setNullValue(T source)
            throws IllegalArgumentException, IllegalAccessException, SecurityException {
        Field[] fields = source.getClass().getDeclaredFields();
        for (Field field : fields) {
            if (field.getGenericType().toString().equals("class java.lang.String")) {
                field.setAccessible(true);
                Object obj = field.get(source);
                if (obj != null && obj.equals("")) {
                    field.set(source, null);
                } else if (obj != null) {
                    String str = obj.toString();
                    // str = StringEscapeUtils.escapeSql(str);//
                    // StringEscapeUtils鏄痗ommons-lang涓殑閫氱敤绫�
                    field.set(source,
                            str.replace("\\", "\\" + "\\").replace("(", "\\(").replace(")", "\\)").replace("%", "\\%")
                                    .replace("*", "\\*").replace("[", "\\[").replace("]", "\\]").replace("|", "\\|")
                                    .replace(".", "\\.").replace("$", "\\$").replace("+", "\\+").trim());
                }
            }
        }
        return source;
    }

    /**
     * 璁$畻涓や釜瀛楃涓叉棩鏈熶箣闂寸浉宸殑澶╂暟
     * @param smdate
     * @param bdate
     * @return
     * @throws ParseException
     */
    public static int daysBetween(String smdate, String bdate) throws ParseException {

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

        Calendar cal = Calendar.getInstance();

        cal.setTime(sdf.parse(smdate));

        long time1 = cal.getTimeInMillis();

        cal.setTime(sdf.parse(bdate));

        long time2 = cal.getTimeInMillis();

        long between_days = (time2 - time1) / (1000 * 3600 * 24);

        return Integer.parseInt(String.valueOf(between_days));

    }
    /**
     * 灏嗘暟鎹簱鏌ヨ鍑虹殑string绫诲瀷鏃堕棿锛屾牸寮忓寲锛屽幓鎺�.0
     * @param strDate
     * @return
     * @throws ParseException
     */
    public static String strToStr(String strDate) throws ParseException {
        SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = fmt.parse(strDate);
        String s = fmt.format(date);
        return s;
    }

    public static String getOrderNo() {
        SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
        Date date = new Date();

        int num = (int)((Math.random()*9+1)*100000);
        return df.format(date)+String.valueOf(num);
    }


    public static double doubleNum(double one11) {
        //涓�銆佷娇鐢˙igDecimal鐨剆etScale鏂规硶
        BigDecimal two11 = new BigDecimal(one11);
        double three11 = two11.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
        return  three11;
    }




    public static String getUa(HttpServletRequest request) {

        String ua = request.getHeader("User-Agent");
//杞垚UserAgent瀵硅薄
        UserAgent userAgent = UserAgent.parseUserAgentString(ua);
        Browser browser = userAgent.getBrowser();
        String browserInfo=browser.toString();//娴忚鍣ㄥ悕

        return browserInfo;
    }



}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值