UserAddress.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace app\model\api;
  3. use library\basic\BaseModel;
  4. use library\traits\ModelTrait;
  5. /**
  6. * TODO 用户收货地址
  7. * Class UserAddress
  8. * @package app\model\api
  9. */
  10. class UserAddress extends BaseModel
  11. {
  12. /**
  13. * 数据表主键
  14. * @var string
  15. */
  16. protected $pk = 'id';
  17. /**
  18. * 模型名称
  19. * @var string
  20. */
  21. protected $name = 'member_address';
  22. use ModelTrait;
  23. protected $insert = ['add_time'];
  24. protected $hidden = ['add_time', 'is_del', 'uid'];
  25. protected function setAddTimeAttr()
  26. {
  27. return time();
  28. }
  29. public static function setDefaultAddress($id,$uid)
  30. {
  31. self::beginTrans();
  32. $res1 = self::where('uid',$uid)->update(['is_default'=>0]);
  33. $res2 = self::where('id',$id)->where('uid',$uid)->update(['is_default'=>1]);
  34. $res =$res1 !== false && $res2 !== false;
  35. self::checkTrans($res);
  36. return $res;
  37. }
  38. public static function userValidAddressWhere($model=null,$prefix = '')
  39. {
  40. if($prefix) $prefix .='.';
  41. $model = self::getSelfModel($model);
  42. return $model->where("{$prefix}is_del",0);
  43. }
  44. public static function getUserValidAddressList($uid,$page=1,$limit=8,$field = '*')
  45. {
  46. if($page) return self::userValidAddressWhere()->where('uid',$uid)->order('add_time DESC')->field($field)->page((int)$page,(int)$limit)->select()->toArray()?:[];
  47. else return self::userValidAddressWhere()->where('uid',$uid)->order('add_time DESC')->field($field)->select()->toArray()?:[];
  48. }
  49. public static function getUserDefaultAddress($uid,$field = '*')
  50. {
  51. return self::userValidAddressWhere()->where('uid',$uid)->where('is_default',1)->field($field)->find();
  52. }
  53. }