UserSign.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /**
  3. *
  4. * @author: xaboy<365615158@qq.com>
  5. * @day: 2018/02/28
  6. */
  7. namespace app\ebapi\model\user;
  8. use basic\ModelBasic;
  9. use app\core\util\SystemConfigService;
  10. use think\Model;
  11. /** 用户签到
  12. * Class UserSign
  13. * @package app\ebapi\model\user
  14. */
  15. class UserSign
  16. {
  17. public static function checkUserSigned($uid)
  18. {
  19. return UserBill::be(['uid'=>$uid,'add_time'=>['>',strtotime('today')],'category'=>'integral','type'=>'sign']);
  20. }
  21. public static function userSignedCount($uid)
  22. {
  23. return self::userSignBillWhere($uid)->count();
  24. }
  25. /**
  26. * @param $uid
  27. * @return Model
  28. */
  29. public static function userSignBillWhere($uid)
  30. {
  31. return UserBill::where(['uid'=>$uid,'category'=>'integral','type'=>'sign']);
  32. }
  33. public static function sign($userInfo)
  34. {
  35. $uid = $userInfo['uid'];
  36. $min = SystemConfigService::get('sx_sign_min_int')?:0;
  37. $max = SystemConfigService::get('sx_sign_max_int')?:5;
  38. $integral = rand($min,$max);
  39. ModelBasic::beginTrans();
  40. $res1 = UserBill::income('用户签到',$uid,'integral','sign',$integral,0,$userInfo['integral'],'签到获得'.floatval($integral).'积分');
  41. $res2 = User::bcInc($uid,'integral',$integral,'uid');
  42. $res = $res1 && $res2;
  43. ModelBasic::checkTrans($res);
  44. if($res)
  45. return $integral;
  46. else
  47. return false;
  48. }
  49. }