HeaderWordHookService.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. namespace App\Service\HeaderWord;
  3. use App\Model\Header_ext;
  4. use App\Service\Service;
  5. /**
  6. * 表头相关工厂模式
  7. * @package App\Models
  8. */
  9. class HeaderWordHookService extends Service
  10. {
  11. protected static $instance;
  12. protected static $header;
  13. protected static $header_detail;
  14. public function __construct(){
  15. }
  16. public static function getInstance(): self
  17. {
  18. if (self::$instance == null) {
  19. self::$instance = new HeaderWordHookService();
  20. }
  21. return self::$instance;
  22. }
  23. public function getHeaderWord($data){
  24. if(!isset($data['type'])) return [false,'not found type'];
  25. $type = $data['type'];
  26. $list = Header_ext::where('type',$type)->orderBy('sort','asc')->select('*')->get()->toArray();
  27. // self::$header_detail = Header_ext::where('type',$type_detail)->pluck('value','key')->toArray();
  28. return [true,$list];
  29. }
  30. public function getHeaderSettings($data){
  31. if($this->isEmpty($data,'menu_id')) return [false,'菜单ID不能为空!'];
  32. $header = config("headerSettings")[$data['menu_id']] ?? [];
  33. return [true,$header];
  34. }
  35. public function edit($data){
  36. list($status,$msg) = $this->headerRule($data,false);
  37. if(!$status) return [$status,$msg];
  38. return [true,'保存成功!'];
  39. }
  40. public function add($data){
  41. list($status,$msg) = $this->headerRule($data);
  42. if(!$status) return [$status,$msg];
  43. // $data = [
  44. // 'menu_id' => '210',
  45. // 'data' => [
  46. // 0 => [
  47. // 'key' => 'order_no',
  48. // 'value' => '内部订单编号',
  49. // 'type' => 1,
  50. // 'menu_id' => 210,
  51. // 'position' => 'A1'
  52. // ],
  53. // 1 => [
  54. // 'key' => 'out_order_no',
  55. // 'value' => '销售订单号',
  56. // 'type' => 1,
  57. // 'menu_id' => 210,
  58. // 'position' => 'B1:C1'
  59. // ],
  60. // ]
  61. // ];
  62. Header_ext::where('menu_id',$data['menu_id'])
  63. ->where('del_time',0)
  64. ->update(['del_time'=>time()]);
  65. Header_ext::insert($data['data']);
  66. return [true,'保存成功!'];
  67. }
  68. public function del($data){
  69. if($this->isEmpty($data,'id')) return [false,'ID不能为空!'];
  70. return [true,'删除成功'];
  71. }
  72. public function headerRule($data,$is_add = true){
  73. if($this->isEmpty($data,'menu_id')) return [false,'菜单ID不能为空!'];
  74. if($this->isEmpty($data,'data')) return [false,'数据不能为空!'];
  75. return [true,''];
  76. }
  77. }