Sql.Class.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. <?php
  2. /**
  3. * 测试sql
  4. * Created by PhpStorm.
  5. * User=> 小威
  6. * Date=> 2020/05/16
  7. * Time=> 11=>31
  8. */
  9. namespace Jindouyun\Controller\Common;
  10. use Mall\Framework\Core\ErrorCode;
  11. use Mall\Framework\Core\ResultWrapper;
  12. use Mall\Framework\Core\StatusCode;
  13. use Mall\Framework\Factory;
  14. use JinDouYun\Controller\BaseController;
  15. use JinDouYun\Model\Common\MSql;
  16. class Sql extends BaseController
  17. {
  18. private $objMSql;
  19. public function __construct()
  20. {
  21. parent::__construct(false,false,false,false);
  22. $this->objMSql = new MSql();
  23. }
  24. public function batchRestoreSql()
  25. {
  26. $result = $this->objMSql->batchRestoreSql();
  27. if($result->isSuccess()){
  28. $this->sendOutput($result->getData(), $result->getErrorCode());
  29. }
  30. $this->sendOutput($result->getData());
  31. }
  32. /**
  33. * 批量执行
  34. */
  35. public function autoBatchSql()
  36. {
  37. $params = $this->request->getRawJson();
  38. $sql = "
  39. ALTER TABLE `www.qianniao.vip`.`qianniao_member_balance_detail_1` ADD COLUMN `accountId` int(10) NULL COMMENT '账户id' AFTER `orderIds`,ADD COLUMN `accountNumber` varchar(255) NULL COMMENT '账号' AFTER `accountId`,ADD COLUMN `accountName` varchar(255) NULL COMMENT '账号名称' AFTER `accountNumber`;
  40. ALTER TABLE `finance.qianniao.vip`.`qianniao_customer_balance_detail_1` CHANGE COLUMN `no` `sourceNo` char(25) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '来源编号' AFTER `receiptTime`,CHANGE COLUMN `sourceNo` `originNo` char(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '原始单据编号' AFTER `financeTypeId`,CHANGE COLUMN `sourceId` `originId` int(10) NULL DEFAULT 0 COMMENT '原始单据id' AFTER `originNo`,ADD COLUMN `sourceId` int(10) NULL DEFAULT 0 COMMENT '来源id' AFTER `receiptTime`
  41. ";
  42. if(empty($sql)){
  43. if(!isset($params['sql']) || empty($params['sql'])){
  44. parent::sendOutput('请输入要执行的sql语句', ErrorCode::$paramError);
  45. }
  46. $sql = $params['sql'];
  47. }
  48. $array = explode(';',$sql);
  49. $i = 0;
  50. $data = [];
  51. foreach($array as $key => $value){
  52. $value = trim($value);
  53. if(!empty($value)){
  54. $result = $this->objMSql->batchSql(trim($value));
  55. $i++;
  56. // $data[$i] = [
  57. // 'sql' => $value,
  58. // 'message' => $result->getData()
  59. // ];
  60. }
  61. }
  62. $return['title'] = '共执行'.$i.'条语句';
  63. $return['data'] = $data;
  64. parent::sendOutput($return);
  65. }
  66. /**
  67. * 批量删除某个企业的表
  68. */
  69. public function dropEnterpriseTable()
  70. {
  71. $date = [];
  72. for ($i = 2; $i <= 100; $i++) {
  73. $date[] = $i;
  74. }
  75. $sql = 'select id from `www.qianniao.vip`.`qianniao_enterprise_1`';
  76. $dbResult = $this->objDGoods->query($sql);
  77. $aa = [];
  78. foreach ($dbResult as $value) {
  79. $aa[] = $value['id'];
  80. }
  81. $dbResult = array_diff($date, $aa);
  82. // V($dbResult);
  83. // $sql = 'select id from `www.qianniao.vip`.`qianniao_enterprise_1` where expireTime <= '.time();
  84. // $dbResult = $this->objDGoods->query($sql);
  85. if (empty($dbResult)) {
  86. exit('没有过期企业');
  87. }
  88. $i = 0;
  89. foreach ($dbResult as $value) {
  90. $enterpriseId = $value;
  91. // $enterpriseId = $value['id'];
  92. $sql = 'DROP TABLE `www.qianniao.vip`.`qianniao_activity_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_activity_goods_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_cart_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_commission_businessman_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_coupon_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_customer_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_customer_contact_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_customer_shipping_address_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_department_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_department_role_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_goods_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_goods_basic_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_goods_brand_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_goods_category_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_goods_collect_' . $enterpriseId . '_1`, `www.qianniao.vip`.`qianniao_material_content_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_message_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_order_' . $enterpriseId . '_1`, `www.qianniao.vip`.`qianniao_order_coupon_' . $enterpriseId . '_1`, `www.qianniao.vip`.`qianniao_order_goods_' . $enterpriseId . '_1`, `www.qianniao.vip`.`qianniao_order_index_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_order_receive_' . $enterpriseId . '_1`, `www.qianniao.vip`.`qianniao_order_return_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_order_return_details_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_order_statistics_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_page_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_role_acl_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_sku_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_spec_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_staff_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_units_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_user_coupon_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_vip_card_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_vip_card_order_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_allocate_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_allocate_details_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_inventory_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_inventory_batch_' . $enterpriseId . '_1`, `stock.qianniao.vip`.`qianniao_inventory_details_' . $enterpriseId . '_1_203`, `stock.qianniao.vip`.`qianniao_inventory_in_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_inventory_in_details_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_inventory_locking_' . $enterpriseId . '_203`, `stock.qianniao.vip`.`qianniao_inventory_out_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_inventory_out_details_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_purchase_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_purchase_goods_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_purchase_out_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_purchase_out_goods_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_stocktaking_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_stocktaking_details_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_supplier_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_warehouse_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_warehouse_beginning_' . $enterpriseId . '`, `price.qianniao.vip`.`qianniao_customerPriceAdjustmentSheet_' . $enterpriseId . '_2020_3`, `price.qianniao.vip`.`qianniao_customerPriceEffective_' . $enterpriseId . '`, `price.qianniao.vip`.`qianniao_customerTypePriceAdjustmentSheet_' . $enterpriseId . '_2020_3`, `price.qianniao.vip`.`qianniao_customerTypePriceEffective_' . $enterpriseId . '`, `price.qianniao.vip`.`qianniao_lastEffectiveSalePriceAreaType_' . $enterpriseId . '`, `price.qianniao.vip`.`qianniao_nationalUnifiedPrice_' . $enterpriseId . '`, `price.qianniao.vip`.`qianniao_priceAdjustmentSheet_' . $enterpriseId . '_2020_3`, `price.qianniao.vip`.`qianniao_priceRangeSheet_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_account_transfer_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_customer_balance_' . $enterpriseId . '_1`, `finance.qianniao.vip`.`qianniao_customer_balance_detail_' . $enterpriseId . '_2020_3`, `finance.qianniao.vip`.`qianniao_customer_balance_detail_index_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_customer_balance_index_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_paid_' . $enterpriseId . '_2020_3`, `finance.qianniao.vip`.`qianniao_paid_account_' . $enterpriseId . '_2020_3`, `finance.qianniao.vip`.`qianniao_paid_index_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_pay_receipt_' . $enterpriseId . '_2020_3`, `finance.qianniao.vip`.`qianniao_pay_receipt_index_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_receive_receipt_' . $enterpriseId . '_2020_3`, `finance.qianniao.vip`.`qianniao_receive_receipt_index_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_received_' . $enterpriseId . '_2020_3`, `finance.qianniao.vip`.`qianniao_received_account_' . $enterpriseId . '_2020_3`, `finance.qianniao.vip`.`qianniao_received_index_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_supplier_balance_' . $enterpriseId . '_1`, `finance.qianniao.vip`.`qianniao_supplier_balance_detail_' . $enterpriseId . '_2020_3`, `finance.qianniao.vip`.`qianniao_supplier_balance_detail_index_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_supplier_balance_index_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_commission_flow_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_commission_goods_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_commission_goods_statistics_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_commission_order_' . $enterpriseId . '_2020_3`, `www.qianniao.vip`.`qianniao_commission_order_index_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_commission_withdrawals_' . $enterpriseId . '`, `price.qianniao.vip`.`qianniao_priceAdjustmentSheet_' . $enterpriseId . '_2020_2`, `finance.qianniao.vip`.`qianniao_customer_balance_detail_' . $enterpriseId . '_2020_2`, `finance.qianniao.vip`.`qianniao_pay_receipt_' . $enterpriseId . '_2020_2`, `finance.qianniao.vip`.`qianniao_receive_receipt_' . $enterpriseId . '_2020_2`, `finance.qianniao.vip`.`qianniao_received_' . $enterpriseId . '_2020_2`, `finance.qianniao.vip`.`qianniao_received_account_' . $enterpriseId . '_2020_2`, `finance.qianniao.vip`.`qianniao_supplier_balance_detail_' . $enterpriseId . '_2020_2`, `www.qianniao.vip`.`qianniao_common_app_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_delivery_rule_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_delivery_self_rule_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_customer_balance_detail_' . $enterpriseId . '_2020_1`, `finance.qianniao.vip`.`qianniao_account_detail_' . $enterpriseId . '_1`, `finance.qianniao.vip`.`qianniao_paid_' . $enterpriseId . '_2020_1`, `finance.qianniao.vip`.`qianniao_paid_account_' . $enterpriseId . '_2020_1`, `finance.qianniao.vip`.`qianniao_pay_receipt_' . $enterpriseId . '_2020_1`, `finance.qianniao.vip`.`qianniao_receive_receipt_' . $enterpriseId . '_2020_1`, `finance.qianniao.vip`.`qianniao_received_' . $enterpriseId . '_2020_1`, `finance.qianniao.vip`.`qianniao_received_account_' . $enterpriseId . '_2020_1`, `www.qianniao.vip`.`qianniao_enterprise_template_module_' . $enterpriseId . '`';
  93. // $enterpriseSql = 'DELETE FROM `www.qianniao.vip`.`qianniao_enterprise_1` WHERE `id` = '.$enterpriseId;
  94. // $this->objDGoods->query($enterpriseSql);
  95. $enterpriseBandUserCenterSql = 'DELETE FROM `www.qianniao.vip`.`qianniao_user_bind_enterprise` WHERE `enterpriseId` = ' . $enterpriseId;
  96. $this->objDGoods->query($enterpriseBandUserCenterSql);
  97. $this->objDGoods->query($sql);
  98. $i++;
  99. }
  100. exit('执行成功, 共删除' . $i . '个企业');
  101. }
  102. /**
  103. * 批量执行格式化客户名称首字母
  104. */
  105. public function initCustomerCondition()
  106. {
  107. $result = $this->objMSql->initCustomerCondition();
  108. if(!$result->isSuccess()){
  109. parent::sendOutput($result->getData(), $result->getErrorCode());
  110. }
  111. parent::sendOutput($result->getData());
  112. }
  113. /**
  114. * 批量执行格式化角色cache
  115. */
  116. public function initCache()
  117. {
  118. $result = $this->objMSql->initCache();
  119. if(!$result->isSuccess()){
  120. parent::sendOutput($result->getData(), $result->getErrorCode());
  121. }
  122. parent::sendOutput($result->getData());
  123. }
  124. /**
  125. * 清空企业数据
  126. */
  127. public function removeEnterprise()
  128. {
  129. $enterpriseId = $this->request->param('request_id');
  130. $enterpriseId = 169;
  131. $result = $this->objMSql->removeEnterprise($enterpriseId);
  132. if(!$result->isSuccess()){
  133. parent::sendOutput($result->getData(), $result->getErrorCode());
  134. }
  135. parent::sendOutput($result->getData());
  136. }
  137. /**
  138. * 复制库存表
  139. */
  140. public function cpInventoryTable()
  141. {
  142. $result = $this->objMSql->cpInventoryTable();
  143. if(!$result->isSuccess()){
  144. parent::sendOutput($result->getData(), $result->getErrorCode());
  145. }
  146. parent::sendOutput($result->getData());
  147. }
  148. /**
  149. * 更新真实销量
  150. */
  151. // public function updateGoods()
  152. // {
  153. // $result = $this->objMSql->updateGoods();
  154. // if(!$result->isSuccess()){
  155. // parent::sendOutput($result->getData(), $result->getErrorCode());
  156. // }
  157. // parent::sendOutput($result->getData());
  158. // }
  159. /**
  160. * 修复订单成本
  161. */
  162. public function updateOrderCost()
  163. {
  164. $result = $this->objMSql->updateOrderCost();
  165. if(!$result->isSuccess()){
  166. parent::sendOutput($result->getData(), $result->getErrorCode());
  167. }
  168. parent::sendOutput($result->getData());
  169. }
  170. /**
  171. * 平账脚本
  172. * ① 查出所有客户的money
  173. * ② 根据money字段进行创建收款单平账
  174. * ③ 创建完收款单后自动审核
  175. */
  176. public function balancingAccounts()
  177. {
  178. $result = $this->objMSql->balancingAccounts();
  179. if(!$result->isSuccess()){
  180. parent::sendOutput($result->getData(), $result->getErrorCode());
  181. }
  182. parent::sendOutput($result->getData());
  183. }
  184. /**
  185. * 删除xhjc的商品属性
  186. */
  187. public function delXhjcGoods()
  188. {
  189. $result = $this->objMSql->delXhjcGoods();
  190. if(!$result->isSuccess()){
  191. parent::sendOutput($result->getData(), $result->getErrorCode());
  192. }
  193. parent::sendOutput($result->getData());
  194. }
  195. }