caifen
This commit is contained in:
parent
03b7bca65f
commit
fc35332d22
@ -17,7 +17,10 @@ class Index extends Base{
|
|||||||
* @return [type] [description]
|
* @return [type] [description]
|
||||||
*/
|
*/
|
||||||
public function startGiveVouchers(){
|
public function startGiveVouchers(){
|
||||||
Model('UserVouchers')->startGiveVouchers();
|
return Model('UserVouchers')->startGiveVouchers();
|
||||||
|
}
|
||||||
|
public function startRevokeVouchers(){
|
||||||
|
return Model('UserVouchers')->startRevokeVouchers();
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 首页
|
* 首页
|
||||||
|
@ -6,9 +6,78 @@ use think\Db;
|
|||||||
* 券数据
|
* 券数据
|
||||||
*/
|
*/
|
||||||
class UserVouchers extends Base{
|
class UserVouchers extends Base{
|
||||||
|
public function startRevokeVouchers(){
|
||||||
|
$LOG = "=========================================".PHP_EOL;
|
||||||
|
// if('127.0.0.1' != $ip = request()->ip(0) ) return $ip;
|
||||||
|
set_time_limit(0);
|
||||||
|
$m = Model('common/Table');
|
||||||
|
$m->setTable('user_vouchers_summary');
|
||||||
|
Db::startTrans();
|
||||||
|
try{
|
||||||
|
$m = Model('common/Table');
|
||||||
|
$m->setTable('user_vouchers_summary');
|
||||||
|
if(1 == date('j')){
|
||||||
|
//每月损耗
|
||||||
|
$monthScale = round((100-dataConf('couponsNextMonthInitSacle'))*0.01,5);
|
||||||
|
$giveList = $m->getList([],'id, userId, expectedProductNum, expectedCouponsNum');
|
||||||
|
foreach ($giveList as &$g) {
|
||||||
|
if($g['expectedProductNum'] > 0){
|
||||||
|
$decNum = $g['expectedProductNum'] * $monthScale;
|
||||||
|
$this->insertVouchersNotice($g['userId'],0,$decNum,0,$desc='预获产品券月损耗所扣',0,1);
|
||||||
|
}
|
||||||
|
if($g['expectedCouponsNum'] > 0){
|
||||||
|
$decNum = $g['expectedCouponsNum'] * $monthScale;
|
||||||
|
$this->insertVouchersNotice($g['userId'],0,0,$decNum,$desc='预获优惠券月损耗所扣',0,1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 每次所得值(费、税前)同时扣减“助购预获”值和“预获产品券”值,直至减为负数为止,负数部分按每天0.1%耗损。
|
||||||
|
// A、当“助购预获”值为负数时,每天0.1%耗损在“预获产品券”值扣减。
|
||||||
|
// B、当“预获产品券”值为负数时,每天0.1%耗损在“预获优惠券”值扣减。
|
||||||
|
// C、当“助购预获”值和“预获产品券”值同为负数时,每天0.1%耗损在“预获优惠券”值同时扣减。
|
||||||
|
$data = Db::name('user_vouchers_summary')->whereOr(["helpSaleNum"=>["lt", 0]])->whereOr(["expectedProductNum"=>["lt", 0]])->select();
|
||||||
|
$LOG .= "=============开始循环=============".PHP_EOL;
|
||||||
|
foreach ($data as $_each){
|
||||||
|
if ($_each['userId'] == 0) continue;
|
||||||
|
$LOG .= "===========当前用户#【{$_each['userId']}】==========".PHP_EOL;
|
||||||
|
$LOG .= "当前用户预获优惠券:{$_each['expectedCouponsNum']};预获产品券:{$_each['expectedProductNum']};助购券值:{$_each["helpSaleNum"]}".PHP_EOL;
|
||||||
|
if($_each["expectedProductNum"]<0){
|
||||||
|
$LOG .= "17.1、成立".PHP_EOL;
|
||||||
|
$count = abs((float)$_each["expectedProductNum"]);
|
||||||
|
$LOG .= "17.1、负数值:{$count}".PHP_EOL;
|
||||||
|
if($_each["helpSaleNum"] < 0) {
|
||||||
|
$LOG .= "17.2、成立".PHP_EOL;
|
||||||
|
$count += abs((float)$_each["helpSaleNum"]);
|
||||||
|
$LOG .= "17.2、负数值:{$count}".PHP_EOL;
|
||||||
|
}
|
||||||
|
$val = $count*((float)dataConf("deductionRateWhennegPreCoupons")/100);
|
||||||
|
$LOG .= "17.3、:扣除预获优惠券:{$val}【助购券负值预获优惠券日损耗所扣】".PHP_EOL;
|
||||||
|
model('common/UserVouchers')->insertVouchersNotice($_each["userId"], 0, 0, $val,
|
||||||
|
"助购券负值预获优惠券日损耗所扣", 0);
|
||||||
|
}else{
|
||||||
|
$LOG .= "17.4、成立".PHP_EOL;
|
||||||
|
$count = abs((float)$_each["helpSaleNum"]);
|
||||||
|
$LOG .= "17.4、负数值:{$count}".PHP_EOL;
|
||||||
|
$val = $count*((float)dataConf("deductionRateWhennegPreCoupons")/100);
|
||||||
|
$LOG .= "17.5、:扣除预获优惠券:{$val}【助购券负值预获优惠券日损耗所扣】".PHP_EOL;
|
||||||
|
model('common/UserVouchers')->insertVouchersNotice($_each["userId"], 0, $val,
|
||||||
|
0, "助购券负值预获产品券日损耗所扣", 0);
|
||||||
|
}
|
||||||
|
$LOG .= "=========当前用户#【{$_each['userId']}】结束========".PHP_EOL;
|
||||||
|
}
|
||||||
|
$LOG .= "=============循环结束=============".PHP_EOL;
|
||||||
|
Db::commit();
|
||||||
|
\think\Log::write($LOG);
|
||||||
|
return WSTReturn("ok", 1);
|
||||||
|
}catch (\Exception $e) {
|
||||||
|
dump($e);
|
||||||
|
Db::rollback();errLog($e);
|
||||||
|
return WSTReturn($e->getMessage(),-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
public function startGiveVouchers(){
|
public function startGiveVouchers(){
|
||||||
$LOG = "=========================================".PHP_EOL;
|
$LOG = "=========================================".PHP_EOL;
|
||||||
if('127.0.0.1' != $ip = request()->ip(0) ) return $ip;
|
// if('127.0.0.1' != $ip = request()->ip(0) ) return $ip;
|
||||||
set_time_limit(0);
|
set_time_limit(0);
|
||||||
$sm = Model('common/SysSummary');
|
$sm = Model('common/SysSummary');
|
||||||
$sysData= $sm->getInfo('toPayFast,toPaySlow');
|
$sysData= $sm->getInfo('toPayFast,toPaySlow');
|
||||||
@ -39,21 +108,6 @@ TXT;
|
|||||||
try{
|
try{
|
||||||
$m = Model('common/Table');
|
$m = Model('common/Table');
|
||||||
$m->setTable('user_vouchers_summary');
|
$m->setTable('user_vouchers_summary');
|
||||||
if(1 == date('j')){
|
|
||||||
//每月损耗
|
|
||||||
$monthScale = round((100-dataConf('couponsNextMonthInitSacle'))*0.01,5);
|
|
||||||
$giveList = $m->getList([],'id, userId, expectedProductNum, expectedCouponsNum');
|
|
||||||
foreach ($giveList as &$g) {
|
|
||||||
if($g['expectedProductNum'] > 0){
|
|
||||||
$decNum = $g['expectedProductNum'] * $monthScale;
|
|
||||||
$this->insertVouchersNotice($g['userId'],0,$decNum,0,$desc='预获产品券月损耗所扣',0,1);
|
|
||||||
}
|
|
||||||
if($g['expectedCouponsNum'] > 0){
|
|
||||||
$decNum = $g['expectedCouponsNum'] * $monthScale;
|
|
||||||
$this->insertVouchersNotice($g['userId'],0,0,$decNum,$desc='预获优惠券月损耗所扣',0,1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$where['isDisabled'] = 0;
|
$where['isDisabled'] = 0;
|
||||||
//总预获产品券
|
//总预获产品券
|
||||||
$allPreProduct = $m->getSum($where,'expectedProductNum');
|
$allPreProduct = $m->getSum($where,'expectedProductNum');
|
||||||
@ -216,43 +270,6 @@ TXT;
|
|||||||
|
|
||||||
if ($unConv > 0) $sm->addSysSummary(0, $unConv, 1, "加入系统未转换值");
|
if ($unConv > 0) $sm->addSysSummary(0, $unConv, 1, "加入系统未转换值");
|
||||||
|
|
||||||
Db::startTrans();
|
|
||||||
// 每次所得值(费、税前)同时扣减“助购预获”值和“预获产品券”值,直至减为负数为止,负数部分按每天0.1%耗损。
|
|
||||||
// A、当“助购预获”值为负数时,每天0.1%耗损在“预获产品券”值扣减。
|
|
||||||
// B、当“预获产品券”值为负数时,每天0.1%耗损在“预获优惠券”值扣减。
|
|
||||||
// C、当“助购预获”值和“预获产品券”值同为负数时,每天0.1%耗损在“预获优惠券”值同时扣减。
|
|
||||||
$data = Db::name('user_vouchers_summary')->whereOr(["helpSaleNum"=>["lt", 0]])->whereOr(["expectedProductNum"=>["lt", 0]])->select();
|
|
||||||
$LOG .= "=============开始循环=============".PHP_EOL;
|
|
||||||
foreach ($data as $_each){
|
|
||||||
if ($_each['userId'] == 0) continue;
|
|
||||||
$LOG .= "===========当前用户#【{$_each['userId']}】==========".PHP_EOL;
|
|
||||||
$LOG .= "当前用户预获优惠券:{$_each['expectedCouponsNum']};预获产品券:{$_each['expectedProductNum']};助购券值:{$_each["helpSaleNum"]}".PHP_EOL;
|
|
||||||
if($_each["expectedProductNum"]<0){
|
|
||||||
$LOG .= "17.1、成立".PHP_EOL;
|
|
||||||
$count = abs((float)$_each["expectedProductNum"]);
|
|
||||||
$LOG .= "17.1、负数值:{$count}".PHP_EOL;
|
|
||||||
if($_each["helpSaleNum"] < 0) {
|
|
||||||
$LOG .= "17.2、成立".PHP_EOL;
|
|
||||||
$count += abs((float)$_each["helpSaleNum"]);
|
|
||||||
$LOG .= "17.2、负数值:{$count}".PHP_EOL;
|
|
||||||
}
|
|
||||||
$val = $count*((float)dataConf("deductionRateWhennegPreCoupons")/100);
|
|
||||||
$LOG .= "17.3、:扣除预获优惠券:{$val}【助购券负值预获优惠券日损耗所扣】".PHP_EOL;
|
|
||||||
model('common/UserVouchers')->insertVouchersNotice($_each["userId"], 0, 0, $val,
|
|
||||||
"助购券负值预获优惠券日损耗所扣", 0);
|
|
||||||
}else{
|
|
||||||
$LOG .= "17.4、成立".PHP_EOL;
|
|
||||||
$count = abs((float)$_each["helpSaleNum"]);
|
|
||||||
$LOG .= "17.4、负数值:{$count}".PHP_EOL;
|
|
||||||
$val = $count*((float)dataConf("deductionRateWhennegPreCoupons")/100);
|
|
||||||
$LOG .= "17.5、:扣除预获优惠券:{$val}【助购券负值预获优惠券日损耗所扣】".PHP_EOL;
|
|
||||||
model('common/UserVouchers')->insertVouchersNotice($_each["userId"], 0, $val,
|
|
||||||
0, "助购券负值预获产品券日损耗所扣", 0);
|
|
||||||
}
|
|
||||||
$LOG .= "=========当前用户#【{$v['userId']}】结束========".PHP_EOL;
|
|
||||||
}
|
|
||||||
$LOG .= "=============循环结束=============".PHP_EOL;
|
|
||||||
Db::commit();
|
|
||||||
\think\Log::write($LOG);
|
\think\Log::write($LOG);
|
||||||
\think\Log::write(<<<TEXT
|
\think\Log::write(<<<TEXT
|
||||||
系统未转换值调试内容:
|
系统未转换值调试内容:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user