SendOrderService.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: hp
  5. * Date: 2017/12/2
  6. * Time: 15:36
  7. */
  8. namespace App\Modules\SendOrder\Services;
  9. use App\Modules\SendOrder\Models\QappUserSendOrderId;
  10. use App\Modules\SendOrder\Models\QuickAppSendOrder;
  11. use App\Modules\SendOrder\Models\SendOrder;
  12. use DB;
  13. class SendOrderService
  14. {
  15. public static function getSendOrderStatic(int $id)
  16. {
  17. return SendOrder::find($id);
  18. }
  19. public function getQuickAppSendOrder(int $send_order_id)
  20. {
  21. return QuickAppSendOrder::where('send_order_id', $send_order_id)->first();
  22. }
  23. /**
  24. * 根据id获取信息
  25. * @param $id
  26. * @return mixed
  27. */
  28. static function getById($id)
  29. {
  30. return SendOrder::find($id);
  31. }
  32. /*
  33. * 更新派单时间
  34. */
  35. static function updateSendOrderTime($send_order_id)
  36. {
  37. return SendOrder::where('id', $send_order_id)->update(['send_time' => date('Y-m-d H:i:s')]);
  38. }
  39. /**
  40. * 废弃不用
  41. * 记录用户派单id
  42. * @param $uid
  43. * @param $send_order_id
  44. */
  45. static function recordUserSendOrder_($uid,$send_order_id){
  46. $info = QappUserSendOrderId::where('uid',$uid)->select('send_order_id')->orderBy('id','desc')->first();
  47. if($info && $info->send_order_id == $send_order_id){
  48. return ;
  49. }
  50. QappUserSendOrderId::create([
  51. 'uid'=>$uid,'send_order_id'=>$send_order_id
  52. ]);
  53. }
  54. /*
  55. 注册派单id:第一次的环境派单id,在用户表里面,以后不再更新
  56. 环境派单id:
  57. 1)有30天保护期,保护期到期后,更新为下个环境派单id(针对uid级别的保护)
  58. 2)保护期间,用户点击派单,表记录还存在,只是是否生效为否
  59. 3)派单id生效期间,后面重复点击,是否生效为否,以第一次的点击时间为准,只是为了不再更新到期时间
  60. $send_order_id = Redis::hget('book_read:' . $uid, 'send_order_id');
  61. 这个字段也根据保护期间逻辑来,如果保护期内,则点击新的不更新这个字段
  62. */
  63. static function recordUserSendOrder($uid,$send_order_id){
  64. /*$info = QappUserSendOrderId::where('uid',$uid)
  65. ->where('end_time','>',date('Y-m-d H:i:s'))
  66. ->orderBy('id')->first();*/
  67. $info = DB::table('qapp_user_valid_send_order_id')->where('uid',$uid)
  68. ->where('end_time','>',date('Y-m-d H:i:s'))
  69. ->where('is_valid',1)
  70. ->orderBy('id')->first();
  71. if($info){
  72. /*QappUserSendOrderId::create([
  73. 'uid'=>$uid,'send_order_id'=>$send_order_id,'end_time'=>date('Y-m-d H:i:s'),'is_valid'=>0
  74. ]);*/
  75. return false;
  76. }
  77. /*QappUserSendOrderId::create([
  78. 'uid'=>$uid,'send_order_id'=>$send_order_id,'end_time'=>date('Y-m-d H:i:s',time()+30*86400),'is_valid'=>1
  79. ]);*/
  80. try{
  81. DB::table('qapp_user_valid_send_order_id')->insert([
  82. 'uid'=>$uid,'send_order_id'=>$send_order_id,'end_time'=>date('Y-m-d H:i:s',time()+30*86400),'is_valid'=>1,
  83. 'created_at'=>date('Y-m-d H:i:s'),'updated_at'=>date('Y-m-d H:i:s')
  84. ]);
  85. }catch (\Exception $e){
  86. }
  87. return true;
  88. }
  89. }