123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263 |
- <?php
- namespace JinDouYun\Controller\Enterprise;
- use JinDouYun\Dao\Department\DStaff;
- use JinDouYun\Model\Order\MOrderReturn;
- use Mall\Framework\Core\ErrorCode;
- use JinDouYun\Controller\BaseController;
- use JinDouYun\Cache\EnterpriseCache;
- use JinDouYun\Cache\OverviewCache;
- use JinDouYun\Cache\CustomerCache;
- use JinDouYun\Model\Order\MOrder;
- use JinDouYun\Model\Stock\MInventoryOut;
- use JinDouYun\Model\Stock\MInventory;
- use JinDouYun\Model\Enterprise\MEnterprise;
- use JinDouYun\Model\Finance\MReceived;
- use JinDouYun\Model\Finance\MReceive;
- use JinDouYun\Model\Finance\MPay;
- use JinDouYun\Model\Customer\MCustomer;
- use JinDouYun\Model\Purchase\MSupplier;
- use JinDouYun\Model\GoodsCategory\MGoodsCategory;
- use JinDouYun\Model\GoodsManage\MGoodsBasic;
- use Mall\Framework\Core\StatusCode;
- class Enterprise extends BaseController
- {
- private $objMEnterprise;
- private $objEnterpriseCache;
- private $objOverviewCache;
- private $objMReceived;
- private $objMReceive;
- private $objMPay;
- private $objMCustomer;
- private $objMSupplier;
- private $objMGoodsCategory;
- private $objMGoodsBasic;
- public function __construct($isCheckAcl = true, $isMustLogin = true)
- {
- parent::__construct($isCheckAcl, $isMustLogin);
- $this->objMEnterprise = new MEnterprise();
- $this->objEnterpriseCache = new EnterpriseCache();
- $this->objOverviewCache = new OverviewCache();
- $this->objMReceived = new MReceived($this->onlineEnterpriseId, $this->onlineUserId);
- $this->objMReceive = new MReceive($this->onlineEnterpriseId, $this->onlineUserId);
- $this->objMPay = new MPay($this->onlineEnterpriseId, $this->onlineUserId);
- $this->objMCustomer = new MCustomer($this->onlineEnterpriseId, $this->onlineUserId);
- $this->objMSupplier = new MSupplier($this->onlineUserId, $this->onlineEnterpriseId);
- $this->objMGoodsCategory = new MGoodsCategory($this->onlineUserId, $this->onlineEnterpriseId);
- $this->objMGoodsBasic = new MGoodsBasic($this->onlineUserId, $this->onlineEnterpriseId);
- }
-
- public function commonFieldFilter()
- {
- $params = $this->request->getRawJson();
- if (empty($params)) {
- $this->sendOutput('参数为空', ErrorCode::$paramError);
- }
- $EnterpriseData = [
- "userCenterId" => $this->onlineUserId,
- "enterpriseName" => isset($params['enterpriseName']) ? $params['enterpriseName'] : '',
- "contact" => isset($params['contact']) ? $params['contact'] : '',
- "mobile" => isset($params['mobile']) ? $params['mobile'] : '',
- "provinceCode" => isset($params['provinceCode']) ? $params['provinceCode'] : '',
- "cityCode" => isset($params['cityCode']) ? $params['cityCode'] : '',
- "districtCode" => isset($params['districtCode']) ? $params['districtCode'] : '',
- "address" => isset($params['address']) ? $params['address'] : '',
- "categoryId" => isset($params['categoryId']) ? $params['categoryId'] : 0,
- "startTime" => isset($params['startTime']) ? $params['startTime'] : time(),
- "expireTime" =>strtotime( isset($params['expireTime']) ? $params['expireTime'] : time()),
- "logo" => isset($params['logo']) ? $params['logo'] : '',
- ];
-
- foreach ($EnterpriseData as $key => $value) {
- if (empty($value) && $value !== 0) {
- $this->sendOutput($key . '参数错误', ErrorCode::$paramError);
- }
- }
-
- $EnterpriseData['brandName'] = isset($params['brandName']) ? $params['brandName'] : '';
- $EnterpriseData['isoem'] = isset($params['isoem']) ? $params['isoem'] : StatusCode::$delete;
- $EnterpriseData['updateTime'] = time();
- return $EnterpriseData;
- }
-
-
- public function deleteEnterprise()
- {
- $params = $this->request->getRawJson();
- $params['enterpriseId'] = $this->onlineEnterpriseId;
- $params['userCenterId'] = $this->onlineUserId;
-
-
- $result = $this->objMEnterprise->deleteEnterprise($params);
-
- $this->objEnterpriseCache->deleteEnterprise($params['userCenterId'], $params['enterpriseId']);
- if ($result->isSuccess()) {
- parent::sendOutput($result->getData());
- } else {
- parent::sendOutput($result->getData(), $result->getErrorCode());
- }
- }
-
- public function updateEnterprise()
- {
- $params['id'] = $this->onlineEnterpriseId;
- $EnterpriseData = $this->commonFieldFilter();
- $result = $this->objMEnterprise->updateEnterprise($EnterpriseData, $params);
- if ($result->isSuccess()) {
- parent::sendOutput($result->getData());
- } else {
- parent::sendOutput($result->getData(), $result->getErrorCode());
- }
- }
-
- public function getEnterpriseInfo()
- {
- $params['enterpriseId'] = $this->onlineEnterpriseId;
- $params['userCenterId'] = $this->onlineUserId;
-
- $result = $this->objMEnterprise->getEnterpriseInfo($params);
- if ($result->isSuccess()) {
- parent::sendOutput($result->getData());
- } else {
- parent::sendOutput($result->getData(), $result->getErrorCode());
- }
- }
-
- public function getStaffByToken()
- {
- $roleType = $this->request->param('request_id');
- if (empty($roleType)) {
- $this->sendOutput('参数为空', ErrorCode::$paramError);
- }
- $params['roleType'] = $roleType;
- $params['userCenterId'] = $this->onlineUserId;
- $params['enterpriseId'] = $this->onlineEnterpriseId;
- $params['shopId'] = $this->shopId;
- $result = $this->objMEnterprise->getStaffByToken($params);
- if ($result->isSuccess()) {
- parent::sendOutput($result->getData());
- } else {
- parent::sendOutput($result->getData(), $result->getErrorCode());
- }
- }
-
- public function overview()
- {
- $params = $this->request->getRawJson();
-
- $businessOverviewShopId = isset($params['businessOverviewShopId']) ? $params['businessOverviewShopId'] : '';
- $ranking = isset($params['ranking']) ? $params['ranking'] : '1';
-
- $categoryRankingShopId = isset($params['categoryRankingShopId']) ? $params['categoryRankingShopId'] : '';
-
- $goodsRankingShopId = isset($params['goodsRankingShopId']) ? $params['goodsRankingShopId'] : '';
-
- $supplierRankingShopId = isset($params['supplierRankingShopId']) ? $params['supplierRankingShopId'] : '';
- $objMInventory = new MInventory($this->onlineEnterpriseId, $this->onlineUserId);
- $objCustomerCache = new CustomerCache();
- $objMOrder = new MOrder($this->onlineUserId, $this->onlineEnterpriseId);
- $objMInventoryOut = new MInventoryOut($this->onlineEnterpriseId, $this->onlineUserId);
-
- $modelResult = $objMInventoryOut->statisticsCountInventoryOut($businessOverviewShopId);
- if(!$modelResult->isSuccess()){
- parent::sendOutput($modelResult->getData(),$modelResult->getErrorCode());
- }
- $objMOrderReturn = new MOrderReturn($this->onlineEnterpriseId,$this->onlineUserId);
- $result = $objMOrderReturn->getSubRetMoneyToday(['shopId' => $businessOverviewShopId]);
- if (!$result->isSuccess()){
- parent::sendOutput($result->getData(),$result->getErrorCode());
- }
- $subRetMoney = $result->getData();
- $numberUser = $this->objMCustomer->getNumberUser()->getData();
- if (!$numberUser['totalCount']){
- $numberUser['valid']=0;
- $numberUser['void']=0;
- }
- $orderNumOfNotOutOfStock = $modelResult->getData();
- $data = [
- 'aggregateStatistics' => [
- 'totalShouldReceive' => $this->objMCustomer->getTotalShouldReceive(),
- 'totalShouldPay' => $this->objMSupplier->getTotalShouldPay(),
- 'numberOfProductsInStock' => $objMInventory->statistics()['numberOfProductsInStock'],
- 'totalMoneyOfInventory' => $objMInventory->statistics()['totalMoneyOfInventory'],
- 'customerTotalNum' => $numberUser,
- ],
-
- 'businessOverview' => [
- 'orderTotalMoney' => bcsub($objMOrder->businessOverview('orderTotalMoney', $businessOverviewShopId),$subRetMoney,2),
- 'orderConfirmedMoney' => bcsub($objMOrder->businessOverview('orderConfirmedMoney', $businessOverviewShopId),$subRetMoney,2),
- 'todayGrossProfit' => bcsub($objMOrder->businessOverview('todayGrossProfit', $businessOverviewShopId),$subRetMoney,2),
- 'todayReceivedMoney' => $this->objMReceived->getTodayReceivedMoney($businessOverviewShopId),
- 'todayNewCustomerNum' => $this->objMCustomer->getTodayCustomerTotalNum($businessOverviewShopId),
- 'todayConfirmedOrderNum' => $objMOrder->businessOverview('todayConfirmedOrderNum', $businessOverviewShopId),
- 'todayConfirmedOrderCustomerNum' => $objMOrder->getTodayCustomerOrderNum($businessOverviewShopId),
-
- 'customerAverageMoney' => $objMOrder->getTodayOrder($businessOverviewShopId),
-
- 'orderNumOfNotOutOfStock' => $orderNumOfNotOutOfStock,
- 'todayCanceledOrder' => $objMOrder->businessOverview('todayCanceledOrder', $businessOverviewShopId),
- ],
-
- 'ranking' => [
-
- 'categoryRanking' => $this->objMGoodsCategory->todayCategoryRanking($ranking, $categoryRankingShopId),
-
- 'goodsRanking' => $this->objMGoodsBasic->todayGoodsRanking($ranking, $goodsRankingShopId),
-
- 'customerRanking' => $this->objMCustomer->todayCustomerRanking($ranking),
-
- 'supplierRanking' => $this->objMSupplier->todaySupplierRanking($ranking, $supplierRankingShopId),
- ],
-
- 'chartData' => $this->objOverviewCache->getOrderTrend($this->onlineEnterpriseId)
- ];
- parent::sendOutput($data);
- }
- }
|