IssueWorkLogic.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <?php
  2. namespace app\workerapi\logic;
  3. use app\common\model\works\IssueWork;
  4. use app\common\logic\BaseLogic;
  5. use think\facade\Db;
  6. /**
  7. * IssueWork逻辑
  8. * Class IssueWorkLogic
  9. * @package app\workerapi\logic\works
  10. */
  11. class IssueWorkLogic extends BaseLogic
  12. {
  13. /**
  14. * @notes 添加
  15. * @param array $params
  16. * @return bool
  17. * @author whitef
  18. * @date 2024/07/10 15:06
  19. */
  20. public static function add(array $params): bool
  21. {
  22. Db::startTrans();
  23. try {
  24. IssueWork::create([
  25. 'work_sn' => $params['work_sn'],
  26. 'service_work_id' => $params['service_work_id'],
  27. 'master_worker_id' => $params['master_worker_id'],
  28. 'issue_approval' => $params['issue_approval'],
  29. 'complaint_status' => $params['complaint_status'],
  30. 'responsible' => $params['responsible'],
  31. 'complaint_details' => $params['complaint_details'],
  32. 'complaint_images' => $params['complaint_images'],
  33. 'finished_time' => strtotime($params['finished_time']),
  34. 'approval_admin_id' => $params['approval_admin_id'],
  35. 'approval_time' => strtotime($params['approval_time']),
  36. ]);
  37. Db::commit();
  38. return true;
  39. } catch (\Exception $e) {
  40. Db::rollback();
  41. self::setError($e->getMessage());
  42. return false;
  43. }
  44. }
  45. /**
  46. * @notes 编辑
  47. * @param array $params
  48. * @return bool
  49. * @author whitef
  50. * @date 2024/07/10 15:06
  51. */
  52. public static function edit(array $params): bool
  53. {
  54. Db::startTrans();
  55. try {
  56. IssueWork::where('id', $params['id'])->update([
  57. 'work_sn' => $params['work_sn'],
  58. 'service_work_id' => $params['service_work_id'],
  59. 'master_worker_id' => $params['master_worker_id'],
  60. 'issue_approval' => $params['issue_approval'],
  61. 'complaint_status' => $params['complaint_status'],
  62. 'responsible' => $params['responsible'],
  63. 'complaint_details' => $params['complaint_details'],
  64. 'complaint_images' => $params['complaint_images'],
  65. 'finished_time' => strtotime($params['finished_time']),
  66. 'approval_admin_id' => $params['approval_admin_id'],
  67. 'approval_time' => strtotime($params['approval_time']),
  68. ]);
  69. Db::commit();
  70. return true;
  71. } catch (\Exception $e) {
  72. Db::rollback();
  73. self::setError($e->getMessage());
  74. return false;
  75. }
  76. }
  77. /**
  78. * @notes 删除
  79. * @param array $params
  80. * @return bool
  81. * @author whitef
  82. * @date 2024/07/10 15:06
  83. */
  84. public static function delete(array $params): bool
  85. {
  86. return IssueWork::destroy($params['id']);
  87. }
  88. /**
  89. * @notes 获取详情
  90. * @param $params
  91. * @return array
  92. * @author whitef
  93. * @date 2024/07/10 15:06
  94. */
  95. public static function detail($params): array
  96. {
  97. return IssueWork::findOrEmpty($params['id'])->toArray();
  98. }
  99. }