文件
mashangyoujiu/Application/Admin/Controller/DeleteMerchantDataController.class.php

1052 行
46 KiB
PHP
可执行文件

<?php
namespace Admin\Controller;
use Think\Controller;
//[1.3.43]
class DeleteMerchantDataController extends BaseController
{
static $merchant; //商户
static $store_ids; // 门店id
/**
* 加载模板
* @param $merchant_id
*/
public function index($merchant_id)
{
$this->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;
}
}