orderService = app('OrderService'); $this->data['orderno'] = '订单编号'.((string)Carbon::now()); $this->data['warehouse_code'] = 'test'; $this->data['userdefine1'] ='测试物流'; $this->data['customerid'] = '测试货主'; $this->data['issuepartyname'] = '测试商铺'; $this->data['orderType'] = '测试'; $orderHeader = new OracleDOCOrderHeader(); $orderHeader->orderno = md5('订单编号'); $orderHeader->c_contact='京东旗舰店'; $orderHeader->c_tel2 = md5('承运商'); $orderHeader->c_province = md5('收货人'); $orderHeader->c_city = md5('shou'); $orderHeader->c_district = md5('shou'); $orderHeader->c_address1 = md5('shou'); $orderHeader->soreference1 = md5('客户订单号'); $orderHeader->userdefine1 = $this->data['userdefine1']; $orderHeader->warehouseid = $this->data['warehouse_code']; $orderHeader->customerid = $this->data['customerid']; $orderHeader->issuepartyname =$this->data['issuepartyname']; $orderHeader['orderType']['codename_c'] =$this->data['orderType']; $orderHeader->edittime = Carbon::now(); $orderHeader->addtime = Carbon::now(); $this->data['orderHeader'] =$orderHeader; $this->data['logistic'] = Logistic::query()->firstOrCreate(['code'=>$this->data['userdefine1'],'name'=>'测试物流']); $this->data['owner'] = Owner::query()->firstOrCreate(['code'=>$this->data['customerid'],'name'=>'测试货主']); $this->data['shop'] =Shop::query()->firstOrCreate(['name'=>$this->data['issuepartyname'],'owner_id'=>$this->data['owner']->id]); $this->data['warehouse'] = Warehouse::query()->firstOrCreate(["code"=>$this->data['warehouse_code'],"name"=>'测试仓库']); $orderHeader->actAllocationDetails = $this->getActAllocationDetails($this->data['orderno'],$this->data['owner']); } public function getActAllocationDetails($orderno,$owner){ $sums = rand(3,6); $actAllocationDetails = []; $picktotraceids = [ md5((string)rand(10000,99999)),md5((string)rand(10000,99999)),md5((string)rand(10000,99999)),md5((string)rand(10000,99999)) ]; $sku = ['ABC'.(rand(10000,99999)),'ABC'.(rand(10000,99999)),'ABC'.(rand(10000,99999))]; foreach ($sku as $item) { Commodity::query()->firstOrCreate(['owner_id'=>$owner['id'],'sku'=>$item,'name'=>md5($item)]); } for ($i=0;$i<$sums;$i++){ $actAllocationDetails[] =[ 'orderno' => $orderno, 'picktotraceid' => $picktotraceids[rand(0,count($picktotraceids)-1)], 'sku' => $sku[rand(0,count($sku)-1)], 'qty_each' => rand(1,15), 'customerid' =>$owner['code'] ]; } return $actAllocationDetails; } /** * @test */ public function createOrFindOrderInfo() { $this->orderService->createOrFindOrderInfo($this->data['orderHeader']); $order = Order::query()->where('code',$this->data['orderHeader']['orderno'])->first(); $this->assertNotNull($order); $this->assertEquals($order->code,$this->data['orderHeader']['orderno']); $orderPackages = OrderPackage::query()->where('order_id',$order['id'])->get(); $orderPackagesCommodities = OrderPackageCommodities::query()->whereIn('order_package_id'); $this->data['delete']['order_id'] = $order['id']; $this->data['delete']['order_package_id'] = $orderPackages->each(function($orderPackage){ return $orderPackage['id']; }); $this->data['delete']['order_package_commodity_id'] = $orderPackagesCommodities->each(function($orderPackageCommodity){ return $orderPackageCommodity['id']; }); $this->data['delete']['commodity_id'] = $orderPackagesCommodities->each(function($orderPackageCommodity){ return $orderPackageCommodity['commodity_id']; }); } public function tearDown(): void { cache()->flush(); $this->data['logistic']->delete(); $this->data['owner']->delete(); $this->data['shop']->delete(); $this->data['warehouse']->delete(); Order::find($this->data['delete']['order_id'])->delete(); OrderPackage::query()->whereIn('id',$this->data['delete']['order_package_id'])->delete(); OrderPackageCommodities::query()->whereIn('id',$this->data['delete']['order_package_commodity_id'])->delete(); Commodity::query()->whereIn('id',$this->data['delete']['commodity_id'])->delete(); parent::tearDown(); // TODO: Change the autogenerated stub } }