123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301 |
- <?php
- /**
- * 促销活动
- * Created by PhpStorm.
- * User: XiaoMing
- * Date: 2019/12/18
- * Time: 12:15
- */
- namespace JinDouYun\Controller\Market;
- use JinDouYun\Model\Price\MPrice;
- use Mall\Framework\Core\ErrorCode;
- use Mall\Framework\Core\StatusCode;
- use JinDouYun\Controller\BaseController;
- use JinDouYun\Model\Market\MActivity;
- class Activity extends BaseController
- {
- private $objMActivity;
- /**
- * Activity constructor.
- * @param bool $isCheckAcl
- * @param bool $isMustLogin
- * @throws \Exception
- */
- public function __construct($isCheckAcl = true, $isMustLogin = true)
- {
- parent::__construct($isCheckAcl, $isMustLogin);
- $this->objMActivity = new MActivity($this->onlineUserId, $this->onlineEnterpriseId,'',false);
- }
- /**
- * 添加,编辑促销活动公共数据
- * @return array
- */
- public function commonFieldFilter()
- {
- $params = $this->request->getRawJson();
- if (empty($params)) {
- $this->sendOutput('参数为空', ErrorCode::$paramError);
- }
- $data = [
- 'activityType' => isset($params['activityType']) ? $params['activityType'] : '',
- 'title' => isset($params['title']) ? $params['title'] : '',
- 'startTime' => isset($params['startTime']) ? $params['startTime'] : '',
- 'endTime' => isset($params['endTime']) ? $params['endTime'] : '',
- 'images' => isset($params['images']) ? json_encode($params['images']) : '',
- 'enableStatus' => isset($params['enableStatus']) ? $params['enableStatus'] : StatusCode::$standard,
- 'useShop' => isset($params['useShop']) ? trim($params['useShop'],',') : '',
- 'customerRange' => isset($params['customerRange']) ? $params['customerRange'] : '',
- 'isMutex' => isset($params['isMutex']) ? $params['isMutex'] : StatusCode::$standard,//是否互斥
- 'activityGoods' => isset($params['activityGoods']) ? $params['activityGoods'] : '',
- ];
- foreach ($data as $key => $value) {
- if ($value === '') {
- parent::sendOutput($key . '参数错误', ErrorCode::$paramError);
- }
- }
- $data['describe'] = isset($params['describe']) ? $params['describe'] : '';
- $data['sort'] = isset($params['sort']) ? $params['sort'] : 0;
- $data['remark'] = isset($params['remark']) ? $params['remark'] : '';
- $data['createTime'] = time();
- $data['updateTime'] = time();
- if ($data['customerRange'] == StatusCode::$delete) {
- if (!isset($params['customerSourceId'])) {
- parent::sendOutput('customerSourceId参数错误', ErrorCode::$paramError);
- }
- $data['customerSourceId'] = $params['customerSourceId'];
- }
- //促销商品数据
- $activityGoods = [];
- foreach ($data['activityGoods'] as $key => $val) {
- $activityGoods[$key] = [
- 'goodsId' => isset($val['goodsId']) ? $val['goodsId'] : '',
- 'shopId' => isset($val['shopId']) ? $val['shopId'] : '',
- 'skuId' => isset($val['skuId']) ? $val['skuId'] : '',
- 'price' => isset($val['price']) ? $val['price'] : '',
- 'basicGoodsId' => isset($val['basicGoodsId']) ? $val['basicGoodsId'] : '',
- 'activityNum' => isset($val['activityNum']) ? $val['activityNum'] : '',//活动数量
- 'limitNum' => isset($val['limitNum']) ? $val['limitNum'] : '',//限购数量
- ];
- foreach ($activityGoods[$key] as $k => $v) {
- if (empty($v)) {
- $this->sendOutput($k . '参数错误', ErrorCode::$paramError);
- }
- }
- if (isset($val['id'])) $activityGoods[$key]['id'] = $val['id'];
- $activityGoods[$key]['createTime'] = time();
- $activityGoods[$key]['updateTime'] = time();
- }
- $data['activityGoods'] = $activityGoods;//商品数据
- return $data;
- }
- /**
- * 新增
- */
- public function add()
- {
- $data = $this->commonFieldFilter();
- $result = $this->objMActivity->add($data);
- if ($result->isSuccess()) {
- parent::sendOutput($result->getData());
- }
- parent::sendOutput($result->getData(), $result->getErrorCode());
- }
- /**
- * 详情
- */
- public function getInfo()
- {
- $id = $this->request->param('request_id');
- if (empty($id)) {
- $this->sendOutput('参数错误', ErrorCode::$paramError);
- }
- $result = $this->objMActivity->getInfo($id);
- if ($result->isSuccess()) {
- parent::sendOutput($result->getData());
- }
- parent::sendOutput($result->getData(), $result->getErrorCode());
- }
- /**
- * 编辑
- */
- public function edit()
- {
- $id = $this->request->param('request_id');
- $deleteArray = $this->request->param('deleteArray');
- if (empty($id)) {
- $this->sendOutput('参数错误', ErrorCode::$paramError);
- }
- $data = $this->commonFieldFilter();
- $result = $this->objMActivity->edit($data, $id, $deleteArray);
- if ($result->isSuccess()) {
- parent::sendOutput($result->getData());
- }
- parent::sendOutput($result->getData(), $result->getErrorCode());
- }
- /**
- * 更新审核状态
- */
- public function updateAuditStatus()
- {
- $params = $this->request->getRawJson();
- if (empty($params)) {
- $this->sendOutput('参数为空', ErrorCode::$paramError);
- }
- $data = [
- 'id' => isset($params['id']) ? $params['id'] : '',
- 'auditStatus' => isset($params['auditStatus']) ? $params['auditStatus'] : '',
- ];
- foreach ($data as $k => $v) {
- if (empty($v) && $v !== 0) {
- $this->sendOutput($k . '参数错误', ErrorCode::$paramError);
- }
- }
- $result = $this->objMActivity->updateAuditStatus($data);
- if ($result->isSuccess()) {
- parent::sendOutput($result->getData());
- }
- parent::sendOutput($result->getData(), $result->getErrorCode());
- }
- /**
- * 删除
- */
- public function del()
- {
- $id = $this->request->param('request_id');
- if (empty($id)) {
- $this->sendOutput('参数错误', ErrorCode::$paramError);
- }
- $result = $this->objMActivity->del($id);
- if ($result->isSuccess()) {
- parent::sendOutput($result->getData());
- }
- parent::sendOutput($result->getData(), $result->getErrorCode());
- }
- /**
- * 列表
- */
- public function getAll()
- {
- $params = $this->request->getRawJson();
- if (empty($params)) {
- $this->sendOutput('参数为空', ErrorCode::$paramError);
- }
- $selectParams = [
- 'title' => isset($params['title']) ? $params['title'] : '',
- 'activityType' => isset($params['activityType']) ? $params['activityType'] : '',
- 'enableStatus' => isset($params['enableStatus']) ? $params['enableStatus'] : '',//审核状态
- 'start' => isset($params['start']) ? $params['start'] : '',
- 'end' => isset($params['end']) ? $params['end'] : '',
- 'useShop' => isset($params['useShop']) ? $params['useShop'] : '',
- 'isEnd' => isset($params['isEnd']) ? $params['isEnd'] : '',
- 'auditStatus' => isset($params['auditStatus']) ? $params['auditStatus'] : '',
- ];
- $pageParams = pageToOffset(isset($params['page']) ? $params['page'] : 1, isset($params['pageSize']) ? $params['pageSize'] : 10);
- $selectParams['limit'] = $pageParams['limit'];
- $selectParams['offset'] = $pageParams['offset'];
- $orderData = $this->objMActivity->getAll($selectParams);
- if ($orderData->isSuccess()) {
- $returnData = $orderData->getData();
- $pageData = [
- 'pageIndex' => $params['page'],
- 'pageSize' => $params['pageSize'],
- 'pageTotal' => $returnData['total'],
- ];
- parent::sendOutput($returnData['data'], 0, $pageData);
- }
- parent::sendOutput($orderData->getData(), ErrorCode::$dberror);
- }
- /**
- * 搜索
- */
- public function search()
- {
- $params = $this->request->getRawJson();
- if (empty($params)) {
- $this->sendOutput('参数为空', ErrorCode::$paramError);
- }
- $selectParams = [
- 'title' => isset($params['title']) ? $params['title'] : '',
- 'activityType' => isset($params['activityType']) ? $params['activityType'] : '',
- 'enableStatus' => isset($params['enableStatus']) ? $params['enableStatus'] : '',//审核状态
- 'start' => isset($params['start']) ? $params['start'] : '',
- 'end' => isset($params['end']) ? $params['end'] : '',
- 'useShop' => isset($params['useShop']) ? $params['useShop'] : '',
- 'isEnd' => isset($params['isEnd']) ? $params['isEnd'] : '',
- 'auditStatus' => isset($params['auditStatus']) ? $params['auditStatus'] : '',
- ];
- $pageParams = pageToOffset(isset($params['page']) ? $params['page'] : 1, isset($params['pageSize']) ? $params['pageSize'] : 10);
- $selectParams['limit'] = $pageParams['limit'];
- $selectParams['offset'] = $pageParams['offset'];
- $result = $this->objMActivity->search($selectParams);
- if ($result->isSuccess()) {
- $returnData = $result->getData();
- $pageData = [
- 'pageIndex' => $params['page'],
- 'pageSize' => $params['pageSize'],
- 'pageTotal' => $returnData['total'],
- ];
- parent::sendOutput($returnData['data'], 0, $pageData);
- }
- parent::sendOutput($result->getData(), $result->getErrorCode());
- }
- /**
- * 启用/禁用
- */
- public function updateEnableStatus()
- {
- $params = $this->request->getRawJson();
- if (empty($params)) {
- $this->sendOutput('参数为空', ErrorCode::$paramError);
- }
- $data = [
- 'id' => isset($params['id']) ? $params['id'] : '',
- 'enableStatus' => isset($params['enableStatus']) ? $params['enableStatus'] : '',
- 'activityType' => isset($params['activityType']) ? $params['activityType'] : '',
- ];
- foreach ($data as $k => $v) {
- if (empty($v) && $v !== 0) {
- $this->sendOutput($k . '参数错误', ErrorCode::$paramError);
- }
- }
- $result = $this->objMActivity->updateEnableStatus($data);
- if ($result->isSuccess()) {
- parent::sendOutput($result->getData());
- }
- parent::sendOutput($result->getData(), $result->getErrorCode());
- }
- public function test()
- {
- $dbResult = $this->objMActivity->getActivityPriceByParams([
- 'material'=>[
- 1=>[124,125,126],
- ],
- 'customerId' => 3
- ]);
- }
- }
|