增加bfm回调接口

This commit is contained in:
mgw
2023-02-13 21:51:06 +08:00
parent c07803d3cf
commit c1c39396f9
3 changed files with 61 additions and 28 deletions

View File

@@ -119,3 +119,30 @@ class Sf_Bf_Connect(http.Controller):
res['status'] = -1 res['status'] = -1
res['message'] = '工厂创建销售订单和产品失败,请联系管理员' res['message'] = '工厂创建销售订单和产品失败,请联系管理员'
return json.JSONEncoder().encode(res) return json.JSONEncoder().encode(res)
class jdElcp(http.Controller):
@http.route('/api/jd_create/order', type='http', auth='none', methods=['GET', 'POST'], csrf=False,
cors="*")
def get_jd_order(self, **kw):
"""
回调函数:拿到京东返回的下单数据
"""
logging.info('get_jd_bill================:%s', kw)
aa = request.env['stock.picking'].sudo().search([('origin', '=', kw['orderNo'])])
aa.carrier_tracking_ref = kw['wbNo']
logging.info('get_jd_order================:%s' %
aa.carrier_tracking_ref)
@http.route('/api/jd_create/bill', type='http', auth='none', methods=['GET', 'POST'], csrf=False,
cors="*")
def get_jd_bill(self, **kw):
"""
回调函数:拿到京东返回的快递面单
"""
logging.info('get_jd_bill================:%s', kw)
aa = request.env['stock.picking'].sudo().search([('origin', '=', kw['orderNo'])])
aa.bill_url = kw['bill']
logging.info('get_jd_bill================:%s' %
aa.bill_url)

View File

@@ -26,6 +26,7 @@ class JdEclp(models.Model):
expressItemName = fields.Char(string='货物名称', required=True, default='非标工件') expressItemName = fields.Char(string='货物名称', required=True, default='非标工件')
pickupBeginTime = fields.Char(string='期望取件时间') pickupBeginTime = fields.Char(string='期望取件时间')
deliveryType = fields.Selection([('6', '特快零担'), ('25', '特快重货')], string='运输类型', default='25') deliveryType = fields.Selection([('6', '特快零担'), ('25', '特快重货')], string='运输类型', default='25')
bill = fields.Char(string='快递面单')
@api.depends('origin') @api.depends('origin')
def _truck_info(self): def _truck_info(self):
@@ -42,34 +43,37 @@ class JdEclp(models.Model):
def create_order(self): def create_order(self):
# sale_order_id = self.env['sale.order'].search([('name', '=', self.origin)]) # sale_order_id = self.env['sale.order'].search([('name', '=', self.origin)])
if self.carrier_id == '京东物流': # if self.carrier_id == '京东物流':
createTime = str(datetime.now()) createTime = str(datetime.now())
json1 = { json1 = {
'params': { 'params': {
'orderNo': self.origin, 'orderNo': self.origin,
'senderNickName': self.senderNickName, 'senderNickName': self.senderNickName,
'receiverName': self.receiverName, 'receiverName': self.receiverName,
'receiverMobile': self.receiverMobile, 'receiverMobile': self.receiverMobile,
'receiverProvinceName': self.receiverProvinceName, 'receiverProvinceName': self.receiverProvinceName,
'receiverCityName': self.receiverCityName, 'receiverCityName': self.receiverCityName,
'receiverCountyName': self.receiverCountyName, 'receiverCountyName': self.receiverCountyName,
'receiverTownName': self.receiverTownName, 'receiverTownName': self.receiverTownName,
'remark': self.remark, 'remark': self.remark,
'grossWeight': self.grossWeight, 'grossWeight': self.grossWeight,
'grossVolume': self.grossVolume, 'grossVolume': self.grossVolume,
'createTime': createTime, 'createTime': createTime,
'createUser': self.user_id, 'createUser': self.user_id,
'expressItemName': self.expressItemName, 'expressItemName': self.expressItemName,
'pickupBeginTime': self.pickupBeginTime, 'pickupBeginTime': self.pickupBeginTime,
'deliveryType': self.deliveryType, 'deliveryType': self.deliveryType,
'receiverCompany': self.receiverCompany, 'receiverCompany': self.receiverCompany,
}, },
} }
url1 = 'https://bfm.cs.jikimo.com/api/create/jd/order' _logger.info('准备调接口')
requests.post(url1, json=json1, data=None) url1 = 'https://bfm.cs.jikimo.com/api/create/jd/order'
requests.post(url1, json=json1, data=None)
_logger.info('调用成功')
else:
raise UserError("选择京东物流才能下单呦") # else:
# raise UserError("选择京东物流才能下单呦")
def get_bill(self): def get_bill(self):
@@ -78,5 +82,5 @@ class JdEclp(models.Model):
'no': self.origin, 'no': self.origin,
}, },
} }
url1 = 'https://bfm.cs.jikimo.com/api/create/jd/order' url1 = 'https://bfm.cs.jikimo.com/api/api/create/jd/bill'
requests.post(url1, json=json1, data=None) requests.post(url1, json=json1, data=None)

View File

@@ -17,8 +17,10 @@
<field name="receiverTownName"/> <field name="receiverTownName"/>
<field name="receiverCompany"/> <field name="receiverCompany"/>
<field name="remark"/> <field name="remark"/>
<field name="grossWeight"/>
<field name="grossVolume"/> <field name="grossVolume"/>
<field name="pickupBeginTime"/> <field name="pickupBeginTime"/>
</xpath> </xpath>
<xpath expr="//group[@name='other_infos']" position="after"> <xpath expr="//group[@name='other_infos']" position="after">
<!-- <group>--> <!-- <group>-->