|
@@ -2020,4 +2020,103 @@ class MemberService
|
|
|
Log::info("会员过期", ['member_id' => $member['member_id'], 'role_id' => $member['join_member_role_id']]);
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Desc 加盟合伙人过期
|
|
|
+ * @Author Gorden
|
|
|
+ * @Date 2024/11/13 8:48
|
|
|
+ *
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public static function franchiseeExpired()
|
|
|
+ {
|
|
|
+ $members = Member::where('member_is_franchisee', 'Y')->get()->toArray();
|
|
|
+ foreach ($members as $member) {
|
|
|
+ $franchiseeJson = ['member_id' => $member['member_id']];
|
|
|
+ if (!empty($member['member_franchisee_json'])) {
|
|
|
+ $franchiseeJson = json_decode($member['member_franchisee_json'], true);
|
|
|
+ }
|
|
|
+ if (isset($franchiseeJson['duedate'])) {
|
|
|
+ $duedateUnix = strtotime($franchiseeJson['duedate'] . ' 23:59:59');
|
|
|
+ if ($duedateUnix > time()) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Member::where('member_id', $member['member_id'])->update(['member_is_franchisee' => 'N', 'member_franchisee_json' => '[]']);
|
|
|
+
|
|
|
+ _syslog("加盟合伙人过期", "取消身份", false, $franchiseeJson, 1001);
|
|
|
+
|
|
|
+ Log::info("会员【" . $member['member_id'] . '】加盟合伙人身份已过期', $franchiseeJson);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Desc 加盟合伙人每年发20%
|
|
|
+ * @Author Gorden
|
|
|
+ * @Date 2024/11/13 9:16
|
|
|
+ *
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public static function franchiseeAdded()
|
|
|
+ {
|
|
|
+ try {
|
|
|
+ $members = Member::where('member_is_franchisee', 'Y')->get()->toArray();
|
|
|
+ foreach ($members as $member) {
|
|
|
+ $franchiseeJson = [];
|
|
|
+ if (!empty($member['member_franchisee_json'])) {
|
|
|
+ $franchiseeJson = json_decode($member['member_franchisee_json'], true);
|
|
|
+ }
|
|
|
+ if (isset($franchiseeJson['datetime'])) {
|
|
|
+ if (date('Ymd', strtotime($franchiseeJson['datetime'])) == date('Ymd')) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (isset($franchiseeJson['duedate'])) {
|
|
|
+ $duedateUnix = strtotime($franchiseeJson['duedate']);
|
|
|
+ $todayUnix = strtotime(date('Y-m-d'));
|
|
|
+ if (in_array(($duedateUnix - $todayUnix) / (3600 * 24 * 365), [1, 2, 3, 4])) {
|
|
|
+ $payDetail = PayDetail::where('join_pay_member_id', $member['member_id'])
|
|
|
+ ->where('join_pay_order_id', 'FRANCHISEE')
|
|
|
+ ->orderBy('pay_addtimes', 'DESC')
|
|
|
+ ->first();
|
|
|
+ if (date('Ymd') == date('Ymd', strtotime($payDetail->pay_addtimes))) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ $payObjectJson = [];
|
|
|
+ if (!empty($payDetail->join_pay_object_json)) {
|
|
|
+ $payObjectJson = json_decode($payDetail->join_pay_object_json, true);
|
|
|
+ }
|
|
|
+ // 创建赠送记录
|
|
|
+ PayDetail::insert([
|
|
|
+ 'join_pay_member_id' => $payDetail->join_pay_member_id,
|
|
|
+ 'join_pay_order_id' => $payDetail->join_pay_order_id,
|
|
|
+ 'join_pay_object_json' => $payDetail->join_pay_object_json,
|
|
|
+ 'pay_status' => $payDetail->pay_status,
|
|
|
+ 'pay_category' => $payDetail->pay_category,
|
|
|
+ 'pay_amount' => $payDetail->pay_amount,
|
|
|
+ 'pay_paytimes' => date('Y-m-d H:i:s'),
|
|
|
+ 'pay_prepayid' => $payDetail->pay_prepayid,
|
|
|
+ 'pay_addtimes' => time()
|
|
|
+ ]);
|
|
|
+ // 赠送加入账户余额
|
|
|
+ $account = MemberAccount::where('join_account_member_id', $member['member_id'])
|
|
|
+ ->where('member_account_classify', 'CASH')
|
|
|
+ ->first();
|
|
|
+ $account->member_account_income = $account->member_account_income + $payObjectJson['recharge_config']['nbr'];
|
|
|
+ $account->member_account_surplus = $account->member_account_surplus + $payObjectJson['recharge_config']['nbr'];
|
|
|
+ $account->save();
|
|
|
+
|
|
|
+ Log::info("加盟合伙人赠送成功");
|
|
|
+
|
|
|
+ _syslog("加盟合伙人", "赠送20%成功", false, ['member_id' => $member['member_id']], 1001);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ Log::error("加盟合伙人赠送失败", ['member_id' => $member['member_id'], 'msg' => $e->getMessage()]);
|
|
|
+
|
|
|
+ _syslog("加盟合伙人", "赠送20%失败", false, ['member_id' => $member['member_id'], 'msg' => $e->getMessage()], 1001);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|