1.基于改进区块链NFT协议的假期通证化系统,其特征在于,包括用户管理模块、假期通证化模块以及假期通证使用模块;
所述用户管理模块用于用户的登录和注册,并在用户管理模块中设置有管理员和普通用户,分别针对管理员和普通用户设置相应的操作权限;
所述假期通证化模块用于管理员将用户的假期变为NFT通证,每个用户的每一天假期对应一个NFT通证标识,并利用NFT协议,批量地将多天假期转化为多个NFT通证;
所述假期通证使用模块用于用户使用已拥有的假期NFT通证,用户选择将假期NFT通证转化为真正的假期,或是将假期NFT通证转化为积分,该积分可用来兑换员工福利,或是作为员工考核指标。
2.基于改进区块链NFT协议的假期通证化方法,其特征在于,包括用户管理阶段、假期通证化阶段以及假期通证使用阶段;
所述用户管理阶段包括以下步骤:
A1.用户使用账户和密码进行登录或注册,进入系统;
A2.判断用户是管理员还是普通用户,若是管理员的,则给予用户使用假期通证化模块和假期通证使用模块的权限;若是普通用户的,只给予用户使用假期通证使用模块的权限;
A3.给每一个用户分配一个唯一的地址标识;
A4.用户根据所有的权限,选择要使用的模块,若要使用假期通证化模块,则进入B1,若要使用假期通证使用模块,则进入C1;
所述假期通证化阶段包括以下步骤:
B1.用户向管理员提出申请,申请将用户的假期天数转为假期NFT通证,每一天假期都对应着一个假期NFT通证;
B2.管理员调用智能合约中的mintBatchVacations函数,传入申请用户的地址标识和申请的假期数量,将用户的假期批量转化为NFT通证,每个假期NFT通证均对应一个标识符;
B3.智能合约增加申请用户的假期余额,数量等于用户申请的假期数量;
所述假期通证使用阶段包括以下步骤:
C1.用户选择将假期NFT通证转化为积分或选择将假期NFT通证转化为真正的假期,若选择将假期NFT通证转化为积分,则进入C2;若选择将假期NFT通证转化为真正的假期,则进入C3;
C2.用户调用智能合约中的withdraw函数,传入假期NFT通证标识符数组,数组长度大于等于1,执行完成之后减少用户所有的假期余额,完成将假期NFT通证转化为积分,该积分可用来兑换员工福利,或是作为员工考核指标;
C3.用户调用智能合约中的useBatchVacations函数,传入假期NFT通证标识符数组,数组长度大于等于1,执行完成之后减少用户所有的假期余额,完成将假期NFT通证转化为真正的假期。
3.根据权利要求2所述的基于改进区块链NFT协议的假期通证化方法,其特征在于,所述步骤B1包括以下步骤:B101.用户向管理员提出假期通证化申请,并提交自己的加班证明,附带上加班的天数;
B102.管理员检查加班证明是否有效,若有效,则记下申请用户的地址标识和有效加班天数,进入步骤B2;若无效则,返回步骤B101。
4.根据权利要求2所述的基于改进区块链NFT协议的假期通证化方法,其特征在于,所述步骤B2包括以下步骤:B201.管理员调用智能合约中的mintBatchVacations函数,传入用户的地址标识和要转化的假期天数;
B202.智能合约检查传入的地址标识和假期数量是否合法,若地址标识不是0地址,且假期数量大于0,则进入步骤B203,否则返回步骤B201;
B203.智能合约使用内置变量vacationCounter作为假期NFT通证的标识符,每产生一个NFT通证,vacationCounter便加1,并把产生的假期NFT通证的所有者记为用户的地址标识;
B204.智能合约重复步骤B203多次,重复的次数等于传入的假期数量,并利用一个数组vacationIds记下产生的假期NFT通证标识符,该数组的长度等于传入的假期天数。
5.根据权利要求2所述的基于改进区块链NFT协议的假期通证化方法,其特征在于,所述步骤B3包括以下步骤:B301.智能合约增加申请用户对应的vacationBalances,vacationBalances的数量等于申请的假期数量,完成用户假期余额的增加;
B302.智能合约触发MintBatchVacations事件,传入用户的地址标识符和生成的假期NFT通证标识符数组vacationIds;
B303.系统通知用户,用户申请的假期通证化已成功执行,并发送给用户一个假期NFT通证标识符数组vacationIds,该假期NFT通证标识符数组vacationIds的长度等于用户申请的假期天数。
6.根据权利要求2所述的基于改进区块链NFT协议的假期通证化方法,其特征在于,所述步骤C1包括以下步骤:C101.用户调用智能合约中的vacationBalanceOf函数,传入用户自己的地址标识符,查询假期NFT通证余额,若假期通证余额大于0,则进入步骤C102,否则,返回步骤101;
C102.用户选择将假期NFT通证转化为积分或选择将假期NFT通证转化为真正的假期,若选择将假期NFT通证转化为积分,则进入步骤C2,若选择将假期NFT通证转化为真正的假期,则进入步骤C3。
7.根据权利要求2所述的基于改进区块链NFT协议的假期通证化方法,其特征在于,所述步骤C2包括以下步骤:C201.用户调用智能合约中的withdraw函数,传入假期NFT通证标识符数组,数组长度大于等于1;
C202.智能合约遍历NFT通证标识符数组,检查每一个NFT通证的所有者是否是申请用户,若是,则转入步骤C203,否则,则返回步骤C201;
C203.智能合约遍历NFT通证标识符数组,把每一个NFT通证的所有者设为空;
C204.智能合约减少申请用户对应的vacationBalances,数量等于用户传入的假期NFT通证标识符数组的长度;
C205.智能合约触发Withdraw事件,传入申请用户的地址标识符和假期NFT通证标识符数组;
C206.智能合约返回给用户一个假期转化证明,证明中包含用户已转化的假期天数,用户把该证明提交给管理员,即可完成将假期NFT通证转化为积分。
8.根据权利要求2所述的基于改进区块链NFT协议的假期通证化方法,其特征在于,所述步骤C3包括以下步骤:C301.用户调用智能合约中的useBatchVacations函数,传入假期NFT通证标识符数组,数组长度大于等于1;
C302.智能合约遍历NFT通证标识符数组,检查每一个NFT通证的所有者是否是申请用户,若是,则转入步骤C303,否则,则返回步骤C301;
C303.智能合约遍历NFT通证标识符数组,把每一个NFT通证的所有者设为空;
C304.智能合约减少申请用户对应的vacationBalances,数量等于用户传入的假期NFT通证标识符数组的长度;
C305.智能合约触发UseBatchVacations事件,传入申请用户的地址标识符和假期NFT通证标识符数组;
C306.系统通知申请用户,其申请的假期已生效,假期天数为用户传入的假期NFT通证标识符数组的长度,完成将假期NFT通证转化为真正的假期。