BehaviorRepositories.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: edz
  5. * Date: 2019-06-10
  6. * Time: 17:53
  7. */
  8. namespace App\Repositories;
  9. use App\Models\Behavior;
  10. use Illuminate\Support\Facades\Log;
  11. class BehaviorRepositories
  12. {
  13. public function __construct(MemberRepository $memberRepository)
  14. {
  15. $this->memberRepository = $memberRepository;
  16. }
  17. /**
  18. * 消费virus通知
  19. * @param array $request
  20. */
  21. public function consumeNotify($request)
  22. {
  23. $identify = $request['behavior_flag'];
  24. $behavior = $this->getBehavior($identify);
  25. $userInfo = $this->memberRepository->getUserInfo();
  26. if (empty($userInfo) || empty($behavior)) {
  27. return true;
  28. }
  29. $behaviorStatus = 0; //触发类型
  30. if ($userInfo && $userInfo['strength'] > 0) {
  31. $behaviorStatus = 1;
  32. }
  33. $strength = $behaviorStatus ? $behavior['physical_strength'] : 0;
  34. $beans = $behaviorStatus ? $behavior['rainbow_beans'] : 0;
  35. }
  36. /**
  37. * 获取行为绑定规则
  38. * @param $info
  39. * @return array
  40. */
  41. public function getBehavior($identify)
  42. {
  43. $info = Behavior::where([['is_open', '=', 1], ['behavior_identification', '=', $identify]])->first();
  44. Log::debug('behavior:' . json_encode($info));
  45. if ($info) {
  46. return $info;
  47. }
  48. return [];
  49. }
  50. }