Files
qiaoxinjiu 6994b185a3 addproject
2026-01-22 19:10:37 +08:00

110 lines
5.7 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- 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"})