This commit is contained in:
wanyongkang
2020-10-29 14:57:42 +08:00
parent c7f9c073d9
commit e3a50a150a
2 changed files with 98 additions and 53 deletions

View File

@@ -5,7 +5,7 @@
* @Author: kangkang * @Author: kangkang
* @Date: 2020-10-28 17:56:50 * @Date: 2020-10-28 17:56:50
* @LastEditors: kangkang * @LastEditors: kangkang
* @LastEditTime: 2020-10-28 20:39:18 * @LastEditTime: 2020-10-29 12:02:16
*/ */
namespace enum\product; namespace enum\product;
@@ -51,6 +51,6 @@ class Product
//强子、讯连 //强子、讯连
public static $qx = [1, 2]; public static $qx = [1, 2];
//天天老鹰先锋 //天天老鹰先锋 金瑞
public static $tlx = [5,6,14]; public static $tlxj = [4, 5, 6, 14];
} }

View File

@@ -5,7 +5,7 @@
* @Author: kangkang * @Author: kangkang
* @Date: 2020-10-03 18:23:43 * @Date: 2020-10-03 18:23:43
* @LastEditors: kangkang * @LastEditors: kangkang
* @LastEditTime: 2020-10-29 10:46:48 * @LastEditTime: 2020-10-29 12:08:30
*/ */
$is_script = 1; $is_script = 1;
include __DIR__ . '/../index.php'; include __DIR__ . '/../index.php';
@@ -40,7 +40,7 @@ ProductId, PackageName,
CASE OrderType CASE OrderType
WHEN 3 THEN ConnectCount WHEN 3 THEN ConnectCount
WHEN 4 THEN ConnectCount WHEN 4 THEN ConnectCount
ELSE 0 END) 'AgainBuyCount', ELSE 0 END) 'AgainBuyCount'
"; ";
@@ -96,7 +96,7 @@ foreach ($data as $product) {
} }
//强子讯连专门处理退款 //强子讯连专门处理退款
$qx_where = array_merge($where2, ['ProductId' => ['in', $product_enum::$qx], 'OrderState' => ['in', $product_order_enum::$Refunds], 'ConnectCount' => 1, 'OrderType' => $product_order_enum::$New]); $qx_where = array_merge($where2, ['ProductId' => ['in', $product_enum::$qx], 'OrderState' => ['in', $product_order_enum::$Refunds], 'ConnectCount' => 1, 'OrderType' => $product_order_enum::$Refund]);
$refund_qx_info = $product_order_model->field('ProductId,PackageName,RefundRestTime')->where($qx_where)->where($where1)->fetchAll(); $refund_qx_info = $product_order_model->field('ProductId,PackageName,RefundRestTime')->where($qx_where)->where($where1)->fetchAll();
$qiangzi_refund = []; $qiangzi_refund = [];
$xunlian_refund = []; $xunlian_refund = [];
@@ -110,12 +110,14 @@ foreach ($refund_qx_info as $info) {
break; break;
} }
} }
//天天老鹰先锋的退款 //天天老鹰先锋的退款
$tlx_where = array_merge($where2, ['ProductId' => ['in', $product_enum::$tlx], 'OrderState' => ['in', $product_order_enum::$Refunds]]); $tlx_where = array_merge($where2, ['ProductId' => ['in', $product_enum::$tlxj], 'OrderState' => ['in', $product_order_enum::$Refunds]]);
$refund_tlx_info = $product_order_model->field('ProductId,PackageName,RefundRestTime,ConnectCount')->where($qx_where)->where($where1)->fetchAll(); $refund_tlx_info = $product_order_model->field('ProductId,PackageName,RefundRestTime,ConnectCount')->where($tlx_where)->where($where1)->fetchAll();
$tiantian_refund = []; $tiantian_refund = [];
$laoying_refund = []; $laoying_refund = [];
$xianfeng_refund = []; $xianfeng_refund = [];
$jinrui_refund = [];
foreach ($refund_tlx_info as $info) { foreach ($refund_tlx_info as $info) {
switch ($info['ProductId']) { switch ($info['ProductId']) {
case $product_enum::$tiantian: case $product_enum::$tiantian:
@@ -127,9 +129,11 @@ foreach ($refund_tlx_info as $info) {
case $product_enum::$xianfengpptp: case $product_enum::$xianfengpptp:
$xianfeng_refund[] = $info; $xianfeng_refund[] = $info;
break; break;
case $product_enum::$jinrui:
$jinrui_refund[] = $info;
break;
} }
} }
$list = []; $list = [];
$list['xingxing'] = $yesterday_data['xingxing'] - no_jike($xingxing); $list['xingxing'] = $yesterday_data['xingxing'] - no_jike($xingxing);
$list['jike'] = $yesterday_data['jike'] - jike($jike); $list['jike'] = $yesterday_data['jike'] - jike($jike);
@@ -153,8 +157,11 @@ $list['laoying'] = $yesterday_data['laoying']-$laoying_rule_result['cost']+$laoy
$xianfeng_rule_result = xianfeng($xianfeng, $xianfeng_refund); $xianfeng_rule_result = xianfeng($xianfeng, $xianfeng_refund);
$list['xianfeng'] = $yesterday_data['xianfeng'] - $xianfeng_rule_result['cost'] + $xianfeng_rule_result['refund']; $list['xianfeng'] = $yesterday_data['xianfeng'] - $xianfeng_rule_result['cost'] + $xianfeng_rule_result['refund'];
dump($list); $jinrui_rule_result = xianfeng($jinrui, $jinrui_refund);
$list['jinrui'] = $yesterday_data['jinrui'] - $jinrui_rule_result['cost'] + $xianfeng_rule_result['refund'];
$list['riqi'] = date('Y-m-d H:i:s');
dump($finance->add($list));
//极客每日消费规则 //极客每日消费规则
function jike($product) function jike($product)
@@ -395,12 +402,50 @@ function xianfeng($product,$refunds)
return $count; return $count;
} }
//金瑞规则
function jinrui($product, $refunds)
{
$cost = 0;
foreach ($product as $package) {
switch ($package['PackageName']) {
case '天卡':
$cost += ($package['NewBuyCount'] + $package['AgainBuyCount']) * 3;
break;
case '周卡':
$cost += ($package['NewBuyCount'] + $package['AgainBuyCount']) * 20;
break;
case '月卡':
$cost += ($package['NewBuyCount'] + $package['AgainBuyCount']) * 60;
break;
case '季卡':
$cost += ($package['NewBuyCount'] + $package['AgainBuyCount']) * 180;
break;
case '年卡':
$cost += ($package['NewBuyCount'] + $package['AgainBuyCount']) * 720;
break;
}
}
$refund = 0;
foreach ($refunds as $info) {
$refund += handle_time($info['RefundRestTime'])/86400*2*$info['ConnectCount'];
}
$count['cost'] = $cost;
$count['refund'] = $refund;
return $count;
}
//将剩余时间进行处理切割转换为秒 //将剩余时间进行处理切割转换为秒
function handle_time($rest_time) function handle_time($rest_time)
{ {
$time1 = explode('天', $rest_time); $time1 = explode('天', $rest_time);
$time2 = explode('时', $time1[1]); $time2 = explode('时', $time1[1]);
$time3 = explode('分', $time2[1]); $time3 = explode('分', $time2[1]);
$time = $time1[0] * 86400 + $time2[0] * 3600 + $time3 * 60;
$time = $time1[0] * 86400 + $time2[0] * 3600 + $time3[0] * 60;
return $time; return $time;
} }