2, 'status' => array('in', '1,2'), 'add_time' => array('lt', time()), ); $data = $WithDrawModel->getSelect($map, 'id,remit_record_id'); foreach ($data as $val) { $result = $WithDrawModel->getOrderStatus($val['id']); switch ($result) { case 1: $WithDrawModel->updateOrder(['id' => $val['id']], ['state' => '1']); $RemitRecordModel->updateOrder(['id' => $val['remit_record_id']], ['order_state' => 'SUCCESS']); break; case 2: $WithDrawModel->updateOrder(['id' => $val['id']], ['state' => '0']); $RemitRecordModel->updateOrder(['id' => $val['remit_record_id']], ['order_state' => 'FAILED']); break; case 3: // $WithDrawModel->updateOrder(['id' => $val['id']], ['state' => '2']); // $RemitRecordModel->updateOrder(['id' => $val['remit_record_id']], ['order_state' => 'PROCESSING']); break; case 0: break; } } } /** * 分销订单自动结算 */ public function autoSettlement() { $Order = new AutoSettlement(); $time = date("Y_m_d", time()); $CacheHandle = new CacheHandle(); // 获取是否存在缓存,防止重复点击 $hasSetRedis = $CacheHandle->getSingleCache('auto_settlement_' . $time); if ($hasSetRedis) { return true; } // 添加redis $CacheHandle->addTimeCache('auto_settlement_' . $time, 300, 1); $Order->getPlugMerchant(); // 结算 } /** * 分销员自动升级 */ public function autoUpgrade() { $DistributorModel = new DistributorModel(); $DistributorModel->userUpgrade(); // 升级 } /** * 分销sell表数据 */ public function updateSellInfo() { $SellModel = new SellModel(); $RetailSellModel = new RetailSellModel(); $DistributionOrderModel = new OrderModel(); $orderList = $DistributionOrderModel->getSelect(['id' => ['gt', 0]]); foreach ($orderList as $value) { if ($value['dis_str_id']) { $sell_id = $RetailSellModel->getFindField(['bill_id' => $value['bill_id']], 'id'); $newSellData = [ 'bill_id' => $value['bill_id'], //订单id 'sell_id' => $sell_id, //retail_sell的id 'settled_id' => $value['id'], //分销订单id 'dis_goods_id' => $value['dis_str_id'], //分销商品ID 'sell_first_money' => $value['sell_first_money'], //订单一级佣金 'sell_second_money' => $value['sell_second_money'], //订单二级佣金 'first_refund_money' => $value['first_refund_money'], //一级佣金被退金额 'second_refund_money' => $value['second_refund_money'], //二级佣金被退金额 'first_balance_rate' => $value['first_balance_rate'], //一级佣金比 'second_balance_rate' => $value['second_balance_rate'], //二级佣金比 'total_amount' => $value['total_amount'], //总金额 ]; $SellModel->addOrder($newSellData); } } } /** * 修正分销员可提现金额 */ public function correctionMoney() { $DistributorModel = new DistributorModel(); $WithDrawModel = new WithdrawalModel(); $distriMap = [ 'status' => 0, 'total_commission' => ['gt', 0], ]; $distributorList = $DistributorModel->getSelect($distriMap, 'id,total_commission'); foreach ($distributorList as $val) { $totalWithMoney = $WithDrawModel->getSum(['distributor_id' => $val['id']], 'withdrawal_money'); $realCommision = bcsub($val['total_commission'], $totalWithMoney, 2); if ($realCommision > 0) { $DistributorModel->updateOrder(['id' => $val['id']], ['settable_amount' => $realCommision]); } } echo '分销员可提现金额更新完成'; } }