Exemple #1
0
    def return_check_requests(cls, account='TIANJINOPERATION', operate_type='1', order_ids=[]):
        """
        退货审核
        :param account:
        :param operate_type: 1:批准,2:二次配送
        :param ids:
        """
        print u'*' * 20 + u'退货审核'

        obj = obj = demjson.decode(RainbowUtil.rainbow_get_return_request(order_nos=order_ids))
        n = 0
        while int(obj['total']) != len(order_ids) and n < tmsBase.retry_times:
            print 'expect %s, actual %s' % (len(order_ids), obj['total'])
            sleep(1)
            obj = demjson.decode(RainbowUtil.rainbow_get_return_request(order_nos=order_ids))
            n += 1

        print 'expect %s, actual %s' % (len(order_ids), obj['total'])

        if int(obj['total']) != len(order_ids):
            print 'expect %s, actual %s' % (len(order_ids), obj['total'])
            raise StandardError(u'>>>>>>>>>>期望待退货审核运单,与实际可退货运单不一致')

        ids = list()
        for item in obj['rows']:
            ids.append(item['id'])

        url = tmsBase.base_url + '/tms/sort/refundOrderCheckController/updateCheckResult.do?operation=' + operate_type
        resp = HttpRequest.post_request(TmsLogin.get_session(account), url, data={'ids[]': ids})
        check_operation_result(resp)
        return resp
Exemple #2
0
    def refund_apply(cls, account='ADMIN', order_nos=[]):
        """
        退款申请
        :param account:
        :param ids:
        """
        print u'*' * 20 + u'退款申请'
        # 获取运单id
        order_ids = []
        obj = demjson.decode(RainbowUtil.rainbow_get_refund_apply_info(account=account, order_ids=order_nos))
        for item in obj['rows']:
            order_ids.append(item['id'])
        # 申请退款
        url = tmsBase.base_url + '/tms/sort/refundOrderController/refundApply.do'
        resp = HttpRequest.post_request(TmsLogin.get_session(account), url, data={'ids[]': order_ids})
        # check_operation_result(resp)
        print resp

        # 获取退款申请号
        obj = demjson.decode(RainbowUtil.rainbow_get_refund_apply_info(account=account, order_ids=order_nos))

        refund_apply_no = obj['rows'][0]['refundApplyNo']
        print u'----------退款申请号:%s' % refund_apply_no

        return refund_apply_no
# -*- encoding:utf-8 -*-
import sys
from time import sleep
import os
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..\\..\\..\\'))
from keywords.tms.interface.innerInvoker import InnerInvoker
from keywords.tms.express.expressFlow import ExpressFlow
from keywords.tms.express.expressUtil import ExpressUtil
from keywords.tms.rainbow import RainbowUtil
from parameters.tms import tmsBase

__author__ = 'bida'

if __name__ == '__main__':
    order_ids = InnerInvoker.create_change_and_refund_order(count=2, operate_type='3')[0]
    sleep(tmsBase.wait_time)

    ExpressFlow.express_return_return(account='AUTOEXPRESS', order_ids=order_ids)

    sleep(tmsBase.wait_time)
    ExpressUtil.express_check_order_state(order_ids=order_ids, state='退货已签收'.decode('utf-8'))
    RainbowUtil.rainbow_check_order_state(order_ids=order_ids, state='退货已签收'.decode('utf-8'))
        obj = BaseInfo.get_subdistributor_id(subdistributor_short_name='autoexpress')
        delivery_dealer = obj[0] + '-' + obj[1]
    else:
        delivery_dealer = BaseInfo.get_distributor_id(account='ADMIN', distributor_short_name='autoexpress') + '-'

    RainbowFlow.sorting_forward_to_delivery_dealer(order_ids=order_ids,
                                                   delivery_dealer=delivery_dealer,
                                                   account='TIANJINSORTING')
    sleep(tmsBase.wait_time)
    ExpressFlow.express_delivery(target='2',
                                 order_ids=order_ids,
                                 feedback_result='SUCCESS',
                                 account='AUTOEXPRESS')

    sleep(tmsBase.wait_time)
    for order_id in order_ids:
        # 支付宝反馈配送在途
        InnerInvoker.payment_zhifubao_notice(order_id=order_id, pay_status='0')

    sleep(tmsBase.wait_time)
    ExpressUtil.express_check_order_state(order_ids=order_ids, state='配送在途'.decode('utf-8'))
    RainbowUtil.rainbow_check_order_state(order_ids=order_ids, state='配送在途'.decode('utf-8'))

    sleep(tmsBase.wait_time)
    for order_id in order_ids:
        # 支付宝反馈配送成功
        InnerInvoker.payment_zhifubao_notice(order_id=order_id, pay_status='1')

    sleep(tmsBase.wait_time)
    ExpressUtil.express_check_order_state(order_ids=order_ids, state='配送成功'.decode('utf-8'))
    RainbowUtil.rainbow_check_order_state(order_ids=order_ids, state='配送成功'.decode('utf-8'))