db->beginTransaction(); try { $manufacturerModel = Yii::createObject(ManufacturerModel::className()); $manufacturerModel->manufacture_no = self::getManufactureNo(); $manufacturerModel->name = $item["name"]; // 厂商名称 $manufacturerModel->phone = $item['phone']; $result = $manufacturerModel->save(); $saveResult = false; if ($result) { $model = Yii::createObject(SysUserModel::className()); $model->username = self::getSysUserName(); $model->password = "1234567"; $model->is_enable = 1; $model->save(); $manufacturerModel->sys_user_id = $model->id; $manufacturerModel->save(); $profile = Yii::createObject(SysUserProfileModel::className()); $profile->sys_user_id = $model->id; $profile->realname = $item["name"]; $profile->email = ""; $profile->mobile = ""; $saveResult = $profile->save(); } if($saveResult) { $saveResult = $manufacturerModel->id; $transaction->commit(); } else { $transaction->rollBack(); } return $saveResult; } catch (Exception $e) { $transaction->rollBack(); return false; } } /** * @param $id * @param $item * @return null|static */ static function update($id, $item) { $manufacturerModel = ManufacturerModel::findOne($id); if (empty($manufacturerModel)) { return false; } $sysUserModel = SysUserModel::findOne($manufacturerModel->sys_user_id); if (empty($sysUserModel)) { return false; } if (isset($item['name']) && !empty($item['name'])) { $manufacturerModel->name = $item['name']; } if (isset($item['phone'])) { $manufacturerModel->phone = $item["phone"]; // 厂商电话 } $manufacturerModel->save(); $sysUserModel->username = $item['username']; $sysUserModel->password = $item['password']; $resultSave = $sysUserModel->save(); return $resultSave; } /** * @param $id * @param $item * @return null|static */ public static function delete($id) { $manufacturerModel = ManufacturerModel::findOne($id); if (empty($manufacturerModel)) { return false; } if (isset($manufacturerModel->sys_user_id)) { SysUserModel::deleteAll(["id" => $manufacturerModel->sys_user_id]); // 删除登录用户 SysUserProfileModel::deleteAll(["sys_user_id" => $manufacturerModel->sys_user_id]); // 删除登录用户 } return ManufacturerModel::deleteAll(["id" => $id]); } /** * 获取十六进制厂商编号 */ private static function getManufactureNo() { $findManufacturer = ManufacturerModel::find()->orderBy("id desc")->asArray()->one(); if (empty($findManufacturer)) { return "0001"; } $dataNo = hexdec($findManufacturer['manufacture_no']) + 1; $dataNo = (string) dechex($dataNo); if (strlen($dataNo) == 1) { $dataNo = "000" . $dataNo; } else if (strlen($dataNo) == 2) { $dataNo = "00" . $dataNo; } else if (strlen($dataNo) == 3) { $dataNo = "0" . $dataNo; } return strtoupper($dataNo); } /** * 获取登录账号名称 */ private static function getSysUserName() { $sysUserName = 'CS'.rand(10000000, 99999999); $sysUser = SysUserModel::find()->filterWhere(["like", "username", $sysUserName])->one(); if ($sysUser) { self::getSysUserName(); } return $sysUserName; } }