You've already forked qlg.tsgz.moe
终极提交~
This commit is contained in:
@ -128,7 +128,27 @@ class UserVouchers extends Base{
|
||||
$data['giveDay'] = $v['giveDay'] + 1;
|
||||
$m->updateInfo(['id'=>$v['id']],$data);
|
||||
}
|
||||
Db::commit();
|
||||
|
||||
// 每次所得值(费、税前)同时扣减“助购预获”值和“预获产品券”值,直至减为负数为止,负数部分按每天0.1%耗损。
|
||||
// A、当“助购预获”值为负数时,每天0.1%耗损在“预获产品券”值扣减。
|
||||
// B、当“预获产品券”值为负数时,每天0.1%耗损在“预获优惠券”值扣减。
|
||||
// C、当“助购预获”值和“预获产品券”值同为负数时,每天0.1%耗损在“预获优惠券”值同时扣减。
|
||||
$vm = Model('common/Table');
|
||||
$vm->setTable('user_vouchers_summary');
|
||||
$data = $vm->whereOr(["helpSaleNum"=>["lt", 0]])->whereOr(["expectedProductNum"=>["lt", 0]])->select();
|
||||
foreach ($data as $_each){
|
||||
if($_each["expectedProductNum"]<0){
|
||||
$count = (float)$_each["expectedProductNum"];
|
||||
if($_each["helpSaleNum"] < 0)$count+=(float)$_each["helpSaleNum"];
|
||||
$this->insertVouchersNotice($_each["userId"], 0, 0, $count*((float)dataConf("deductionRateWhennegPreCoupons")/100),
|
||||
"预获产品券为负,每天耗损预获优惠券", 0);
|
||||
}else{
|
||||
$count = (float)$_each["helpSaleNum"];
|
||||
$this->insertVouchersNotice($_each["userId"], 0, $count*((float)dataConf("deductionRateWhennegPreCoupons")/100),
|
||||
0, "助购预获为负,每天耗损预获产品券", 0);
|
||||
}
|
||||
}
|
||||
Db::commit();
|
||||
return WSTReturn("ok", 1);
|
||||
}catch (\Exception $e) {
|
||||
dump($e);
|
||||
@ -136,6 +156,87 @@ class UserVouchers extends Base{
|
||||
return WSTReturn($e->getMessage(),-1);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 插入已获会员券值记录
|
||||
* @param [type] $userId [会员ID]
|
||||
* @param [type] $orderId [订单ID]
|
||||
* @param integer $expectedProductNum [预获产品券]
|
||||
* @param integer $expectedCouponsNum [预获优惠券]
|
||||
* @param string $desc [备注]
|
||||
* @param string $isAdd [1增加0扣除]
|
||||
* @return [type] [description]
|
||||
*/
|
||||
public function insertAlreadyVouchersNotice($userId,$orderId,$alreadyProductNum=0,$alreadyCouponsNum=0,$desc='',$isAdd=1,$isShow=1){
|
||||
//插入详细表
|
||||
$m = Model('common/Table');
|
||||
$m->setTable('log_moneys');
|
||||
if($alreadyProductNum>0){
|
||||
$m->insertInfo(['targetType'=>0,'targetId'=>$userId,'dataSrc'=>1,'money'=>$alreadyProductNum,'moneyName'=>1,'remark'=>$desc,'moneyType'=>$isAdd,'payType'=>'qlgpay','createTime'=>date('Y/m/d H:i:s')]);
|
||||
}
|
||||
if($alreadyCouponsNum>0){
|
||||
$m->insertInfo(['targetType'=>0,'targetId'=>$userId,'dataSrc'=>1,'money'=>$alreadyProductNum,'moneyName'=>2,'remark'=>$desc,'moneyType'=>$isAdd,'payType'=>'qlgpay','createTime'=>date('Y/m/d H:i:s')]);
|
||||
|
||||
}
|
||||
//插入或更新详细表
|
||||
$m->setTable('user_vouchers_summary');
|
||||
if($summaryInfo = $m->getInfo(['userId'=>$userId],'id,alreadyProductNum,alreadyCouponsNum')){
|
||||
if(1 == $isAdd){
|
||||
$data['alreadyProductNum'] = $summaryInfo['alreadyProductNum'] + $alreadyProductNum;
|
||||
$data['alreadyCouponsNum'] = $summaryInfo['alreadyCouponsNum'] + $alreadyCouponsNum;
|
||||
}else{
|
||||
$data['alreadyProductNum'] = $summaryInfo['alreadyProductNum'] - $alreadyProductNum;
|
||||
$data['alreadyCouponsNum'] = $summaryInfo['alreadyCouponsNum'] - $alreadyCouponsNum;
|
||||
}
|
||||
$m->updateInfo(['id'=>$summaryInfo['id']],$data);
|
||||
}else{
|
||||
if(0 == $isAdd){
|
||||
$alreadyProductNum *= -1;
|
||||
$alreadyCouponsNum *= -1;
|
||||
}
|
||||
$data = compact('userId','alreadyProductNum','alreadyCouponsNum');
|
||||
$data['isGive'] = 1;
|
||||
$data['giveDate'] = time();
|
||||
$data['giveDay'] = 0;
|
||||
$m->insertInfo($data);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 插入已获会员券值记录
|
||||
* @param [type] $userId [会员ID]
|
||||
* @param [type] $orderId [订单ID]
|
||||
* @param integer $expectedProductNum [预获产品券]
|
||||
* @param integer $expectedCouponsNum [预获优惠券]
|
||||
* @param string $desc [备注]
|
||||
* @param string $isAdd [1增加0扣除]
|
||||
* @return [type] [description]
|
||||
*/
|
||||
public function insertHelpSaleNotice($userId,$orderId,$helpSaleNum=0,$desc='',$isAdd=1,$isShow=1){
|
||||
//插入详细表
|
||||
$m = Model('common/Table');
|
||||
$m->setTable('user_help_get_notice');
|
||||
$m->insertInfo(['userId'=>$userId,'orderId'=>$orderId,'helpGet'=>$helpSaleNum,'remark'=>$desc,'isAdd'=>$isAdd,'isShow'=>$isShow,'createTime'=>time()]);
|
||||
|
||||
|
||||
|
||||
$m = Model('common/Table');
|
||||
$m->setTable('user_vouchers_summary');
|
||||
if($summaryInfo = $m->getInfo(['userId'=>$userId],'id,helpSaleNum')){
|
||||
if(1 == $isAdd){
|
||||
$data['helpSaleNum'] = $summaryInfo['helpSaleNum'] + $helpSaleNum;
|
||||
}else{
|
||||
$data['helpSaleNum'] = $summaryInfo['helpSaleNum'] - $helpSaleNum;
|
||||
}
|
||||
$m->updateInfo(['id'=>$summaryInfo['id']],$data);
|
||||
}else{
|
||||
if(0 == $isAdd){
|
||||
$helpSaleNum *= -1;
|
||||
}
|
||||
$data = compact('userId','helpSaleNum');
|
||||
$m->insertInfo($data);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 插入会员券值记录
|
||||
* @param [type] $userId [会员ID]
|
||||
@ -147,33 +248,33 @@ class UserVouchers extends Base{
|
||||
* @return [type] [description]
|
||||
*/
|
||||
public function insertVouchersNotice($userId,$orderId,$expectedProductNum=0,$expectedCouponsNum=0,$desc='',$isAdd=1,$isShow=1){
|
||||
//插入详细表
|
||||
$m = Model('common/Table');
|
||||
$m->setTable('user_vouchers_notice');
|
||||
$m->insertInfo(['userId'=>$userId,'orderId'=>$orderId,'expectedProductNum'=>$expectedProductNum,'expectedCouponsNum'=>$expectedCouponsNum,'remark'=>$desc,'moneyType'=>$isAdd,'isShow'=>$isShow,'createTime'=>time()]);
|
||||
//插入或更新详细表
|
||||
$m->setTable('user_vouchers_summary');
|
||||
if($summaryInfo = $m->getInfo(['userId'=>$userId],'id,expectedProductNum,expectedCouponsNum')){
|
||||
if(1 == $isAdd){
|
||||
$data['expectedProductNum'] = $summaryInfo['expectedProductNum'] + $expectedProductNum;
|
||||
$data['expectedCouponsNum'] = $summaryInfo['expectedCouponsNum'] + $expectedCouponsNum;
|
||||
}else{
|
||||
$data['expectedProductNum'] = $summaryInfo['expectedProductNum'] - $expectedProductNum;
|
||||
$data['expectedCouponsNum'] = $summaryInfo['expectedCouponsNum'] - $expectedCouponsNum;
|
||||
}
|
||||
$m->updateInfo(['id'=>$summaryInfo['id']],$data);
|
||||
}else{
|
||||
if(0 == $isAdd){
|
||||
$expectedProductNum *= -1;
|
||||
$expectedCouponsNum *= -1;
|
||||
}
|
||||
$data = compact('userId','expectedProductNum','expectedCouponsNum');
|
||||
$data['alreadyProductNum'] = 0;
|
||||
$data['alreadyCouponsNum'] = 0;
|
||||
$data['isGive'] = 1;
|
||||
$data['giveDate'] = time();
|
||||
$data['giveDay'] = 0;
|
||||
$m->insertInfo($data);
|
||||
}
|
||||
//插入详细表
|
||||
$m = Model('common/Table');
|
||||
$m->setTable('user_vouchers_notice');
|
||||
$m->insertInfo(['userId'=>$userId,'orderId'=>$orderId,'expectedProductNum'=>$expectedProductNum,'expectedCouponsNum'=>$expectedCouponsNum,'remark'=>$desc,'moneyType'=>$isAdd,'isShow'=>$isShow,'createTime'=>time()]);
|
||||
//插入或更新详细表
|
||||
$m->setTable('user_vouchers_summary');
|
||||
if($summaryInfo = $m->getInfo(['userId'=>$userId],'id,expectedProductNum,expectedCouponsNum')){
|
||||
if(1 == $isAdd){
|
||||
$data['expectedProductNum'] = $summaryInfo['expectedProductNum'] + $expectedProductNum;
|
||||
$data['expectedCouponsNum'] = $summaryInfo['expectedCouponsNum'] + $expectedCouponsNum;
|
||||
}else{
|
||||
$data['expectedProductNum'] = $summaryInfo['expectedProductNum'] - $expectedProductNum;
|
||||
$data['expectedCouponsNum'] = $summaryInfo['expectedCouponsNum'] - $expectedCouponsNum;
|
||||
}
|
||||
$m->updateInfo(['id'=>$summaryInfo['id']],$data);
|
||||
}else{
|
||||
if(0 == $isAdd){
|
||||
$expectedProductNum *= -1;
|
||||
$expectedCouponsNum *= -1;
|
||||
}
|
||||
$data = compact('userId','expectedProductNum','expectedCouponsNum');
|
||||
$data['alreadyProductNum'] = 0;
|
||||
$data['alreadyCouponsNum'] = 0;
|
||||
$data['isGive'] = 1;
|
||||
$data['giveDate'] = time();
|
||||
$data['giveDay'] = 0;
|
||||
$m->insertInfo($data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user