修复导出问题 修复显示金额问题
This commit is contained in:
parent
a61a729ae3
commit
0126357d76
@ -45,7 +45,7 @@ class FinancialRecordRepository extends BaseRepository
|
||||
* @author Qinii
|
||||
* @day 5/7/21
|
||||
*/
|
||||
public function getList(array $where,int $page,int $limit)
|
||||
public function getList(array $where, int $page, int $limit)
|
||||
{
|
||||
$query = $this->dao->search($where)->order('create_time DESC');
|
||||
$count = $query->count();
|
||||
@ -61,7 +61,7 @@ class FinancialRecordRepository extends BaseRepository
|
||||
* @author Qinii
|
||||
* @day 5/7/21
|
||||
*/
|
||||
public function getFiniancialTitle(?int $merId,array $where)
|
||||
public function getFiniancialTitle(?int $merId, array $where)
|
||||
{
|
||||
/**
|
||||
* 平台支出
|
||||
@ -71,19 +71,19 @@ class FinancialRecordRepository extends BaseRepository
|
||||
* 退回收入 refund_order + (佣金 brokerage_one,brokerage_two - 退回佣金 refund_brokerage_two,refund_brokerage_one ) + (手续费 order_charge + 预售手续费 presell_charge - 平台退给商户的手续费 refund_charge )
|
||||
*/
|
||||
$where['is_mer'] = $merId;
|
||||
if($merId){
|
||||
if ($merId) {
|
||||
//商户收入
|
||||
$income = $this->dao->search($where)->where('financial_type','in',['order','mer_presell'])->sum('number');
|
||||
$income = $this->dao->search($where)->where('financial_type', 'in', ['order', 'mer_presell'])->sum('number');
|
||||
//商户支出
|
||||
$expend_ = $this->dao->search($where)->where('financial_type','in',['refund_order','brokerage_one','brokerage_two','order_charge','presell_charge'])->sum('number');
|
||||
$_expend = $this->dao->search($where)->where('financial_type','in',['refund_charge','refund_brokerage_two','refund_brokerage_one'])->sum('number');
|
||||
$expend = bcsub($expend_,$_expend,2);
|
||||
$expend_ = $this->dao->search($where)->where('financial_type', 'in', ['refund_order', 'brokerage_one', 'brokerage_two', 'order_charge', 'presell_charge'])->sum('number');
|
||||
$_expend = $this->dao->search($where)->where('financial_type', 'in', ['refund_charge', 'refund_brokerage_two', 'refund_brokerage_one'])->sum('number');
|
||||
$expend = bcsub($expend_, $_expend, 2);
|
||||
$msg = '商户';
|
||||
}else{
|
||||
} else {
|
||||
//平台收入
|
||||
$income = $this->dao->search($where)->where('financial_type','in',['order','order_presell','presell'])->sum('number');
|
||||
$income = $this->dao->search($where)->where('financial_type', 'in', ['order', 'order_presell', 'presell'])->sum('number');
|
||||
//平台支出
|
||||
$expend = $this->dao->search($where)->where('financial_type','in',['brokerage_one','brokerage_two','order_true','refund_charge','presell_true','order_platform_coupon','order_svip_coupon'])->sum('number');
|
||||
$expend = $this->dao->search($where)->where('financial_type', 'in', ['brokerage_one', 'brokerage_two', 'order_true', 'refund_charge', 'presell_true', 'order_platform_coupon', 'order_svip_coupon'])->sum('number');
|
||||
$msg = '平台';
|
||||
}
|
||||
$data = [
|
||||
@ -91,13 +91,13 @@ class FinancialRecordRepository extends BaseRepository
|
||||
'className' => 'el-icon-s-goods',
|
||||
'count' => $income,
|
||||
'field' => '元',
|
||||
'name' => $msg.'收入'
|
||||
'name' => $msg . '收入'
|
||||
],
|
||||
[
|
||||
'className' => 'el-icon-s-order',
|
||||
'count' => $expend,
|
||||
'field' => '元',
|
||||
'name' => $msg.'支出'
|
||||
'name' => $msg . '支出'
|
||||
],
|
||||
];
|
||||
return $data;
|
||||
@ -113,26 +113,26 @@ class FinancialRecordRepository extends BaseRepository
|
||||
public function getAdminTitle($where)
|
||||
{
|
||||
//订单收入总金额
|
||||
$count = $this->dao->search($where)->where('financial_type','in',['order','order_presell','presell'])->sum('number');
|
||||
$count = $this->dao->search($where)->where('financial_type', 'in', ['order', 'order_presell', 'presell'])->sum('number');
|
||||
//退款支出金额
|
||||
$refund_order = $this->dao->search($where)->where('financial_type','refund_order')->sum('number');
|
||||
$refund_order = $this->dao->search($where)->where('financial_type', 'refund_order')->sum('number');
|
||||
//佣金支出金额
|
||||
$brokerage_ = $this->dao->search($where)->where('financial_type','in',['brokerage_one','brokerage_two'])->sum('number');
|
||||
$_brokerage = $this->dao->search($where)->where('financial_type','in',['refund_brokerage_two','refund_brokerage_one'])->sum('number');
|
||||
$brokerage = bcsub($brokerage_,$_brokerage,2);
|
||||
$brokerage_ = $this->dao->search($where)->where('financial_type', 'in', ['brokerage_one', 'brokerage_two'])->sum('number');
|
||||
$_brokerage = $this->dao->search($where)->where('financial_type', 'in', ['refund_brokerage_two', 'refund_brokerage_one'])->sum('number');
|
||||
$brokerage = bcsub($brokerage_, $_brokerage, 2);
|
||||
//平台手续费
|
||||
$charge_ = $this->dao->search($where)->where('financial_type','in',['order_charge','presell_charge'])->sum('number');
|
||||
$_charge = $this->dao->search($where)->where('financial_type','refund_charge')->sum('number');
|
||||
$charge = bcsub($charge_,$_charge,2);
|
||||
$charge_ = $this->dao->search($where)->where('financial_type', 'in', ['order_charge', 'presell_charge'])->sum('number');
|
||||
$_charge = $this->dao->search($where)->where('financial_type', 'refund_charge')->sum('number');
|
||||
$charge = bcsub($charge_, $_charge, 2);
|
||||
//优惠券费用 ,'order_platform_coupon','order_svip_coupon'
|
||||
$coupon = $this->dao->search($where)->where('financial_type','in',['order_platform_coupon','order_svip_coupon'])->sum('number');
|
||||
$coupon = $this->dao->search($where)->where('financial_type', 'in', ['order_platform_coupon', 'order_svip_coupon'])->sum('number');
|
||||
//充值金额
|
||||
$bill_where = [
|
||||
'status' => 1,
|
||||
'date' => $where['date'],
|
||||
'category' => 'now_money',
|
||||
];
|
||||
$bill = app()->make(UserBillRepository::class)->search($bill_where)->where('type','in',['sys_inc_money','recharge'])->sum('number');
|
||||
$bill = app()->make(UserBillRepository::class)->search($bill_where)->where('type', 'in', ['sys_inc_money', 'recharge'])->sum('number');
|
||||
//充值消费金额
|
||||
$bill_where = [
|
||||
'pm' => 0,
|
||||
@ -140,7 +140,7 @@ class FinancialRecordRepository extends BaseRepository
|
||||
'date' => $where['date'],
|
||||
'category' => 'now_money',
|
||||
];
|
||||
$_bill = app()->make(UserBillRepository::class)->search($bill_where)->where('type','in',['presell','pay_product','sys_dec_money'])->sum('number');
|
||||
$_bill = app()->make(UserBillRepository::class)->search($bill_where)->where('type', 'in', ['presell', 'pay_product', 'sys_dec_money'])->sum('number');
|
||||
//产生交易的商户数
|
||||
$mer_number = $this->dao->search($where)->group('mer_id')->count();
|
||||
|
||||
@ -194,7 +194,7 @@ class FinancialRecordRepository extends BaseRepository
|
||||
'name' => '优惠券金额'
|
||||
]
|
||||
];
|
||||
return compact('stat');
|
||||
return compact('stat');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -207,27 +207,27 @@ class FinancialRecordRepository extends BaseRepository
|
||||
public function getMerchantTitle($where)
|
||||
{
|
||||
//商户收入
|
||||
$count = $this->dao->search($where)->where('financial_type','in',['order','mer_presell'])->sum('number');
|
||||
$count = $this->dao->search($where)->where('financial_type', 'in', ['order', 'mer_presell'])->sum('number');
|
||||
//保证金
|
||||
$auto_margin = $this->dao->search($where)->where('financial_type','auto_margin')->sum('number');
|
||||
$auto_margin = $this->dao->search($where)->where('financial_type', 'auto_margin')->sum('number');
|
||||
//平台优惠券
|
||||
$coupon = $this->dao->search($where)->where('financial_type','in',['order_platform_coupon','order_svip_coupon'])->sum('number');
|
||||
$coupon = $this->dao->search($where)->where('financial_type', 'in', ['order_platform_coupon', 'order_svip_coupon'])->sum('number');
|
||||
//商户余额
|
||||
$mer_money = app()->make(MerchantRepository::class)->search(['mer_id' => $where['is_mer']])->value('mer_money');
|
||||
//最低提现额度
|
||||
$extract_minimum_line = systemConfig('extract_minimum_line');
|
||||
//商户可提现金额
|
||||
$_line = bcsub($mer_money,$extract_minimum_line,2);
|
||||
$_line = bcsub($mer_money, $extract_minimum_line, 2);
|
||||
//退款支出金额
|
||||
$refund_order = $this->dao->search($where)->where('financial_type','refund_order')->sum('number');
|
||||
$refund_order = $this->dao->search($where)->where('financial_type', 'refund_order')->sum('number');
|
||||
//佣金支出金额
|
||||
$_brokerage = $this->dao->search($where)->where('financial_type','in',['brokerage_one','brokerage_two'])->sum('number');
|
||||
$refund_brokerage = $this->dao->search($where)->where('financial_type','in',['refund_brokerage_one','refund_brokerage_two'])->sum('number');
|
||||
$brokerage = bcsub($_brokerage,$refund_brokerage,2);
|
||||
$_brokerage = $this->dao->search($where)->where('financial_type', 'in', ['brokerage_one', 'brokerage_two'])->sum('number');
|
||||
$refund_brokerage = $this->dao->search($where)->where('financial_type', 'in', ['refund_brokerage_one', 'refund_brokerage_two'])->sum('number');
|
||||
$brokerage = bcsub($_brokerage, $refund_brokerage, 2);
|
||||
//平台手续费
|
||||
$refund_true = $this->dao->search($where)->where('financial_type','in',['order_charge','presell_charge'])->sum('number');
|
||||
$order_charge = $this->dao->search($where)->where('financial_type','refund_charge')->sum('number');
|
||||
$charge = bcsub($refund_true,$order_charge,2);
|
||||
$refund_true = $this->dao->search($where)->where('financial_type', 'in', ['order_charge', 'presell_charge'])->sum('number');
|
||||
$order_charge = $this->dao->search($where)->where('financial_type', 'refund_charge')->sum('number');
|
||||
$charge = bcsub($refund_true, $order_charge, 2);
|
||||
//商户可提现金额
|
||||
// $bill_order = app()->make(StoreOrderRepository::class)->search(['paid' => 1,'date' => $where['date'],'pay_type' => 0])->sum('pay_price');
|
||||
$merLockMoney = app()->make(UserBillRepository::class)->merchantLickMoney($where['is_mer']);
|
||||
@ -246,7 +246,7 @@ class FinancialRecordRepository extends BaseRepository
|
||||
],
|
||||
[
|
||||
'className' => 'el-icon-s-cooperation',
|
||||
'count' => ($_line < 0) ? 0 : $_line,
|
||||
'count' => ($_line < 0) ? 0 : $_line,
|
||||
'field' => '元',
|
||||
'name' => '商户可提现金额'
|
||||
],
|
||||
@ -279,7 +279,7 @@ class FinancialRecordRepository extends BaseRepository
|
||||
'count' => $merLockMoney,
|
||||
'field' => '元',
|
||||
'name' => '商户冻结金额'
|
||||
], [
|
||||
], [
|
||||
'className' => 'el-icon-s-cooperation',
|
||||
'count' => $auto_margin,
|
||||
'field' => '元',
|
||||
@ -298,19 +298,19 @@ class FinancialRecordRepository extends BaseRepository
|
||||
* @author Qinii
|
||||
* @day 3/23/21
|
||||
*/
|
||||
public function getAdminList(array $where,int $page,int $limit)
|
||||
public function getAdminList(array $where, int $page, int $limit, $merchant = [])
|
||||
{
|
||||
//日
|
||||
if($where['type'] == 1){
|
||||
if ($where['type'] == 1) {
|
||||
$field = Db::raw('from_unixtime(unix_timestamp(create_time),\'%Y-%m-%d\') as time');
|
||||
}else{
|
||||
//月
|
||||
if(!empty($where['date'])){
|
||||
} else {
|
||||
//月
|
||||
if (!empty($where['date'])) {
|
||||
list($startTime, $endTime) = explode('-', $where['date']);
|
||||
$firstday = date('Y/m/01', strtotime($startTime));
|
||||
$lastday_ = date('Y/m/01', strtotime($endTime));
|
||||
$lastday = date('Y/m/d', strtotime("$lastday_ +1 month -1 day"));
|
||||
$where['date'] = $firstday.'-'.$lastday;
|
||||
$where['date'] = $firstday . '-' . $lastday;
|
||||
}
|
||||
$field = Db::raw('from_unixtime(unix_timestamp(create_time),\'%Y-%m\') as time');
|
||||
}
|
||||
@ -318,35 +318,34 @@ class FinancialRecordRepository extends BaseRepository
|
||||
|
||||
$query = $this->dao->search($where)->field($field)->group("time")->order('create_time DESC');
|
||||
$count = $query->count();
|
||||
$list = $query->page($page,$limit)->select()->each(function ($item) use($where){
|
||||
|
||||
$key = $where['is_mer'] ? $where['is_mer'].'_financial_record_list_'.$item['time'] : 'sys_financial_record_list_'.$item['time'];
|
||||
if(($where['type'] == 1 && ($item['time'] == date('Y-m-d',time()))) || ($where['type'] == 2 && ($item['time'] == date('Y-m',time())))){
|
||||
$income = ($this->countIncome($where['type'],$where,$item['time']))['number'] ;
|
||||
$expend = ($this->countExpend($where['type'],$where,$item['time']))['number'] ;
|
||||
$list = $query->page($page, $limit)->select()->each(function ($item) use ($where, $merchant) {
|
||||
$key = $where['is_mer'] ? $where['is_mer'] . '_financial_record_list_' . $item['time'] : 'sys_financial_record_list_' . $item['time'];
|
||||
if (($where['type'] == 1 && ($item['time'] == date('Y-m-d', time()))) || ($where['type'] == 2 && ($item['time'] == date('Y-m', time())))) {
|
||||
$income = ($this->countIncome($where['type'], $where, $item['time'],$merchant))['number'];
|
||||
$expend = ($this->countExpend($where['type'], $where, $item['time'],$merchant))['number'];
|
||||
$ret = [
|
||||
'income' => $income,
|
||||
'expend' => $expend,
|
||||
'charge' => bcsub($income, $expend, 2),
|
||||
];
|
||||
} else {
|
||||
if (!$ret = Cache::get($key)) {
|
||||
$income = ($this->countIncome($where['type'], $where, $item['time'],$merchant))['number'];
|
||||
$expend = ($this->countExpend($where['type'], $where, $item['time'],$merchant))['number'];
|
||||
$ret = [
|
||||
'income' => $income,
|
||||
'expend' => $expend ,
|
||||
'charge' => bcsub($income,$expend,2),
|
||||
'expend' => $expend,
|
||||
'charge' => bcsub($income, $expend, 2),
|
||||
];
|
||||
}else{
|
||||
if(!$ret = Cache::get($key)){
|
||||
$income = ($this->countIncome($where['type'],$where,$item['time']))['number'] ;
|
||||
$expend = ($this->countExpend($where['type'],$where,$item['time']))['number'] ;
|
||||
$ret = [
|
||||
'income' => $income,
|
||||
'expend' => $expend ,
|
||||
'charge' => bcsub($income,$expend,2),
|
||||
];
|
||||
Cache::tag('system')->set($key,$ret,24 * 3600);
|
||||
}
|
||||
Cache::tag('system')->set($key, $ret, 24 * 3600);
|
||||
}
|
||||
$item['income'] = $ret['income'];
|
||||
$item['expend'] = $ret['expend'];
|
||||
$item['charge'] = $ret['charge'];
|
||||
});
|
||||
}
|
||||
$item['income'] = $ret['income'];
|
||||
$item['expend'] = $ret['expend'];
|
||||
$item['charge'] = $ret['charge'];
|
||||
});
|
||||
|
||||
return compact('count','list');
|
||||
return compact('count', 'list');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -357,46 +356,47 @@ class FinancialRecordRepository extends BaseRepository
|
||||
* @author Qinii
|
||||
* @day 3/23/21
|
||||
*/
|
||||
public function adminDetail(int $type,array $where)
|
||||
public function adminDetail(int $type, array $where)
|
||||
{
|
||||
$date_ = strtotime($where['date']);unset($where['date']);
|
||||
$date = ($type == 1) ? date('Y-m-d',$date_) : date('Y-m',$date_);
|
||||
$income = $this->countIncome($type,$where,$date);
|
||||
$bill = $this->countBill($type,$date);
|
||||
$expend = $this->countExpend($type,$where,$date);
|
||||
$charge = bcsub($income['number'],$expend['number'],2);
|
||||
$data['date'] = $date;
|
||||
$date_ = strtotime($where['date']);
|
||||
unset($where['date']);
|
||||
$date = ($type == 1) ? date('Y-m-d', $date_) : date('Y-m', $date_);
|
||||
$income = $this->countIncome($type, $where, $date);
|
||||
$bill = $this->countBill($type, $date);
|
||||
$expend = $this->countExpend($type, $where, $date);
|
||||
$charge = bcsub($income['number'], $expend['number'], 2);
|
||||
$data['date'] = $date;
|
||||
$data['income'] = [
|
||||
'title' => '订单收入总金额',
|
||||
'number' => $income['number'] ,
|
||||
'count' => $income['count'].'笔',
|
||||
'number' => $income['number'],
|
||||
'count' => $income['count'] . '笔',
|
||||
'data' => [
|
||||
['订单支付', $income['number_order'].'元', $income['count_order'].'笔'],
|
||||
['退回优惠券补贴', $income['number_coupon'].'元', $income['count_coupon'].'笔'],
|
||||
['退回会员优惠券补贴', $income['number_svipcoupon'].'元', $income['count_svipcoupon'].'笔'],
|
||||
['订单支付', $income['number_order'] . '元', $income['count_order'] . '笔'],
|
||||
['退回优惠券补贴', $income['number_coupon'] . '元', $income['count_coupon'] . '笔'],
|
||||
['退回会员优惠券补贴', $income['number_svipcoupon'] . '元', $income['count_svipcoupon'] . '笔'],
|
||||
]
|
||||
];
|
||||
$data['bill'] = [
|
||||
$data['bill'] = [
|
||||
'title' => '充值金额',
|
||||
'number' => $bill['number'] ,
|
||||
'count' => $bill['count'].'笔',
|
||||
'number' => $bill['number'],
|
||||
'count' => $bill['count'] . '笔',
|
||||
'data' => []
|
||||
];
|
||||
$data['expend'] = [
|
||||
'title' => '支出总金额',
|
||||
'number' => $expend['number'] ,
|
||||
'count' => $expend['count'].'笔',
|
||||
'number' => $expend['number'],
|
||||
'count' => $expend['count'] . '笔',
|
||||
'data' => [
|
||||
['应付商户金额', $expend['number_order'] .'元', $expend['count_order'].'笔'],
|
||||
['佣金', $expend['number_brokerage'] .'元', $expend['count_brokerage'].'笔'],
|
||||
['返还手续费', $expend['number_charge'] .'元', $expend['count_charge'].'笔'],
|
||||
['优惠券补贴',$expend['number_coupon'] .'元', $expend['count_coupon'].'笔'],
|
||||
['会员优惠券补贴',$expend['number_svipcoupon'] .'元', $expend['count_svipcoupon'].'笔'],
|
||||
['应付商户金额', $expend['number_order'] . '元', $expend['count_order'] . '笔'],
|
||||
['佣金', $expend['number_brokerage'] . '元', $expend['count_brokerage'] . '笔'],
|
||||
['返还手续费', $expend['number_charge'] . '元', $expend['count_charge'] . '笔'],
|
||||
['优惠券补贴', $expend['number_coupon'] . '元', $expend['count_coupon'] . '笔'],
|
||||
['会员优惠券补贴', $expend['number_svipcoupon'] . '元', $expend['count_svipcoupon'] . '笔'],
|
||||
]
|
||||
];
|
||||
$data['charge'] = [
|
||||
'title' => '平台手续费收入总金额',
|
||||
'number' => $charge ,
|
||||
'number' => $charge,
|
||||
'count' => '',
|
||||
'data' => []
|
||||
];
|
||||
@ -411,68 +411,69 @@ class FinancialRecordRepository extends BaseRepository
|
||||
* @author Qinii
|
||||
* @day 5/6/21
|
||||
*/
|
||||
public function merDetail(int $type,array $where)
|
||||
public function merDetail(int $type, array $where,$merchant=[])
|
||||
{
|
||||
$date_ = strtotime($where['date']); unset($where['date']);
|
||||
$date = ($type == 1) ? date('Y-m-d',$date_) : date('Y-m',$date_);
|
||||
$income = $this->countIncome($type,$where,$date);
|
||||
$expend = $this->countExpend($type,$where,$date);
|
||||
$charge = bcsub($income['number'],$expend['number'],2);
|
||||
$date_ = strtotime($where['date']);
|
||||
unset($where['date']);
|
||||
$date = ($type == 1) ? date('Y-m-d', $date_) : date('Y-m', $date_);
|
||||
$income = $this->countIncome($type, $where, $date,$merchant);
|
||||
$expend = $this->countExpend($type, $where, $date,$merchant);
|
||||
$charge = bcsub($income['number'], $expend['number'], 2);
|
||||
|
||||
$data['date'] = $date;
|
||||
$data['date'] = $date;
|
||||
$data['income'] = [
|
||||
'title' => '订单收入总金额',
|
||||
'number' => $income['number'] ,
|
||||
'count' => $income['count'].'笔',
|
||||
'number' => $income['number'],
|
||||
'count' => $income['count'] . '笔',
|
||||
'data' => [
|
||||
['订单支付', $income['number_order'].'元', $income['count_order'].'笔'],
|
||||
['优惠券补贴', $income['number_coupon'].'元', $income['count_coupon'].'笔'],
|
||||
['会员优惠券补贴', $income['number_svipcoupon'].'元', $income['count_svipcoupon'].'笔'],
|
||||
['订单支付', $income['number_order'] . '元', $income['count_order'] . '笔'],
|
||||
['优惠券补贴', $income['number_coupon'] . '元', $income['count_coupon'] . '笔'],
|
||||
['会员优惠券补贴', $income['number_svipcoupon'] . '元', $income['count_svipcoupon'] . '笔'],
|
||||
]
|
||||
];
|
||||
$data['expend'] = [
|
||||
'title' => '支出总金额',
|
||||
'number' => $expend['number'] ,
|
||||
'count' => $expend['count'].'笔',
|
||||
'number' => $expend['number'],
|
||||
'count' => $expend['count'] . '笔',
|
||||
'data' => [
|
||||
[
|
||||
'平台手续费',
|
||||
$expend['number_order_charge'] .'元',
|
||||
$expend['count_order_charge'].'笔',
|
||||
'退回'.$expend['number_order_charge'] .'元',
|
||||
'退回'.$expend['count_charge'].'笔',
|
||||
$expend['number_order_charge'] . '元',
|
||||
$expend['count_order_charge'] . '笔',
|
||||
'退回' . $expend['number_order_charge'] . '元',
|
||||
'退回' . $expend['count_charge'] . '笔',
|
||||
],
|
||||
[
|
||||
'店铺保证金',
|
||||
$expend['number_auto_margin'] .'元',
|
||||
$expend['count_auto_margin'].'笔'
|
||||
$expend['number_auto_margin'] . '元',
|
||||
$expend['count_auto_margin'] . '笔'
|
||||
|
||||
],
|
||||
[
|
||||
'佣金',
|
||||
bcsub($expend['number_brokerage'],$expend['number_refund_brokerage'],2) .'元',
|
||||
$expend['count_brokerage'] + $expend['count_refund_brokerage'].'笔'
|
||||
bcsub($expend['number_brokerage'], $expend['number_refund_brokerage'], 2) . '元',
|
||||
$expend['count_brokerage'] + $expend['count_refund_brokerage'] . '笔'
|
||||
],
|
||||
[
|
||||
'商户退款',
|
||||
$expend['number_refund'] .'元',
|
||||
$expend['count_refund'].'笔'
|
||||
$expend['number_refund'] . '元',
|
||||
$expend['count_refund'] . '笔'
|
||||
],
|
||||
[
|
||||
'退还优惠券补贴',
|
||||
$expend['number_coupon'] .'元',
|
||||
$expend['count_coupon'].'笔'
|
||||
$expend['number_coupon'] . '元',
|
||||
$expend['count_coupon'] . '笔'
|
||||
],
|
||||
[
|
||||
'退还会员优惠券补贴',
|
||||
$expend['number_svipcoupon'] .'元',
|
||||
$expend['count_svipcoupon'].'笔'
|
||||
$expend['number_svipcoupon'] . '元',
|
||||
$expend['count_svipcoupon'] . '笔'
|
||||
],
|
||||
]
|
||||
];
|
||||
$data['charge'] = [
|
||||
'title' => '应入账总金额',
|
||||
'number' => $charge ,
|
||||
'number' => $charge,
|
||||
'count' => '',
|
||||
'data' => []
|
||||
];
|
||||
@ -488,27 +489,50 @@ class FinancialRecordRepository extends BaseRepository
|
||||
* @author Qinii
|
||||
* @day 3/23/21
|
||||
*/
|
||||
public function countIncome($type, $where, $date)
|
||||
public function countIncome($type, $where, $date, $merchant = [])
|
||||
{
|
||||
$financialType = ['order','order_presell','presell','mer_presell'];
|
||||
[$data['count_order'],$data['number_order']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
if ($where['is_mer']){
|
||||
$financialType = ['order', 'order_presell', 'presell', 'mer_presell'];
|
||||
if ($merchant){
|
||||
switch ($merchant['type_id']) {
|
||||
case 16:
|
||||
$financialType1 = ['commission_to_town'];
|
||||
break;
|
||||
case 15:
|
||||
$financialType1 = ['commission_to_village'];
|
||||
break;
|
||||
case 14:
|
||||
$financialType1 = ['commission_to_service_team'];
|
||||
break;
|
||||
case 11:
|
||||
$financialType1 = ['commission_to_cloud_warehouse'];
|
||||
break;
|
||||
case 10:
|
||||
$financialType1 = ['commission_to_entry_merchant'];
|
||||
break;
|
||||
default:
|
||||
$financialType1 = [];
|
||||
}
|
||||
|
||||
$financialType = array_merge($financialType, $financialType1);
|
||||
}
|
||||
|
||||
[$data['count_order'], $data['number_order']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
if ($where['is_mer']) {
|
||||
$financialType = ['order_platform_coupon'];
|
||||
} else {
|
||||
$financialType = ['refund_platform_coupon'];
|
||||
}
|
||||
[ $data['count_coupon'], $data['number_coupon']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
[$data['count_coupon'], $data['number_coupon']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
|
||||
if ($where['is_mer']){
|
||||
if ($where['is_mer']) {
|
||||
$financialType = ['order_svip_coupon'];
|
||||
} else {
|
||||
$financialType = ['refund_svip_coupon'];
|
||||
}
|
||||
[ $data['count_svipcoupon'], $data['number_svipcoupon']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
|
||||
$data['count'] = $data['count_order'];
|
||||
$data['number'] = bcadd($data['number_coupon'],$data['number_order'],2);
|
||||
[$data['count_svipcoupon'], $data['number_svipcoupon']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
|
||||
$data['count'] = $data['count_order'];
|
||||
$data['number'] = bcadd($data['number_coupon'], $data['number_order'], 2);
|
||||
return $data;
|
||||
}
|
||||
|
||||
@ -527,15 +551,15 @@ class FinancialRecordRepository extends BaseRepository
|
||||
'status' => 1,
|
||||
'category' => 'now_money',
|
||||
];
|
||||
$query = app()->make(UserBillRepository::class)->search($bill_where)->where('type','in',['sys_inc_money','recharge']);
|
||||
$query = app()->make(UserBillRepository::class)->search($bill_where)->where('type', 'in', ['sys_inc_money', 'recharge']);
|
||||
//充值消费金额
|
||||
if($type == 1) $query->whereDay('create_time', $date);
|
||||
if($type == 2) $query->whereMonth('create_time',$date);
|
||||
if ($type == 1) $query->whereDay('create_time', $date);
|
||||
if ($type == 2) $query->whereMonth('create_time', $date);
|
||||
|
||||
$count = $query->count();
|
||||
$number = $query->sum('number');
|
||||
|
||||
return compact('count','number');
|
||||
return compact('count', 'number');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -546,7 +570,7 @@ class FinancialRecordRepository extends BaseRepository
|
||||
* @author Qinii
|
||||
* @day 3/23/21
|
||||
*/
|
||||
public function countExpend($type, $where, $date)
|
||||
public function countExpend($type, $where, $date,$merchant=[])
|
||||
{
|
||||
/**
|
||||
* 平台支出
|
||||
@ -556,29 +580,58 @@ class FinancialRecordRepository extends BaseRepository
|
||||
* 退回收入 refund_order + (佣金 brokerage_one,brokerage_two - 退回佣金 refund_brokerage_two,refund_brokerage_one ) + (手续费 order_charge + 预售手续费 presell_charge - 平台退给商户的手续费 refund_charge )
|
||||
*/
|
||||
// 退回佣金
|
||||
$financialType = ['brokerage_one','brokerage_two'];
|
||||
[$data['count_brokerage'],$data['number_brokerage']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
$financialType = ['brokerage_one', 'brokerage_two'];
|
||||
[$data['count_brokerage'], $data['number_brokerage']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
|
||||
// 退回 手续费
|
||||
$financialType = ['refund_charge'];
|
||||
[$data['count_charge'],$data['number_charge']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
[$data['count_charge'], $data['number_charge']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
|
||||
if($where['is_mer']){ //商户的
|
||||
if ($merchant){
|
||||
switch ($merchant['type_id']) {
|
||||
case 16:
|
||||
$financialType1 = ['commission_to_town_refund'];
|
||||
break;
|
||||
case 15:
|
||||
$financialType1 = ['commission_to_village_refund'];
|
||||
break;
|
||||
case 14:
|
||||
$financialType1 = ['commission_to_service_team_refund'];
|
||||
break;
|
||||
case 11:
|
||||
$financialType1 = ['commission_to_cloud_warehouse_refund'];
|
||||
break;
|
||||
case 10:
|
||||
$financialType1 = ['commission_to_entry_merchant_refund'];
|
||||
break;
|
||||
default:
|
||||
$financialType1 = [];
|
||||
}
|
||||
}else{
|
||||
//退款的
|
||||
$refund=['commission_to_town_refund','commission_to_village_refund','commission_to_service_team_refund','commission_to_cloud_warehouse_refund','commission_to_entry_merchant_refund'];
|
||||
//分成的
|
||||
$commission=['commission_to_town','commission_to_village','commission_to_service_team','commission_to_cloud_warehouse','commission_to_entry_merchant'];
|
||||
}
|
||||
if ($where['is_mer']) { //商户的
|
||||
//退回 收入
|
||||
$financialType = ['refund_order'];
|
||||
[$data['count_refund'],$data['number_refund']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
[$data['count_refund'], $data['number_refund']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
|
||||
//平台手续费
|
||||
$financialType = ['order_charge','presell_charge'];
|
||||
[$data['count_order_charge'],$data['number_order_charge']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
$financialType = ['order_charge', 'presell_charge'];
|
||||
[$data['count_order_charge'], $data['number_order_charge']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
|
||||
//商户保证金
|
||||
$financialType = ['auto_margin'];
|
||||
[$data['count_auto_margin'],$data['number_auto_margin']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
|
||||
[$data['count_auto_margin'], $data['number_auto_margin']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
//商户保证金退回
|
||||
$financialType = ['auto_margin_refund'];
|
||||
[$data['count_auto_margin_refund'], $data['number_auto_margin_refund']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
$number3 = bcsub($data['number_auto_margin'], $data['number_auto_margin_refund'], 3);
|
||||
//退回佣金
|
||||
$financialType = ['refund_brokerage_two','refund_brokerage_one'];
|
||||
[$data['count_refund_brokerage'],$data['number_refund_brokerage']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
$financialType = ['refund_brokerage_two', 'refund_brokerage_one'];
|
||||
[$data['count_refund_brokerage'], $data['number_refund_brokerage']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
|
||||
//退回给平台的优惠券金额
|
||||
$financialType = ['refund_platform_coupon'];
|
||||
@ -587,22 +640,28 @@ class FinancialRecordRepository extends BaseRepository
|
||||
$financialType = ['refund_svip_coupon'];
|
||||
[$data['count_svipcoupon'], $data['number_svipcoupon']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
|
||||
if (!empty($financialType1)){
|
||||
[$data['count_commission'], $data['number_commission']] = $this->dao->getDataByType($type, $where, $date, $financialType1);
|
||||
$data['count_brokerage']+=$data['count_commission'];
|
||||
$data['number_brokerage']+=$data['number_commission'];
|
||||
}
|
||||
|
||||
//佣金 brokerage_one,brokerage_two - 退回佣金 refund_brokerage_two,refund_brokerage_one )
|
||||
$number = bcsub($data['number_brokerage'],$data['number_refund_brokerage'],3);
|
||||
$number = bcsub($data['number_brokerage'], $data['number_refund_brokerage'], 3);
|
||||
|
||||
//平台手续费 =( order_charge + 预售手续费 presell_charge - 平台退给商户的手续费 refund_charge )
|
||||
$number_1 = bcsub($data['number_order_charge'],$data['number_charge'],3);
|
||||
$number_1 = bcsub($data['number_order_charge'], $data['number_charge'], 3);
|
||||
|
||||
//退回收入 refund_order + 退回佣金
|
||||
$number_2 = bcadd(bcadd($data['number_refund'],$data['number_coupon'],2),$data['number_svipcoupon'],2);
|
||||
$data['count'] = $data['count_brokerage'] + $data['count_refund'] + $data['count_order_charge'] + $data['count_refund_brokerage'] + $data['count_svipcoupon']+$data['count_auto_margin'];
|
||||
$data['number'] =bcadd(bcadd($number_2,$number,3),$number_1,2);
|
||||
$number_2 = bcadd(bcadd($data['number_refund'], $data['number_coupon'], 2), $data['number_svipcoupon'], 2);
|
||||
$data['count'] = $data['count_brokerage'] + $data['count_refund'] + $data['count_order_charge'] + $data['count_refund_brokerage'] + $data['count_svipcoupon'] + $data['count_auto_margin'];
|
||||
$data['number'] = bcadd(bcadd($number3,bcadd($number_2, $number, 3),3), $number_1, 2);
|
||||
|
||||
}else{ //平台的
|
||||
} else { //平台的
|
||||
// 退回 订单实际获得金额
|
||||
|
||||
$financialType = ['order_true','presell_true'];
|
||||
[$data['count_order'],$data['number_order']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
$financialType = ['order_true', 'presell_true','auto_margin'];
|
||||
[$data['count_order'], $data['number_order']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
|
||||
//付给商户的优惠券抵扣金额
|
||||
$financialType = ['order_platform_coupon'];
|
||||
@ -612,11 +671,17 @@ class FinancialRecordRepository extends BaseRepository
|
||||
$financialType = ['order_svip_coupon'];
|
||||
[$data['count_svipcoupon'], $data['number_svipcoupon']] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
|
||||
$number = bcadd($data['number_brokerage'],$data['number_order'],2);
|
||||
$number_1 = bcadd(bcadd($number,$data['number_coupon'],2),$data['number_svipcoupon'],2);
|
||||
//付给服务团队和其他的佣金
|
||||
[$data['count_refund'], $data['number_refund']] = $this->dao->getDataByType($type, $where, $date, $refund);
|
||||
[$data['count_commission'], $data['number_commission']] = $this->dao->getDataByType($type, $where, $date, $commission);
|
||||
$data['count_brokerage']+=$data['count_commission']-$data['count_refund'];
|
||||
$data['number_brokerage']+=$data['number_commission']-$data['number_refund'];
|
||||
|
||||
$data['count'] = $data['count_brokerage'] + $data['count_order'] + $data['count_charge'];
|
||||
$data['number'] = bcadd($number_1,$data['number_charge'],2);
|
||||
$number = bcadd($data['number_brokerage'], $data['number_order'], 2);
|
||||
$number_1 = bcadd(bcadd($number, $data['number_coupon'], 2), $data['number_svipcoupon'], 2);
|
||||
|
||||
$data['count'] = $data['count_brokerage'] + $data['count_order'] + $data['count_charge'];
|
||||
$data['number'] = bcadd($number_1, $data['number_charge'], 2);
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
@ -629,12 +694,12 @@ class FinancialRecordRepository extends BaseRepository
|
||||
* @author Qinii
|
||||
* @day 3/24/21
|
||||
*/
|
||||
public function countCharge($type,$where,$date)
|
||||
public function countCharge($type, $where, $date)
|
||||
{
|
||||
$financialType = ['order_charge'];
|
||||
[$count, $number] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
|
||||
return compact('count','number');
|
||||
return compact('count', 'number');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -645,11 +710,11 @@ class FinancialRecordRepository extends BaseRepository
|
||||
* @author Qinii
|
||||
* @day 3/24/21
|
||||
*/
|
||||
public function countRefund($type,$where,$date)
|
||||
public function countRefund($type, $where, $date)
|
||||
{
|
||||
$financialType = ['refund_order'];
|
||||
[$count, $number] = $this->dao->getDataByType($type, $where, $date, $financialType);
|
||||
|
||||
return compact('count','number');
|
||||
return compact('count', 'number');
|
||||
}
|
||||
}
|
||||
|
@ -96,7 +96,12 @@ class FinancialRecord extends BaseController
|
||||
[$page, $limit] = $this->getPage();
|
||||
$where = $this->request->params([['type',1],'date']);
|
||||
$where['is_mer'] = $this->request->merId() ?? 0 ;
|
||||
$data = $this->repository->getAdminList($where,$page, $limit);
|
||||
try {
|
||||
$merchant = $this->request->merchant();
|
||||
}catch (\Exception $e){
|
||||
$merchant = [];
|
||||
}
|
||||
$data = $this->repository->getAdminList($where,$page, $limit,$merchant);
|
||||
return app('json')->success($data);
|
||||
}
|
||||
|
||||
@ -114,7 +119,8 @@ class FinancialRecord extends BaseController
|
||||
$where['date'] = empty($date) ? date('Y-m-d',time()) : $date ;
|
||||
$where['is_mer'] = $this->request->merId() ?? 0 ;
|
||||
if($this->request->merId()){
|
||||
$data = $this->repository->merDetail($type,$where);
|
||||
$merchant = $this->request->merchant();
|
||||
$data = $this->repository->merDetail($type,$where,$merchant);
|
||||
}else{
|
||||
$data = $this->repository->adminDetail($type,$where);
|
||||
}
|
||||
|
@ -352,6 +352,7 @@ class ExcelService
|
||||
'order_presell' => '预售订单(定金)',
|
||||
'refund_platform_coupon' => '退回优惠券补贴',
|
||||
'order_platform_coupon' => '优惠券补贴',
|
||||
'auto_margin'=> '保证金',
|
||||
'commission_to_service_team'=>'订单平台佣金',
|
||||
'commission_to_platform'=>'订单剩余平台手续费',
|
||||
'commission_to_village'=>'订单平台佣金',
|
||||
@ -360,6 +361,11 @@ class ExcelService
|
||||
'commission_to_platform_refun'=>'退回剩余平台手续费',
|
||||
'commission_to_village_refun'=>'退回平台佣金',
|
||||
'commission_to_town_refun'=>'退回平台佣金',
|
||||
'auto_margin_refun'=>'退回保证金',
|
||||
'commission_to_entry_merchant'=>'订单平台佣金',
|
||||
'commission_to_cloud_warehouse'=> '订单平台佣金',
|
||||
'commission_to_entry_merchant_refund'=> '退回平台佣金',
|
||||
'commission_to_cloud_warehouse_refund'=> '退回平台佣金',
|
||||
];
|
||||
$sys_pm_1 = ['order','presell','order_charge','order_presell','presell_charge','refund_brokerage_one','refund_brokerage_two'];
|
||||
$mer_pm_1 = ['order','presell','refund_charge','refund_brokerage_one','refund_brokerage_two','mer_presell','order_platform_coupon'];
|
||||
@ -438,7 +444,6 @@ class ExcelService
|
||||
$i++;
|
||||
$mer_name = $mer_name ? $mer_name : ($value['merchant']['mer_name'] ?? '');
|
||||
}
|
||||
|
||||
$count_brokeage = $expend['count_brokerage'] + $expend['count_refund_brokerage'];
|
||||
$number_brokeage = bcsub($expend['number_brokerage'],$expend['number_refund_brokerage'],2);
|
||||
$count_charge = $expend['count_charge']+$expend['count_order_charge'];
|
||||
|
Loading…
x
Reference in New Issue
Block a user