|
- <?php
- /**
- * Function Description:${CARET}
- * Function Name: FxUserService
- * ${PARAM_DOC}
- *
- * @return ${TYPE_HINT}
- * ${THROWS_DOC}
- *
- * @author 娄梦宁
- */
-
- namespace admin\service\prod;
-
- use common\models\BaseCategory;
- use common\models\CmsCategory;
- use common\models\CmsCategoryExtra;
- use common\models\CmsCategoryProd;
- use common\models\ProdCategory;
- use common\models\ProdMain;
- use common\models\SysItinerary;
- use common\service\admin\LoginService;
- use common\util\UploadPic;
- use common\util\Util;
- use Yii;
-
-
- class ProdService
- {
-
- /*
- * 产品列表
- */
- public function getProdList($param)
- {
- $prod_category = new ProdCategory();
- $prod_main = new ProdMain();
- $prod_info = $prod_category->AdminGetList($param);
- $prod_list = $prod_info['list'];
- foreach ($prod_list as $key => $val) {
- $prod_list[$key]['price_name'] = $prod_main->getProdArr($val['pro_cate_id']);
- $s_time = $prod_list[$key]['close_sale_time'];
- if ($s_time == '') $s_time = '24';
- if ($s_time > 0) {
- $s_day = 0;
- $s_hour = $s_time;
- } else if ($s_time == 0) {
- $s_day = 1;
- $s_hour = 24;
- } else {
- $s_day = floor(abs($s_time) / 24) + 1;
- $s_hour = abs(abs($s_time) - $s_day * 24);
- }
- $prod_list[$key]['sale_day'] = (string)$s_day;
- $prod_list[$key]['sale_hour'] = (string)$s_hour;
- }
- $page_size = $param['page_size'];
- $total_count = $prod_info['count'];
- $total_pages = ceil($total_count / $page_size);
- $result = [
- 'prod_list' => $prod_list,
- 'page' => [
- 'current_page' => (string)$param['current_page'],
- 'total_pages' => (string)$total_pages,
- 'page_size' => (string)$page_size,
- 'total_count' => (string)$total_count,
- ]
- ];
- $base_category = new BaseCategory();
- $baseCategoryList = $base_category->getBaseCategoryList();
- $result['baseCategoryList'] = $baseCategoryList;
- return Util::returnArrSu('', $result);
- }
-
- /**
- * Function Description:新增产品
- * Function Name: AddProd
- * @param $param
- *
- * @return array
- *
- * @author 付泓程
- */
- public function AddProd($param)
- {
- $checkParam = $this->checkParam($param);
- if (!$checkParam) {
- return Util::returnArrEr('参数错误');
- }
- $prod_category = new ProdCategory();
- $prod_main = new ProdMain();
- $transaction = Yii::$app->db->beginTransaction();
- //产品主表信息插入
- $istProdCategory = $prod_category->addProd($param);
- //获取刚插入数据库的产品id
- $param['prod_cate_id'] = $prod_category->pro_cate_id;
- if ($istProdCategory) {
- //插入子产品表
- $istProdMain = $prod_main->addProdMain($param);
- if ($istProdMain) {
- //修改首页展示价格为子产品最低价
- $prod_category->changeShowPrice($param['prod_cate_id']);
- $transaction->commit();
- //记录新增产品日志
- Util::addOperationLog('添加产品', '新增产品成功', LoginService::$uid, 1, $param['prod_cate_id'], 1);
- return Util::returnArrSu('新增产品成功');
- }
- }
- $transaction->rollBack();
- return Util::returnArrEr('新增产品失败');
- }
-
- //修改原价
- public function UptOriginalPrice($param)
- {
- $prod_category = new ProdCategory();
- $upt = $prod_category->updateOriginalPrice($param);
- if ($upt === false) {
- return Util::returnJsEr('修改原价失败');
- }
- //记录日志
- Util::addOperationLog('修改原价', '修改原价成功', LoginService::$uid, 1, $param['pro_cate_id'], 1);
- return Util::returnArrSu('修改原价成功');
- }
-
- //修改展示价格
- public function UptShowPrice($param)
- {
- $prod_category = new ProdCategory();
- $upt = $prod_category->updateShowPrice($param);
- if ($upt === false) {
- return Util::returnJsEr('修改展示价失败');
- }
- //记录日志
- Util::addOperationLog('修改展示价', '修改展示价成功', LoginService::$uid, 1, $param['pro_cate_id'], 1);
- return Util::returnArrSu('修改展示价成功');
- }
-
- /**
- * Function Description:修改产品信息
- * Function Name: UptProd
- * @param $param
- *
- * @return array
- *
- * @author 付泓程
- */
- public function UptProd($param)
- {
- $checkParam = $this->checkParam($param);
- if (!$checkParam) {
- return Util::returnArrEr('参数错误');
- }
- $prod_category = new ProdCategory();
- $prod_main = new ProdMain();
- $transaction = Yii::$app->db->beginTransaction();
- //主表数据更新
- $uptProd = $prod_category->uptAdminProd($param);
- if ($uptProd === false) {
- $transaction->rollBack();
- return Util::returnArrEr('修改失败');
- }
- //修改子产品表
- $pro_main_id_arr = $prod_main->getIdArr($param['pro_cate_id']);
- $arrCheck = [];
- foreach ($param['price_type'] as $val) {
- $arrCheck[] = $val['prod_id'];
- $uptProdMain = $prod_main->uptCmsProd($val, $param['pro_cate_id']);
- if ($uptProdMain === false) {
- $transaction->rollBack();
- return Util::returnArrEr('修改失败');
- }
- }
- foreach ($pro_main_id_arr as $key => $val) {
- if (!in_array($key, $arrCheck)) {
- $delCount = $prod_main->delCount($key);
- if ($delCount === false) {
- $transaction->rollBack();
- return Util::returnArrEr('修改失败');
- }
- }
- }
- $prod_category->changeShowPrice($param['pro_cate_id']);
- $transaction->commit();
- //记录日志
- Util::addOperationLog('修改产品信息', '修改产品信息成功', LoginService::$uid, 1, $param['pro_cate_id'], 1);
- return Util::returnArrSu('');
- }
-
- /*
- * 自定义佣金按pro_cate_id
- */
- public function DefineCommission($pro_cate_id, $commission)
- {
- $transaction = Yii::$app->db->beginTransaction();
- $prod_category = new ProdCategory();
- $result = $prod_category->DefineCommission($pro_cate_id, $commission);
- if ($result === false) {
- $transaction->rollBack();
- return Util::returnArrEr('自定义佣金失败,请联系相关技术人员');
- }
-
- $prod_main = new ProdMain();
- $param = ["prod_cate_id" => $pro_cate_id, "commission" => $commission];
- $result = $prod_main->setProdCommissionByCateId($param);
- if ($result === false) {
- $transaction->rollBack();
- return Util::returnArrEr('自定义佣金失败,请联系相关技术人员');
- }
- $transaction->commit();
- //记录日志
- Util::addOperationLog('按产品设置佣金', '自定义佣金成功', LoginService::$uid, 1, $pro_cate_id, 1);
- return Util::returnArrSu('自定义佣金成功,pro_cate_id修改');
- }
-
- /*
- * 自定义佣金 按prod_id
- */
- public function DefineCommissionByProdId($param)
- {
- $prod_commission_arr = json_decode($param['prod_commission_arr'], true); //[{prod_id:x,commission:x}];
- $prod_main = new ProdMain();
- $transaction = Yii::$app->db->beginTransaction();
- $prod_id = '';
- foreach ($prod_commission_arr as $k => $v) {
- $prod_id = $v['prod_id'];
- $param = ["prod_id" => $v['prod_id'], "commission" => $v['commission']];
- $result = $prod_main->setProdCommissionByProdId($param);
- if ($result === false) {
- $transaction->rollBack();
- return Util::returnArrEr();
- }
- }
- $transaction->commit();
- //记录日志
- $getInfo = $prod_main::findOne($prod_id);
- Util::addOperationLog('按票种设置佣金', '自定义佣金成功', LoginService::$uid, 1, $getInfo['prod_cate_id'], 1);
- return Util::returnArrSu();
- }
-
- /*
- * 产品图片上传
- */
- public function uploadImg($file)
- {
- $time = time() . rand(1000, 9999);
- $upDir = ROOT_PATH . '/web/admin/images/prodImg/' . $time . '.jpg';
- $config = Util::getSiteConfig();
- $url = $config['host_name'] . '/web/admin/images/prodImg/' . $time . '.jpg';
- $img_url = UploadPic::_UPLOADPIC($file, 100000, $upDir);
- if ($img_url['flag'] == true) {
- if (file_exists($upDir) == false) {
- return Util::returnArrEr("$upDir");
- }
- UploadPic::cutPic($upDir, $img_url['data']['url'] . '.min.jpg');//生成小图 从中间剪切
- if (file_exists($img_url['data']['url'] . '.min.jpg') == false) {
- return Util::returnArrEr('上传失败[10001]');
- }
- UploadPic::cutPic($upDir, $img_url['data']['url'] . '.370x326.jpg','370','326');//生成小图 从中间剪切
- return Util::returnArrSu('', ['url' => $url]);
- }
- $msg = empty($img_url['msg']) ? '上传失败[10003]' : $img_url['msg'];
- return Util::returnArrEr($msg);
- }
-
-
- /*
- * 产品图片上传
- */
- public function uploadImgForAdmin($file)
- {
- $time = time() . rand(1000, 9999);
- $upDir = ROOT_PATH . '/web/admin/images/prodImg/' . $time . '.jpg';
- $config = Util::getSiteConfig();
- $url = $config['host_name'] . '/web/admin/images/prodImg/' . $time . '.jpg';
- $img_url = UploadPic::_UPLOADPIC($file, 100000, $upDir);
- if ($img_url['flag'] == true) {
- if (file_exists($upDir) == false) {
- return Util::returnArrEr("$upDir");
- }
- UploadPic::cutPic($upDir, $img_url['data']['url'] . '.min.jpg','105','75');//生成小图 从中间剪切
- if (file_exists($img_url['data']['url'] . '.min.jpg') == false) {
- return Util::returnArrEr('上传失败[10001]');
- }
- return Util::returnArrSu('', ['url' => $url]);
- }
- $msg = empty($img_url['msg']) ? '上传失败[10003]' : $img_url['msg'];
- return Util::returnArrEr($msg);
- }
-
- /*
- * 新增产品分类
- */
- public function addProdCategory($param)
- {
- $cms_category = new CmsCategory();
- $result = $cms_category->addProdCategory($param);
- if ($result) {
- Util::addOperationLog('产品分类-新增分类', '新增分类:'.$param['prod_name'], LoginService::$uid, 1);//添加日志
- return Util::returnArrSu();
- } else {
- return Util::returnArrEr();
- }
- }
-
- /*
- * 获取分类列表
- */
- public function getProdCategoryList($param)
- {
- $cms_category = new CmsCategory();
- $cms_info = $cms_category->getProdCategoryList($param);
-
- $page_size = $param['page_size'];
- $total_count = $cms_info['count'];
- $total_pages = ceil($total_count / $page_size);
- $result = [
- 'category_list' => $cms_info['list'],
- 'page' => [
- 'current_page' => (string)$param['current_page'],
- 'total_pages' => (string)$total_pages,
- 'page_size' => (string)$page_size,
- 'total_count' => (string)$total_count
- ]
- ];
- return Util::returnArrSu('', $result);
- }
-
- /*
- * 删除产品分类
- */
- public function delProdCategory($param)
- {
-
- $cms_category = new CmsCategory();
- $cateInfo = $cms_category::findOne($param['cms_category_id']);
- $result = $cms_category->delProdCategory($param);
- if ($result) {
-
- Util::addOperationLog('产品分类-删除分类', '删除分类:' . $cateInfo['category_name'], LoginService::$uid, 1);
- return Util::returnArrSu();
- } else {
- return Util::returnArrEr();
- }
- }
-
- /*
- * 修改产品排序
- */
- public function changeShowsort($param)
- {
- $cms_category = new CmsCategory();
- $result = $cms_category->changeShowsort($param);
- if ($result) {
- Util::addOperationLog('修改分类排序', '修改分类排序'.$param['cms_category_id'], LoginService::$uid, 1);//添加日志
- return Util::returnArrSu();
- } else {
- return Util::returnArrEr();
- }
- }
-
- /*
- * 获取产品分类标题
- */
- public function getCategoryTitle($system_id)
- {
- $cms_category = new CmsCategory();
- $result = $cms_category->getCategoryTitle($system_id);
- return Util::returnArrSu('', $result);
- }
-
- /**
- * Function Description:新增产品
- * Function Name: checkParam
- * @param $param
- *
- * @return bool
- *
- * @author 付泓程
- */
- public function checkParam($param)
- {
- if (Util::checkPattern('intVal', $param['category_id']) == false) {
- return false;
- } elseif ($param['pro_cate_name'] == '') {
- return false;
- }
- return true;
- }
-
- /*
- * 获取子系统的产品列表
- */
- public function getChildProdList($param)
- {
- $cms_category_prod = new CmsCategoryProd();
- $list_info = $cms_category_prod->getChildProdList($param);
-
- $page_size = $param['page_size'];
- $total_count = $list_info['count'];
- $total_pages = ceil($total_count / $page_size);
- $result = [
- 'prod_list' => $list_info['list'],
- 'page' => [
- 'current_page' => (string)$param['current_page'],
- 'total_pages' => (string)$total_pages,
- 'page_size' => (string)$page_size,
- 'total_count' => (string)$total_count
- ]
- ];
- return Util::returnArrSu('', $result);
- }
-
- /*
- * 获取主产品列表
- */
- public function getMainProdList($param)
- {
- $cms_category_prod = new ProdCategory();
- $main_list_info = $cms_category_prod->getMainProdList($param);
- $base_category = new BaseCategory();
- $baseCategoryList = $base_category->getBaseCategoryList();
- $page_size = $param['page_size'];
- $total_count = $main_list_info['count'];
- $total_pages = ceil($total_count / $page_size);
- $result = [
- 'base_category_list' => $baseCategoryList,
- 'prod_list' => $main_list_info['list'],
- 'page' => [
- 'current_page' => (string)$param['current_page'],
- 'total_pages' => (string)$total_pages,
- 'page_size' => (string)$page_size,
- 'total_count' => (string)$total_count
- ]
- ];
- return Util::returnArrSu('', $result);
- }
-
- /*
- * 选择产品
- */
- public function selectProd($param)
- {
- $cms_category_prod = new CmsCategoryProd();
- $result = $cms_category_prod->selectProd($param);
- if ($result) {
- $cms_category = new CmsCategory();
- $info = $cms_category::findOne($param['cms_cate_id']);
- Util::addOperationLog('产品管理-选择产品', '产品上架:'.$info['category_name'], LoginService::$uid, 1,$param['pro_cate_id'],1);//添加日志
- return Util::returnArrSu();
- } else {
- return Util::returnArrEr();
- }
- }
-
- /*
- * 取消或删除产品
- */
- public function cancelSelectProd($param)
- {
- $cms_category_prod = new CmsCategoryProd();
- $result = $cms_category_prod->cancelSelectProd($param);
- if ($result) {
- $cms_category = new CmsCategory();
- $info = $cms_category::findOne($param['cms_cate_id']);
- Util::addOperationLog('产品管理-取消选择', '产品下架:'.$info['category_name'], LoginService::$uid, 1,$param['pro_cate_id'],1);//添加日志
- return Util::returnArrSu();
- } else {
- return Util::returnArrEr();
- }
- }
-
- /*
- * 修改子产品排序
- */
- public function changeProdSort($param)
- {
- $cms_category_prod = new CmsCategoryProd();
- $result = $cms_category_prod->changeProdSort($param);
- if ($result) {
- Util::addOperationLog('产品管理-修改产品排序', '修改产品排序:分类ID'.$param['cms_cate_id'], LoginService::$uid, 1,$param['prod_cate_id'],1);//添加日志
- return Util::returnArrSu();
- } else {
- return Util::returnArrEr();
- }
- }
-
-
- /**
- * Function Description:查找cms_category_extra的信息
- * Function Name: getCategoryExtraInfo
- * @param $param
- * @return array
- * @author 田玲菲
- */
- public function getCategoryExtraInfo($param){
- if(!isset($param['category_id'])){
- return Util::returnArrEr('',[]);
- }
- $cmsCategoryExtra = new CmsCategoryExtra();
- $result = $cmsCategoryExtra->getDestinationInfo($param['category_id']);
- return Util::returnArrSu('',$result);
- }
-
-
- /**
- * Function Description:新增额外补充信息
- * Function Name: insertInfo
- * @param $param
- * @return array
- * @author 田玲菲
- */
- public function insertInfo($param){
- $cmsCategoryExtra = new CmsCategoryExtra();
- $res = $cmsCategoryExtra->addExtraInfo($param);
- if($res){
- return Util::returnArrSu('操作成功');
- }
- return Util::returnArrEr('操作失败');
- }
-
-
- /**
- * Function Description:修改额外补充信息
- * Function Name: changeInfo
- * @param $param
- * @return array
- * @author 田玲菲
- */
- public function changeInfo($param){
- $cmsCategoryExtra = new CmsCategoryExtra();
- $res = $cmsCategoryExtra->changeExtraInfo($param);
- if($res){
- return Util::returnArrSu('操作成功');
- }
- return Util::returnArrEr('操作失败');
- }
-
-
- /**
- * Function Description:判断表中有没有额外补充信息
- * Function Name: existExtraInfo
- * @param $param
- * @return bool
- * @author 田玲菲
- */
- public function existExtraInfo($param){
- if(!isset($param['category_id'])){
- return false;
- }
- $cmsCategoryExtra = new CmsCategoryExtra();
- $result = $cmsCategoryExtra->getDestinationInfo($param['category_id']);
- if(count($result) > 0){
- return true;
- }else{
- return false;
- }
- }
-
-
- /**
- * Function Description:根据category_id查找行程攻略的信息
- * Function Name: getItineraryInfo
- * @param $param
- * @return array
- * @author 田玲菲
- */
- public function getItineraryInfo($param){
- if(!isset($param['category_id'])){
- return Util::returnArrEr('',[]);
- }
- $sysItinerary = new SysItinerary();
- $result = $sysItinerary->getItinerary($param['category_id']);
- return Util::returnArrSu('',$result);
- }
-
-
- /**
- * Function Description:判断行程攻略记录是否存在
- * Function Name: existItinerary
- * @param $param
- * @return bool
- * @author 田玲菲
- */
- public function existItinerary($param){
- if(!isset($param['category_id'])){
- return false;
- }
- $sysItinerary = new SysItinerary();
- $result = $sysItinerary->getItinerary($param['category_id']);
- if(count($result) > 0){
- return true;
- }else{
- return false;
- }
- }
-
-
- /**
- * Function Description:新增行程攻略
- * Function Name: insertItinerary
- * @param $param
- * @return array
- * @author 田玲菲
- */
- public function insertItinerary($param){
- $sysItinerary = new SysItinerary();
- $res = $sysItinerary->addItinerary($param);
- if($res){
- return Util::returnArrSu('操作成功');
- }
- return Util::returnArrEr('操作失败');
- }
-
-
- /**
- * Function Description:修改行程攻略
- * Function Name: changeItineraryInfo
- * @param $param
- * @return array
- * @author 田玲菲
- */
- public function changeItineraryInfo($param){
- $sysItinerary = new SysItinerary();
- $res = $sysItinerary->changeItinerary($param);
- if($res){
- return Util::returnArrSu('操作成功');
- }
- return Util::returnArrEr('操作失败');
- }
-
-
- /**
- * Function Description:获取分类
- * Function Name: getCategory
- * @return array
- * @author 田玲菲
- */
- public function getCategory(){
- $cmsCategory = new CmsCategory();
- $result = $cmsCategory->getAllCategory();
- return Util::returnArrSu('',$result);
- }
-
- /**
- * Function Description:修改品类图片和描述
- * Function Name: uptCategoryExtra
- * @param $param
- *
- * @return array
- *
- * @author 娄梦宁
- */
- public function uptCategoryExtra($param)
- {
- $cms_category_extra=new CmsCategoryExtra();
- if($param['city_id']==''){
- $param['city_id']=0;
- }
- $upt_result=$cms_category_extra->uptExtra($param['cms_category_id'],$param['describe'],$param['img_url'],$param['city_id']);
- if(!$upt_result){
- return Util::returnArrEr('数据库错误!');
- }
- return Util::returnArrSu();
- }
- }
|