myrrh是一个轻量级规则引擎
首先,你必须确保你有一个golang的运行环境,然后把代码下载到本地
git clone https://github.com/Jeremy-Run/myrrh.git
然后在本项目的主目录下执行以下代码:
make main
这样你就可以看到执行结果:
>>> Start......
>>> Simple Expression: (user.LoginTimes() >= 5)
>>> [user.LoginTimes() >= 5] execute result is: true
>>> Congrats! You have completed the activity and received ten percent off coupon reward
>>> The requirement execute result is: true
>>> End......
如果你想调试它,你可以跳到config文件并修改CaseActivity
中相关的内容。
😝点个star支持一下~
make 2
>>> Start......
>>> Simple Expression: ((user.FollowTimes() >= 9) || (user.InvitationTimes() >= 2))
>>> [user.FollowTimes() >= 9] execute result is: false
>>> [user.InvitationTimes() >= 2] execute result is: true
>>> Congrats! You have completed the activity and received ten percent off coupon reward
>>> The requirement execute result is: true
>>> End......
make 3
>>> Start......
>>> Simple Expression: (((user.LoginTimes() >= 5) && (user.OrderTimes() >= 1) && (user.CommentTimes() >= 1)) || ((user.BrowseTimes() >= 15) && (user.PostTimes() >= 3) && ((user.FollowTimes() >= 8) || (user.InvitationTimes() >= 2))))
>>> [user.FollowTimes() >= 8] execute result is: true
>>> [user.InvitationTimes() >= 2] execute result is: true
>>> [user.BrowseTimes() >= 15] execute result is: true
>>> [user.PostTimes() >= 3] execute result is: true
>>> [user.LoginTimes() >= 5] execute result is: true
>>> [user.OrderTimes() >= 1] execute result is: true
>>> [user.CommentTimes() >= 1] execute result is: true
>>> Congrats! You have completed the activity and received ten percent off coupon reward
>>> The requirement execute result is: true
>>> End......