验证用户是否登录,银行卡是否绑定会跳原页面

1、工具类

/**
	 * 判断是否登录
	 * 
	 */
	public static  int isLogin(){
		int data=UserEvent.LOGOUT;//退出3
		User user = currUser();
		if(user!=null){
			data=UserEvent.LOGIN;//登录2
		}
		return data;
	}

2、controller的编写

/**
	 * 判断用户是否登录
	 */
	public static void isLogin(){
		JSONObject data=new JSONObject();
		int result=User.isLogin();
		data.put("result",result);
		renderJSON(data);
	}

3、js的编写

//判断用户是否登录
	function isLogin(){
    	 $.ajax({  
             type: "get",  
             dataType: "json",  
             url: "/m/isLogin",  
             success: function (data) {  
                 if(data.result==2){
                	 //判断绑定银行卡
                	 isBindBank();
                 }else if(data.result==3){
                	 //用户登录
                	 window.location.href="/m/login?toUrl="+window.location.href;
                 }
             }  
       });  
    }

4、用户登录的controller

/**
	 * 包含登录页面的登录
	 */
	public static void logining() {
		String encryString = Session.current().getId();
		Integer loginCount = (Integer )Cache.get("loginCount" + encryString);
		loginCount = loginCount == null ? 0 : loginCount;
		Cache.set("loginCount"+encryString, ++loginCount, Constants.CACHE_TIME_MINUS_30);
		
		business.BackstageSet  currBackstageSet = business.BackstageSet.getCurrentBackstageSet();
		if(null != currBackstageSet){
		  Cache.delete("backstageSet");//清除系统设置缓存
		}	   
		ErrorInfo error = new ErrorInfo();
		String name = params.get("name");		
		StringBuffer url2 = new StringBuffer();
		String password = params.get("password");
		
		flash.put("name", name);
		
		if (StringUtils.isBlank(name)) {
			flash.error("请输入用户名");

		}

		if (StringUtils.isBlank(password)) {
			flash.error("请输入密码");

		}
		String LoginUrl = Play.configuration.getProperty("test.application.baseUrl") + Play.configuration.getProperty("http.path") + "/m/login";
		String url = LoginUrl;
		
		User user = new User();

		name = StringUtils.trimToEmpty(name);
		if(RegexUtils.isMobileNum(name)){
			 user.findUserByMobile(name);
		}else{
			user.queryUserByName(name, error);
		}
        
		if (user.id < 0) {
			flash.error("该用户名不存在");
			redirect(url);
		}
		if (user.login(password,false, Constants.CLIENT_H5, error) < 0) {
			flash.error(error.msg);
			redirect(url);
		}
		Cache.delete("loginCount"+encryString);		
		if (LoginUrl.equalsIgnoreCase(url)) {
				String successURl = (String)play.cache.Cache.get("toUrl");				
				if(successURl!=null && (successURl.contains("invest")||successURl.contains("Invest"))){
					redirect(successURl);
				}else{
					redirect("/m/front/invest/investList"); //2016 add 成功登录后跳转至投资列表页
				}
		}		
	}

5、银行卡controller

/**
	 * 查询用户银行卡绑定情况
	 * niu
	 * 1.绑定
	 * 0.未绑定
	 * 
	 */
	public static void isBindBank(){
		JSONObject data = new JSONObject();
		int result=UserEvent.BIND_BANK_NOT;
		long userId=User.currUser().id;
		if(UserBankAccounts.queryUserAllBankAccount(userId).size()>=1){
			result=UserEvent.BIND_BANK;
		}		
		data.put("result", result);
		renderJSON(data);
	}

6、银行卡绑定js

//判断用户是否绑定银行卡/m/isBindBank
	function isBindBank(){
    	alert(222);
    	 $.ajax({  
             type: "get",  
             dataType: "json",  
             url: "/m/isBindBank",  
             success: function (data) {  
                 if(data.result==1){
                	 //已绑卡
                	 alert("todo");
                 }else if(data.result==0){
                	 //未绑卡 /m/front/account/addCard
                	 window.location.href="/m/front/account/addCard?toUrl="+window.location.href;
                 }
             }  
       });  
    }

7、绑定银行卡验证controller

/**
	 * 修改
	 * 绑卡 验证短信验证码
	 */
	public  static void verifySMS(){
		User user = User.currUser();
		Long id = new Long(params.get("bindId")); 
		String SMSValidationCode = params.get("code");
		boolean success=false;
        try {
        	t_user_bank_accounts bankAccount = t_user_bank_accounts.findById(id);
			// 创建交易请求对象
			Tx2532Request txRequest = new Tx2532Request();
			txRequest.setInstitutionID(Constants.INSTITUTIONID);
			txRequest.setTxSNBinding(bankAccount.txSNBinding);
			txRequest.setSMSValidationCode(SMSValidationCode);
			// 3.执行报文处理
			txRequest.process();
			TxMessenger txMessenger = new TxMessenger();
			String[] respMsg  = txMessenger.send(txRequest.getRequestMessage(),
					txRequest.getRequestSignature());
			Tx2532Response tx2532Response = new Tx2532Response(respMsg[0], respMsg[1]);
			Logger.info("[Tx2532_Message]=[" + tx2532Response.getResponsePlainText() + "]");
            if ("2000".equals(tx2532Response.getCode())&&30==tx2532Response.getStatus()
            		&&40==tx2532Response.getVerifyStatus()) {
                 JPA.em().createNativeQuery("update t_user_bank_accounts set verify_code=? where id=? ")
                 .setParameter(1, SMSValidationCode).setParameter(2, id).executeUpdate();
                success=true;
            }
            
     
            
		} catch (Exception e) {
			JPA.setRollbackOnly();
			e.printStackTrace();
			Logger.error("绑卡短信验证失败:", e.getStackTrace());
			success=false;
		}
        
        //跳转回原来位置
        String successURl = (String)play.cache.Cache.get("toUrl");				
		if(successURl!=null ){
			redirect(successURl);
		}
        render(success);
	}
源码: 点击打开链接


        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值