VccPayment.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. namespace app\finance\model;
  3. use think\Model;
  4. use think\facade\Db;
  5. class VccPayment extends Model
  6. {
  7. public function datalist($param = [], $where = [], $whereOr = [])
  8. {
  9. $rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit'];
  10. $order = empty($param['order']) ? 'id desc' : $param['order'];
  11. try {
  12. $methodMap = Db::name('VccPaymentCate')->where(['type' => 1, 'delete_time' => 0])->column('title', 'value');
  13. $list = self::where($where)
  14. ->where(function ($query) use ($whereOr) {
  15. if (!empty($whereOr)) {
  16. $query->whereOr($whereOr);
  17. }
  18. })
  19. ->order($order)
  20. ->paginate(['list_rows' => $rows])
  21. ->each(function ($item) use ($methodMap) {
  22. $item->check_status_str = check_status_name($item->check_status);
  23. $item->payment_method_str = $methodMap[$item->payment_method] ?? '';
  24. $item->admin_name = Db::name('Admin')->where('id', $item->admin_id)->value('name');
  25. $item->department = Db::name('Department')->where('id', $item->did)->value('title');
  26. $item->create_time_str = to_date($item->create_time);
  27. });
  28. return $list;
  29. } catch (\Exception $e) {
  30. return ['code' => 1, 'data' => [], 'msg' => $e->getMessage()];
  31. }
  32. }
  33. public function add($param)
  34. {
  35. try {
  36. $param['create_time'] = time();
  37. $insertId = self::strict(false)->field(true)->insertGetId($param);
  38. add_log('add', $insertId, $param, 'VCC返点/提成付款申请');
  39. } catch (\Exception $e) {
  40. return to_assign(1, '操作失败,原因:' . $e->getMessage());
  41. }
  42. return to_assign(0, '操作成功', ['return_id' => $insertId]);
  43. }
  44. public function edit($param)
  45. {
  46. try {
  47. $param['update_time'] = time();
  48. self::where('id', $param['id'])->strict(false)->field(true)->update($param);
  49. add_log('edit', $param['id'], $param, 'VCC返点/提成付款申请');
  50. } catch (\Exception $e) {
  51. return to_assign(1, '操作失败,原因:' . $e->getMessage());
  52. }
  53. return to_assign(0, '操作成功', ['return_id' => $param['id']]);
  54. }
  55. public function getById($id)
  56. {
  57. $info = self::find($id);
  58. if (empty($info)) {
  59. return [];
  60. }
  61. $info['admin_name'] = Db::name('Admin')->where('id', $info['admin_id'])->value('name');
  62. $info['department'] = Db::name('Department')->where('id', $info['did'])->value('title');
  63. $info['payment_method_name'] = Db::name('VccPaymentCate')->where(['type' => 1, 'value' => $info['payment_method'], 'delete_time' => 0])->value('title') ?? '';
  64. $info['currency_name'] = Db::name('Currency')->where(['code' => $info['currency'], 'delete_time' => 0])->value('title') ?? '';
  65. if (!empty($info['file_ids'])) {
  66. $info['file_array'] = Db::name('File')->where('id', 'in', $info['file_ids'])->select();
  67. }
  68. return $info;
  69. }
  70. public function delById($id, $type = 0)
  71. {
  72. try {
  73. if ($type == 0) {
  74. self::where('id', $id)->update(['delete_time' => time()]);
  75. } else {
  76. self::destroy($id);
  77. }
  78. add_log('delete', $id);
  79. } catch (\Exception $e) {
  80. return to_assign(1, '操作失败,原因:' . $e->getMessage());
  81. }
  82. return to_assign();
  83. }
  84. }