InitController.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. <?php
  2. namespace console\controllers;
  3. <<<<<<< HEAD
  4. use bizHd\order\classes\OrderClass;
  5. use bizHd\order\models\Order;
  6. =======
  7. use biz\admin\classes\AdminClass;
  8. use biz\admin\classes\AdminRoleClass;
  9. use biz\product\classes\XjClass;
  10. use biz\pt\classes\PtYeChangeClass;
  11. use biz\recharge\classes\RechargeClass;
  12. use biz\shop\classes\MainClass;
  13. use biz\shop\classes\ShopAdminClass;
  14. use biz\shop\classes\ShopClass;
  15. use biz\shop\classes\ShopYeChangeClass;
  16. use biz\sj\classes\CashClass;
  17. use biz\sj\classes\SjClass;
  18. use biz\stat\classes\StatCgClass;
  19. use biz\stat\classes\StatCgGhsClass;
  20. use biz\stat\classes\StatCgGhsMonthClass;
  21. use biz\stat\classes\StatCgMonthClass;
  22. use biz\stat\classes\StatOrderCountClass;
  23. use biz\stat\classes\StatOutClass;
  24. use biz\stat\classes\StatOutMonthClass;
  25. use biz\stat\classes\StatPdAddClass;
  26. use biz\stat\classes\StatPdAddMonthClass;
  27. use biz\stat\classes\StatPdSubClass;
  28. use biz\stat\classes\StatPdSubMonthClass;
  29. use biz\stat\classes\StatRefundClass;
  30. use biz\stat\classes\StatRefundMonthClass;
  31. use biz\stat\classes\StatSaleClass;
  32. use biz\stat\classes\StatSaleMonthClass;
  33. use biz\stat\classes\StatStockInClass;
  34. use biz\stat\classes\StatStockInMonthClass;
  35. use biz\stat\classes\StatStockOutClass;
  36. use biz\stat\classes\StatStockOutMonthClass;
  37. use biz\stat\classes\StatWastClass;
  38. use biz\stat\classes\StatWastMonthClass;
  39. use bizGhs\cg\classes\CgClass;
  40. use bizGhs\clear\classes\ClearClass;
  41. use bizGhs\clear\models\Clear;
  42. use bizGhs\custom\classes\CustomClass;
  43. use bizGhs\item\classes\ItemClass;
  44. use bizGhs\item\classes\ItemClassClass;
  45. use bizGhs\order\classes\CheckOrderClass;
  46. use bizGhs\order\classes\OrderClass;
  47. use bizGhs\order\classes\OrderItemClass;
  48. use bizGhs\order\classes\RefundOrderClass;
  49. use bizGhs\order\classes\RefundOrderItemClass;
  50. use bizGhs\order\classes\StockWastageOrderClass;
  51. use bizGhs\order\classes\StockWastageOrderItemClass;
  52. use bizGhs\stat\classes\StatYjClass;
  53. use bizGhs\stat\classes\StatYjMonthClass;
  54. use bizHd\cg\classes\CgRefundClass;
  55. use bizHd\cg\classes\CgRefundItemClass;
  56. use bizHd\ghs\classes\GhsClass;
  57. use bizHd\goods\classes\CategoryClass;
  58. use bizHd\goods\classes\GoodsCategoryClass;
  59. use bizHd\goods\classes\GoodsClass;
  60. use bizHd\goods\classes\GoodsSettingClass;
  61. use bizHd\order\classes\OrderGoodsClass;
  62. use bizHd\order\models\Order;
  63. use bizHd\purchase\classes\PurchaseClass;
  64. use bizHd\purchase\classes\PurchaseItemClass;
  65. use bizHd\saas\classes\FestRiseClass;
  66. use bizHd\stat\classes\StatOrderClass;
  67. use bizHd\stat\classes\StatOrderMonthClass;
  68. use bizHd\stat\classes\StatUserClass;
  69. use bizHd\stat\classes\StatUserMonthClass;
  70. use bizHd\stat\classes\StatVisitClass;
  71. use bizHd\stat\classes\StatVisitMonthClass;
  72. use bizHd\user\classes\UserClass;
  73. use common\components\dict;
  74. use common\components\stringUtil;
  75. >>>>>>> f0f562f584d13f17f95fdaaa1933ea9b918ba31c
  76. use Yii;
  77. use yii\console\Controller;
  78. class InitController extends Controller
  79. {
  80. <<<<<<< HEAD
  81. //供应商和花店历史订单和历史结账单 payStatus payTime更新
  82. // ./yii init/pay-status
  83. public function actionPayStatus()
  84. =======
  85. //花店订单脚本
  86. public function actionHdOrder()
  87. {
  88. $query = new \yii\db\Query();
  89. $query->from(Order::tableName());
  90. $query->where(['mainId' => 742]);
  91. foreach ($query->batch() as $batchOrder) {
  92. foreach ($batchOrder as $order) {
  93. $addTime = $order['addTime'] ?? '';
  94. $goodsPrice = $order['goodsPrice'] ?? 0;
  95. $goodsPrice = floatval($goodsPrice);
  96. $sendCost = $order['sendCost'] ?? 0;
  97. $sendCost = floatval($sendCost);
  98. $labourCost = $order['labourCost'] ?? 0;
  99. $labourCost = floatval($labourCost);
  100. $discountAmount = $order['discountAmount'] ?? 0;
  101. $discountAmount = floatval($discountAmount);
  102. $orderPrice = $order['orderPrice'] ?? 0;
  103. $orderPrice = floatval($orderPrice);
  104. $total = bcadd($goodsPrice, $sendCost, 2);
  105. $total = bcadd($total, $labourCost, 2);
  106. $final = bcsub($total, $discountAmount, 2);
  107. $final = floatval($final);
  108. $shopAdminName = $order['shopAdminName'] ?? '';
  109. $actPrice = $order['actPrice'] ?? 0;
  110. $orderSn = $order['orderSn'] ?? '';
  111. if ($final != $orderPrice) {
  112. echo "订单号:{$orderSn} {$addTime} \n";
  113. echo "===\n";
  114. $itemList = \bizHd\order\classes\OrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*');
  115. if (!empty($itemList)) {
  116. foreach ($itemList as $item) {
  117. echo $item['name'] . " " . $item['num'] . "X" . $item['unitPrice'] . " " . $item['price'] . "\n";
  118. }
  119. }
  120. $goodsList = OrderGoodsClass::getAllByCondition(['orderSn' => $orderSn], null, '*');
  121. if (!empty($goodsList)) {
  122. foreach ($goodsList as $goods) {
  123. echo $goods['name'] . " " . $goods['num'] . "X" . $goods['unitPrice'] . " " . $goods['price'] . "\n";
  124. }
  125. }
  126. echo "===\n";
  127. echo "商品总和:{$goodsPrice} \n运费:{$sendCost} \n人工包装费:{$labourCost} \n合计:{$total} \n优惠:{$discountAmount} \n订单金额:{$orderPrice} \n实付金额:{$actPrice} \n开单人:{$shopAdminName}\n\n\n\n\n";
  128. }
  129. }
  130. }
  131. }
  132. //花材菜单 ./yii init/menu
  133. public function actionMenu()
  134. {
  135. $sql = "ALTER TABLE xhGhsItemClass ADD shopId INT NOT NULL DEFAULT 0 COMMENT '门店id' AFTER sjId;";
  136. Yii::$app->db->createCommand($sql)->execute();
  137. $sql = "ALTER TABLE xhAdminRole ADD shopId INT NOT NULL DEFAULT 0 COMMENT '门店id' AFTER `sjId`;";
  138. Yii::$app->db->createCommand($sql)->execute();
  139. $list = SjClass::getAllByCondition(['id>' => 0], null, '*', null, true);
  140. if (!empty($list)) {
  141. foreach ($list as $sj) {
  142. $sjId = $sj->id ?? 0;
  143. if (empty($sjId)) {
  144. continue;
  145. }
  146. $shopList = ShopClass::getAllByCondition(['sjId' => $sjId], null, '*', null, true);
  147. if (empty($shopList)) {
  148. continue;
  149. }
  150. //补花材
  151. $classList = ItemClassClass::getAllByCondition(['sjId' => $sjId], null, '*');
  152. if (!empty($classList)) {
  153. foreach ($shopList as $shop) {
  154. $shopId = $shop->id ?? 0;
  155. foreach ($classList as $class) {
  156. $classId = $class['id'] ?? 0;
  157. $name = $class['name'] ?? '';
  158. $inTurn = $class['inTurn'] ?? '';
  159. $isDefault = $class['isDefault'] ?? 0;
  160. $data = [
  161. 'shopId' => $shopId,
  162. 'sjId' => $sjId,
  163. 'name' => $name,
  164. 'inTurn' => $inTurn,
  165. 'isDefault' => $isDefault,
  166. ];
  167. $r = ItemClassClass::add($data, true);
  168. $newId = $r->id ?? 0;
  169. ItemClass::updateByCondition(['shopId' => $shopId, 'classId' => $classId], ['classId' => $newId]);
  170. }
  171. }
  172. }
  173. //补角色
  174. $roleList = AdminRoleClass::getAllByCondition(['sjId' => $sjId], null, '*');
  175. if (!empty($roleList)) {
  176. foreach ($shopList as $shop) {
  177. $shopId = $shop->id ?? 0;
  178. foreach ($roleList as $role) {
  179. $roleName = $role['roleName'] ?? '';
  180. $roleId = $role['id'] ?? 0;
  181. $roleData = [
  182. 'shopId' => $shopId,
  183. 'sjId' => $sjId,
  184. 'roleName' => $roleName,
  185. ];
  186. $new = AdminRoleClass::add($roleData, true);
  187. $newId = $new->id ?? 0;
  188. ShopAdminClass::updateByCondition(['shopId' => $shopId, 'roleId' => $roleId], ['roleId' => $newId]);
  189. }
  190. }
  191. }
  192. }
  193. }
  194. }
  195. //初始化 ./yii init/main
  196. public function actionMain()
  197. >>>>>>> f0f562f584d13f17f95fdaaa1933ea9b918ba31c
  198. {
  199. ini_set('memory_limit', '2045M');
  200. set_time_limit(0);
  201. $sql = "UPDATE `xhOrder` SET `payStatus`=0;";
  202. Yii::$app->db->createCommand($sql)->execute();
  203. $sql = "UPDATE `xhGhsOrder` SET `payStatus`=0;";
  204. Yii::$app->db->createCommand($sql)->execute();
  205. $query = new \yii\db\Query();
  206. $query->from(Order::tableName());
  207. $query->where(['in', 'status', [2, 3, 4]]);
  208. $query->orderBy('deadline ASC');
  209. foreach ($query->batch() as $batchOrder) {
  210. foreach ($batchOrder as $hdOrder) {
  211. $addTime = $hdOrder['addTime'] ?? '';
  212. $id = $hdOrder['id'] ?? 0;
  213. OrderClass::updateById($id, ['payTime' => $addTime, 'payStatus' => 1]);
  214. }
  215. }
  216. $query = new \yii\db\Query();
  217. $query->from(\bizGhs\order\models\Order::tableName());
  218. $query->where(['in', 'status', [2, 3, 4]]);
  219. $query->orderBy('deadline ASC');
  220. foreach ($query->batch() as $batchOrder) {
  221. foreach ($batchOrder as $ghsOrder) {
  222. $addTime = $ghsOrder['addTime'] ?? '';
  223. $id = $ghsOrder['id'] ?? 0;
  224. \bizGhs\order\classes\OrderClass::updateById($id, ['payTime' => $addTime, 'payStatus' => 1]);
  225. }
  226. }
  227. $sql = "UPDATE `xhClear` SET `payTime`=`addTime` where `status`=2;";
  228. Yii::$app->db->createCommand($sql)->execute();
  229. }
  230. }