SharedPartnerConsumeUpdate.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace app\command;
  3. use app\common\model\shared\SharedProsperityPartnerConsumeUpdateLog;
  4. use app\common\repositories\shared\SharedProsperityRecommendConfigRepository;
  5. use think\console\Command;
  6. use think\console\Input;
  7. use think\console\Output;
  8. use think\facade\Db;
  9. class SharedPartnerConsumeUpdate extends Command
  10. {
  11. // 变更数量
  12. const NUMBER = 5;
  13. const CONFIG_ID = 2;
  14. protected function configure()
  15. {
  16. // 指令配置
  17. $this->setName('sharedPartnerConsumeUpdate')
  18. ->setDescription('共富区一星合伙人消费额更新');
  19. }
  20. protected function execute(Input $input, Output $output)
  21. {
  22. $output->writeln('定时任务执行中...');
  23. $this->consumeUpdate();
  24. $output->writeln('定时任务执行完成');
  25. }
  26. private function consumeUpdate()
  27. {
  28. // 获取当前数据
  29. /** @var SharedProsperityRecommendConfigRepository $repository */
  30. $repository = app()->make(SharedProsperityRecommendConfigRepository::class);
  31. $data = $repository->getDetail(self::CONFIG_ID);
  32. $logData = [
  33. 'partner_level' => $data->level,
  34. 'old_consume' => $data->consume,
  35. 'number' => self::NUMBER,
  36. 'new_consume' => $data->consume + self::NUMBER
  37. ];
  38. Db::startTrans();
  39. try {
  40. // 更新数据
  41. $data->consume += self::NUMBER;
  42. $data->save();
  43. // 记录日志
  44. $logModel = new SharedProsperityPartnerConsumeUpdateLog();
  45. $logModel->save($logData);
  46. Db::commit();
  47. return true;
  48. } catch (\Exception $e) {
  49. Db::rollback();
  50. throw $e;
  51. }
  52. }
  53. }