UserMoneyModel.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. /**
  3. * 用户余额
  4. */
  5. namespace app\common\model;
  6. use think\facade\Db;
  7. use think\Model;
  8. class UserMoneyModel extends Model
  9. {
  10. protected $name = 'money_log';
  11. /**
  12. * 记录
  13. * @param $param
  14. * @return array
  15. * @throws \think\db\exception\DbException
  16. */
  17. public function getLog ($request)
  18. {
  19. $type_conf = config('type.money');
  20. $list = self::where('uid', $request->uid)
  21. ->field('money,id,type,create_at,state')
  22. ->withAttr('type', function ($value, $data) use ($type_conf) {
  23. return isset($type_conf[$value]) ? $type_conf[$value] : '未知类型';
  24. })
  25. ->order('create_at', 'desc')
  26. ->paginate($request->data['limit'])
  27. ->toArray();
  28. // $history = self::where([
  29. // ['uid', '=', $param->uid],
  30. // ['state', '=', 1]
  31. // ])->sum('money');
  32. // return compact('list', 'history');
  33. if (empty($list['data'])){
  34. return null;
  35. }
  36. return $list['data'];
  37. }
  38. public function getRedLog ($request)
  39. {
  40. $type_conf = config('type.money');
  41. $condition = ['uid'=> $request->uid, 'type'=>4];
  42. $list = self::where($condition)
  43. ->field('money,id,type,create_at,state,uid')
  44. ->withAttr('type', function ($value, $data) use ($type_conf) {
  45. return isset($type_conf[$value]) ? $type_conf[$value] : '未知类型';
  46. })
  47. ->order('create_at', 'desc')
  48. ->paginate($request->data['limit'])
  49. ->toArray();
  50. // $history = self::where([
  51. // ['uid', '=', $param->uid],
  52. // ['state', '=', 1]
  53. // ])->sum('money');
  54. // return compact('list', 'history');
  55. if (empty($list['data'])){
  56. return null;
  57. }
  58. return $list['data'];
  59. }
  60. public static function change ($data)
  61. {
  62. if ($data['state'] == 1) {
  63. $data['after_money'] = $data['before_money'] + $data['money'];
  64. } else {
  65. $data['after_money'] = $data['before_money'] - $data['money'];
  66. }
  67. $model = new self();
  68. if ($model->save($data)) {
  69. return $model->id;
  70. }
  71. return false;
  72. }
  73. }