M231229032830StoreReserveOrder.php 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. <?php
  2. namespace addons\Store\console\migrations;
  3. use yii\db\Migration;
  4. /**
  5. * Class M231229032830StoreReserveOrder
  6. */
  7. class M231229032830StoreReserveOrder extends Migration
  8. {
  9. /**
  10. * {@inheritdoc}
  11. */
  12. public function safeUp()
  13. {
  14. $this->execute("CREATE TABLE `qimall_addons_store_goods_reserve` (
  15. `id` INT(11) NOT NULL AUTO_INCREMENT,
  16. `mall_id` INT(11) NOT NULL DEFAULT '0' COMMENT '商城id',
  17. `store_id` INT(11) NOT NULL DEFAULT '0' COMMENT '商家id',
  18. `goods_id` INT(11) NOT NULL DEFAULT '0' COMMENT '商品id',
  19. `price` DECIMAL(10,2) NOT NULL DEFAULT '0.00' COMMENT '售价',
  20. `original_price` DECIMAL(10,2) NOT NULL DEFAULT '0.00' COMMENT '原价(划线价仅展示)',
  21. `cost_price` DECIMAL(10,2) NOT NULL DEFAULT '0.00' COMMENT '成本价',
  22. `reserve_date_type` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '可预约时间类型(1范围 2自选日期)',
  23. `reserve_week` VARCHAR(32) NULL DEFAULT '0,1,2,3,4,5,6' COMMENT '可预约周' COLLATE 'utf8mb4_general_ci',
  24. `reserve_date` LONGTEXT NULL DEFAULT NULL COMMENT '可预约日期' COLLATE 'utf8mb4_general_ci',
  25. `reserve_time_range_type` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '预约模式(1按天预约 2按时间段预约)',
  26. `time_slot_type` TINYINT(4) NOT NULL DEFAULT '1' COMMENT '时间段划分方式(1自定义划分 2自动划分)',
  27. `reserve_time_slot` LONGTEXT NULL DEFAULT NULL COMMENT '时间段划分' COLLATE 'utf8mb4_general_ci',
  28. `reserve_price_type` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '价格设置方式(0统一售价 1按日期时间段设置)',
  29. `reserve_time_slot_price` LONGTEXT NULL DEFAULT NULL COMMENT '时间段价格设置' COLLATE 'utf8mb4_general_ci',
  30. `reserve_max_buy` INT(11) NOT NULL DEFAULT '0' COMMENT '每天最大预约数量',
  31. `reserve_advance_hourse` INT(11) NOT NULL DEFAULT '0' COMMENT '提前预约时间(小时)',
  32. `reserve_days_range` INT(11) NOT NULL DEFAULT '0' COMMENT '限制选择并购买的时间在设置内天数的商品',
  33. `cancel_type` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '取消类型(1不允许取消 2服务开始前取消 3订单类型取消)',
  34. `cancel_rule` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '取消退款规则' COLLATE 'utf8mb4_general_ci',
  35. `expired_handle_type` TINYINT(1) NOT NULL COMMENT '预约码过期后处理方式(1不退款 2自动退款)',
  36. `province_id` INT(11) NOT NULL COMMENT '省ID',
  37. `city_id` INT(11) NOT NULL COMMENT '市ID',
  38. `district_id` INT(11) NOT NULL DEFAULT '0' COMMENT '区县ID',
  39. `detail` VARCHAR(1000) NOT NULL DEFAULT '' COMMENT '详细地址' COLLATE 'utf8mb4_general_ci',
  40. `lat` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '纬度' COLLATE 'utf8mb4_general_ci',
  41. `lng` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '经度' COLLATE 'utf8mb4_general_ci',
  42. `region_name` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '省市区字符串' COLLATE 'utf8mb4_general_ci',
  43. `service_type` TINYINT(3) NOT NULL DEFAULT '0' COMMENT '服务方式(1上门 2到店)',
  44. `created_at` INT(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
  45. `updated_at` INT(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
  46. `ordering_information` TEXT NOT NULL COMMENT '订购须知' COLLATE 'utf8mb4_general_ci',
  47. `information_detail` TEXT NOT NULL COMMENT '须知详情' COLLATE 'utf8mb4_general_ci',
  48. `reserve_type` TINYINT(4) NOT NULL DEFAULT '0' COMMENT '0商品预约,1项目服务预约',
  49. `distance` DECIMAL(5,2) NOT NULL DEFAULT '0.00' COMMENT '有效距离',
  50. `service_min` SMALLINT(6) NOT NULL DEFAULT '0' COMMENT '服务时长',
  51. PRIMARY KEY (`id`) USING BTREE,
  52. INDEX `mall_id_mch_id_goods_name_index` (`mall_id`, `store_id`) USING BTREE
  53. )
  54. COMMENT='预约商品表'
  55. COLLATE='utf8mb4_general_ci'
  56. ENGINE=InnoDB");
  57. $this->execute("CREATE TABLE `qimall_addons_store_goods_reserve_sku` (
  58. `id` INT(11) NOT NULL AUTO_INCREMENT,
  59. `mall_id` INT(11) NOT NULL DEFAULT '0' COMMENT '商城id',
  60. `store_id` INT(11) NOT NULL DEFAULT '0' COMMENT '商家id',
  61. `name` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '规格名称' COLLATE 'utf8mb4_general_ci',
  62. `sign_id` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '规格ID标识' COLLATE 'utf8mb4_general_ci',
  63. `pic_url` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '规格图片' COLLATE 'utf8mb4_general_ci',
  64. `goods_id` INT(11) NOT NULL DEFAULT '0' COMMENT '商品id',
  65. `price` DECIMAL(10,2) NOT NULL DEFAULT '0.00' COMMENT '售价',
  66. `original_price` DECIMAL(10,2) NOT NULL DEFAULT '0.00' COMMENT '原价(划线价仅展示)',
  67. `cost_price` DECIMAL(10,2) NOT NULL DEFAULT '0.00' COMMENT '成本价',
  68. `reserve_date_type` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '可预约时间类型(1范围 2自选日期)',
  69. `reserve_week` VARCHAR(32) NULL DEFAULT '0,1,2,3,4,5,6' COMMENT '可预约周' COLLATE 'utf8mb4_general_ci',
  70. `reserve_date` LONGTEXT NULL DEFAULT NULL COMMENT '可预约日期' COLLATE 'utf8mb4_general_ci',
  71. `reserve_time_range_type` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '预约模式(1按天预约 2按时间段预约)',
  72. `time_slot_type` TINYINT(4) NOT NULL DEFAULT '1' COMMENT '时间段划分方式(1自定义划分 2自动划分)',
  73. `reserve_time_slot` LONGTEXT NULL DEFAULT NULL COMMENT '时间段划分' COLLATE 'utf8mb4_general_ci',
  74. `reserve_price_type` TINYINT(1) NOT NULL COMMENT '价格设置方式(0统一售价 1按日期时间段设置)',
  75. `reserve_time_slot_price` LONGTEXT NOT NULL COMMENT '时间段价格设置' COLLATE 'utf8mb4_general_ci',
  76. `reserve_max_buy` INT(11) NOT NULL DEFAULT '0' COMMENT '每天最大预约数量',
  77. `created_at` INT(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
  78. `updated_at` INT(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
  79. `service_min` INT(11) NOT NULL DEFAULT '0' COMMENT '服务分钟',
  80. `unit` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '单位' COLLATE 'utf8mb4_general_ci',
  81. PRIMARY KEY (`id`) USING BTREE,
  82. INDEX `mall_id_mch_id_goods_name_index` (`mall_id`, `store_id`) USING BTREE
  83. )
  84. COMMENT='预约商品规格'
  85. COLLATE='utf8mb4_general_ci'
  86. ENGINE=InnoDB;");
  87. $this->execute("CREATE TABLE `qimall_addons_store_goods_reserve_time` (
  88. `id` INT(11) NOT NULL AUTO_INCREMENT,
  89. `mall_id` INT(11) NOT NULL DEFAULT '0' COMMENT '商城id',
  90. `store_id` INT(11) NOT NULL DEFAULT '0' COMMENT '商家id',
  91. `price` DECIMAL(10,2) NOT NULL DEFAULT '0.00' COMMENT '售价',
  92. `original_price` DECIMAL(10,2) NOT NULL DEFAULT '0.00' COMMENT '原价(划线价仅展示)',
  93. `cost_price` DECIMAL(10,2) NOT NULL DEFAULT '0.00' COMMENT '成本价',
  94. `reserve_max_buy` INT(11) NOT NULL DEFAULT '0' COMMENT '每天最大预约数量',
  95. `reserve_time` VARCHAR(32) NULL DEFAULT NULL COMMENT '预约日期标题' COLLATE 'utf8mb4_general_ci',
  96. `reserve_range_time` TEXT NULL DEFAULT NULL COMMENT '时分秒时间范围' COLLATE 'utf8mb4_general_ci',
  97. `reserve_sku_id` INT(11) NOT NULL DEFAULT '0' COMMENT '预约商品SKU',
  98. `stock` INT(11) NOT NULL DEFAULT '0' COMMENT '库存',
  99. `sales` INT(11) NULL DEFAULT NULL COMMENT '销量',
  100. `time_span` INT(11) NULL DEFAULT '0' COMMENT '时间间隔',
  101. `created_at` INT(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
  102. `updated_at` INT(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
  103. PRIMARY KEY (`id`) USING BTREE,
  104. INDEX `mall_id_mch_id_goods_name_index` (`mall_id`, `store_id`) USING BTREE
  105. )
  106. COMMENT='预约商品时间表'
  107. COLLATE='utf8mb4_general_ci'
  108. ENGINE=InnoDB;");
  109. $this->execute("CREATE TABLE `qimall_addons_store_goods_reserve_time_spec` (
  110. `id` INT(11) NOT NULL AUTO_INCREMENT,
  111. `spec_time` VARCHAR(16) NULL DEFAULT NULL COMMENT 'spec标题' COLLATE 'utf8mb4_general_ci',
  112. `start` VARCHAR(32) NULL DEFAULT NULL COMMENT '开始时间点' COLLATE 'utf8mb4_general_ci',
  113. `end` VARCHAR(32) NULL DEFAULT NULL COMMENT '结束时间点' COLLATE 'utf8mb4_general_ci',
  114. `reserve_time_id` INT(11) NOT NULL DEFAULT '0' COMMENT '商城id',
  115. `reserve_sku_id` INT(11) NULL DEFAULT NULL COMMENT '预约商品SKU',
  116. `checked` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '是否选中',
  117. `is_next` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '结束时间[0当日 1次日]',
  118. `stock` INT(11) NOT NULL DEFAULT '0' COMMENT '库存',
  119. `price` DECIMAL(10,2) NOT NULL DEFAULT '0.00' COMMENT '售价',
  120. `original_price` DECIMAL(10,2) NOT NULL DEFAULT '0.00' COMMENT '原价(划线价仅展示)',
  121. `cost_price` DECIMAL(10,2) NOT NULL DEFAULT '0.00' COMMENT '成本价',
  122. `reserve_max_buy` INT(11) NOT NULL DEFAULT '0' COMMENT '每天最大预约数量',
  123. `updated_at` INT(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
  124. `created_at` INT(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
  125. PRIMARY KEY (`id`) USING BTREE,
  126. INDEX `mall_id_mch_id_goods_name_index` (`reserve_time_id`) USING BTREE
  127. )
  128. COMMENT='预约商品时间规格表'
  129. COLLATE='utf8mb4_general_ci'
  130. ENGINE=InnoDB;");
  131. $this->execute("CREATE TABLE `qimall_addons_store_order_reserve` (
  132. `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
  133. `order_id` INT(11) NOT NULL DEFAULT '0' COMMENT '主订单id',
  134. `main_order_id` INT(11) NOT NULL DEFAULT '0' COMMENT '主订单ID',
  135. `store_id` INT(11) NOT NULL DEFAULT '0' COMMENT '门店id',
  136. `mall_id` INT(11) NOT NULL DEFAULT '0' COMMENT '商城ID',
  137. `user_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户id',
  138. `time_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '预约时间id',
  139. `time_spec_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '预约时间id',
  140. `reserve_date_time` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '预约时间' COLLATE 'utf8mb4_general_ci',
  141. `reserve_time_range_type` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '预约模式(1按天预约 2按时间段预约)',
  142. `province_id` INT(11) NOT NULL COMMENT '省ID',
  143. `city_id` INT(11) NOT NULL COMMENT '市ID',
  144. `district_id` INT(11) NOT NULL DEFAULT '0' COMMENT '区县ID',
  145. `detail` VARCHAR(1000) NOT NULL DEFAULT '' COMMENT '详细地址' COLLATE 'utf8mb4_general_ci',
  146. `lat` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '纬度' COLLATE 'utf8mb4_general_ci',
  147. `lng` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '经度' COLLATE 'utf8mb4_general_ci',
  148. `region_name` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '地区字符串' COLLATE 'utf8mb4_general_ci',
  149. `service_type` VARCHAR(255) NULL DEFAULT NULL COMMENT '服务方式(1上门 2到店)' COLLATE 'utf8mb4_general_ci',
  150. `order_status` TINYINT(4) NULL DEFAULT '0' COMMENT '订单状态',
  151. `pay_status` TINYINT(4) NULL DEFAULT '0' COMMENT '订单付款状态',
  152. `reserve_status` TINYINT(4) NULL DEFAULT '0' COMMENT '订单预约状态',
  153. `feedback_status` TINYINT(4) NULL DEFAULT '0' COMMENT '售后状态',
  154. `cancel_rule` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '取消退款规则' COLLATE 'utf8mb4_general_ci',
  155. `cancel_type` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '取消类型(1不允许取消 2服务开始前取消 3订单类型取消)',
  156. `reserve_code` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '预约码' COLLATE 'utf8mb4_general_ci',
  157. `created_at` INT(10) NULL DEFAULT '0' COMMENT '创建时间',
  158. `updated_at` INT(10) NULL DEFAULT '0' COMMENT '更新时间',
  159. `reserve_type` TINYINT(4) NOT NULL DEFAULT '0' COMMENT '0商品预约,1项目服务预约',
  160. `tech_id` INT(11) NOT NULL DEFAULT '0' COMMENT '技师/师傅ID',
  161. `distance` DECIMAL(5,2) NOT NULL DEFAULT '0.00' COMMENT '有效距离',
  162. PRIMARY KEY (`id`) USING BTREE
  163. )
  164. COMMENT='订单表'
  165. COLLATE='utf8mb4_general_ci'
  166. ENGINE=InnoDB;");
  167. $this->execute("CREATE TABLE `qimall_addons_store_reserve_underwriter` (
  168. `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
  169. `created_at` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '创建时间',
  170. `updated_at` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '更新时间',
  171. `mall_id` INT(10) UNSIGNED NOT NULL COMMENT '商城ID',
  172. `status` TINYINT(3) NOT NULL DEFAULT '1' COMMENT '状态0禁用,-1删除,1正常',
  173. `user_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户ID',
  174. `order_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '订单ID',
  175. `order_no` CHAR(30) NOT NULL DEFAULT '' COMMENT '订单号' COLLATE 'utf8mb4_general_ci',
  176. PRIMARY KEY (`id`) USING BTREE,
  177. INDEX `user_id` (`user_id`) USING BTREE,
  178. INDEX `order_id` (`order_id`) USING BTREE,
  179. INDEX `order_no` (`order_no`) USING BTREE
  180. )
  181. COMMENT='核销记录'
  182. COLLATE='utf8mb4_general_ci'
  183. ENGINE=InnoDB;");
  184. $this->execute("CREATE TABLE `qimall_addons_store_reserve_order` (
  185. `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
  186. `created_at` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '创建时间',
  187. `updated_at` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '更新时间',
  188. `mall_id` INT(10) UNSIGNED NOT NULL COMMENT '商城ID',
  189. `status` TINYINT(3) NOT NULL DEFAULT '1' COMMENT '状态0禁用,-1删除,1正常',
  190. `user_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户ID',
  191. `staff_user_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '技师用户ID',
  192. `order_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '订单ID',
  193. `service_status` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' COMMENT '服务状态',
  194. `order_no` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '订单编号' COLLATE 'utf8mb4_general_ci',
  195. `service_start_at` INT(11) NOT NULL DEFAULT '0' COMMENT '服务开始时间',
  196. `service_end_at` INT(11) NOT NULL DEFAULT '0' COMMENT '服务结束时间',
  197. `remark` TEXT NULL DEFAULT NULL COMMENT '备注信息' COLLATE 'utf8mb4_general_ci',
  198. `commission` DECIMAL(10,2) NOT NULL DEFAULT '0.00' COMMENT '佣金信息',
  199. `order_detail_id` INT(11) NOT NULL DEFAULT '0' COMMENT '订单详情ID',
  200. `goods_id` INT(11) NOT NULL DEFAULT '0' COMMENT '商品ID',
  201. PRIMARY KEY (`id`) USING BTREE,
  202. INDEX `user_id` (`user_id`) USING BTREE,
  203. INDEX `staff_user_id` (`staff_user_id`) USING BTREE,
  204. INDEX `service_start_at` (`service_start_at`, `service_end_at`) USING BTREE
  205. )
  206. COMMENT='预约记录'
  207. COLLATE='utf8mb4_general_ci'
  208. ENGINE=InnoDB;");
  209. $this->execute("CREATE TABLE `qimall_addons_store_staff_apply` (
  210. `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  211. `mall_id` INT(11) UNSIGNED NOT NULL DEFAULT '0' COMMENT '商城ID',
  212. `user_id` INT(11) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户ID',
  213. `store_id` INT(11) UNSIGNED NOT NULL DEFAULT '0' COMMENT '门店ID',
  214. `status` TINYINT(4) NOT NULL DEFAULT '1' COMMENT '状态;1正常,0禁用,-1删除',
  215. `check_status` TINYINT(4) NOT NULL DEFAULT '0' COMMENT '审核状态:0:待审核;1:已通过;2:未通过',
  216. `check_remark` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '审核备注' COLLATE 'utf8mb4_general_ci',
  217. `created_at` INT(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
  218. `updated_at` INT(11) NOT NULL DEFAULT '0' COMMENT '更新时间',
  219. `name` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '姓名' COLLATE 'utf8mb4_general_ci',
  220. `pic` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '相片' COLLATE 'utf8mb4_general_ci',
  221. `phone` CHAR(15) NOT NULL DEFAULT '' COMMENT '电话' COLLATE 'utf8mb4_general_ci',
  222. PRIMARY KEY (`id`) USING BTREE,
  223. INDEX `user_id` (`user_id`) USING BTREE,
  224. INDEX `store_id` (`store_id`) USING BTREE
  225. )
  226. COMMENT='技师申请列表'
  227. COLLATE='utf8mb4_general_ci'
  228. ENGINE=InnoDB;");
  229. // $this->execute("ALTER TABLE `qimall_addons_store_order_refund` ADD COLUMN `goods_type` TINYINT NOT NULL DEFAULT 1 COMMENT '商品类型' AFTER `updated_at`;");
  230. $this->execute("ALTER TABLE `qimall_addons_store_cate` CHANGE COLUMN `advert_url` `advert_url` TEXT NULL COMMENT '广告链接' COLLATE 'utf8mb4_general_ci' AFTER `advert_pic`;");
  231. }
  232. /**
  233. * {@inheritdoc}
  234. */
  235. public function safeDown()
  236. {
  237. echo "M231229032830StoreReserveOrder cannot be reverted.\n";
  238. return false;
  239. }
  240. /*
  241. // Use up()/down() to run migration code without a transaction.
  242. public function up()
  243. {
  244. }
  245. public function down()
  246. {
  247. echo "M231229032830StoreReserveOrder cannot be reverted.\n";
  248. return false;
  249. }
  250. */
  251. }