init: import production code mss.nahaichuan.com (exclude Runtime/Uploads/backups/logs)
这个提交包含在:
@@ -0,0 +1,141 @@
|
||||
<?php
|
||||
|
||||
namespace NotifyApi\Controller;
|
||||
|
||||
use Common\Business\CacheHandle;
|
||||
use Common\Model\RemitRecordModel;
|
||||
use Common\Model\RetailSellModel;
|
||||
use Distribution\Model\WithdrawalModel;
|
||||
use Distribution\Model\DistributorModel;
|
||||
use Distribution\Api\AutoSettlement;
|
||||
use Distribution\Model\OrderModel;
|
||||
use Distribution\Model\SellModel;
|
||||
use Think\Controller;
|
||||
|
||||
//[1.7.74]
|
||||
|
||||
/**
|
||||
* 分销自动更新数据
|
||||
* Class DistributionController
|
||||
* @package NotifyApi\Controller
|
||||
*/
|
||||
class DistributionController extends Controller
|
||||
{
|
||||
/**
|
||||
* 查询提现打款处理中的订单是否打款成功,成功则更新状态
|
||||
* @return string
|
||||
*/
|
||||
public function updateWithdrawalState()
|
||||
{
|
||||
$WithDrawModel = new WithdrawalModel();
|
||||
$RemitRecordModel = new RemitRecordModel();
|
||||
|
||||
$map = array(
|
||||
'state' => 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 '分销员可提现金额更新完成';
|
||||
}
|
||||
}
|
||||
在新工单中引用
屏蔽一个用户