StoreAdminPrintForm.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. namespace app\modules\alliance\models\salesman;
  8. use app\constants\OptionSetting;
  9. use app\models\CloudGoodsBind;
  10. use app\models\common\ExpressDetail;
  11. use app\models\Express;
  12. use app\models\Goods;
  13. use app\models\Option;
  14. use app\models\Order;
  15. use app\models\OrderDetail;
  16. use app\models\OrderRefund;
  17. use app\models\OrderTransit;
  18. use app\models\Printer;
  19. use app\models\RefundAddress;
  20. use app\models\Store;
  21. use app\modules\alliance\models\OrderRevokeForm;
  22. use app\utils\Notice\NoticeSend;
  23. use app\utils\PrintOrder;
  24. use yii\base\Model;
  25. class StoreAdminPrintForm extends Model
  26. {
  27. public $model;
  28. public $id;
  29. public $store_id;
  30. public $name;
  31. public $printer_setting;
  32. public $printer_type;
  33. public function initPrint()
  34. {
  35. $this->model = Printer::find()->where(['store_id' => $this->store_id, 'is_delete' => 0, 'md_id' => 0]);
  36. }
  37. public function rules()
  38. {
  39. return [
  40. [['id'], 'integer'],
  41. [['name', 'printer_type'], 'string'],
  42. [['printer_setting'], 'safe']
  43. ];
  44. }
  45. //档口管理
  46. public function getPrinteConfig(){
  47. try {
  48. $this->initPrint();
  49. $model = $this->model;
  50. $printer = $model->orderBy('id desc')->select('id, name, printer_type, printer_setting')->asArray()->one();
  51. if (!empty($printer)) {
  52. if (!empty($printer['printer_setting'])) {
  53. $printer['printer_setting'] = json_decode($printer['printer_setting'], true) ?: null;
  54. } else {
  55. $printer['printer_setting'] = null;
  56. }
  57. } else {
  58. $printer = [
  59. 'id' => 0,
  60. 'name' => '',
  61. 'printer_type' => 'kdt2',//kdt2 = 365云打印(编号kdt2) yilianyun-k4 = 易联云(易联云开放API接口v1.4.0)
  62. // feie = 飞鹅打印机 gp = 佳博云打印(GP-5890XIII/GP-5890XIV)
  63. 'printer_setting' => null
  64. ];
  65. }
  66. return [
  67. 'code' => 0,
  68. 'msg' => "获取成功",
  69. 'data' => [
  70. 'data' => $printer
  71. ]
  72. ];
  73. } catch (\Exception $e) {
  74. return [
  75. 'code' => 1,
  76. 'msg' => $e->getMessage(),
  77. ];
  78. }
  79. }
  80. //档口管理
  81. public function savePrinteConfig(){
  82. try {
  83. $this->initPrint();
  84. $model = $this->model;
  85. $id = $this->id;
  86. $name = $this->name;
  87. $store_id = $this->store_id;
  88. $printer_setting = $this->printer_setting;
  89. $printer_type = $this->printer_type;
  90. $printer = $model->andWhere(['id' => $id])->one();
  91. if (!$printer) {
  92. $printer = new Printer();
  93. }
  94. if (empty($name) || empty($printer_type)) {
  95. throw new \Exception("名称不能为空");
  96. }
  97. $printer->store_id = $store_id;
  98. $printer->name = $name;
  99. $printer->printer_type = $printer_type;
  100. $printer->printer_setting = json_encode($printer_setting);
  101. if (!$printer->save()) {
  102. throw new \Exception(json_encode($printer->errors));
  103. }
  104. return [
  105. 'code' => 0,
  106. 'msg' => "设置成功"
  107. ];
  108. } catch (\Exception $e) {
  109. return [
  110. 'code' => 1,
  111. 'msg' => $e->getMessage(),
  112. ];
  113. }
  114. }
  115. }