assign('merchant_id', $merchant_id); $this->display(); } /** * 获取门店 */ public function getStoreList() { // 判断登录 $admin = I('session.admin_userinfo'); if (empty($admin)) { $res = array( 'status' => 0, 'msg' => '登录超时' ); $this->ajaxReturn($res); } // 接受参数 $merchant_id = I('post.merchant_id'); $result = $this->getCondition($merchant_id);//获取门店列表 if ($result['status'] == 0) { $this->ajaxReturn($result); } // 判断门店 if (empty(self::$store_ids)) { $res = array( 'status' => 1, 'msg' => '暂无门店' ); $this->ajaxReturn($res); } // 获取门店 $StoreModel = D('RetailStore'); // 字段 $field = array( $StoreModel::ID, $StoreModel::STORE_NAME . ' as text' ); // 排序 $order = $StoreModel::STORE_TYPE . ' asc,' . $StoreModel::ID . ' asc'; $sMap = array( $StoreModel::ID => array('in', self::$store_ids) ); $store_list = $StoreModel->getSelect($sMap, $field, $order); // 处理数据 foreach ($store_list as &$val) { // 获取定义树结构 $val['children'] = $this->definitionTree($val['id']); } $res = array( 'status' => 2, 'store_list' => $store_list ); $this->ajaxReturn($res); } /** * 查询商户 * @param $merchant_id 商户id * @return array */ protected function getCondition($merchant_id) { // 判断参数 if (!$merchant_id) { $res = array( 'status' => 0, 'msg' => '参数异常,请刷新重试' ); $this->ajaxReturn($res); } // 查询商户 $MerchantModel = D('RetailMerchant'); $mMap = array( $MerchantModel::ID => $merchant_id, $MerchantModel::STATUS => 1 ); $merchant = $MerchantModel->getFind($mMap); if (empty($merchant)) { $res = array( 'status' => 0, 'msg' => '商户查询异常,请刷新重试' ); return $res; } self::$merchant = $merchant; // 查询商户下的门店 $StoreModel = D('RetailStore'); $sMap = array( $StoreModel::MERCHANT_ID => self::$merchant['id'], $StoreModel::STATE => 0 ); self::$store_ids = $StoreModel->getFindField($sMap, $StoreModel::ID, true); // 可以操作 $res = array( 'status' => 1, 'msg' => '可以操作' ); return $res; } /** * 定义结构树 * @param $id int 当前的门店id * @return array */ protected function definitionTree($id) { $children = array( // 会员 array( 'id' => $id . '_vip', 'text' => '会员' ), // 仓库 array( 'id' => $id . '_warehouse', 'text' => '仓库', 'children' => array( array('id' => $id . '_order', 'text' => '商品及关联订单'), array('id' => $id . '_sale', 'text' => '进销存'), array('id' => $id . '_supplier', 'text' => '供货商'), array('id' => $id . '_capital', 'text' => '资金管理') ) ), // 收银员 array( 'id' => $id . '_6', 'text' => '收银员' ), // 店长 array( 'id' => $id . '_7', 'text' => '店长' ), // 导购员 array( 'id' => $id . '_8', 'text' => '导购员' ), // 订单 array( 'id' => $id . '_9', 'text' => '订单', 'children' => array( array('id' => $id . '_10', 'text' => '支付流水'), array('id' => $id . '_11', 'text' => '收银订单'), array('id' => $id . '_12', 'text' => '商城订单'), array('id' => $id . '_13', 'text' => '达达订单'), array('id' => $id . '_14', 'text' => 'uu订单'), array('id' => $id . '_15', 'text' => '销售记录') ) ), // 门店设置 array( 'id' => $id . '_16', 'text' => '门店设置', 'children' => array( array('id' => $id . '_17', 'text' => '导航栏'), array('id' => $id . '_18', 'text' => '配送费'), array('id' => $id . '_19', 'text' => '商城轮播图'), array('id' => $id . '_20', 'text' => '副屏') ) ), ); return $children; } /** * 获取验证码 */ public function verification() { $res = array( 'status' => 1, 'msg' => '验证码发送次数上限' ); $this->ajaxReturn($res); // 判断登录 $admin = I('session.admin_userinfo'); if (empty($admin)) { $res = array( 'status' => 0, 'msg' => '登录超时' ); $this->ajaxReturn($res); } // 清空验证码session session('identifying_codes', null); // 发送短信 $result = A('Super/Config')->Send($admin['phone']); // 判断发送 if ($result['Message'] == 'OK') { $res = array( 'status' => 1, 'msg' => '验证码发送成功' ); } else { $res = array( 'status' => 0, 'msg' => $result['Message'] ? $result['Message'] : '验证码发送次数达到上限' ); } $this->ajaxReturn($res); } /** * 清除数据 * $verification_code string 验证码 */ public function deleteData() { // 判断登录 $admin = I('session.admin_userinfo'); if (empty($admin)) { $res = array( 'status' => 0, 'msg' => '登录超时' ); $this->ajaxReturn($res); } // 接受参数 $merchant_id = I('post.merchant_id'); $result = $this->getCondition($merchant_id); if ($result['status'] == 0) { $this->ajaxReturn($result); } $delete_data = I('post.delete_data'); // 判断验证码 // if(!$delete_data['verification_code']){ // $res = array('status' =>0,'msg' => '请输入验证码'); // $this->ajaxReturn($res); // } // if($delete_data['verification_code'] != I('session.identifying_codes')){ // $res = array('status' =>0,'msg' => '验证码错误'); // $this->ajaxReturn($res); // } $determine = false; // 判断门店 if (!empty($delete_data['store'])) { $determine = true; // 处理数据 // print_r($delete_data['store']); $store_data = $this->handleStoreData($delete_data['store']); print_r($store_data); // 删除 $this->deleteStoreData($store_data); } // 判断插件 if (!empty($delete_data['plug'])) { $determine = true; $this->deletePlugData($delete_data['plug']); } // 判断配置 if (!empty($delete_data['config'])) { $determine = true; $this->deleteConfigData($delete_data['config']); } // 判断角色 if (!empty($delete_data['role'])) { $determine = true; $this->deleteRoleData($delete_data['role']); } // 判断会员 if (!empty($delete_data['vip'])) { $determine = true; $this->deleteVipData($delete_data['vip']); } // 判断仓库 if (!empty($delete_data['warehouse'])) { $determine = true; $this->deleteWarehouseData($delete_data['warehouse']); } // 判断是否勾选 if ($determine == false) { $res = array( 'status' => 0, 'msg' => '请先勾选需要清空的数据再提交!' ); $this->ajaxReturn($res); } // 删除成功 $res = array( 'status' => 1, 'msg' => '删除成功' ); $this->ajaxReturn($res); } /** * 处理门店数据 * @param $store array 门店数据 * @return $store_data array 处理后的门店数据 */ protected function handleStoreData($store) { $store_data = array(); foreach ($store as &$val) { // 拆分字符串 $arr = explode('_', $val); // 判断长度 if (count($arr) == 1) { // 判断下标是否被定义 if (array_key_exists($arr[0], $store_data)) { array_push($store_data[$arr[0]], 0); } else { $store_data[$arr[0]] = array(); array_push($store_data[$arr[0]], 0); } } else { // 判断下表是否被定义 if (array_key_exists($arr[0], $store_data)) { array_push($store_data[$arr[0]], $arr[1]); } else { $store_data[$arr[0]] = array(); array_push($store_data[$arr[0]], $arr[1]); } } } return $store_data; } /** * 删除门店 * @param $store_data array 门店数据 * @return bool */ protected function deleteStoreData($store_data) { $Store = D('RetailStore'); $Vip = D('RetailVip'); $PlusVip = D('RetailPlusVip'); $Goods = D('RetailGoods'); $SkuList = D('RetailSkuList'); $SkuGoods = D('RetailSkuGoods'); $Host = D('Host'); $Group = D('RetailGroup'); $Spike = D('RetailSpike'); $Coupon = D('RetailCoupon'); $RechargeOrder = D('RetailRechargeOrder'); $IntegralOrder = D('RetailIntegralOrder'); $VipMCoupPon = D('RetailVipMCoupon'); $PayOrder = D('RetailPayOrder'); $BillOrder = D('RetailBillOrder'); $BillDiscount = D('RetailBillDiscount'); $BillOnline = D('RetailBillOnline'); $BillGroup = D('RetailBillGroup'); $BillSpike = D('RetailBillSpike'); $Sell = D('RetailSell'); $SSaleMGoods = D('SSaleMGoods'); $SWarehousingGoods = D('SWarehousingGoods'); $SWarehousingRecord = D('SWarehousingRecord'); $SStockOutGoods = D('SStockOutGoods'); $SStockOutOrder = D('SStockOutOrder'); $SPurchaseGoods = D('SPurchaseGoods'); $SPurchaseOrder = D('SPurchaseOrder'); $SPurchaseWarehouse = D('SPurchaseWarehouse'); $SSaleWarehouse = D('SSaleWarehouse'); $SInventoryGoods = D('SInventoryGoods'); $SInventoryOrder = D('SInventoryOrder'); $SLossReportGoods = D('SLossReportGoods'); $SLossReportOrder = D('SLossReportOrder'); $AllocationGoods = D('AllocationGoods'); $AllocationOrder = D('AllocationOrder'); $StockOutGoods = D('StockOutGoods'); $StockOutOrder = D('StockOutOrder'); $WarehousingGoods = D('WarehousingGoods'); $WarehousingRecord = D('WarehousingRecord'); $SSupplier = D('SSupplier'); $Cashier = D('RetailCashier'); $Record = D('RetailRecord'); $Manager = D('RetailManager'); $Guide = D('RetailGuide'); $GuideIncome = D('RetailGuideIncome'); $DaOrder = D('RetailDaOrder'); $UuOrder = D('RetailUuOrder'); $XcxNavigation = D('RetailXcxNavigation'); $Distribution = D('RetailDistribution'); $Banner = D('RetailBanner'); $VipCard = D('VipCard'); $VipCardRecord = D('VipCardRecord'); $CardUseCode = D('CardUseCode'); $VipChange = D('RetailVipChange'); $PlusRecord = D('RetailPlusRecord'); $SRetreatGoods = D('SRetreatGoods'); $RetailStoreXcxConfig = D('RetailStoreXcxConfig'); $SPurchasePayable = D('SPurchasePayable'); $SPurchaseCapital = D('SPurchaseCapital'); $SRetreatReceivables = D('SRetreatReceivables'); $SRetreatCapital = D('SRetreatCapital'); // 门店查询 $map = array( $Store::MERCHANT_ID => self::$merchant['id'], $Store::STATE => 0 ); $field = array($Store::ID, $Store::STORE_TYPE); foreach ($store_data as $key => &$val) { // 查询门店 $s_map = $map; $s_map[$Store::ID] = $key; $store_info = $Store->getFind($s_map, $field); if (empty($store_info)) { // 门店状态出现异常 continue; } // 删除会员 if (in_array('vip', $val)) { // 判断主店分店 if ($store_info[$Store::STORE_TYPE] == 0) { // 主店,查询分店 $f_map = $map; $f_map[$Store::STORE_TYPE] = 1; $f_map[$Store::ID] = array('neq', $store_info[$Store::ID]); $store_id = $Store->getOrderFindField($f_map, $Store::ID); } else { // 分店,查询主店 $z_map = $map; $z_map[$Store::STORE_TYPE] = 0; $f_map[$Store::ID] = array('neq', $store_info[$Store::ID]); $store_id = $Store->getOrderFind($z_map, $Store::ID); // 判断主店,查询分店 if (!$store_id) { $f_map = $map; $f_map[$Store::STORE_TYPE] = 1; $f_map[$Store::ID] = array('neq', $store_info[$Store::ID]); $store_id = $Store->getOrderFindField($f_map, $Store::ID); } } // 判断$store_id,true修改 false删除 $v_map = array( $Vip::MERCHANT_ID => self::$merchant['id'], $Vip::STORE_ID => $key, $Vip::STATUS => array('neq', 2) ); // 获取门店所有会员id $vip_ids = $Vip->getFindField($v_map, $Vip::ID, true); if (!empty($vip_ids) && count($vip_ids) < 500) { if ($store_id) { // 清空余额,积分,等级积分,变更会员类型 $v_up = array( $Vip::BALANCE => 0, $Vip::INTEGRAL => 0, $Vip::GRADE_INTEGRAL => 0, $Vip::PLUS_ID => 0, $Vip::PLUS_TYPE => 3, $Vip::PLUS_STATE => 2, $Vip::GUIDE_ID => 0, $Vip::CARD_KEY => 0, $Vip::STORE_ID => $store_id ); $Vip->updateOrder($v_map, $v_up); // 清空小程序 M('retail_xcxvip')->where(array('vid' => array('in', $vip_ids)))->save(array('plus_vip_id' => 0, 'type' => 1)); } else { $Vip->deleteOrder($v_map); } // 删除plus会员 $PlusVip->deleteOrder(array($PlusVip::MERCHANT_ID => self::$merchant['id'], $PlusVip::STORE_ID => $key)); $PlusVip->deleteOrder(array($PlusVip::MERCHANT_ID => self::$merchant['id'], $PlusVip::VIP_ID => array('in', $vip_ids))); // 删除plus记录 $PlusRecord->deleteOrder(array($PlusRecord::MERCHANT_ID => self::$merchant['id'], $PlusRecord::VIP_ID => array('in', $vip_ids))); // 删除plus购买流水 $PayOrder->deleteOrder(array($PayOrder::MERCHANT_ID => self::$merchant['id'], $PayOrder::STORE_ID => $key, $PayOrder::ORDER_TYPE => 5)); // 删除余额记录 $RechargeOrder->deleteOrder(array($RechargeOrder::MERCHANT_ID => self::$merchant['id'], $RechargeOrder::STORE_ID => $key)); // 删除充值流水 $PayOrder->deleteOrder(array($PayOrder::MERCHANT_ID => self::$merchant['id'], $PayOrder::STORE_ID => $key, $PayOrder::ORDER_TYPE => 2)); // 删除积分记录 $IntegralOrder->deleteOrder(array($IntegralOrder::STORE_ID => $key)); // 删除变更记录 $VipChange->deleteOrder(array($VipChange::MERCHANT_ID => self::$merchant['id'], $VipChange::STORE_ID => $key)); $VipChange->deleteOrder(array($VipChange::MERCHANT_ID => self::$merchant['id'], $VipChange::VIP_ID => array('in', $vip_ids))); // 删除优惠券发放,使用记录 $VipMCoupPon->deleteOrder(array($VipMCoupPon::MERCHANT_ID => self::$merchant['id'], $VipMCoupPon::VID => array('in', $vip_ids))); // 删除次开发放使用记录 $VipCard->deleteOrder(array('merchantid' => self::$merchant['id'], 'vip_id' => array('in', $vip_ids))); $VipCardRecord->deleteOrder(array('merchantid' => self::$merchant['id'], 'vip_id' => array('in', $vip_ids))); $CardUseCode->deleteOrder(array('merchantid' => self::$merchant['id'], 'vip_id' => array('in', $vip_ids))); } } // 删除商品及关联 if (in_array('order', $val)) { // 删除商品,营销及关联 $Goods->deleteOrder(array($Goods::MERCHANT_ID => self::$merchant['id'], $Goods::STORE_ID => $key)); // 规格 $SkuGoods->deleteOrder(array($SkuGoods::STORE_ID => $key)); $s_l_map = array($SkuList::MERCHANT_ID => self::$merchant['id'], $SkuList::STORE_ID => $key); $SkuList->updateOrder($s_l_map, array($SkuList::STORE_ID => 0)); // 促销,推荐,最新商品 $Host->deleteOrder(array('merchantid' => self::$merchant['id'], 'storeid' => $key)); // 拼团 $Group->deleteOrder(array($Group::MERCHANT_ID => self::$merchant['id'], $Group::STORE_ID => $key)); // 秒杀 $Spike->deleteOrder(array($Spike::STORE_ID => $key)); // 优惠券 $Coupon->deleteOrder(array($Coupon::MERCHANT_ID => self::$merchant['id'], $Coupon::STORE_ID => $key)); // 删除购买商品支付流水 $PayOrder->deleteOrder(array($PayOrder::MERCHANT_ID => self::$merchant['id'], $PayOrder::STORE_ID => $key, $PayOrder::ORDER_TYPE => 1)); // 删除bill订单 $bill_ids = $BillOrder->getFindField(array($BillOrder::MERCHANT_ID => self::$merchant['id'], $BillOrder::STORE_ID => $key), 'id', true); if (!empty($bill_ids)) { $BillOrder->deleteOrder(array($BillOrder::MERCHANT_ID => self::$merchant['id'], $BillOrder::STORE_ID => $key)); $BillDiscount->deleteOrder(array($BillDiscount::BILL_ID => array('in', $bill_ids))); $BillOnline->deleteOrder(array($BillOnline::BILL_ID => array('in', $bill_ids))); $BillGroup->deleteOrder(array($BillGroup::BILL_ID => array('in', $bill_ids))); $BillSpike->deleteOrder(array($BillSpike::BILL_ID => array('in', $bill_ids))); } // 删除sell订单 $Sell->deleteOrder(array($Sell::MERCHANT_ID => self::$merchant['id'], $Sell::STORE_ID => $key)); } // 进销存 if (in_array('sale', $val)) { $sMap = array( 'merchant_id' => self::$merchant['id'], 'store_id' => $key, ); // 库存 $SSaleMGoods->deleteOrder($sMap); // 门店入库记录 $SWarehousingRecord->deleteOrder($sMap); $SWRMap = array( 'merchant_id' => self::$merchant['id'], 'source_store_id' => $key, 'type' => 5 ); $store_record_ids = $SWarehousingRecord->getFindField($SWRMap, 'id', true); $SWarehousingRecord->deleteOrder($SWRMap); // 门店入库商品 $SWarehousingGoods->deleteOrder($sMap); if (!empty($store_record_ids)) { $SWGMap = array( 'merchant_id' => self::$merchant['id'], 'id' => array('in', $store_record_ids), ); $SWarehousingGoods->deleteOrder($SWGMap); } // 门店出库记录 $SStockOutGoods->deleteOrder($sMap); // 门店出库单 $SStockOutOrder->deleteOrder($sMap); // 采购记录 $SPurchaseGoods->deleteOrder($sMap); // 采购单 $SPurchaseOrder->deleteOrder($sMap); // 采购仓 $SPurchaseWarehouse->deleteOrder($sMap); // 供给仓 $SSaleWarehouse->deleteOrder($sMap); // 盘点记录 $SInventoryGoods->deleteOrder($sMap); // 盘点单据 $SInventoryOrder->deleteOrder($sMap); // 报损记录 $SLossReportGoods->deleteOrder($sMap); // 报损单 $SLossReportOrder->deleteOrder($sMap); // 申请调拨商品 $AllocationGoods->deleteOrder($sMap); // 申请调拨单 $AllocationOrder->deleteOrder($sMap); // 删除门店采购退货 $SRetreatGoods->deleteOrder($sMap); $sMap['type'] = array('in', '1,3'); // 商户出库记录 $StockOutGoods->deleteOrder($sMap); // 商户出库单 $StockOutOrder->deleteOrder($sMap); $sMap['type'] = array('in', 4); // 商户入库记录 $WarehousingGoods->deleteOrder($sMap); // 商户入库单 $WarehousingRecord->deleteOrder($sMap); } // 删除供货商, if (in_array('supplier', $val)) { // 删除供货商 $SSupplier->deleteOrder(array('merchant_id' => self::$merchant['id'], 'store_id' => $key)); } //删除资金管理 if(in_array('capital', $val)){ //删除采购资金管理与明细 $SPurchasePayable->deleteData(array('merchant_id' => self::$merchant['id'], 'store_id' => $key)); $SPurchaseCapital->deleteData(array('merchant_id' => self::$merchant['id'], 'store_id' => $key)); //删除采购退货资金管理 $SRetreatReceivables->deleteData(array('merchant_id' => self::$merchant['id'], 'store_id' => $key)); $SRetreatCapital->deleteData(array('merchant_id' => self::$merchant['id'], 'store_id' => $key)); } // 删除收银员 if (in_array(6, $val)) { $Cashier->deleteOrder(array($Cashier::MERCHANT_ID => self::$merchant['id'], $Cashier::STORE_ID => $key)); $Record->deleteOrder(array($Record::STORE_ID => $key)); } // 删除店长 if (in_array(7, $val)) { $Manager->deleteOrder(array($Manager::MERCHANT_ID => self::$merchant['id'], $Manager::STORE_ID => $key)); } // 删除导购员 if (in_array(8, $val)) { $Guide->deleteOrder(array($Guide::MERCHANT_ID => self::$merchant['id'], $Guide::STORE_ID => $key)); $GuideIncome->deleteOrder(array($GuideIncome::STORE_ID => $key)); } // 删除支付流水 if (in_array(10, $val)) { $PayOrder->deleteOrder(array($PayOrder::MERCHANT_ID => self::$merchant['id'], $PayOrder::STORE_ID => $key, $PayOrder::ORDER_TYPE => 1)); } // 删除收银订单 if (in_array(11, $val)) { $bill_ids = $BillOrder->getFindField(array($BillOrder::MERCHANT_ID => self::$merchant['id'], $BillOrder::STORE_ID => $key, $BillOrder::TYPE => 2), 'id', true); if (!empty($bill_ids) && count($bill_ids) < 500) { $BillOrder->deleteOrder(array($BillOrder::MERCHANT_ID => self::$merchant['id'], $BillOrder::STORE_ID => $key, $BillOrder::TYPE => 2)); $BillDiscount->deleteOrder(array($BillDiscount::BILL_ID => array('in', $bill_ids))); $BillOnline->deleteOrder(array($BillOnline::BILL_ID => array('in', $bill_ids))); $PayOrder->deleteOrder(array($PayOrder::MERCHANT_ID => self::$merchant['id'], $PayOrder::STORE_ID => $key, $PayOrder::ORDER_TYPE => 1, $PayOrder::BILL_ID => array('in', $bill_ids))); } $Sell->deleteOrder(array($Sell::MERCHANT_ID => self::$merchant['id'], $Sell::STORE_ID => $key, $Sell::TYPE => 2)); } // 删除商城订单 if (in_array(12, $val)) { $bill_ids = $BillOrder->getFindField(array($BillOrder::MERCHANT_ID => self::$merchant['id'], $BillOrder::STORE_ID => $key, $BillOrder::TYPE => 1), 'id', true); if (!empty($bill_ids) && count($bill_ids) < 500) { $BillOrder->deleteOrder(array($BillOrder::MERCHANT_ID => self::$merchant['id'], $BillOrder::STORE_ID => $key, $BillOrder::TYPE => 1)); $BillDiscount->deleteOrder(array($BillDiscount::BILL_ID => array('in', $bill_ids))); $BillOnline->deleteOrder(array($BillOnline::BILL_ID => array('in', $bill_ids))); $BillGroup->deleteOrder(array($BillGroup::BILL_ID => array('in', $bill_ids))); $BillSpike->deleteOrder(array($BillSpike::BILL_ID => array('in', $bill_ids))); $PayOrder->deleteOrder(array($PayOrder::MERCHANT_ID => self::$merchant['id'], $PayOrder::STORE_ID => $key, $PayOrder::ORDER_TYPE => 1, $PayOrder::BILL_ID => array('in', $bill_ids))); } $Sell->deleteOrder(array($Sell::MERCHANT_ID => self::$merchant['id'], $Sell::STORE_ID => $key, $Sell::TYPE => 1)); } // 删除达达订单 if (in_array(13, $val)) { $DaOrder->deleteOrder(array($DaOrder::MERCHANT_ID => self::$merchant['id'], $DaOrder::STORE_ID => $key)); } // 删除uu订单 if (in_array(14, $val)) { $UuOrder->deleteOrder(array($UuOrder::MERCHANT_ID => self::$merchant['id'], $DaOrder::STORE_ID => $key)); } // 删除销售记录 if (in_array(15, $val)) { $Sell->deleteOrder(array($Sell::MERCHANT_ID => self::$merchant['id'], $Sell::STORE_ID => $key)); } // 删除导航栏 if (in_array(17, $val)) { $XcxNavigation->deleteOrder(array($XcxNavigation::MERCHANT_ID => self::$merchant['id'], $XcxNavigation::STORE_ID => $key)); } // 删除配送费 if (in_array(18, $val)) { $Distribution->deleteOrder(array($Distribution::STORE_ID => $key)); } // 删除商城图片 if (in_array(19, $val)) { $Banner->deleteOrder(array($Banner::MERCHANT_ID => self::$merchant['id'], $Banner::STORE_ID => $key)); $store_xcx_del = array( $RetailStoreXcxConfig::XCX_GROUP_COVER => '', $RetailStoreXcxConfig::XCX_GROUP_COVER_ID => '', $RetailStoreXcxConfig::XCX_SECKILL_COVER => '', $RetailStoreXcxConfig::XCX_SECKILL_COVER_ID => '', $RetailStoreXcxConfig::HOME_TEL_ICON => '', $RetailStoreXcxConfig::HOME_TEL_ICON_ID => '', $RetailStoreXcxConfig::HOME_BACK_ICON => '', $RetailStoreXcxConfig::HOME_BACK_ICON_ID => '', $RetailStoreXcxConfig::HOME_SUPPORT_ICON => '', $RetailStoreXcxConfig::HOME_SUPPORT_ICON_ID => '', ); $RetailStoreXcxConfig->updateOrder(array($RetailStoreXcxConfig::STORE_ID => $key), $store_xcx_del); } // 删除副屏 if (in_array(20, $val)) { M('retail_checkstand_screen')->where(array('storeid' => $key))->delete(); } // 删除门店 if (in_array(0, $val)) { $Store->deleteOrder(array($Store::ID => $key)); $RetailStoreXcxConfig->deleteOrder(array($Store::ID => $key)); } } return true; } /** * 删除插件 * @param $plug_data array 门店数据 * @return bool */ protected function deletePlugData($plug_data) { // 删除优惠券 if (in_array(1, $plug_data)) { // 删除优惠券 $MCoupon = D('RetailMCoupon'); $MCoupon->deleteOrder(array($MCoupon::MERCHANT_ID => self::$merchant['id'])); // 删除优惠券发放,使用记录 $VipMCoupPon = D('RetailVipMCoupon'); $VipMCoupPon->deleteOrder(array($VipMCoupPon::MERCHANT_ID => self::$merchant['id'])); } // 删除红包 if (in_array(2, $plug_data)) { // 删除红包 $Reward = D('RetailReward'); $Reward->deleteOrder(array($Reward::MERCHANT_ID => self::$merchant['id'])); // 删除红包记录 $RewardRecord = D('RetailRewardRecord'); $RewardRecord->deleteOrder(array($RewardRecord::MERCHANT_ID => self::$merchant['id'])); } // 删除次卡 if (in_array(3, $plug_data)) { // 删除次卡 $SubCard = D('SubCard'); $SubCard->deleteOrder(array('merchantid' => self::$merchant['id'])); // 删除会员次卡 $VipCard = D('VipCard'); $VipCard->deleteOrder(array('merchantid' => self::$merchant['id'])); // 删除会员次卡使用记录 $VipCardRecord = D('VipCardRecord'); $VipCardRecord->deleteOrder(array('merchantid' => self::$merchant['id'])); // 删除次卡动态码记录 $CardUseCode = D('CardUseCode'); $CardUseCode->deleteOrder(array('merchantid' => self::$merchant['id'])); } // 删除大转盘 if (in_array(4, $plug_data)) { // 删除大转盘 M('turntable')->where(array('merchantid' => self::$merchant['id']))->delete(); // 删除中奖记录 M('turntable_use')->where(array('merchantid' => self::$merchant['id']))->delete(); } // 删除积分商城 if (in_array(5, $plug_data)) { // 删除商品 $Scoremall = D('RetailScoremall'); $Scoremall->deleteOrder(array($Scoremall::MERCHANT_ID => self::$merchant['id'])); // 删除兑换记录 $ScoreMallExchange = D('RetailScoreMallExchange'); $ScoreMallExchange->deleteOrder(array($ScoreMallExchange::MERCHANT_ID => self::$merchant['id'])); // 删除轮播图 M("retail_score_tempbanner")->where(array('pid' => self::$merchant['id']))->delete(); } // 删除礼品卡 if (in_array(6, $plug_data)) { // 删除礼品卡 $GiftCard = D('RetailGiftCard'); $GiftCard->deleteOrder(array($GiftCard::MERCHANT_ID => self::$merchant['id'])); // 删除展示图 $GiftCardCover = D('RetailGiftCardCover'); $GiftCardCover->deleteOrder(array($GiftCardCover::MERCHANT_ID => self::$merchant['id'])); // 删除金额 $GiftCardPrice = D('RetailGiftCardPrice'); $GiftCardPrice->deleteOrder(array($GiftCardPrice::MERCHANT_ID => self::$merchant['id'])); // 删除礼品卡标题 $GiftCardPropaganda = D('RetailGiftCardPropaganda'); $GiftCardPropaganda->deleteOrder(array($GiftCardPropaganda::MERCHANT_ID => self::$merchant['id'])); // 删除发放记录 $GiftCardRecord = D('RetailGiftCardRecord'); $GiftCardRecord->deleteOrder(array($GiftCardRecord::MERCHANT_ID => self::$merchant['id'])); // 删除礼品卡购买流水 $PayOrder = D('RetailPayOrder'); $PayOrder->deleteOrder(array($PayOrder::MERCHANT_ID => self::$merchant['id'], $PayOrder::STORE_ID => $key, $PayOrder::ORDER_TYPE => 4)); } return true; } /** * 删除配置 * @param $config_data array 门店数据 * @return bool */ protected function deleteConfigData($config_data) { // 删除支付设置 if (in_array(1, $config_data)) { $PaySet = D('RetailPaySet'); $PaySet->deleteOrder(array($PaySet::MERCHANT_ID => self::$merchant['id'])); } // 删除公众号 if (in_array(2, $config_data)) { M('wxconfig')->where(array('merchantid' => self::$merchant['id']))->delete(); } // 删除小程序 if (in_array(3, $config_data)) { M('appinfo')->where(array('merchant_id' => self::$merchant['id']))->delete(); // 删除小程序用户 $RetailSmallProgramUser = D('RetailSmallProgramUser'); $RetailSmallProgramUser->deleteOrder(array($RetailSmallProgramUser::MERCHANT_ID => self::$merchant['id'])); } // 删除微信会员卡 if (in_array(4, $config_data)) { M('wx_membercard')->where(array('merchantid' => self::$merchant['id']))->delete(); } // 删除短信设置 if (in_array(5, $config_data)) { M('retail_sms_order')->where(array('merchantid' => self::$merchant['id']))->delete(); } // 删除公告 if (in_array(6, $config_data)) { M('retail_notice')->where(array('merchantid' => self::$merchant['id']))->delete(); } // 删除模板消息 if (in_array(7, $config_data)) { M('retail_template_discount_coupon')->where(array('merchantid' => self::$merchant['id']))->delete(); M('retail_template_do_card')->where(array('merchantid' => self::$merchant['id']))->delete(); M('retail_template_member_consume')->where(array('merchantid' => self::$merchant['id']))->delete(); M('retail_template_member_recharge')->where(array('merchantid' => self::$merchant['id']))->delete(); M('retail_template_refund')->where(array('merchantid' => self::$merchant['id']))->delete(); } return true; } /** * 删除角色 * @param $config_data array 门店数据 * @return bool */ protected function deleteRoleData($role_data) { // 删除店长 if (in_array(1, $role_data)) { $Manager = D('RetailManager'); $Manager->deleteOrder(array($Manager::MERCHANT_ID => self::$merchant['id'], $Manager::STORE_ID => $key)); } // 登录用户 $jurisdiction_user = I('session.jurisdiction_user'); // 判断当前角色 $first_pid = $jurisdiction_user['first_pid'] && $jurisdiction_user['first_pid'] != 0 ? $jurisdiction_user['first_pid'] : $jurisdiction_user['id']; // 删除新角色 if (in_array(2, $role_data)) { $JurisdictionGroup = D('JurisdictionGroup'); $JurisdictionGroup->deleteOrder(array($JurisdictionGroup::CREATE_USER => 3, $JurisdictionGroup::CREATE_USER_ID => $first_pid)); } // 删除新用户 if (in_array(3, $role_data)) { $JurisdictionUser = D('JurisdictionUser'); $JurisdictionUser->deleteOrder(array('first_pid' => $first_pid)); } } /** * 删除会员 * @param $vip_data array 门店数据 * @return bool */ protected function deleteVipData($vip_data) { // 删除变更记录 if (in_array(1, $vip_data)) { $VipChange = D('RetailVipChange'); $VipChange->deleteOrder(array($VipChange::MERCHANT_ID => self::$merchant['id'])); } // 删除余额记录 if (in_array(2, $vip_data)) { $RechargeOrder = D('RetailRechargeOrder'); $RechargeOrder->deleteOrder(array($RechargeOrder::MERCHANT_ID => self::$merchant['id'])); // 删除充值流水 $PayOrder = D('RetailPayOrder'); $PayOrder->deleteOrder(array($PayOrder::MERCHANT_ID => self::$merchant['id'])); } // 删除消费记录 if (in_array(3, $vip_data)) { $BillOrder = D('RetailBillOrder'); $BillDiscount = D('RetailBillDiscount'); $BillOnline = D('RetailBillOnline'); $BillGroup = D('RetailBillGroup'); $BillSpike = D('RetailBillSpike'); $Sell = D('RetailSell'); $map = array( $BillOrder::MERCHANT_ID => self::$merchant['id'], $BillOrder::VID => array('neq', 0) ); $bill_ids = $BillOrder->getFindField($map, 'id', true); if (!empty($bill_ids)) { $BillOrder->deleteOrder($map); $BillDiscount->deleteOrder(array($BillDiscount::BILL_ID => array('in', $bill_ids))); $BillOnline->deleteOrder(array($BillOnline::BILL_ID => array('in', $bill_ids))); $BillGroup->deleteOrder(array($BillGroup::BILL_ID => array('in', $bill_ids))); $BillSpike->deleteOrder(array($BillSpike::BILL_ID => array('in', $bill_ids))); } $Sell->deleteOrder(array($Sell::MERCHANT_ID => self::$merchant['id'], $Sell::VID => array('neq', 0))); } // 删除积分记录 if (in_array(4, $vip_data)) { // 删除积分记录 $IntegralOrder = D('RetailIntegralOrder'); $IntegralOrder->deleteOrder(array($IntegralOrder::STORE_ID => array('in', self::$store_ids))); } // 删除动态码记录 if (in_array(5, $vip_data)) { M('vip_dynamic_code')->where(array('merchantid' => self::$merchant['id']))->delete(); } // 删除次卡记录 if (in_array(6, $vip_data)) { // 删除次卡发放记录 $VipCard = D('VipCard'); $VipCard->deleteOrder(array('merchantid' => self::$merchant['id'])); // 删除次卡使用放记录 $VipCardRecord = D('VipCardRecord'); $VipCardRecord->deleteOrder(array('merchantid' => self::$merchant['id'])); // 删除次卡动态码 $CardUseCode = D('CardUseCode'); $CardUseCode->deleteOrder(array('merchantid' => self::$merchant['id'])); } // 删除优惠券记录 if (in_array(7, $vip_data)) { $VipMCoupPon = D('RetailVipMCoupon'); $VipMCoupPon->deleteOrder(array($VipMCoupPon::MERCHANT_ID => self::$merchant['id'])); } // 删除红包记录 if (in_array(8, $vip_data)) { $RewardRecord = D('RetailRewardRecord'); $RewardRecord->deleteOrder(array($RewardRecord::MERCHANT_ID => self::$merchant['id'])); } // 删除大转盘记录 if (in_array(9, $vip_data)) { M('turntable_use')->where(array('merchantid' => self::$merchant['id']))->delete(); } // 删除积分商城记录 if (in_array(10, $vip_data)) { $ScoreMallExchange = D('RetailScoreMallExchange'); $ScoreMallExchange->deleteOrder(array($ScoreMallExchange::MERCHANT_ID => self::$merchant['id'])); } // 删除plus会员及设置 if (in_array(11, $vip_data)) { // $Vip = D('RetailVip'); $v_up = array( $Vip::PLUS_ID => 0, $Vip::PLUS_TYPE => 3, $Vip::PLUS_STATE => 2, ); $Vip->updateOrder(array($Vip::MERCHANT_ID => self::$merchant['id']), $v_up); // 清空小程序 M('retail_xcxvip')->where(array('merchant_id' => self::$merchant['id']))->save(array('plus_vip_id' => 0, 'type' => 1)); // 删除plus $PlusVip = D('RetailPlusVip'); $PlusVip->deleteOrder(array($PlusVip::MERCHANT_ID => self::$merchant['id'])); // 删除plus记录 $PlusRecord = D('RetailPlusRecord'); $PlusRecord->deleteOrder(array($PlusRecord::MERCHANT_ID => self::$merchant['id'])); // 删除plus购买流水 $PayOrder = D('RetailPayOrder'); $PayOrder->deleteOrder(array($PayOrder::MERCHANT_ID => self::$merchant['id'], $PayOrder::STORE_ID => $key, $PayOrder::ORDER_TYPE => 5)); // 删除设置 $PlusSet = D('RetailPlusSet'); $PlusSet->deleteOrder(array($PlusVip::MERCHANT_ID => self::$merchant['id'])); } return true; } /** * 删除仓库 * @param $warehouse_data array 门店数据 * @return bool */ protected function deleteWarehouseData($warehouse_data) { // 删除商品 if (in_array(1, $warehouse_data)) { // 删除商品 $MGoods = D('RetailMgoods'); $MGoods->deleteOrder(array($MGoods::MERCHANT_ID => self::$merchant['id'])); // 删除供给库存 $SaleWarehouse = D('SaleWarehouse'); $SaleWarehouse->deleteOrder(array('merchant_id' => self::$merchant['id'])); // 删除库存状况 $SaleMGoods = D('SaleMGoods'); $SaleMGoods->deleteOrder(array('merchant_id' => self::$merchant['id'])); } // 删除进销存 if (in_array(2, $warehouse_data)) { // 采购仓 $PurchaseWarehouse = D('PurchaseWarehouse'); $PurchaseWarehouse->deleteOrder(array('merchant_id' => self::$merchant['id'])); // 采购单 $PurchaseOrder = D('PurchaseOrder'); $PurchaseOrder->deleteOrder(array('merchant_id' => self::$merchant['id'])); // 采购商品明细 $PurchaseGoods = D('PurchaseGoods'); $PurchaseGoods->deleteOrder(array('merchant_id' => self::$merchant['id'])); // 采购退货单 $PurchaseRetreatOrder = D('PurchaseRetreatOrder'); $PurchaseRetreatOrder->deleteOrder(array('merchant_id' => self::$merchant['id'])); // 退货商品明细 $RetreatGoods = D('RetreatGoods'); $RetreatGoods->deleteOrder(array('merchant_id' => self::$merchant['id'])); // 盘点商品明细 $InventoryGoods = D('InventoryGoods'); $InventoryGoods->deleteOrder(array('merchant_id' => self::$merchant['id'])); // 盘点单 $InventoryOrder = D('InventoryOrder'); $InventoryOrder->deleteOrder(array('merchant_id' => self::$merchant['id'])); // 报损商品明细 $LossReportGoods = D('LossReportGoods'); $LossReportGoods->deleteOrder(array('merchant_id' => self::$merchant['id'])); // 报损单 $LossReportOrder = D('LossReportOrder'); $LossReportOrder->deleteOrder(array('merchant_id' => self::$merchant['id'])); // 入库单 $WarehousingRecord = D('WarehousingRecord'); $WarehousingRecord->deleteOrder(array('merchant_id' => self::$merchant['id'])); // 入库商品 $WarehousingGoods = D('WarehousingGoods'); $WarehousingGoods->deleteOrder(array('merchant_id' => self::$merchant['id'])); // 出库单 $StockOutOrder = D('StockOutOrder'); $StockOutOrder->deleteOrder(array('merchant_id' => self::$merchant['id'])); $SStockOutGoods = D('SStockOutGoods'); $WarehousingGoods->deleteOrder(array('merchant_id' => self::$merchant['id'], 'type' => 1)); // 出库商品明细 $StockOutGoods = D('StockOutGoods'); $StockOutGoods->deleteOrder(array('merchant_id' => self::$merchant['id'])); // 申请调拨单 $AllocationOrder = D('AllocationOrder'); $AllocationOrder->deleteOrder(array('merchant_id' => self::$merchant['id'])); // 门店入库单 $SWarehousingRecord = D('SWarehousingRecord'); $SWarehousingRecord->deleteOrder(array('merchant_id' => self::$merchant['id'])); // 调价单 $ModifyPriceOrder = D('ModifyPriceOrder'); $ModifyPriceOrder->deleteOrder(array('merchant_id' => self::$merchant['id'])); } // 删除供货商 if (in_array(3, $warehouse_data)) { M('retail_supplier')->where(array('merchantid' => self::$merchant['id']))->delete(); } //删除资金管理 if(in_array(4, $warehouse_data)){ D("PurchasePayable")->deleteData(array('merchant_id' => self::$merchant['id'])); D("PurchaseCapital")->deleteData(array('merchant_id' => self::$merchant['id'])); D("RetreatReceivables")->deleteData(array('merchant_id' => self::$merchant['id'])); D("RetreatCapital")->deleteData(array('merchant_id' => self::$merchant['id'])); } return true; } }