OrderService.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. namespace app\admin\service\order;
  3. use app\model\Order;
  4. use app\model\OrderSheet;
  5. use app\model\SysDept;
  6. use support\Db;
  7. use support\Redis;
  8. class OrderService
  9. {
  10. /**
  11. * @Desc 自动确认收货
  12. * @Author Gorden
  13. * @Date 2024/4/11 16:09
  14. *
  15. * @return void
  16. */
  17. public static function AutomaticReceipt()
  18. {
  19. try {
  20. Db::beginTransaction();
  21. $timeUnix = strtotime("-7 days");
  22. $orders = Order::where('order_status_system', 'SIGNED')
  23. ->where('order_addtimes', '<', $timeUnix)
  24. ->get();
  25. foreach ($orders as $order) {
  26. // 订单主表
  27. Order::where('order_id', $order->order_id)->update([
  28. 'order_is_complete' => 'Y',
  29. 'order_status_system' => 'CONFIRM'
  30. ]);
  31. // 订单详情表
  32. OrderSheet::where('join_sheet_order_id', $order->order_id)->update(['order_sheet_status' => 'CONFIRM']);
  33. }
  34. Db::commit();
  35. } catch (\Exception $e) {
  36. Db::rollBack();
  37. }
  38. }
  39. public static function checkPayingOrder()
  40. {
  41. try {
  42. Db::beginTransaction();
  43. $timeUnix = strtotime("-30 minutes");
  44. $orders = Order::where('order_status_system', 'PAYING')
  45. ->where('order_addtimes', '<', $timeUnix)
  46. ->get();
  47. foreach ($orders as $order) {
  48. // 订单主表
  49. Order::where('order_id', $order->order_id)->update([
  50. 'order_category' => 'CANCEL',
  51. 'order_status_system' => 'CANCEL',
  52. 'order_status_payment' => 'CANCEL'
  53. ]);
  54. // 订单详情表
  55. OrderSheet::where('join_sheet_order_id', $order->order_id)->update(['order_sheet_status' => 'CANCEL']);
  56. }
  57. Db::commit();
  58. } catch (\Exception $e) {
  59. Db::rollBack();
  60. }
  61. }
  62. public static function generateWriteOffData($params) {
  63. return [
  64. 'charge'=>[
  65. 'charge_amount'=>1,
  66. 'charge_content'=>$params['order_remark'] ?? '',
  67. 'charge_user_id'=>$params['write_off_member_id'],
  68. 'charge_premises'=>$params['dept_premises_id'],
  69. ],
  70. 'member_id'=>$params['join_order_member_id']
  71. ];
  72. }
  73. }