bztang-admin/plugins/area-dividend/src/admin/modules/dividend/WrongDataRepair.php

36 lines
1.2 KiB
PHP

<?php
/**
* Created by PhpStorm.
* User: shenyang
* Date: 2018/11/2
* Time: 4:14 PM
*/
namespace Yunshop\AreaDividend\admin\modules\dividend;
use Yunshop\AreaDividend\models\AreaDividend;
use Yunshop\AreaDividend\models\Order;
class WrongDataRepair
{
public function handle()
{
// todo 找到订单下单时间早于 分红用户成为区域代理时间的 分红记录
$areaDividends = AreaDividend::select('yz_area_dividend.*')
->join('yz_order', 'yz_order.order_sn', '=', 'yz_area_dividend.order_sn')
->join('yz_area_dividend_agent', function ($join) {
$join->on('yz_area_dividend_agent.member_id', '=', 'yz_area_dividend.member_id');
$join->on('yz_area_dividend_agent.agent_at', '>', 'yz_order.create_time');
})
->where('create_time', '>', strtotime('2018-10-25 00:00:00'))
->with(['hasOneOrder', 'hasOneAgent', 'income'])->get();
$areaDividends->each(function (AreaDividend $areaDividend) {
// 如果已结算 删除收入记录
$areaDividend->rollBack();
});
// todo 删除订单对应的分红日志
}
}