|
@@ -10,6 +10,7 @@ use app\model\Order;
|
|
|
use app\model\OrderSheet;
|
|
|
use app\model\RuleAdded;
|
|
|
use app\model\RuleAddedComponent;
|
|
|
+use Monolog\Handler\IFTTTHandler;
|
|
|
use support\exception\BusinessException;
|
|
|
|
|
|
class RechargeService
|
|
@@ -44,19 +45,24 @@ class RechargeService
|
|
|
/**
|
|
|
* @Desc
|
|
|
* @Author Gorden
|
|
|
- * @Date 2024/5/28 17:23
|
|
|
+ * @Date 2024/5/29 16:25
|
|
|
*
|
|
|
* @param $memberId
|
|
|
- * @return mixed|void
|
|
|
+ * @param $payAmount
|
|
|
+ * @return false|mixed
|
|
|
+ * @throws BusinessException
|
|
|
*/
|
|
|
public static function disposeRole($memberId, $payAmount)
|
|
|
{
|
|
|
$memberAccount = MemberAccount::where('member_account_classify', 'CASH')
|
|
|
->where('join_account_member_id', $memberId)
|
|
|
->first();
|
|
|
+ if (!$memberAccount){
|
|
|
+ throw new BusinessException('账户异常');
|
|
|
+ }
|
|
|
$income = floatval($memberAccount->member_account_income);
|
|
|
$expend = floatval($memberAccount->member_account_expen);
|
|
|
- $money = max($income,$expend);
|
|
|
+ $money = max($income, $expend);
|
|
|
|
|
|
$memberRoles = MemberRole::where('member_role_status', 'ACTIVED')->get()->toArray();
|
|
|
foreach ($memberRoles as $role) {
|
|
@@ -90,7 +96,7 @@ class RechargeService
|
|
|
}
|
|
|
$addedId = $ruleJson['added'];
|
|
|
$added = RuleAdded::find($addedId);
|
|
|
- if (!$added){
|
|
|
+ if (!$added) {
|
|
|
throw new BusinessException('增值套包数据异常');
|
|
|
}
|
|
|
$diff = $added->rule_added_goods_diff;
|
|
@@ -179,18 +185,31 @@ class RechargeService
|
|
|
*/
|
|
|
private static function saveMemberQuota($memberId, $component)
|
|
|
{
|
|
|
- for ($i = 0; $i < floatval($component['rule_added_component_goods_nbr']); $i++) {
|
|
|
- $model = new MemberQuota();
|
|
|
- $model->member_quota_id = 'MQ' . date('YmdHis') . random_string(6, 'up');
|
|
|
- $model->join_quota_member_id = $memberId;
|
|
|
- $model->join_member_rule_added_component_id = $component['rule_added_component_id'];
|
|
|
- $model->member_quota_status = 'PENDING';
|
|
|
- $model->member_quota_category = $component['rule_added_component_category'];
|
|
|
- $model->member_quota_name = $component['rule_added_component_name'];
|
|
|
- $model->member_quota_nbr = $component['rule_added_component_goods_nbr'];
|
|
|
- $model->member_quota_json = $component['rule_added_component_goods_json'];
|
|
|
- $model->member_quota_addtimes = time();
|
|
|
- $model->save();
|
|
|
+ if ($component['rule_added_component_classify'] == 'MONTH') {
|
|
|
+ for ($i = 0; $i < 12; $i++) {
|
|
|
+ self::doSaveMemberQuota($memberId, $component, $component['rule_added_component_goods_nbr']);
|
|
|
+ }
|
|
|
+ } elseif ($component['rule_added_component_classify'] == 'YEAR') {
|
|
|
+ self::doSaveMemberQuota($memberId, $component, $component['rule_added_component_goods_nbr']);
|
|
|
+ } else {
|
|
|
+ for ($i = 0; $i < floatval($component['rule_added_component_goods_nbr']); $i++) {
|
|
|
+ self::doSaveMemberQuota($memberId, $component, 1);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private static function doSaveMemberQuota($memberId, $component, $nbr)
|
|
|
+ {
|
|
|
+ $model = new MemberQuota();
|
|
|
+ $model->member_quota_id = 'MQ' . date('YmdHis') . random_string(6, 'up');
|
|
|
+ $model->join_quota_member_id = $memberId;
|
|
|
+ $model->join_member_rule_added_component_id = $component['rule_added_component_id'];
|
|
|
+ $model->member_quota_status = 'PENDING';
|
|
|
+ $model->member_quota_category = $component['rule_added_component_category'];
|
|
|
+ $model->member_quota_name = $component['rule_added_component_name'];
|
|
|
+ $model->member_quota_nbr = $nbr;
|
|
|
+ $model->member_quota_json = $component['rule_added_component_goods_json'];
|
|
|
+ $model->member_quota_addtimes = time();
|
|
|
+ $model->save();
|
|
|
+ }
|
|
|
}
|