p2p项目工具类
1.用于存放当前用户的上下文UserContext
- package com.xmg.p2p.base.util;
- import javax.servlet.http.HttpSession;
- import org.springframework.web.context.request.RequestContextHolder;
- import org.springframework.web.context.request.ServletRequestAttributes;
- import com.xmg.p2p.base.domain.Logininfo;
- import com.xmg.p2p.base.vo.VerifyCodeVO;
- /**
- * 用于存放当前用户的上下文
- * @author Administrator
- *
- */
- public class UserContext {
- public static final String USER_IN_SESSION = "logininfo";
- public static final String VERIFTCODE_IN_SESSION = "verifycode_in_session";
- /**
- * 方向获取request
- * @return
- */
- private static HttpSession getSesssion(){
- return ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest().getSession();
- }
- public static void putCurrent(Logininfo current){
- getSesssion().setAttribute(USER_IN_SESSION, current);;
- }
- public static Logininfo getCurrent(){
- return (Logininfo) getSesssion().getAttribute(USER_IN_SESSION);
- }
- /**
- * 用来得到设置自的短信验证码
- * @return
- */
- public static void putVerifyCode(VerifyCodeVO vc){
- getSesssion().setAttribute(VERIFTCODE_IN_SESSION, vc);
- }
- /**
- * 用来得到当前的短信验证码
- * @return
- */
- public static VerifyCodeVO getCurrentVerifyCode(){
- return (VerifyCodeVO) getSesssion().getAttribute(VERIFTCODE_IN_SESSION);
- }
- }
2.返回结果类JSONResult
- package com.xmg.p2p.base.util;
- public class JSONResult {
- private boolean success = true ;
- private String msg;
- public JSONResult(boolean success, String msg) {
- super();
- this.success = success;
- this.msg = msg;
- }
- public JSONResult(String msg) {
- super();
- this.msg = msg;
- }
- public JSONResult() {
- super();
- }
- public boolean isSuccess() {
- return success;
- }
- public void setSuccess(boolean success) {
- this.success = success;
- }
- public String getMsg() {
- return msg;
- }
- public void setMsg(String msg) {
- this.msg = msg;
- }
- }
3.时间工具类DateUtil
- package com.xmg.p2p.base.util;
- import java.util.Calendar;
- import java.util.Date;
- import org.apache.commons.lang.time.DateUtils;
- public class DateUtil {
- /**
- * 用来计算发送两次验证码之间的间隔 ()
- * @param d1
- * @param d2
- * @return
- */
- public static long getBetweenSecond(Date d1 ,Date d2 ){
- return Math.abs((d1.getTime() - d2.getTime())/1000) ;
- }
- /**
- * 得到一天的最后一秒钟
- *
- */
- public static Date endOfDay(Date d) {
- return DateUtils.addSeconds(
- DateUtils.addDays(DateUtils.truncate(d, Calendar.DATE), 1), -1);
- }
- public static long secondsBetween(Date d1 , Date d2){
- return Math.abs(d1.getTime() - d2.getTime())/1000;//防止出现负数 用绝对值表示
- }
- }
4.系统中的常量BidConst
- package com.xmg.p2p.base.util;
- import java.math.BigDecimal;
- /**
- * 系统中的常量
- * @author Administrator
- *
- */
- public class BidConst {
- /**
- * 定义存储精度
- */
- public static final int STORE_SCALE = 4;
- /**
- * 定义运算精度
- */
- public static final int CAL_SCALE = 8;
- /**
- * 定义显示精度
- */
- public static final int DISPLAY_SCALE = 2;
- /**
- * 定义系统级别的0
- */
- public static final BigDecimal ZERO = new BigDecimal("0.0000");
- /**
- * 定义初始授信额度
- */
- public static final BigDecimal INIT_BORROW_LIMIT = new BigDecimal("5000.0000");
- /**
- * 默认管理员的用户名和密码
- *
- */
- public static final String DEFAULT_ADMIN_NAME = "admin";
- public static final String DEFAULT_ADMIN_PASSWORD = "admin";
- /**
- * 手机验证码的有效期
- *
- */
- public static final int VERIFYCODE_VAILDATE_SECOND = 300;
- }
5.用户状态类,记录用户在平台使用系统中所有的状态。BitStatesUtils
- package com.xmg.p2p.base.util;
- /**
- * 用户状态类,记录用户在平台使用系统中所有的状态。
- *
- * @author Administrator
- */
- public class BitStatesUtils {
- public final static Long OP_BIND_PHONE = 1L << 0; // 用户绑定手机状态码
- public final static Long OP_BIND_EMAIL = 1L << 1; // 用户绑定邮箱状态码
- public final static Long OP_BASIC_INFO = 1L << 2; // 用户填写基本资料
- public final static Long OP_REAL_AUTH = 1L << 3; // 用户是否已经实名认证
- public final static Long OP_VEDIO_AUTH = 1L << 4; // 用户是否已经视频认证
- public final static Long OP_HAS_BIDREQUEST_PROCESS = 1L << 5; // 用户是否已经有一个借款申请在申请流程中
- public final static Long OP_HAS_BIND_BANK = 1L << 6; // 用户是否已经绑定了银行卡
- public final static Long OP_HAS_WITHDRAW_PROCESS = 1L << 7; // 用户是否有提现在审核流程中
- /**
- * @param states
- * 所有状态值
- * @param value
- * 需要判断状态值
- * @return 是否存在
- */
- public static boolean hasState(long states, long value) {
- return (states & value) != 0;
- }
- /**
- * @param states
- * 已有状态值
- * @param value
- * 需要添加状态值
- * @return 新的状态值
- */
- public static long addState(long states, long value) {
- if (hasState(states, value)) {
- return states;
- }
- return (states | value);
- }
- /**
- * @param states
- * 已有状态值
- * @param value
- * 需要删除状态值
- * @return 新的状态值
- */
- public static long removeState(long states, long value) {
- if (!hasState(states, value)) {
- return states;
- }
- return states ^ value;
- }
- }
p2p项目工具类的更多相关文章
- [分享]一个String工具类,也许你的项目中会用得到
每次做项目都会遇到字符串的处理,每次都会去写一个StringUtil,完成一些功能. 但其实每次要的功能都差不多: 1.判断类(包括NULL和空串.是否是空白字符串等) 2.默认值 3.去空白(tri ...
- Android开源项目发现--- 工具类快速开发篇(持续更新)
1. Guava Google的基于java1.6的类库集合的扩展项目 包括collections, caching, primitives support, concurrency librarie ...
- Android开源项目发现--- 工具类数据库ORM篇(持续更新)
orm的db工具类,简化建表.查询.更新.插入.事务.索引的操作 1. greenDAO Android Sqlite orm的db工具类 项目地址:https://github.com/greenr ...
- Android开源项目发现--- 工具类网络相关篇(持续更新)
1. Asynchronous Http Client for Android Android异步Http请求 项目地址:https://github.com/loopj/android-async- ...
- Android开源项目大全 - 工具类
主要包括那些不错的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多媒体相关及其他. 一.依赖注入DI 通过依赖注入减少Vie ...
- 项目经验分享——Java常用工具类集合 转
http://blog.csdn.net/xyw591238/article/details/51678525 写在前面 本文涉及的工具类部分是自己编写,另一部分是在项目里收集的.工具类涉及数 ...
- 分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Caching; usi ...
- 项目ITP(四) javaweb http json 交互 in action (服务端 spring 手机端 提供各种工具类)勿喷!
前言 系列文章:[传送门] 洗了个澡,准备写篇博客.然后看书了.时间 3 7 分.我慢慢规律生活,向目标靠近. 很喜欢珍惜时间像叮当猫一样 正文 慢慢地,二维码实现签到将要落幕了.下篇文章出二维码实 ...
- Spark项目之电商用户行为分析大数据平台之(十)IDEA项目搭建及工具类介绍
一.创建Maven项目 创建项目,名称为LogAnalysis 二.常用工具类 2.1 配置管理组建 ConfigurationManager.java import java.io.InputStr ...
随机推荐
- day 51 cooike 与 session
前情提要: cooike 和session 一:cooike 一.会话跟踪技术 1.什么是会话跟踪技术 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可 ...
- postgresql数据库uuid重复引发血案
问题背景 .定时任务调用存储过程.将数据插入临时表时.出现了uuid重复的报错. 报错信息 [SQL]select DB_DATA.PR_SELECT() [Err] ERROR: duplicate ...
- POJ 2385
#include <algorithm> #include <cstdlib> #include <numeric> #include <iostream&g ...
- Excel中线性规划求解
Excel中线性规划求解(如下图) 1. 设置目标输出单元格(蓝线线) 2. 设置线性规划模型目标函数中自变量(红线线) 3. 设置约束条件(黑色线) 4 如果目标函数中自变量要求是非负数,则勾选绿 ...
- 编译vs下可调试的ffmpeg和x264
以前随手记的笔记,翻出来,整理下哈 ffmpeg 在windows上的编译还是比较麻烦的,而且如果mingw-gcc编译的话,是无法在vs下调试的 所以以前刚开始玩ffmpeg的时候,费了一些功夫,用 ...
- springMVC执行流程及原理
spring的MVC执行原理 1.spring mvc将所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责对请求 进行真正的处理工作. 2.DispatcherSer ...
- 【Java并发编程】:守护线程与线程阻塞的四种情况
守护线程 JAVA中有两类线程:User Thread(用户线程).Daemon Thread(守护线程) 用户线程即运行在前台的线程,而守护线程是运行在后台的线程. 守护线程作用是为其他前台线程的运 ...
- [转] TCPIP 网络协议层对应的RFC文档
TCPIP网络协议层对应的RFC文档 RFC - Request For Comments 请求注解 TCP/IP层 网络协议 RFC文档 Physical Layer Data Link Layer ...
- C++的函数对象优于函数指针地方
转载自:http://blog.csdn.net/huang_xw/article/details/7934156 在C++编程语言中,有很多功能都与C语言相通,比如指针的应用等等.在这里我们介绍的则 ...
- es6中let,const区别与其用法
ECMAScript 是什么? 首先,我们都知道JavaScript由三部分组成:ECMAScript,DOM,BOM: 其中的ECMAScript是Javascript的语法规范. ECMAScri ...