diff --git a/hyhproject/common/model/Orders.php b/hyhproject/common/model/Orders.php index 6670734..c41e119 100755 --- a/hyhproject/common/model/Orders.php +++ b/hyhproject/common/model/Orders.php @@ -1575,21 +1575,46 @@ class Orders extends Base{ //四级功能相关字:购户吉日获得“已获优惠券”为 00时 00分 15秒 ? 年2020? 月10? 日01 //四级功能相关字:购户吉日获得“已获优惠券”的留言?祝您及家人幸福安康 //四级功能相关字:购户吉日获得“已获优惠券”为“助购值”的?% 50 - $sysConf = (new SCM())->getSysConfigs(); - if (isset($sysConf['jiri_jiyan']) && isset($sysConf['jiri_get_percent']) && !empty(floatval($sysConf['jiri_get_percent'])) && isset($sysConf['jiri']) ) { + try { + $sysConf = (new SCM())->getSysConfigs(); if (date('Y/m/d') == date('Y-m-d', strtotime($sysConf['jiri']))) { $m->setTable('sys_summary'); $toPayInfo = $m->getInfo(['id'=>1],'toPaySlow'); $toPaySlow = (float)$toPayInfo['toPaySlow']; $jiri_get_percent = floatval($sysConf['jiri_get_percent']); - $giveValue = $toPaySlow*((float)$jiri_get_percent/100); - $jiri_jiyan = $sysConf['jiri_jiyan']; + $giveValue = round($toPaySlow*((float)$jiri_get_percent/100), 5); + // 先扣了 + $sm = Model('common/SysSummary'); + // 购户吉日应该获得的“已获优惠券”的值>该购户的“预获优惠券”值的值 + $vsm = Model('common/Table'); + $vsm->setTable('user_vouchers_summary'); + $u_current_expected_num = $vsm->getInfo(['userId'=>$userId]); + /** @var float $u_c_e_c_n 当前用户的预获优惠券 */ + $u_c_e_c_n = (float)$u_current_expected_num['expectedCouponsNum']; + // 退回 “购户吉日应该获得的“已获优惠券”的值>该购户的“预获优惠券”值的值”之中,意思是(应该获得的值大于该购户的值的值),也就是超出的部分。 + if ($giveValue >= $u_c_e_c_n) { + if ($u_c_e_c_n <= 0) { + $turnBackValue = $giveValue; + $realGiveValue = 0; + } else { + $turnBackValue = $giveValue - $u_c_e_c_n; + $realGiveValue = $u_c_e_c_n; + } + } else { + $turnBackValue = 0; + $realGiveValue = $giveValue; + } if ($giveValue >= 0.0001) { - $sm = Model('common/SysSummary'); - $sm->addSysSummary(0,$giveValue,2,"购户吉日【{$sysConf['jiri']}】:订单【".($order['orderNo']?:'--')."】送出已获优惠券扣除"); - $vm->insertAlreadyVouchersNotice($userId, $orderId, 0, $giveValue, "购户吉日:".$jiri_jiyan); + $jiri_jiyan = $sysConf['jiri_jiyan']; + $vm->insertAlreadyVouchersNotice($userId, $orderId, 0, $realGiveValue, "【购户吉日】:".$jiri_jiyan); + } + $sm->addSysSummary(0,$giveValue,2,"订单【".($order['orderNo']?:'--')."】因购户吉日送出助购值"); + if ($turnBackValue >= 0.0001) { + $sm->addSysSummary(0,$turnBackValue,1,"【购户吉日】订单【".($order['orderNo']?:'--')."】助购值被退回"); } } + } catch (\Exception $e) { + errLog($e); } //新增订单日志 $logOrder = [];