function miningEveryDay() public{
		if (msg.sender != operater && msg.sender != auther_user && msg.sender != owner) 
		{
		    revert();
		}
		uint day = uint((block.timestamp - lastUnlockMineBalanceTime) / ONE_DAY_TIME_LEN);
		if(day > 0){
			int max_while = 30;
			uint256 val;
			while(day > 0 && max_while > 0 && mineTotalBalance > 0){
				max_while--;
				day -= 1;
				dayIdx += 1;
				val = mineBalanceArry[(dayIdx/365) % 30];
				if(mineTotalBalance >= val)
				{
					mineBalance += val;
					mineTotalBalance -= val;
					balances[owner] += val;
				}
				else
				{
					mineBalance += mineTotalBalance;
					mineTotalBalance = 0;
					balances[owner] += mineTotalBalance;
					break;
				}
			}
			lastUnlockMineBalanceTime = block.timestamp;
		}
	}