文件
mashangyoujiu/Application/Retail/Business/StoreIndustry.class.php

225 行
7.8 KiB
PHP
可执行文件

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

<?php
namespace Retail\Business;
use Common\Model\RetailGoodsClassModel;
use Common\Model\RetailStoreModel;
use Retail\Model\LabelInventoryModel;
use Retail\Model\StoreIndustryModel;
//[1.7.90]
/**
* 门店行业类
* Class StoreIndustry
* [
* addStoreIndustry 添加行业
* editStoreIndustry 编辑行业
* delStoreIndustry 删除行业
* getIndustryList 获取行业列表
* getIndustrySelect 获取行业列表-供选择使用
* ]
* @package Retail\Business
*/
class StoreIndustry
{
/**
* 新增行业
* @param $param
* $param['name'] 行业名称
* $param['operate_id'] 操作者ID
* $param['merchant_id'] 商户ID
* @return array
*/
public function addStoreIndustry($param)
{
if (empty($param['name']) || empty($param['operate_id']) || empty($param['merchant_id'])) {
return callBack(statusCode()['error'], '缺少必要参数');
}
$StoreIndustryModel = new StoreIndustryModel();
$repeat = $StoreIndustryModel->getFind(['name' => $param['name'], 'merchant_id' => $param['merchant_id'], 'status' => 1]);
if ($repeat) {
return callBack(statusCode()['error'], '此商户下已存在该行业');
}
$newIndustryData = [
'merchant_id' => $param['merchant_id'],
'name' => $param['name'],
'add_time' => time(),
'status' => 1,
'operate_id' => $param['operate_id']
];
$result = $StoreIndustryModel->addOrder($newIndustryData);
if ($result) {
return callBack(statusCode()['success'], '行业新增成功');
} else {
return callBack(statusCode()['error'], '行业新增失败,请稍后重试');
}
}
/**
* 编辑行业
* @param $param
* $param['id'] 行业id
* $param['name'] 行业名称
* $param['operate_id'] 操作者ID
* $param['merchant_id'] 商户ID
* @return array
*/
public function editStoreIndustry($param)
{
$StoreIndustryModel = new StoreIndustryModel();
$id = I('post.id');
$name = I('post.name');
if (empty($param['id']) || empty($param['name']) || empty($param['operate_id']) || empty($param['merchant_id'])) {
return callBack(statusCode()['error'], '缺少必要参数');
}
$operate_id = session('jurisdiction_user')['id'];
$map = [
'name' => $param['name'],
'id' => ['neq', $param['id']],
'merchant_id' => $param['merchant_id'],
'status' => 1,
];
$repeat = $StoreIndustryModel->getFind($map);
if ($repeat) {
return callBack(statusCode()['error'], '此商户下已存在该行业');
}
$result = $StoreIndustryModel->updateOrder(['id' => $id], ['name' => $name, 'operate_id' => $operate_id]);
if ($result) {
//操作日志记录
$source = 0; //请求来源: 0pc系统 1小助手
$type = 3; //平台:1合伙人端 2代理商端 3商户端 4门店端
$request_data = json_encode($_POST); //请求参数 json数据
$desc = '编辑行业'; //操作行为描述
action_log($source, $type, $request_data, $desc);
return callBack(statusCode()['success'], '行业修改成功');
} else {
return callBack(statusCode()['error'], '暂无修改');
}
}
/**
* 删除行业
* @param $param
* $param['id'] 行业id
* $param['operate_id'] 操作者ID
* $param['merchant_id'] 商户ID
* @return array
*/
public function delStoreIndustry($param)
{
$id = I('post.id');
if (empty($param['id']) || empty($param['merchant_id']) || empty($param['operate_id'])) {
return callBack(statusCode()['error'], '缺少必要参数');
}
// 检测是否有标签使用行业
$LabelInventoryModel = new LabelInventoryModel();
$lMap = [
'industry_id' => $id,
'status' => 1
];
$labelInUse = $LabelInventoryModel->getFind($lMap, 'name');
if ($labelInUse) {
return callBack(statusCode()['error'], '删除失败,存在标签【' . $labelInUse['name'] . '】使用此行业');
}
// 检测是否有分类使用行业
$GoodsClassModel = new RetailGoodsClassModel();
$cMap = [
'industry_id' => $id,
'status' => 1,
];
$ClassInUse = $GoodsClassModel->getFind($cMap, 'class_name');
if ($ClassInUse) {
return callBack(statusCode()['error'], '删除失败,存在分类【' . $ClassInUse['class_name'] . '】使用此行业');
}
$StoreIndustryModel = new StoreIndustryModel();
$sMap = [
'id' => $id,
'merchant_id' => $param['merchant_id'],
];
$delRes = $StoreIndustryModel->updateOrder($sMap, ['status' => 2]);
if ($delRes) {
//操作日志记录
$source = 0; //请求来源: 0pc系统 1小助手
$type = 3; //平台:1合伙人端 2代理商端 3商户端 4门店端
$request_data = json_encode($_POST); //请求参数 json数据
$desc = '删除行业'; //操作行为描述
action_log($source, $type, $request_data, $desc);
return callBack(statusCode()['success'], '删除成功');
} else {
return callBack(statusCode()['error'], '删除失败,请刷新重试');
}
}
/**
* 获取商户行业列表
* @param $param
* $param['page'] 页码
* $param['limit'] 每页数量
* $param['merchant_id'] 商户ID
* $param['name'] 行业名称(模糊搜索)
* @return array
*/
public function getIndustryList($param)
{
if (empty($param['page']) || empty($param['limit']) || empty($param['merchant_id'])) {
return callBack(statusCode()['error'], '缺少商户ID');
}
$StoreIndustryModel = new StoreIndustryModel();
$RetailStoreModel = new RetailStoreModel();
$page = $param['page'] ? $param['page'] : 1;
$limit = $param['limit'] ? $param['limit'] : 10;
$map = [
'merchant_id' => $param['merchant_id'],
'status' => 1,
];
if (trim($param['name'])) {
$map['name'] = ['like', '%' . trim($param['name']) . '%'];
}
$field = [
'id',
'name',
'add_time',
'merchant_id',
];
$data = $StoreIndustryModel->getSelect($map, $field, 'add_time desc', "{$page},{$limit}");
foreach ($data as &$val) {
$val['add_time'] = date('Y-m-d H:i:s', $val['add_time']);
$val['store_num'] = $RetailStoreModel->getCount(['industry_id' => $val['id'], 'state' => 0]);
}
return callBack(statusCode()['success'], $data ? '获取成功' : '暂无数据', [
'list' => $data ? $data : [],
'count' => $StoreIndustryModel->getCount($map),
]);
}
/**
* 获取商户行业列表-选择
* @param $param
* $param['merchant_id'] 商户ID
* @return array
*/
public function getIndustrySelect($param)
{
if (empty($param['merchant_id'])) {
return callBack(statusCode()['error'], '缺少商户ID');
}
$StoreIndustryModel = new StoreIndustryModel();
$map = [
'merchant_id' => $param['merchant_id'],
'status' => 1,
];
$field = [
'id',
'name',
];
$data = $StoreIndustryModel->getSelect($map, $field, 'add_time desc');
return callBack(statusCode()['success'], $data ? '获取成功' : '暂无数据', [
'list' => $data ? $data : [],
]);
}
}