django-barobill 0.1.1__py3-none-any.whl → 0.1.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +0,0 @@
1
- # django_barobill/__init__.py
2
- __version__ = "0.1.0"
django_barobill/models.py CHANGED
@@ -53,8 +53,21 @@ class BankHelper:
53
53
  web_pwd: Optional[str] = None,
54
54
  identity_num: Optional[str] = None
55
55
  ):
56
- # need test
57
- result = self.client.service.RegisterBankAccount(
56
+ """
57
+ 신규 계좌를 등록한다.
58
+ :param alias: 별칭
59
+ :param collect_cycle: 수거주기
60
+ :param bank: 은행
61
+ :param account_type: 법인/개인계좌 여부
62
+ :param account_no: 계좌번호
63
+ :param password: 계좌 비밀번호
64
+ :param usage: (선택)적요
65
+ :param web_id: (선택)간편조회 아이디
66
+ :param web_pwd: (선택)간편조회 비밀번호
67
+ :param identity_num: (선택)간편조회 사업자등록번호 혹은 생년월일
68
+ :return: 생성된 BankAccount 인스턴스
69
+ """
70
+ result = self.client.service.RegistBankAccount(
58
71
  CERTKEY=self.partner.api_key,
59
72
  CorpNum=self.partner.brn,
60
73
  CollectCycle=collect_cycle,
@@ -72,7 +85,7 @@ class BankHelper:
72
85
  raise BarobillAPIError(result)
73
86
  account, created = BankAccount.objects.update_or_create(
74
87
  partner=self.partner, account_no=account_no, defaults=dict(
75
- collect_cycle=collect_cycle, bank=bank, account_type=account_type, alias=alias, usage=usage, is_delete=False
88
+ collect_cycle=collect_cycle, bank=bank, account_type=account_type, alias=alias, usage=usage, is_stop=False
76
89
  )
77
90
  )
78
91
  return account
@@ -88,11 +101,32 @@ class BankHelper:
88
101
  ).update(is_stop=True, stop_date=timezone.localdate())
89
102
 
90
103
 
104
+ class PartnerManager(models.Manager):
105
+ def register_partner(self, name, brn, api_key, userid, dev=False):
106
+ """
107
+ 신규 파트너를 등록한다.
108
+ :param name: 파트너사명
109
+ :param brn: 바로빌에 등록한 파트너 사업자등록번호
110
+ :param api_key: 바로빌에서 발급한 파트너 api_key
111
+ :param userid: 바로빌에서 발급한 파트너 Id
112
+ :param dev: 개발모드 여부
113
+ :return: Partner
114
+ """
115
+ partner, created = self.get_or_create(
116
+ brn=brn, userid=userid, defaults=dict(name=name, api_key=api_key, dev=dev)
117
+ )
118
+ return partner
119
+
120
+
91
121
  class Partner(models.Model):
92
122
  class Meta:
93
123
  verbose_name = '파트너'
94
124
  verbose_name_plural = verbose_name
125
+ constraints = [
126
+ models.UniqueConstraint(fields=['brn', 'userid', 'dev'], name='unique_partner_brn_userid'),
127
+ ]
95
128
 
129
+ objects = PartnerManager()
96
130
  name = models.CharField(max_length=255, unique=True, verbose_name='파트너사명')
97
131
  brn = models.CharField(max_length=10, unique=True, verbose_name='사업자등록번호')
98
132
  api_key = models.CharField(max_length=36, verbose_name='인증키')
@@ -329,7 +363,6 @@ class BankAccount(models.Model):
329
363
  raise BarobillAPIError(result.CurrentPage)
330
364
  return result
331
365
 
332
-
333
366
  def get_monthly_log(
334
367
  self,
335
368
  base_month: str,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: django-barobill
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: A reusable Django app for integration with BaroBill services.
5
5
  Home-page: https://github.com/cuhong/django-barobill
6
6
  Author: cuhong
@@ -1,17 +1,19 @@
1
- django_barobill/__init__.py,sha256=6APRtokGxem92Eirujfn1lSSABIc2gFsVvfwDIOEf7c,52
1
+ django_barobill/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  django_barobill/admin.py,sha256=suMo4x8I3JBxAFBVIdE-5qnqZ6JAZV0FESABHOSc-vg,63
3
3
  django_barobill/apps.py,sha256=VUIGjvRJJKmOM0WaBbqoU5QULCvC0YGKhKIMFYGpXxI,161
4
4
  django_barobill/choices.py,sha256=qkh5baFFCycTOKcTiU2DSu2iDJTiIQyhFgQ8uNSWyDo,1236
5
5
  django_barobill/errors.py,sha256=lKEEEKzAdwAueQOLhoSLe-B9VLT-S7hqUCrkfpkRXp8,3555
6
- django_barobill/models.py,sha256=Utls8E_l_dh8Yb8O8HibuaUQara6KakHqQk_RfmZ5K0,16134
6
+ django_barobill/models.py,sha256=PvAsCqSpQZ0W61y6wWnLkz6A0HHQMlj_oq-l5_SLC7E,17527
7
7
  django_barobill/parsers.py,sha256=boBB9ePTRJrOmoEql23VQk_TDcaWqbEwJhxtW9Gx2Yc,1027
8
8
  django_barobill/tests.py,sha256=iG0hzKegA86ls4QxLY_p6sgZ0fkb_CD0HyzY-aO28ic,1661
9
9
  django_barobill/utils.py,sha256=eKSI-QgM8WTHA1vUukbZnVKEhiMcX7wzxLPcJ_6VKVE,200
10
10
  django_barobill/views.py,sha256=xc1IQHrsij7j33TUbo-_oewy3vs03pw_etpBWaMYJl0,63
11
11
  django_barobill/migrations/0001_initial.py,sha256=Uh8Nx0mOJQjXnPhzXmT7mrQx5zTbE8bNQSJJXTqHNpU,5176
12
12
  django_barobill/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- django_barobill-0.1.1.dist-info/LICENSE,sha256=o5IEBFE4Yr1q_q2_HvPqL2YXAfakEBi0X2WS9CDJlyY,1063
14
- django_barobill-0.1.1.dist-info/METADATA,sha256=peUPsaQONsnBhREdEW6E50RrhLuXOOLU0Cq96yu0If0,3389
15
- django_barobill-0.1.1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
16
- django_barobill-0.1.1.dist-info/top_level.txt,sha256=RmcbZUqTKXVI1jksKTaeennFkcSemFHwgxSMPqE7YgU,16
17
- django_barobill-0.1.1.dist-info/RECORD,,
13
+ django_barobill/migrations/__pycache__/0001_initial.cpython-312.pyc,sha256=e9D59BlhPF0qvZ_QM6iSS53LkFe0LpaJ8t0RlzKqzzw,5537
14
+ django_barobill/migrations/__pycache__/__init__.cpython-312.pyc,sha256=vKIJDzcsTZu8PdXPuC052vkL9-T0Fi69yIxRo4BI57s,181
15
+ django_barobill-0.1.2.dist-info/LICENSE,sha256=o5IEBFE4Yr1q_q2_HvPqL2YXAfakEBi0X2WS9CDJlyY,1063
16
+ django_barobill-0.1.2.dist-info/METADATA,sha256=KneDIWMjsDhSqXcn2eOdpKKZvdb6bx0kTPJfou5bpqk,3389
17
+ django_barobill-0.1.2.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
18
+ django_barobill-0.1.2.dist-info/top_level.txt,sha256=RmcbZUqTKXVI1jksKTaeennFkcSemFHwgxSMPqE7YgU,16
19
+ django_barobill-0.1.2.dist-info/RECORD,,