Grade.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. namespace app\shop\model\user;
  3. use app\common\model\user\Grade as GradeModel;
  4. use app\shop\model\user\User as UserModel;
  5. /**
  6. * 用户会员等级模型
  7. */
  8. class Grade extends GradeModel
  9. {
  10. /**
  11. * 获取列表记录
  12. */
  13. public function getList($data)
  14. {
  15. return $this->where('is_delete', '=', 0)
  16. ->order(['weight' => 'asc', 'create_time' => 'asc'])
  17. ->paginate($data);
  18. }
  19. /**
  20. * 新增记录
  21. */
  22. public function add($data)
  23. {
  24. $data['app_id'] = self::$app_id;
  25. $data['is_default'] = 0;
  26. $data['remark'] = $this->setRemark($data);
  27. return $this->save($data);
  28. }
  29. /**
  30. * 编辑记录
  31. */
  32. public function edit($data)
  33. {
  34. if($this['is_default'] == 0){
  35. $data['remark'] = $this->setRemark($data);
  36. }
  37. return $this->save($data);
  38. }
  39. private function setRemark($data){
  40. $remark = '';
  41. if($data['open_money'] == 1){
  42. $money = sprintf('%.2f',$data['upgrade_money']);
  43. $remark .= "会员消费满{$money}元可升级到此等级";
  44. }
  45. if($data['open_points'] == 1){
  46. if(!empty($remark)){
  47. $remark .= '\r\n';
  48. }
  49. $remark .= "会员积分满{$data['upgrade_points']}可升级到此等级";
  50. }
  51. if($data['open_invite'] == 1){
  52. if(!empty($remark)){
  53. $remark .= '\r\n';
  54. }
  55. $remark .= "会员邀请人数满{$data['upgrade_invite']}可升级到此等级";
  56. }
  57. return $remark;
  58. }
  59. /**
  60. * 软删除
  61. */
  62. public function setDelete()
  63. {
  64. // 判断该等级下是否存在会员
  65. if (UserModel::checkExistByGradeId($this['grade_id'])) {
  66. return false;
  67. }
  68. return $this->save(['is_delete' => 1]);
  69. }
  70. }