UserSign.php 1.3 KB

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