|
|
@@ -131,16 +131,19 @@ class BonusSend extends BaseObject {
|
|
|
*/
|
|
|
public function putFakeOrder() {
|
|
|
echo('开始处理-假订单' . PHP_EOL);
|
|
|
+ $sysConfig = Cache::getSystemConfig();
|
|
|
+ $mesureUpCondition = $sysConfig['monthPcsPvFxCondition']['VALUE']; // 月达标条件 NG默认30
|
|
|
$fakeOrder= Order::find()->where(['PERIOD_NUM'=>$this->_periodNum, 'IS_AUTO'=>'1'])->asArray()->all();
|
|
|
foreach($fakeOrder as $fOrder){
|
|
|
$oRemainPv=RemainPv::findOne(["USER_ID"=>$fOrder['USER_ID']]);
|
|
|
$transactionRemain = \Yii::$app->db->beginTransaction();
|
|
|
try{
|
|
|
+ $fakeOrderPv = $oRemainPv->REMAIN_PV>=$mesureUpCondition?$mesureUpCondition:$oRemainPv->REMAIN_PV;
|
|
|
$flowRemainPvModel = new FlowRemainPv();
|
|
|
$flowRemainPvModel->ID = $this->_generateSn();
|
|
|
$flowRemainPvModel->USER_ID = $fOrder['USER_ID'];
|
|
|
- $flowRemainPvModel->REMAIN_PV_FLOW = -30;
|
|
|
- $flowRemainPvModel->REMAIN_PV_TOTAL = $oRemainPv->REMAIN_PV - 30;
|
|
|
+ $flowRemainPvModel->REMAIN_PV_FLOW = 0 - $fakeOrderPv;
|
|
|
+ $flowRemainPvModel->REMAIN_PV_TOTAL = $oRemainPv->REMAIN_PV - $fakeOrderPv;
|
|
|
$flowRemainPvModel->PERIOD_NUM = $this->_periodNum;
|
|
|
$flowRemainPvModel->UPDATED_AT = Date::nowTime();
|
|
|
$flowRemainPvModel->ORDER_SN = $fOrder['SN'];
|
|
|
@@ -148,7 +151,7 @@ class BonusSend extends BaseObject {
|
|
|
$this->addErrors($flowRemainPvModel->getErrors());
|
|
|
return false;
|
|
|
}
|
|
|
- $oRemainPv->updateCounters(['REMAIN_PV'=>-30]);
|
|
|
+ $oRemainPv->updateCounters(['REMAIN_PV'=>0-$fakeOrderPv]);
|
|
|
$transactionRemain->commit();
|
|
|
} catch (Exception $e) {
|
|
|
$transactionRemain->rollBack();
|
|
|
@@ -246,7 +249,7 @@ class BonusSend extends BaseObject {
|
|
|
// $this->_updatePercent(95);
|
|
|
// $t9 = microtime(true);
|
|
|
// echo('更新会员累计月业绩完成,耗时:' . round($t9 - $t8, 3) . ',内存使用:' . (round(memory_get_usage() / 1024 / 1024, 3)) . 'MB' . PHP_EOL);
|
|
|
-
|
|
|
+
|
|
|
// 开启子进程去完成下面的循环发放和循环改聘级和循环更新累计业绩
|
|
|
/*$process = new Process('sendBonus', 3);
|
|
|
$process->run(function($workId, $pmid){
|
|
|
@@ -278,17 +281,19 @@ class BonusSend extends BaseObject {
|
|
|
*
|
|
|
*/
|
|
|
private function _calcRemainPv(){
|
|
|
- $orders = Order::find()->where('PERIOD_NUM=:PERIOD_NUM AND REMAIN_PV>0',[':PERIOD_NUM'=>$this->_periodNum])->asArray()->all();
|
|
|
+ $sysConfig = Cache::getSystemConfig();
|
|
|
+ $mesureUpCondition = $sysConfig['monthPcsPvFxCondition']['VALUE']; // 月达标条件 NG默认30
|
|
|
+ $orders = Order::find()->where('PERIOD_NUM=:PERIOD_NUM AND REMAIN_PV>0 AND IS_DELETE=0',[':PERIOD_NUM'=>$this->_periodNum])->asArray()->all();
|
|
|
foreach($orders as $order){
|
|
|
$oRemainPv = RemainPv::find()->where(['USER_ID' => $order['USER_ID']])->one();
|
|
|
-
|
|
|
+ $myRemainPv = $oRemainPv?$oRemainPv['REMAIN_PV']:0;
|
|
|
$transactionRemain = \Yii::$app->db->beginTransaction();
|
|
|
try{
|
|
|
$flowRemainPvModel = new FlowRemainPv();
|
|
|
$flowRemainPvModel->ID = $this->_generateSn();
|
|
|
$flowRemainPvModel->USER_ID = $order['USER_ID'];
|
|
|
$flowRemainPvModel->REMAIN_PV_FLOW = $order['REMAIN_PV'];
|
|
|
- $flowRemainPvModel->REMAIN_PV_TOTAL = $oRemainPv['REMAIN_PV'] + $order['REMAIN_PV'];
|
|
|
+ $flowRemainPvModel->REMAIN_PV_TOTAL = $myRemainPv + $order['REMAIN_PV'];
|
|
|
$flowRemainPvModel->PERIOD_NUM = $this->_periodNum;
|
|
|
$flowRemainPvModel->UPDATED_AT = Date::nowTime();
|
|
|
$flowRemainPvModel->ORDER_SN = $order['SN'];
|
|
|
@@ -417,7 +422,7 @@ class BonusSend extends BaseObject {
|
|
|
$allData = CalcBonus::find()
|
|
|
->yearMonth($this->_calcYearMonth)
|
|
|
->where(
|
|
|
- '(IS_SENT=0 OR IS_SENT=2) AND CALC_MONTH=:CALC_MONTH AND PERIOD_NUM=:PERIOD_NUM',
|
|
|
+ '(IS_SENT=0 OR IS_SENT=2) AND CALC_MONTH=:CALC_MONTH AND PERIOD_NUM=:PERIOD_NUM',
|
|
|
[':CALC_MONTH' => $this->_calcYearMonth, ':PERIOD_NUM' => $periodNum]
|
|
|
)
|
|
|
->limit($this->_limit)
|
|
|
@@ -569,7 +574,7 @@ class BonusSend extends BaseObject {
|
|
|
$allData = CalcBonusBS::find()
|
|
|
->yearMonth($this->_calcYearMonth)
|
|
|
->where(
|
|
|
- 'CALC_MONTH=:CALC_MONTH AND PERIOD_NUM=:PERIOD_NUM',
|
|
|
+ 'CALC_MONTH=:CALC_MONTH AND PERIOD_NUM=:PERIOD_NUM',
|
|
|
[
|
|
|
':CALC_MONTH' => $this->_calcYearMonth,
|
|
|
':PERIOD_NUM' =>$this->_periodNum
|
|
|
@@ -750,8 +755,8 @@ class BonusSend extends BaseObject {
|
|
|
public function updateActiveUser() {
|
|
|
try {
|
|
|
$ret = PerfActiveUser::updateAll(
|
|
|
- ['IS_SENT' => 1],
|
|
|
- 'PERIOD_NUM=:PERIOD_NUM AND IS_SENT=:IS_SENT',
|
|
|
+ ['IS_SENT' => 1],
|
|
|
+ 'PERIOD_NUM=:PERIOD_NUM AND IS_SENT=:IS_SENT',
|
|
|
['IS_SENT'=>0, 'PERIOD_NUM'=>$this->_periodNum]
|
|
|
);
|
|
|
|
|
|
@@ -1195,4 +1200,4 @@ class BonusSend extends BaseObject {
|
|
|
unset($allData);
|
|
|
return true;
|
|
|
}
|
|
|
-}
|
|
|
+}
|