|
@@ -6,6 +6,7 @@ use app\model\Member;
|
|
|
use app\model\MemberAccount;
|
|
|
use app\model\Order;
|
|
|
use app\model\PayDetail;
|
|
|
+use support\Db;
|
|
|
use Symfony\Component\Console\Command\Command;
|
|
|
use Symfony\Component\Console\Input\InputArgument;
|
|
|
use Symfony\Component\Console\Input\InputInterface;
|
|
@@ -22,45 +23,95 @@ class WelfareAccountCommand extends Command
|
|
|
*/
|
|
|
protected function configure()
|
|
|
{
|
|
|
- $this->addArgument('name', InputArgument::OPTIONAL, '余额账户转福利账户');
|
|
|
+ // $this->addArgument('name', InputArgument::OPTIONAL, '余额账户转福利账户');
|
|
|
+ $this->addArgument('name', InputArgument::OPTIONAL, '福利账户余额清空');
|
|
|
}
|
|
|
|
|
|
-
|
|
|
protected function execute(InputInterface $input, OutputInterface $output): int
|
|
|
{
|
|
|
- $members = Member::select('member_id', 'member_classify')->get()->toArray();
|
|
|
- foreach ($members as $member) {
|
|
|
- if (!MemberAccount::where('join_account_member_id', $member['member_id'])->where('member_account_classify', 'WELFARE')->exists()) {
|
|
|
- if (!$this->generateWelfareAccount($member['member_id'])) {
|
|
|
- echo "会员【" . $member['member_id'] . "】跳过\n";
|
|
|
+ $accounts = MemberAccount::where('member_account_classify','WELFARE')->get()->toArray();
|
|
|
+ Db::beginTransaction();
|
|
|
+ try{
|
|
|
+
|
|
|
+ foreach($accounts as $account){
|
|
|
+ if ($account['member_account_income'] == '0.00'){
|
|
|
+ echo "会员【" . $account['join_account_member_id'] . "】跳过\n";
|
|
|
continue;
|
|
|
}
|
|
|
+ // 更新余额账户
|
|
|
+ MemberAccount::where('member_account_id',$account['member_account_id'])->update([
|
|
|
+ 'member_account_expend' => $account['member_account_expend'] + $account['member_account_surplus'],
|
|
|
+ 'member_account_surplus' => 0
|
|
|
+ ]);
|
|
|
+
|
|
|
+ // 插入清零记录
|
|
|
+ $this->generatePayDetail($account);
|
|
|
+ echo "会员【" . $account['join_account_member_id'] . "】已处理完成\n";
|
|
|
}
|
|
|
- if ($member['member_classify'] != 'EMPLOY') {
|
|
|
- Member::where('member_id', $member['member_id'])->update(['member_classify' => 'EMPLOY']);
|
|
|
- }
|
|
|
- // 改所有的充值记录
|
|
|
- PayDetail::where('join_pay_member_id', $member['member_id'])->where('pay_category', 'RECHARGE')->where('pay_amount','1000.00')->update(['pay_prepayid' => $member['member_id'] . '-WELFARE']);
|
|
|
-
|
|
|
- // 改所有的付款记录
|
|
|
- PayDetail::where('join_pay_member_id', $member['member_id'])->where('pay_prepayid', $member['member_id'] . '-CASH')->update(['pay_prepayid' => $member['member_id'] . '-WELFARE']);
|
|
|
+ Db::commit();
|
|
|
|
|
|
- // 余额账户清空
|
|
|
- MemberAccount::where('join_account_member_id', $member['member_id'])->where('member_account_classify', 'CASH')->update([
|
|
|
- 'member_account_income' => 0,
|
|
|
- 'member_account_expend' => 0,
|
|
|
- 'member_account_surplus' => 0,
|
|
|
- 'member_account_added' => 0,
|
|
|
+ return self::SUCCESS;
|
|
|
+ }catch(\Exception $e){
|
|
|
+ dump($e->getMessage());
|
|
|
|
|
|
- ]);
|
|
|
-
|
|
|
-
|
|
|
- echo "会员【" . $member['member_id'] . "】已处理完成\n";
|
|
|
+ Db::rollBack();
|
|
|
}
|
|
|
|
|
|
- return self::SUCCESS;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 生成清零记录
|
|
|
+ */
|
|
|
+ private function generatePayDetail($account)
|
|
|
+ {
|
|
|
+ $payDetailData = [
|
|
|
+ 'join_pay_member_id'=>$account['join_account_member_id'],
|
|
|
+ 'pay_status'=>'SUCCESS',
|
|
|
+ 'pay_category'=>'CLEAR',
|
|
|
+ 'pay_amount'=>$account['member_account_surplus'],
|
|
|
+ 'pay_paytimes'=>date('Y-m-d H:i:s'),
|
|
|
+ 'pay_prepayid'=>$account['member_account_nbr'],
|
|
|
+ 'pay_addtimes'=>time()
|
|
|
+ ];
|
|
|
+
|
|
|
+ PayDetail::insert($payDetailData);
|
|
|
+ }
|
|
|
+
|
|
|
+ // protected function execute(InputInterface $input, OutputInterface $output): int
|
|
|
+ // {
|
|
|
+ // $members = Member::select('member_id', 'member_classify')->get()->toArray();
|
|
|
+ // foreach ($members as $member) {
|
|
|
+ // if (!MemberAccount::where('join_account_member_id', $member['member_id'])->where('member_account_classify', 'WELFARE')->exists()) {
|
|
|
+ // if (!$this->generateWelfareAccount($member['member_id'])) {
|
|
|
+ // echo "会员【" . $member['member_id'] . "】跳过\n";
|
|
|
+ // continue;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // if ($member['member_classify'] != 'EMPLOY') {
|
|
|
+ // Member::where('member_id', $member['member_id'])->update(['member_classify' => 'EMPLOY']);
|
|
|
+ // }
|
|
|
+ // // 改所有的充值记录
|
|
|
+ // PayDetail::where('join_pay_member_id', $member['member_id'])->where('pay_category', 'RECHARGE')->where('pay_amount','1000.00')->update(['pay_prepayid' => $member['member_id'] . '-WELFARE']);
|
|
|
+
|
|
|
+ // // 改所有的付款记录
|
|
|
+ // PayDetail::where('join_pay_member_id', $member['member_id'])->where('pay_prepayid', $member['member_id'] . '-CASH')->update(['pay_prepayid' => $member['member_id'] . '-WELFARE']);
|
|
|
+
|
|
|
+ // // 余额账户清空
|
|
|
+ // MemberAccount::where('join_account_member_id', $member['member_id'])->where('member_account_classify', 'CASH')->update([
|
|
|
+ // 'member_account_income' => 0,
|
|
|
+ // 'member_account_expend' => 0,
|
|
|
+ // 'member_account_surplus' => 0,
|
|
|
+ // 'member_account_added' => 0,
|
|
|
+
|
|
|
+ // ]);
|
|
|
+
|
|
|
+
|
|
|
+ // echo "会员【" . $member['member_id'] . "】已处理完成\n";
|
|
|
+ // }
|
|
|
+
|
|
|
+ // return self::SUCCESS;
|
|
|
+ // }
|
|
|
+
|
|
|
private function generateWelfareAccount($memberId)
|
|
|
{
|
|
|
$cashAccount = MemberAccount::where('join_account_member_id', $memberId)->where('member_account_classify', 'CASH')->first();
|