123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- <?php
- namespace JinDouYun\Model\System;
- use JinDouYun\Dao\System\DAdminSetting;
- use JinDouYun\Dao\System\DProcessSetting;
- use Mall\Framework\Core\ErrorCode;
- use Mall\Framework\Core\ResultWrapper;
- use Mall\Framework\Core\StatusCode;
- class MProcessSetting
- {
-
- private $objDProcessSetting;
-
- private $enterpriseId;
-
- private $objDAdminSetting;
-
- public function __construct($enterpriseId)
- {
- $this->enterpriseId = $enterpriseId;
- $this->objDProcessSetting = new DProcessSetting();
- $this->objDAdminSetting = new DAdminSetting();
- self::init();
- }
-
- private function init(): ResultWrapper
- {
- $adminLists = $this->objDAdminSetting->select(['type' => StatusCode::$adminSettingType['process']]);
- if ($adminLists === false) {
- return ResultWrapper::fail($this->objDAdminSetting->error(), ErrorCode::$dberror);
- }
- if (empty($adminLists)) {
- return ResultWrapper::success(true);
- }
- $lists = $this->objDProcessSetting->select(['enterpriseId' => $this->enterpriseId]);
- if ($lists === false) {
- return ResultWrapper::fail($this->objDProcessSetting->error(), ErrorCode::$dberror);
- }
- $processTypeIds = [];
- foreach ($lists as $val) {
- $processTypeIds[] = $val['processType'];
- }
- $inserts = [];
- foreach ($adminLists as $val) {
- if (in_array($val['signId'],$processTypeIds)){
- continue;
- }
- $inserts[] = [
- 'processType' => $val['signId'],
- 'enterpriseId' => $this->enterpriseId,
- 'content' => $val['content'],
- 'createTime' => time(),
- ];
- }
- if (!empty($inserts)){
- $result = $this->objDProcessSetting->insert($inserts,true);
- if ($result === false){
- return ResultWrapper::fail($this->objDProcessSetting->error(),ErrorCode::$dberror);
- }
- }
- return ResultWrapper::success(true);
- }
-
- public function set(array $params): ResultWrapper
- {
- $result = $this->objDProcessSetting->replace($params,true);
- if ($result === false) {
- return ResultWrapper::fail($this->objDProcessSetting->error(), ErrorCode::$paramError);
- }
- return ResultWrapper::success(true);
- }
-
- public function getAll(): ResultWrapper
- {
- $lists = $this->objDProcessSetting->select(['enterpriseId' => $this->enterpriseId]);
- if ($lists === false) {
- return ResultWrapper::fail($this->objDProcessSetting->error(), ErrorCode::$dberror);
- }
- foreach ($lists as &$list) {
- $list['content'] = empty($list['content']) ? [] : json_decode($list['content'], true);
- }
- return ResultWrapper::success($lists);
- }
-
- public function getProcessSettingByType(int $type,string $field = ''): ResultWrapper
- {
- $result = $this->objDProcessSetting->get(['enterpriseId'=>$this->enterpriseId,'processType'=>$type],'content');
- if ($result === false){
- return ResultWrapper::fail($this->objDProcessSetting->error(),ErrorCode::$dberror);
- }
- $set = isset($result['content']) ? json_decode($result['content'],true) : [];
- if (!empty($field) && !empty($set)){
- isset($set[$field]) && $set = $set[$field];
- }
- return ResultWrapper::success($set);
- }
-
- private static function buildProcessSetting(array $params): array
- {
- return [
- "processType" => isset($params['processType']) ? $params['processType'] : 0,
-
- "content" => isset($params['content']) ? json_encode($params['content']) : null,
-
- "enterpriseId" => isset($params['enterpriseId']) ? $params['enterpriseId'] : 0,
-
- "createTime" => time(),
-
- "updateTime" => time(),
-
- ];
- }
- }
|