12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- namespace app\command;
- use app\model\Member;
- use app\model\MemberAccount;
- use app\model\PayDetail;
- use Symfony\Component\Console\Command\Command;
- use Symfony\Component\Console\Input\InputArgument;
- use Symfony\Component\Console\Input\InputInterface;
- use Symfony\Component\Console\Output\OutputInterface;
- class WelfareAccountCommand extends Command
- {
- protected static $defaultName = 'WelfareAccountCommand';
- protected static $defaultDescription = 'WelfareAccountCommand';
- /**
- * @return void
- */
- protected function configure()
- {
- $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";
- 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')->update(['pay_prepayid' => '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();
- if (!$cashAccount) {
- return false;
- }
- MemberAccount::insert([
- 'join_account_member_id' => $memberId,
- 'member_account_classify' => 'WELFARE',
- 'member_account_status' => 'ACTIVED',
- 'member_account_category' => 'NORMAL',
- 'member_account_nbr' => $memberId . '-WELFARE',
- 'member_account_name' => '福利账户',
- 'member_account_income' => $cashAccount->member_account_income,
- 'member_account_expend' => $cashAccount->member_account_expend,
- 'member_account_surplus' => $cashAccount->member_account_surplus,
- 'member_account_added' => $cashAccount->member_account_added,
- 'member_account_addtimes' => time()
- ]);
- return true;
- }
- }
|