1
0

ServiceWorkLogic.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <?php
  2. namespace app\workerapi\logic;
  3. use app\common\model\works\ServiceWork;
  4. use app\common\logic\BaseLogic;
  5. use think\facade\Db;
  6. /**
  7. * ServiceWork逻辑
  8. * Class ServiceWorkLogic
  9. * @package app\workerapi\logic\works
  10. */
  11. class ServiceWorkLogic 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. ServiceWork::create([
  25. 'work_sn' => $params['work_sn'],
  26. 'real_name' => $params['real_name'],
  27. 'mobile' => $params['mobile'],
  28. 'address' => $params['address'],
  29. 'title' => $params['title'],
  30. 'category_type' => $params['category_type'],
  31. 'goods_category_ids' => $params['goods_category_ids'],
  32. 'goods_category_id' => $params['goods_category_id'],
  33. 'base_service_fee' => $params['base_service_fee'],
  34. 'service_fee' => $params['service_fee'],
  35. 'work_status' => $params['work_status'],
  36. 'service_status' => $params['service_status'],
  37. 'dispatch_time' => strtotime($params['dispatch_time']),
  38. 'receive_time' => strtotime($params['receive_time']),
  39. 'appointment_time' => strtotime($params['appointment_time']),
  40. 'finished_images' => $params['finished_images'],
  41. 'finished_time' => strtotime($params['finished_time']),
  42. 'master_worker_id' => $params['master_worker_id'],
  43. 'worker_amount' => $params['worker_amount'],
  44. ]);
  45. Db::commit();
  46. return true;
  47. } catch (\Exception $e) {
  48. Db::rollback();
  49. self::setError($e->getMessage());
  50. return false;
  51. }
  52. }
  53. /**
  54. * @notes 编辑
  55. * @param array $params
  56. * @return bool
  57. * @author whitef
  58. * @date 2024/07/10 15:06
  59. */
  60. public static function edit(array $params): bool
  61. {
  62. Db::startTrans();
  63. try {
  64. ServiceWork::where('id', $params['id'])->update([
  65. 'work_sn' => $params['work_sn'],
  66. 'real_name' => $params['real_name'],
  67. 'mobile' => $params['mobile'],
  68. 'address' => $params['address'],
  69. 'title' => $params['title'],
  70. 'category_type' => $params['category_type'],
  71. 'goods_category_ids' => $params['goods_category_ids'],
  72. 'goods_category_id' => $params['goods_category_id'],
  73. 'base_service_fee' => $params['base_service_fee'],
  74. 'service_fee' => $params['service_fee'],
  75. 'work_status' => $params['work_status'],
  76. 'service_status' => $params['service_status'],
  77. 'dispatch_time' => strtotime($params['dispatch_time']),
  78. 'receive_time' => strtotime($params['receive_time']),
  79. 'appointment_time' => strtotime($params['appointment_time']),
  80. 'finished_images' => $params['finished_images'],
  81. 'finished_time' => strtotime($params['finished_time']),
  82. 'master_worker_id' => $params['master_worker_id'],
  83. 'worker_amount' => $params['worker_amount'],
  84. ]);
  85. Db::commit();
  86. return true;
  87. } catch (\Exception $e) {
  88. Db::rollback();
  89. self::setError($e->getMessage());
  90. return false;
  91. }
  92. }
  93. /**
  94. * @notes 删除
  95. * @param array $params
  96. * @return bool
  97. * @author whitef
  98. * @date 2024/07/10 15:06
  99. */
  100. public static function delete(array $params): bool
  101. {
  102. return ServiceWork::destroy($params['id']);
  103. }
  104. /**
  105. * @notes 获取详情
  106. * @param $params
  107. * @return array
  108. * @author whitef
  109. * @date 2024/07/10 15:06
  110. */
  111. public static function detail($params): array
  112. {
  113. return ServiceWork::findOrEmpty($params['id'])->toArray();
  114. }
  115. }