hk-cdp 1.0.75__tar.gz → 1.0.76__tar.gz

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.
Files changed (75) hide show
  1. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/PKG-INFO +1 -1
  2. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/libs/customize/cdp_helper.py +46 -22
  3. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/member/member_info_model.py +4 -5
  4. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp.egg-info/PKG-INFO +1 -1
  5. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/setup.py +1 -1
  6. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/README.md +0 -0
  7. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/__init__.py +0 -0
  8. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/handler/__init__.py +0 -0
  9. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/handler/cdp_base.py +0 -0
  10. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/libs/__init__.py +0 -0
  11. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/libs/customize/__init__.py +0 -0
  12. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/libs/customize/asset_base_model.py +0 -0
  13. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/libs/customize/rainbow_helper.py +0 -0
  14. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/libs/customize/tiktok_spi_helper.py +0 -0
  15. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/libs/customize/work_base_model.py +0 -0
  16. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/__init__.py +0 -0
  17. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/cdp_model.py +0 -0
  18. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/__init__.py +0 -0
  19. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/analysis/__init__.py +0 -0
  20. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/analysis/analysis_report_model.py +0 -0
  21. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/cap/__init__.py +0 -0
  22. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/cap/cap_business_info_model.py +0 -0
  23. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/cap/cap_store_info_model.py +0 -0
  24. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/cdp/__init__.py +0 -0
  25. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/cdp/cdp_store_info_model.py +0 -0
  26. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/cdp/cdp_work_info_model.py +0 -0
  27. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/member/__init__.py +0 -0
  28. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/member/member_asset_log_model.py +0 -0
  29. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/member/member_asset_model.py +0 -0
  30. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/member/member_asset_valid_model.py +0 -0
  31. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/member/member_event_model.py +0 -0
  32. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/member/member_level_log_model.py +0 -0
  33. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/prefix/__init__.py +0 -0
  34. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/prefix/prefix_info_model.py +0 -0
  35. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/queue/__init__.py +0 -0
  36. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/queue/queue_work_log_model.py +0 -0
  37. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/scheme/__init__.py +0 -0
  38. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/scheme/scheme_growth_model.py +0 -0
  39. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/scheme/scheme_info_model.py +0 -0
  40. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/scheme/scheme_integral_model.py +0 -0
  41. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/scheme/scheme_level_info_model.py +0 -0
  42. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/scheme/scheme_level_model.py +0 -0
  43. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/store/__init__.py +0 -0
  44. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/store/store_base_model.py +0 -0
  45. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/store/store_goods_model.py +0 -0
  46. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/store/store_prefix_log_model.py +0 -0
  47. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/sync/__init__.py +0 -0
  48. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/sync/sync_user_data_model.py +0 -0
  49. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/taobao/__init__.py +0 -0
  50. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/taobao/taobao_rds_item_model.py +0 -0
  51. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/taobao/taobao_rds_refund_model.py +0 -0
  52. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/taobao/taobao_rds_trade_model.py +0 -0
  53. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/taobao/taobao_source_buyer_model.py +0 -0
  54. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/taobao/taobao_source_history_member_model.py +0 -0
  55. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/trade/__init__.py +0 -0
  56. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/trade/trade_give_info_model.py +0 -0
  57. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/trade/trade_info_model.py +0 -0
  58. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/trade/trade_order_model.py +0 -0
  59. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/trade/trade_status_info_model.py +0 -0
  60. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/tt/__init__.py +0 -0
  61. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/tt/tt_rds_item_model.py +0 -0
  62. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/tt/tt_rds_refund_model.py +0 -0
  63. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/tt/tt_rds_trade_model.py +0 -0
  64. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/tt/tt_source_buyer_model.py +0 -0
  65. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/tt/tt_source_history_member_model.py +0 -0
  66. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/user/__init__.py +0 -0
  67. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/user/user_data_model.py +0 -0
  68. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/user/user_info_model.py +0 -0
  69. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/db_models/user/user_trends_model.py +0 -0
  70. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp/models/enum.py +0 -0
  71. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp.egg-info/SOURCES.txt +0 -0
  72. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp.egg-info/dependency_links.txt +0 -0
  73. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp.egg-info/requires.txt +0 -0
  74. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/hk_cdp.egg-info/top_level.txt +0 -0
  75. {hk_cdp-1.0.75 → hk_cdp-1.0.76}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hk_cdp
3
- Version: 1.0.75
3
+ Version: 1.0.76
4
4
  Summary: hk cdp
5
5
  Home-page: http://gitlab.tdtech.gao7.com/newfire/hk_cap/hk_cdp/server/hk_cdp.git
6
6
  Author: seven
@@ -2,9 +2,9 @@
2
2
  """
3
3
  @Author: HuangJianYi
4
4
  @Date: 2024-11-18 18:57:33
5
- @LastEditTime: 2025-01-09 14:35:35
5
+ @LastEditTime: 2025-04-25 18:11:19
6
6
  @LastEditors: HuangJianYi
7
- @Description:
7
+ @Description: 帮助类
8
8
  """
9
9
  import datetime
10
10
  import math
@@ -14,7 +14,7 @@ from seven_cloudapp_frame.libs.customize.safe_helper import *
14
14
  from hk_cdp.models.enum import *
15
15
 
16
16
  class CdpHelper:
17
-
17
+
18
18
  @classmethod
19
19
  def get_business_db(self, business_code, cdp_db_config):
20
20
  """
@@ -41,8 +41,8 @@ class CdpHelper:
41
41
  cdp_db_config = SevenHelper.json_loads(cdp_db_config)
42
42
  cdp_db_config = deepcopy(cdp_db_config)
43
43
  cdp_db_config["db"] = f"hk_{business_code}_cdp"
44
- return cdp_db_config
45
-
44
+ return cdp_db_config
45
+
46
46
  @classmethod
47
47
  def get_valid_date(self, valid_type, expire_type, expire_value, expire_year, expire_month, expire_day):
48
48
  """
@@ -70,6 +70,35 @@ class CdpHelper:
70
70
  else:
71
71
  raise Exception("过期年/过期月/过期日不能为空")
72
72
 
73
+ @classmethod
74
+ def get_valid_date_v2(self, scheme_level_dict, level_info_dict):
75
+ """
76
+ :description: 计算积分/成长值过期时间
77
+ :param scheme_level_dict: scheme_level_dict
78
+ :param level_info_dict: level_info_dict
79
+ :last_editors: HuangJianYi
80
+ """
81
+ valid_type = scheme_level_dict['valid_type'] if scheme_level_dict and scheme_level_dict['is_unify_valid'] == 1 else level_info_dict.get('valid_type', 0)
82
+ expire_type = scheme_level_dict['expire_type'] if scheme_level_dict and scheme_level_dict['is_unify_valid'] == 1 else level_info_dict.get('expire_type', 0)
83
+ expire_value = scheme_level_dict['expire_value'] if scheme_level_dict and scheme_level_dict['is_unify_valid'] == 1 else level_info_dict.get('expire_value', 0)
84
+ expire_year = scheme_level_dict['expire_year'] if scheme_level_dict and scheme_level_dict['is_unify_valid'] == 1 else level_info_dict.get('expire_year', None)
85
+ expire_month = scheme_level_dict['expire_month'] if scheme_level_dict and scheme_level_dict['is_unify_valid'] == 1 else level_info_dict.get('expire_month', None)
86
+ expire_day = scheme_level_dict['expire_day'] if scheme_level_dict and scheme_level_dict['is_unify_valid'] == 1 else level_info_dict.get('expire_day', None)
87
+ if valid_type == ValidType.forever.value:
88
+ return '2900-01-01 00:00:00'
89
+ else:
90
+ if expire_type is None:
91
+ raise Exception("过期类型不能为空")
92
+ if expire_type == ExpireType.appoint_day.value: # 指定天过期
93
+ return (datetime.datetime.now() + datetime.timedelta(days=int(expire_value))).strftime("%Y-%m-%d 23:59:59")
94
+ else:
95
+ if expire_year is not None and expire_month is not None and expire_day is not None:
96
+ current_year = datetime.datetime.now().year
97
+ expire_date = datetime.datetime(current_year + int(expire_year), int(expire_month), int(expire_day), 23, 59, 59)
98
+ return expire_date.strftime("%Y-%m-%d 23:59:59")
99
+ else:
100
+ raise Exception("过期年/过期月/过期日不能为空")
101
+
73
102
  @classmethod
74
103
  def reward_algorithm(self, value_type, reward_value):
75
104
  """
@@ -123,7 +152,6 @@ class CdpHelper:
123
152
  else:
124
153
  return order_status
125
154
 
126
-
127
155
  @classmethod
128
156
  def convert_refund_status(self, platform_id, refund_status):
129
157
  """
@@ -146,7 +174,6 @@ class CdpHelper:
146
174
  else:
147
175
  return RefundStatus.NO_REFUND.name
148
176
 
149
-
150
177
  @classmethod
151
178
  def mask_telephone_middle(self, phone_str):
152
179
  """
@@ -154,13 +181,12 @@ class CdpHelper:
154
181
  :param phone_str: 待处理的手机号
155
182
  :return: 处理后的手机号
156
183
  """
157
- value, status = SevenHelper.to_int(phone_str, return_status=True)
184
+ value, status = SevenHelper.to_int(phone_str, return_status=True)
158
185
  if len(phone_str) == 11 and status == True:
159
186
  return phone_str[:3] + '*' * 4 + phone_str[-4:]
160
187
  else:
161
188
  return phone_str[:-4] + '****'
162
-
163
-
189
+
164
190
  @classmethod
165
191
  def mask_telephone_first(self, phone_str):
166
192
  """
@@ -175,8 +201,7 @@ class CdpHelper:
175
201
  return f'+{"*" * (len(phone_str) - 5)}{phone_str[-4:]}'
176
202
  else:
177
203
  return f'{"*" * (len(phone_str) - 4)}{phone_str[-4:]}'
178
-
179
-
204
+
180
205
  @classmethod
181
206
  def convert_sync_platform_info(self, business_id, one_id, total_integral, old_integral, change_integral, level_id=None, level_valid_date=None):
182
207
  """
@@ -190,33 +215,32 @@ class CdpHelper:
190
215
  :param level_valid_date: 等级有效期
191
216
  :return:
192
217
  """
193
- sync_member_info, sync_integral_log = "" , ""
218
+ sync_member_info, sync_integral_log = "", ""
194
219
  if level_id and level_valid_date:
195
220
  level_valid_date = str(level_valid_date)
196
221
  sync_member_info = SevenHelper.json_dumps({
197
- "business_id": business_id,
222
+ "business_id": business_id,
198
223
  "one_id": one_id,
199
224
  "version": TimeHelper.get_now_timestamp(True),
200
- "point": total_integral,
225
+ "point": total_integral,
201
226
  "level": level_id,
202
227
  "level_expire_time": TimeHelper.format_time_to_timestamp(level_valid_date, out_ms=True)
203
228
  })
204
229
  if change_integral > 0:
205
230
  sync_integral_log = SevenHelper.json_dumps({
206
- "business_id": business_id,
207
- "one_id": one_id,
208
- "operate_type": 1,
209
- "channel": 100,
231
+ "business_id": business_id,
232
+ "one_id": one_id,
233
+ "operate_type": 1,
234
+ "channel": 100,
210
235
  "biz_scene": 100,
211
236
  "point_type": 1,
212
237
  "raw_quantity":change_integral,
213
238
  "serial_no": SevenHelper.create_order_id(),
214
- "change_time": TimeHelper.get_now_timestamp(True),
215
- "old_total_point": old_integral,
239
+ "change_time": TimeHelper.get_now_timestamp(True),
240
+ "old_total_point": old_integral,
216
241
  "total_point": total_integral
217
242
  })
218
243
  return sync_member_info, sync_integral_log
219
-
220
244
 
221
245
  @classmethod
222
246
  def get_platform_name(self, platform_id):
@@ -2,7 +2,7 @@
2
2
  """
3
3
  @Author: HuangJianYi
4
4
  @Date: 2024-10-15 18:30:21
5
- @LastEditTime: 2025-01-06 14:31:14
5
+ @LastEditTime: 2025-04-25 18:13:30
6
6
  @LastEditors: HuangJianYi
7
7
  @Description:
8
8
  """
@@ -40,6 +40,7 @@ class MemberInfo:
40
40
  self.sex = 0 # 性别(0-未知 1-男 2-女)
41
41
  self.first_ouid = "" # 首绑ouid
42
42
  self.first_store_integral = 0 # 首绑店铺积分
43
+ self.first_store_level_id = 0 # 首绑店铺等级(为第一个绑定账号的店铺等级)
43
44
  self.first_plat_store_id = "" # 首绑平台店铺标识
44
45
  self.first_join_date = '1970-01-01 00:00:00.000' # 首次入会时间
45
46
  self.first_join_store_id = 0 # 首次入会店铺
@@ -54,10 +55,8 @@ class MemberInfo:
54
55
  @classmethod
55
56
  def get_field_list(self):
56
57
  return [
57
- 'id', 'one_id', 'business_id', 'scheme_id', 'include_plattypes', 'include_stores', 'level_id',
58
- 'level_valid_date', 'member_telephone','member_mask_telephone', 'real_name', 'birthday', 'sex', 'first_ouid',
59
- 'first_store_integral', 'first_plat_store_id', 'first_join_date', 'first_join_store_id',
60
- 'last_join_date', 'last_join_store_id', 'extend_info', 'member_status', 'is_one_merge', 'create_date', 'modify_date'
58
+ 'id', 'one_id', 'business_id', 'scheme_id', 'include_plattypes', 'include_stores', 'level_id', 'level_valid_date', 'member_telephone', 'member_mask_telephone', 'real_name', 'birthday', 'sex', 'first_ouid', 'first_store_integral', 'first_store_level_id',
59
+ 'first_plat_store_id', 'first_join_date', 'first_join_store_id', 'last_join_date', 'last_join_store_id', 'extend_info', 'member_status', 'is_one_merge', 'create_date', 'modify_date'
61
60
  ]
62
61
 
63
62
  @classmethod
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hk-cdp
3
- Version: 1.0.75
3
+ Version: 1.0.76
4
4
  Summary: hk cdp
5
5
  Home-page: http://gitlab.tdtech.gao7.com/newfire/hk_cap/hk_cdp/server/hk_cdp.git
6
6
  Author: seven
@@ -14,7 +14,7 @@ with open("README.md", "r", encoding='utf-8') as fh:
14
14
 
15
15
  setup(
16
16
  name="hk_cdp",
17
- version="1.0.75",
17
+ version="1.0.76",
18
18
  author="seven",
19
19
  author_email="tech@gao7.com",
20
20
  description="hk cdp",
File without changes
File without changes
File without changes
File without changes
File without changes