110 lines
5.7 KiB
Python
110 lines
5.7 KiB
Python
# -*- coding:utf-8 -*-
|
||
"""
|
||
Author: 陈江
|
||
Email: chenjiang@sparkedu.com
|
||
Create Date: 2022/09/23 2:06 下午
|
||
"""
|
||
from base_framework.public_business.common.UBRD.kw.coursePackage_keyword import CoursePackageKW
|
||
from base_framework.public_tools import utils
|
||
from base_framework.public_tools.sqlhelper import MySqLHelper
|
||
from base_framework.public_tools.mg_keyword import ManageKeyWord
|
||
from base_framework.public_business import manage_public_business
|
||
|
||
import json
|
||
|
||
|
||
obj_course_package_kw = CoursePackageKW()
|
||
obj_get_way = utils.Tools()
|
||
obj_mysql_helper = MySqLHelper()
|
||
obj_manage_kw = ManageKeyWord()
|
||
obj_manage_business = manage_public_business.ManagePublicBusiness()
|
||
|
||
class Order:
|
||
def __init__(self):
|
||
pass
|
||
|
||
def order_done_pay(self, post_data_input):
|
||
"""
|
||
| 功能说明: | 订单完成支付 |
|
||
| 输入参数: |
|
||
|orderId/orderCode/prepayCode| 订单id/code/prepayCode | 必填其一
|
||
| podenv | str | 独立环境编号| 非必填
|
||
| 作者信息: | 陈江 | 修改时间 | 2022-9-28 |
|
||
"""
|
||
if not post_data_input.get('orderId') and not post_data_input.get('orderCode') and not post_data_input.get(
|
||
'prepayCode'):
|
||
raise "orderId/orderCode/prepayCode必传1个"
|
||
|
||
ordr_info = obj_course_package_kw.get_order_info(post_data_input)
|
||
order_id = ordr_info.get('orderId')
|
||
mq_body_dict = obj_course_package_kw.kw_ubrd_public_get_service_id_by_order_id({"orderId": order_id})
|
||
message_body = {"orderId": order_id, "serviceId": int(mq_body_dict.get('serviceId'))}
|
||
if post_data_input.get('podenv'):
|
||
obj_get_way.mq_send(mq_body_dict.get('topic'), json.dumps(message_body), pro=post_data_input.get('podenv'))
|
||
else:
|
||
obj_get_way.mq_send(mq_body_dict.get('topic'), json.dumps(message_body))
|
||
order_100_sql = f"SELECT id FROM `order_center`.`order_course_package` WHERE id='{order_id}' AND status=100"
|
||
obj_mysql_helper.check_result_exist(order_100_sql, retry_count=20)
|
||
subscribe_id_sql = f"SELECT subscribe_id FROM `order_center`.`subscribe_order_log` WHERE order_id={order_id}"
|
||
obj_mysql_helper.check_result_exist(subscribe_id_sql, retry_count=20)
|
||
subscribe_id = obj_mysql_helper.select_one(subscribe_id_sql).get('subscribe_id')
|
||
|
||
return {"order_id": order_id, "subscribe_id": subscribe_id}
|
||
|
||
def add_review_subscribe_order(self, post_data_input):
|
||
"""
|
||
| 功能说明: | 生成续订阅订单 |
|
||
| 输入参数: |
|
||
|subscribeIds| 订阅id | 传了用该订阅id生成续订阅订单,必传 比如[3355]
|
||
| 作者信息: | 张楠 | 修改时间 | 2022-11-10 |
|
||
"""
|
||
try:
|
||
post_data_input = eval(post_data_input)
|
||
except:
|
||
post_data_input = post_data_input
|
||
|
||
if not post_data_input.get('subscribeIds'):
|
||
raise RuntimeWarning("订阅id必传")
|
||
# 构造生成续订阅订单请求参数
|
||
response_data = obj_manage_kw.kw_execute_xxl_job(8306, para=json.dumps(post_data_input))
|
||
return response_data
|
||
|
||
def create_order(self, post_data_input):
|
||
"""
|
||
| 功能说明: | 创建直购订单 |
|
||
| 请求参数名 | 说明 | 类型 | 是否必填 | 如无要求时的值 |
|
||
| userId | 用户id | string | 0 | |
|
||
| phone | 用户手机号 | string | 0 | |
|
||
| coursePackageId | 套餐id | integer | 0 | |
|
||
| businessLine | 业务线一级类型,0:火花中国、1:vispark | integer | 0 | |
|
||
| businessLineType | 业务线二级类型,1:新加坡数学、2:对外汉语、3:直播逻辑思维、4:直播中文素养、5:直播双语素养、6:AI、7:围棋、8:国际象棋、9:其他、10:北美数学、11:越南数学、12:春风思维、13:口才课 | integer | 0 | |
|
||
| category | 业务线三级类型,K-SMAP:新加坡AP、P-CM:新加坡CP、A:北美AP、C-北美CP、V-越南AP、N-越南CP、ZHK-对外汉语综合课 | string | 0 | |
|
||
| teachingMethod | 授课方式, 0:直播、1:AI | integer | 0 | 0 |
|
||
| type | 套餐类型,1:正式课、2:体验课 | integer | 0 | 1 |
|
||
| courseSubjectList | 课程学科集合,1:数学、2:语文、3:科学、4:英语、5:编程、7:围棋、8:国际象棋、9:春风思维、10:口才课 | list | 0 | |
|
||
| courseId | 课程id | integer | 0 | |
|
||
| channel | 渠道,1:电商、0:非电商 | integer | 0 | 0 |
|
||
| channelValue | 渠道chi | string | 0 | 0 |
|
||
| classHourType | 课时类型,0:小班课、3:1v1 | integer | 0 | |
|
||
| offline | 线下,1:线下、0:线上 | integer | 0 | 1 |
|
||
| businessType | 业务类型,0:常规、1:补差、2:可补差 | integer | 0 | 0 |
|
||
| currency | 币种,0:人民币、1:美元 | integer | 0 | |
|
||
| saleType | 售卖方式,1:直购、2:订阅 | integer | 0 | 1 |
|
||
| teachingScope | 授课范围,1:所有课程、2:自定义课程 | integer | 0 | 1 |
|
||
| payPrice | 实付金额 | integer | 0 | |
|
||
| createdType | 订单类型,0:默认未选择、 10:团购订单、11:加价购-团购订单、12:加价购-普通订单、20:CC提单、30:CC提单、40:自助下单、50:微店购买| integer | 0| 0 |
|
||
Returns:
|
||
{orderId, orderCode}
|
||
| 作者信息: | lrq | 修改时间 | 2025-03-18 |
|
||
"""
|
||
try:
|
||
post_data_input = eval(post_data_input)
|
||
except:
|
||
post_data_input = post_data_input
|
||
return obj_manage_business.kw_public_manage_create_order(**post_data_input)
|
||
|
||
|
||
if __name__ == '__main__':
|
||
a = Order()
|
||
a.create_order({"userId":"2557864","channel":"35d75242534611e8b5325cb9018964ec","coursePackageId":"2503934602"})
|