{ "info": { "author": "Haotong Chen", "author_email": "hereischen@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "# django-luoji-accounts\n\n\nOverview\n=============\ndjango-luoji-accounts adds a number of indispensible financial account-related capabilities to your Django application, including:\n\n* Account\n\n* Sub Account\n\n* AccountType\n\n* SystemCode\n\n* DeviceType\n\n* Transfer\n\n* Transaction \n\nPlease note, this app was developed under Django==1.8.2.\n\nQuick Start\n=============\ndjango-luoji-accounts contains a low level account and sub accounts system that you can get up and running right away. \n\nTo install Django-Accounts from PyPI::\n```bash\npip install django-luoji-accounts\n```\nAlternatively, you can also install Django-luoji-Accounts from GitHub::\nhttps://github.com/hereischen/django-luoji-accounts\n\nAdd 'accounts' to your INSTALLED_APPS in your settings.py::\n\n```python\nINSTALLED_APPS = (\n...\n'accounts',\n...\n)\n```\nInclude the django-luoji-accounts URLs in your urls.py::\n\n```python\nurlpatterns = patterns(\n...\n(r'^accounts/', include('accounts.urls')),\n...\n)\n```\n\nTo customise for your specific usage, create a wrapper in one apps of your project, for example, your_app/account_wrapper.py, it would be:\n\n```python\nfrom accounts.models import GeneralAccountManager\n\nclass AudioAccountManager(GeneralAccountManager):\n\n \"\"\"\n \u97f3\u9891\u8d26\u6237\u7ba1\u7406\u7c7b\n \"\"\"\n def _get_or_create_sub_account_for_jcc(self, user_id, account_type, device_type):\n \"\"\"\n \u67e5\u8be2\u6216\u521b\u5efa\n \"\"\"\n return self.get_or_create_sub_account(user_id=user_id,\n account_type=account_type,\n sys_code='AUDIO',\n device_type=device_type,\n currency='JCC'\n )\n\n def _get_sub_account_for_jcc(self, user_id, account_type, device_type):\n \"\"\"\n \u67e5\u8be2\n \"\"\"\n return self.get_sub_account(user_id=user_id,\n account_type=account_type,\n sys_code='AUDIO',\n device_type=device_type,\n currency='JCC'\n )\n\n def get_or_create_buyer_account_for_android(self, user_id):\n return self._get_or_create_sub_account_for_jcc(user_id,'BUYER', 'ANDROID')\n\n def get_or_create_cost_account_for_android(self):\n return self._get_or_create_sub_account_for_jcc('999999999', 'COST', 'ANDROID')\n\n\n def get_buyer_account_for_android(self, user_id):\n return self._get_sub_account_for_jcc(user_id, 'BUYER', 'ANDROID')\n\n def get_cost_account_for_android(self):\n return self._get_sub_account_for_jcc('999999999', 'COST', 'ANDROID')\n\n```\n\nTo call the methods :\n\n```python\n# import required models e.g.. Account, SubAccount\n\n# import your wrapper e.g. from your_app/account_wrapper.py\nfrom your_app.account_wrapper import AudioAccountManager\n\n# query or create an android buyer account \u67e5\u8be2\u6216\u521b\u5efa\u5b89\u5353\u4e70\u5bb6\n# return one if it exists\n# create and return one if it does not exist\nba = AudioAccountManager().get_or_create_buyer_account_for_android(\n '12345678')\n\n# query an android buyer account \u67e5\u8be2\u5b89\u5353\u4e70\u5bb6\n# return one if it exists\n# arise exceptions if one does not exist\nba2 = AudioAccountManager().get_buyer_account_for_android(\n '12345678')\n\n# query or create an android cost account \u67e5\u8be2\u6216\u521b\u5efa\u5b89\u5353\u8d60\u9001\u8d26\u6237\nga = AudioAccountManager().get_or_create_cost_account_for_android()\n\n\n# query an android cost account \u67e5\u8be2\u5b89\u5353\u8d60\u9001\u8d26\u6237\nga2 = AudioAccountManager().get_cost_account_for_android()\n\n\n```\n\nThat's it!\n\nNotes\n=============\n\nEach account now have a user_id and it's part of the account number.\nThe max length of user id should be less than 9 digits.\nIf the length of user id is equal to 9, it will be added to the tail of account number.\nIf the length of user id is less then 9, the first digit will be '9' with several tailing '0' added at the head of original user id to form a new account number, e.g.:\n```python\nuser_id = '12345678'\nrf_user_id ='9'+user_id\n'912345678'\n\nuser_id = '123'\nrf_user_id ='900000'+user_id\n'90000123'\n\naccount_number ='xxxxxx90000123'\n```\nThis is to ensure fixed length of account number. However, in the database field, the user_id will stay unformatted.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hereischen/django-luoji-accounts", "keywords": null, "license": "BSD License", "maintainer": null, "maintainer_email": null, "name": "django-luoji-accounts", "package_url": "https://pypi.org/project/django-luoji-accounts/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-luoji-accounts/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/hereischen/django-luoji-accounts" }, "release_url": "https://pypi.org/project/django-luoji-accounts/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "A general account app for projects.", "version": "0.1.0" }, "last_serial": 1677318, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "0b8febcdb17949b8a6ff65de5f9645c0", "sha256": "9e2bd195e436b73d3829d35b6b4e39ecd39edbaa31fc4a035218719a5672522b" }, "downloads": -1, "filename": "django-luoji-accounts-0.0.1.tar.gz", "has_sig": false, "md5_digest": "0b8febcdb17949b8a6ff65de5f9645c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7225, "upload_time": "2015-07-29T07:09:20", "url": "https://files.pythonhosted.org/packages/2d/c9/505812c810e6cf897cf3d70705e385d7842e7670fffa6883fe9731a64d0f/django-luoji-accounts-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "7773ccb4a6ea012ec7822f36b5c6d6d5", "sha256": "65cf8eadc878edd82366dc181c5142339f72e1abbd34b4b664fb836fc20038ec" }, "downloads": -1, "filename": "django-luoji-accounts-0.0.2.tar.gz", "has_sig": false, "md5_digest": "7773ccb4a6ea012ec7822f36b5c6d6d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7253, "upload_time": "2015-07-29T07:16:39", "url": "https://files.pythonhosted.org/packages/15/f8/53c9f73e8cdd38358c75457d015f0ba75cbac219f6365bba74aed7bcd3ad/django-luoji-accounts-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "1d49ea0aa57f99cf8467f8721065e2ca", "sha256": "db1a798e63caa0cac83958e4e3408d304f0f56671f3413f075e01d714be0d512" }, "downloads": -1, "filename": "django-luoji-accounts-0.0.3.tar.gz", "has_sig": false, "md5_digest": "1d49ea0aa57f99cf8467f8721065e2ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7471, "upload_time": "2015-07-29T07:38:18", "url": "https://files.pythonhosted.org/packages/c3/ba/5b1d139026b19bcd946c8300ccb531f9ba9f086779933fc0623ca83ebc35/django-luoji-accounts-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "d125cb774002b7c56fc0c704cad98fa3", "sha256": "b318e270fde32529671626e6e45c64e019ca763f10a52874a6ce944c8a51f075" }, "downloads": -1, "filename": "django-luoji-accounts-0.0.4.tar.gz", "has_sig": false, "md5_digest": "d125cb774002b7c56fc0c704cad98fa3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7318, "upload_time": "2015-07-29T10:07:23", "url": "https://files.pythonhosted.org/packages/a3/d1/e99d1f4778d00fa27010085ad4ae4e48f6f3de37fb998eab98acac815cd4/django-luoji-accounts-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "fe4ee644b64109ec360aae3d9d5bed96", "sha256": "539f06b69d0bbbcde8822951e6f373c722519b48bdbbd8b4d720337740fc3393" }, "downloads": -1, "filename": "django-luoji-accounts-0.0.5.tar.gz", "has_sig": false, "md5_digest": "fe4ee644b64109ec360aae3d9d5bed96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7971, "upload_time": "2015-07-30T06:46:54", "url": "https://files.pythonhosted.org/packages/eb/de/65cb26079a580bc2542a6dc257253a9318c19de4acdb3ab58c5fcf29656f/django-luoji-accounts-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "f1ee580d702be1c8737341be9eb1785a", "sha256": "6dccd62428c979a19424b4dfd699cd3f671c8a2d38db22162a732b586cb46ed1" }, "downloads": -1, "filename": "django-luoji-accounts-0.0.6.tar.gz", "has_sig": false, "md5_digest": "f1ee580d702be1c8737341be9eb1785a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7972, "upload_time": "2015-07-30T06:49:26", "url": "https://files.pythonhosted.org/packages/94/37/3f5e251884807464665a6a432a0109cd5bf8aab9da26e407648fe790d2b4/django-luoji-accounts-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "81f173b52eef5658875b44ad97157c86", "sha256": "d91354741ada0fd4b41626e63b497ade461b452d32eb6cfae130df7fdac23fc3" }, "downloads": -1, "filename": "django-luoji-accounts-0.0.7.tar.gz", "has_sig": false, "md5_digest": "81f173b52eef5658875b44ad97157c86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10178, "upload_time": "2015-07-30T09:03:49", "url": "https://files.pythonhosted.org/packages/22/82/ccfefb49c81d64d9d70c07455791e85485d24d2f31b63b4fd15ac2c44d98/django-luoji-accounts-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "85dd68873cd9617eec8f064e179f2f67", "sha256": "214295bbc3c9d17e640cd9d4a6f59088c4edf7648404a1e900192e7c3e0d93cb" }, "downloads": -1, "filename": "django-luoji-accounts-0.0.8.tar.gz", "has_sig": false, "md5_digest": "85dd68873cd9617eec8f064e179f2f67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10200, "upload_time": "2015-08-07T04:07:12", "url": "https://files.pythonhosted.org/packages/4e/d1/bc80c8abee45260a6fde791f322885604c3fee237e67ce12ef3c52a6db8e/django-luoji-accounts-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "c55dc9f9e747f1ac28631e56ca32f860", "sha256": "886c85ddc426b1c300c8395a6332e0ec087acc1b3801fa83ec4ca17911e40e18" }, "downloads": -1, "filename": "django-luoji-accounts-0.0.9.tar.gz", "has_sig": false, "md5_digest": "c55dc9f9e747f1ac28631e56ca32f860", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10333, "upload_time": "2015-08-14T11:06:33", "url": "https://files.pythonhosted.org/packages/ce/b8/72464e3583a6f0379062c0fcf3419ef6193bfd2c684b7c4e6d1e67ae338d/django-luoji-accounts-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "0715f3b97bac9bf37a15bb0a55778952", "sha256": "65f2bd1e14122703218b1e2a47d38a8e19c09b3fb236c1b7f9c9c7789b7b4791" }, "downloads": -1, "filename": "django-luoji-accounts-0.1.0.tar.gz", "has_sig": false, "md5_digest": "0715f3b97bac9bf37a15bb0a55778952", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10101, "upload_time": "2015-08-14T11:19:56", "url": "https://files.pythonhosted.org/packages/99/5b/ed0fccabb878d91e0dbfcea7eaef31711aaf3baae1be602f08cff333ef5f/django-luoji-accounts-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0715f3b97bac9bf37a15bb0a55778952", "sha256": "65f2bd1e14122703218b1e2a47d38a8e19c09b3fb236c1b7f9c9c7789b7b4791" }, "downloads": -1, "filename": "django-luoji-accounts-0.1.0.tar.gz", "has_sig": false, "md5_digest": "0715f3b97bac9bf37a15bb0a55778952", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10101, "upload_time": "2015-08-14T11:19:56", "url": "https://files.pythonhosted.org/packages/99/5b/ed0fccabb878d91e0dbfcea7eaef31711aaf3baae1be602f08cff333ef5f/django-luoji-accounts-0.1.0.tar.gz" } ] }