123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- <?php
- /**
- * Created by PhpStorm.
- * User: hp
- * Date: 2017/12/2
- * Time: 15:36
- */
- namespace App\Modules\SendOrder\Services;
- use App\Modules\SendOrder\Models\QappUserSendOrderId;
- use App\Modules\SendOrder\Models\QuickAppSendOrder;
- use App\Modules\SendOrder\Models\SendOrder;
- use App\Modules\User\Services\UserService;
- use DB;
- class SendOrderService
- {
- public static function getSendOrderStatic(int $id)
- {
- return SendOrder::find($id);
- }
- public function getQuickAppSendOrder(int $send_order_id)
- {
- return QuickAppSendOrder::where('send_order_id', $send_order_id)->first();
- }
- /**
- * 根据id获取信息
- * @param $id
- * @return mixed
- */
- static function getById($id)
- {
- return SendOrder::find($id);
- }
- /*
- * 更新派单时间
- */
- static function updateSendOrderTime($send_order_id)
- {
- return SendOrder::where('id', $send_order_id)->update(['send_time' => date('Y-m-d H:i:s')]);
- }
- /**
- * 废弃不用
- * 记录用户派单id
- * @param $uid
- * @param $send_order_id
- */
- static function recordUserSendOrder_($uid,$send_order_id){
- $info = QappUserSendOrderId::where('uid',$uid)->select('send_order_id')->orderBy('id','desc')->first();
- if($info && $info->send_order_id == $send_order_id){
- return ;
- }
- QappUserSendOrderId::create([
- 'uid'=>$uid,'send_order_id'=>$send_order_id
- ]);
- }
- /*
- 注册派单id:第一次的环境派单id,在用户表里面,以后不再更新
- 环境派单id:
- 1)有30天保护期,保护期到期后,更新为下个环境派单id(针对uid级别的保护)
- 2)保护期间,用户点击派单,表记录还存在,只是是否生效为否
- 3)派单id生效期间,后面重复点击,是否生效为否,以第一次的点击时间为准,只是为了不再更新到期时间
- $send_order_id = Redis::hget('book_read:' . $uid, 'send_order_id');
- 这个字段也根据保护期间逻辑来,如果保护期内,则点击新的不更新这个字段
- */
- static function recordUserSendOrder($uid,$send_order_id){
- /*$info = QappUserSendOrderId::where('uid',$uid)
- ->where('end_time','>',date('Y-m-d H:i:s'))
- ->orderBy('id')->first();*/
- $redis_time = UserService::getUserSendOrderTime($uid);
- if($redis_time && ($redis_time+30*86400) > time()){
- return false;
- }
- $info = DB::table('qapp_user_valid_send_order_id')->where('uid',$uid)
- ->where('end_time','>',date('Y-m-d H:i:s'))
- ->where('is_valid',1)
- ->orderBy('id')->first();
- if($info){
- /*QappUserSendOrderId::create([
- 'uid'=>$uid,'send_order_id'=>$send_order_id,'end_time'=>date('Y-m-d H:i:s'),'is_valid'=>0
- ]);*/
- return false;
- }
- /*QappUserSendOrderId::create([
- 'uid'=>$uid,'send_order_id'=>$send_order_id,'end_time'=>date('Y-m-d H:i:s',time()+30*86400),'is_valid'=>1
- ]);*/
- try{
- DB::table('qapp_user_valid_send_order_id')->insert([
- 'uid'=>$uid,'send_order_id'=>$send_order_id,'end_time'=>date('Y-m-d H:i:s',time()+30*86400),'is_valid'=>1,
- 'created_at'=>date('Y-m-d H:i:s'),'updated_at'=>date('Y-m-d H:i:s')
- ]);
- }catch (\Exception $e){
- }
- return true;
- }
- }
|