Commit 411f1c82 authored by 侯贺政's avatar 侯贺政

员工信息

Signed-off-by: 侯贺政's avatarhouhezheng <houhezheng@romens.cn>
parent e8fa1e68
......@@ -53,13 +53,19 @@ return [
'swagger',
'v1/shop/branch/branch',
'v1/rbacuser/rbac-user',
'v1/shopuser/shop-user-membergrade'
'v1/shopuser/shop-user-membergrade',
'v1/shopuser/user-info',
'v1/shopuser/shop-user',
],
'extraPatterns'=>[
'GET,OPTIONS test'=>'test',
'GET swagger'=>'swagger',
'POST login'=>'login',
'GET get'=>'get',
'GET department'=>'department',
'GET user-complain'=>'user-complain',
'GET employee-info' => 'employee-info',
'GET employee-list' => 'employee-list',
],
],
'GET swaggers/swagger/<id>'=>'swagger/swagger',
......
<?php
namespace backend\controllers\v1\shopuser;
use Yii;
use backend\controllers\v1\BaseController;
use app\models\v1\shopuser\ShopUser;
class ShopUserController extends BaseController
{
public $modelClass = 'app\models\v1\shopuser\ShopUser';
public $serializer = [
'class' => 'yii\rest\Serializer',
'collectionEnvelope' => 'data',
];
/**
* @OA\GET(
* path="/backend/web/v1/shopuser/shop-users/employee-list",
* tags={"用户&员工接口"},
* summary="员工信息列表",
* description="员工信息列表",
* operationId="returnGetParam",
* @OA\Parameter(name="page",in="query",@OA\Schema(type="int")),
* @OA\Parameter(name="NAME",in="query",@OA\Schema(type="string")),
* @OA\Parameter(name="CODE",in="query",@OA\Schema(type="string")),
* @OA\Parameter(name="MOBILEPHONE",in="query",@OA\Schema(type="string")),
* @OA\Parameter(name="EMPLOYEE_BRANCH_GUID",in="query",@OA\Schema(type="string")),
* @OA\Response(response="200",description="
* GUID:用户GUID,
* EMPLOYEE_CODE:员工编号,
* MOBILE_PHONE:手机号,
* EMPLOYEE_BRANCH_GUID:用户所属门店GUID"),
* security={{"Authorization": {}}}
* )
*/
public function actionEmployeeList()
{
$model = new ShopUser();
$list = $model->employeeSearch(Yii::$app->request->queryParams);
if (!$list) {
return [
'message' => '未找到符合条件的数据',
'data' => [],
];
}
return $list;
}
/**
* @OA\GET(
* path="/backend/web/v1/shopuser/shop-users/employee-info",
* tags={"用户&员工接口"},
* summary="员工信息",
* description="某员工的信息详情",
* operationId="returnGetParam",
* @OA\Parameter(name="id",in="query",required=true,@OA\Schema(type="string")),
* @OA\Response(response="200",description="
* GUID:用户GUID,
* EMPLOYEE_CODE:员工编号,
* MOBILE_PHONE:手机号,
* AGE:年龄,
* CONTACT_SEX:性别,
* MEMBER_NO:会员卡号,
* IS_DISTRIBUTOR:分销商标识(0:否,1:是),
* EMPLOYEE_IS_MANAGER:员工是否为门店店长,
* EMPLOYEE_BRANCH_GUID:用户所属门店GUID"),
* security={{"Authorization": {}}}
* )
*/
public function actionEmployeeInfo($id)
{
$model = new ShopUser();
$data = $model->employeeInfo($id);
if (!$data) {
Yii::$app->response->statusCode = 400;
return [
'message' => '请求错误,该用户不存在',
'data' => [],
];
}
return $data;
}
}
<?php
namespace backend\controllers\v1\shopuser;
use Yii;
use backend\controllers\v1\BaseController;
use app\models\v1\shopuser\UserInfos;
class UserInfoController extends BaseController
{
public $modelClass='app\models\v1\shopuser\UserInfos';
public $serializer = [
'class' => 'yii\rest\Serializer',
'collectionEnvelope' => 'userinfos',
];
/**
* @OA\Get(
* path="/backend/web/v1/shopuser/user-infos/department",
* tags={"部门信息"},
* description="部门信息",
* summary="部门信息",
* operationId="returnGetParam",
* @OA\Parameter(name="code",in="query",@OA\Schema(type="string")),
* @OA\Parameter(name="name",in="query",@OA\Schema(type="string")),
* @OA\Response(response="200",description="OK。一切正常"),
* security={{"Authorization": {}}}
* )
*/
public function actionDepartment()
{
$get=Yii::$app->request->get();
$code = isset($get['code']) ? $get['code'] : '';
$name = isset($get['name']) ? $get['name'] : '';
$model=new UserInfos();
$info = $model->DepartmentInfo($code,$name);
return $info;
}
/**
* @OA\Get(
* path="/backend/web/v1/shopuser/user-infos/user-complain",
* tags={"留言信息"},
* description="留言信息",
* summary="留言信息",
* operationId="returnGetParam",
* @OA\Parameter(name="orgguid",in="query",@OA\Schema(type="string")),
* @OA\Response(response="200",description="OK。一切正常"),
* security={{"Authorization": {}}}
* )
*/
public function actionUserComplain()
{
$get=Yii::$app->request->get();
$orgguid = isset($get['orgguid']) ? $get['orgguid'] : '';
$model=new UserInfos();
$info = $model->UserComplainInfo($orgguid);
return $info;
}
}
<?php
namespace app\models\v1\shopuser;
use app\models\v1\BaseModel;
use Yii;
use yii\data\ActiveDataProvider;
/**
* This is the model class for table "shop_user".
*
* @property string $GUID
* @property string $USER_GROUP_GUID 用户分组GUID
* @property string $CODE 用户名(手机号)
* @property string $NAME 姓名
* @property string $PASSWORD 密码
* @property string $ORG_GUID 企业组织机构号
* @property string $EMPLOYEE_GUID 如果USERGROUPGUID是店长,用来存门店GUID
* @property string $WX_NO
* @property string $CREATE_GUID 创建人GUID
* @property string $CREATE_NAME 创建人姓名
* @property string $CREATE_DATE 创建时间
* @property string $UPDATE_GUID 更新人GUID
* @property string $UPDATE_NAME 更新人姓名
* @property string $UPDATE_DATE 更新时间
* @property string $IS_FORBID
* @property string $MOBILE_PHONE 手机号
* @property string $CONTACT_SEX 性别,1:男,0:女
* @property string $DESCRIPTION 用户头像URL
* @property string $USER_GUID 大平台USERGUID,普通用户此信息为空
* @property string $SHARE_NO 分享码,每个用户都有
* @property string $BINDCARD 会员卡信息
* @property string $SIGNIN_POINT 签到积分
* @property string $CONSUMPTION_POINT 消费积分(会员在CRM的剩余积分)
* @property string $PROMOTEUID 推荐人(邀请人)GUID
* @property string $IS_UPLOADHX
* @property string $PROMOTE_CODE 推荐码,暂不用
* @property string $MEMBER_NO 会员卡号
* @property int $BELONG 是否员工,1:是
* @property string $REMARK
* @property string $ALIPAYU_ID
* @property string $UNION_ID
* @property string $WXOPEN_ID 小程序OPENID
* @property string $IS_DISTRIBUTOR 分销商标识,0:否 1:是
* @property int $AGE 年龄
* @property string $IS_FOCUSON
* @property string $IS_FROM 用戶來源,APP:来自APP,WXAPP:来自微信小程序,ALIAPP:支付宝小程序
* @property string $CONTACTBIRTH_DATE 出生日期
* @property string $LABEL 用户标签
* @property string $EMPLOYEE_CODE 员工工号
* @property string $EMPLOYEE_BRANCH_GUID 员工所属门店guid
* @property string $EMPLOYEE_IS_MANAGER 员工是否是门店店长
* @property string $MEMBER_GRADE_GUID 用户等级GUID
* @property string $PROTECTED_DATE 用户保护期截止日期
* @property string $NICK_NAME 用户昵称
* @property string $ALIPAYAC_COUNT 支付宝账号
* @property string $POSITION 员工职位
* @property string $DEPARTMENT 员工所属部门
* @property string $HYBRIS_UID Hybris的客户编号,推送订单或者退单时使用
* @property string $CRM_CUSTOMER_ID 用户在CRM的编号
* @property string $USER_REGION_NUMBER 惠氏业务员区域编号
* @property string $USER_SELF_NUMBER 惠氏业务员自编号
* @property string $SHARE_QRPATH 用户分销图片地址
* @property int $IS_HSDISTRIBUTOR 是否是惠氏分销员
* @property string $HS_SHAREQR_PATH 惠氏小程序分销图片地址
* @property int $IS_HS_DISTRIBUTOR_PARENT 是否惠氏分销商上级
* @property string $HSDIS_PARENT_GUID 惠氏分销员的上级
* @property string $MEMBERSHIP_ID 用户在CRM的会员资格号
* @property int $IS_EMPDISTRIBUTOR 是否为员工分销员 1是
* @property string $EMPDISTRIBUTO_RCODE 员工分销员对应的员工账号CODE
*/
class ShopUser extends BaseModel
{
/**
* {@inheritdoc}
*/
public static function tableName()
{
return 'shop_user';
}
/**
* {@inheritdoc}
*/
public function rules()
{
return [
[['GUID', 'CODE'], 'required'],
[['CREATE_DATE', 'UPDATE_DATE', 'CONTACTBIRTH_DATE', 'PROTECTED_DATE'], 'safe'],
[['BINDCARD'], 'string'],
[['SIGNIN_POINT', 'CONSUMPTION_POINT'], 'number'],
[['BELONG', 'AGE', 'IS_HSDISTRIBUTOR', 'IS_HS_DISTRIBUTOR_PARENT', 'IS_EMPDISTRIBUTOR'], 'integer'],
[['GUID', 'USER_GROUP_GUID', 'CODE', 'ORG_GUID', 'EMPLOYEE_GUID', 'WX_NO', 'CREATE_GUID', 'UPDATE_GUID', 'MOBILE_PHONE', 'USER_GUID', 'SHARE_NO', 'PROMOTEUID', 'PROMOTE_CODE', 'MEMBER_NO', 'REMARK', 'ALIPAYU_ID', 'UNION_ID', 'WXOPEN_ID', 'EMPLOYEE_CODE', 'EMPLOYEE_BRANCH_GUID', 'MEMBER_GRADE_GUID', 'NICK_NAME', 'POSITION', 'DEPARTMENT', 'HYBRIS_UID', 'MEMBERSHIP_ID'], 'string', 'max' => 50],
[['NAME', 'CREATE_NAME', 'UPDATE_NAME'], 'string', 'max' => 100],
[['PASSWORD', 'DESCRIPTION'], 'string', 'max' => 255],
[['IS_FORBID', 'CONTACT_SEX'], 'string', 'max' => 4],
[['IS_UPLOADHX', 'IS_FROM', 'EMPDISTRIBUTO_RCODE'], 'string', 'max' => 10],
[['IS_DISTRIBUTOR', 'EMPLOYEE_IS_MANAGER'], 'string', 'max' => 1],
[['IS_FOCUSON', 'CRM_CUSTOMER_ID', 'USER_REGION_NUMBER', 'USER_SELF_NUMBER'], 'string', 'max' => 20],
[['LABEL', 'SHARE_QRPATH', 'HS_SHAREQR_PATH', 'HSDIS_PARENT_GUID'], 'string', 'max' => 200],
[['ALIPAYAC_COUNT'], 'string', 'max' => 30],
[['CODE'], 'unique'],
[['GUID'], 'unique'],
];
}
/**
* {@inheritdoc}
*/
public function attributeLabels()
{
return [
'GUID' => 'Guid',
'USER_GROUP_GUID' => 'User Group Guid',
'CODE' => 'Code',
'NAME' => 'Name',
'PASSWORD' => 'Password',
'ORG_GUID' => 'Org Guid',
'EMPLOYEE_GUID' => 'Employee Guid',
'WX_NO' => 'Wx No',
'CREATE_GUID' => 'Create Guid',
'CREATE_NAME' => 'Create Name',
'CREATE_DATE' => 'Create Date',
'UPDATE_GUID' => 'Update Guid',
'UPDATE_NAME' => 'Update Name',
'UPDATE_DATE' => 'Update Date',
'IS_FORBID' => 'Is Forbid',
'MOBILE_PHONE' => 'Mobile Phone',
'CONTACT_SEX' => 'Contact Sex',
'DESCRIPTION' => 'Description',
'USER_GUID' => 'User Guid',
'SHARE_NO' => 'Share No',
'BINDCARD' => 'Bindcard',
'SIGNIN_POINT' => 'Signin Point',
'CONSUMPTION_POINT' => 'Consumption Point',
'PROMOTEUID' => 'Promoteuid',
'IS_UPLOADHX' => 'Is Uploadhx',
'PROMOTE_CODE' => 'Promote Code',
'MEMBER_NO' => 'Member No',
'BELONG' => 'Belong',
'REMARK' => 'Remark',
'ALIPAYU_ID' => 'Alipayu ID',
'UNION_ID' => 'Union ID',
'WXOPEN_ID' => 'Wxopen ID',
'IS_DISTRIBUTOR' => 'Is Distributor',
'AGE' => 'Age',
'IS_FOCUSON' => 'Is Focuson',
'IS_FROM' => 'Is From',
'CONTACTBIRTH_DATE' => 'Contactbirth Date',
'LABEL' => 'Label',
'EMPLOYEE_CODE' => 'Employee Code',
'EMPLOYEE_BRANCH_GUID' => 'Employee Branch Guid',
'EMPLOYEE_IS_MANAGER' => 'Employee Is Manager',
'MEMBER_GRADE_GUID' => 'Member Grade Guid',
'PROTECTED_DATE' => 'Protected Date',
'NICK_NAME' => 'Nick Name',
'ALIPAYAC_COUNT' => 'Alipayac Count',
'POSITION' => 'Position',
'DEPARTMENT' => 'Department',
'HYBRIS_UID' => 'Hybris Uid',
'CRM_CUSTOMER_ID' => 'Crm Customer ID',
'USER_REGION_NUMBER' => 'User Region Number',
'USER_SELF_NUMBER' => 'User Self Number',
'SHARE_QRPATH' => 'Share Qrpath',
'IS_HSDISTRIBUTOR' => 'Is Hsdistributor',
'HS_SHAREQR_PATH' => 'Hs Shareqr Path',
'IS_HS_DISTRIBUTOR_PARENT' => 'Is Hs Distributor Parent',
'HSDIS_PARENT_GUID' => 'Hsdis Parent Guid',
'MEMBERSHIP_ID' => 'Membership ID',
'IS_EMPDISTRIBUTOR' => 'Is Empdistributor',
'EMPDISTRIBUTO_RCODE' => 'Empdistributo Rcode',
];
}
/**
* 查询员工信息列表
*
* @param array $params 查询参数数组
* @return array|null 匹配到的员工列表
*/
public function employeeSearch($params)
{
// $org_guid = Yii::$app->user->identity->ORG_GUID;
//$org_guid = (Yii::$app->redis->get('access_token'))['ORG_GUID'];
$org_guid = 100;
$query = static::find()->select('GUID,NAME,EMPLOYEE_CODE,MOBILE_PHONE,EMPLOYEE_BRANCH_GUID')
->where(['ORG_GUID' => $org_guid, 'BELONG' => 1]);
if (isset($params['NAME']) && !empty($params['NAME'])) {
$query->andWhere(['like', 'NAME', $params['NAME']]);
}
if (isset($params['EMPLOYEE_CODE']) && !empty($params['EMPLOYEE_CODE'])) {
$query->andWhere(['like', 'EMPLOYEE_CODE', $params['EMPLOYEE_CODE']]);
}
if (isset($params['MOBILEPHONE']) && !empty($params['MOBILEPHONE'])) {
$query->andWhere(['like', 'MOBILEPHONE', $params['MOBILEPHONE']]);
}
if (isset($params['EMPLOYEE_BRANCH_GUID']) && !empty($params['EMPLOYEE_BRANCH_GUID'])) {
$query->andWhere(['like', 'EMPLOYEE_BRANCH_GUID', $params['EMPLOYEE_BRANCH_GUID']]);
}
return new ActiveDataProvider(
[
'query' => $query->asArray(),
'pagination' => [
'pageSize' => 5,
]
]
);
}
/**
* 查询员工信息
*
* @param string $id 员工GUID
* @return array $info 该员工信息
*/
public function employeeInfo($id)
{
// $org_guid = Yii::$app->user->identity->ORG_GUID;
$org_guid = 100;
$info = static::find()->select('GUID,NAME,EMPLOYEE_CODE,MOBILE_PHONE,AGE,CONTACT_SEX,MEMBER_NO,IS_DISTRIBUTOR,EMPLOYEE_IS_MANAGER,EMPLOYEE_BRANCH_GUID')
->where(['GUID' => $id, 'BELONG' => 1, 'ORG_GUID' => $org_guid])
->one();
return $info;
}
}
<?php
namespace app\models\v1\shopuser;
use Yii;
use app\models\v1\BaseModel;
class UserInfos extends BaseModel
{
/**
* {@inheritdoc}
*/
public static function tableName()
{
return 'shop_user_complain';
}
public function DepartmentInfo($code,$name)
{
if($code && $name){
$info = Yii::$app->db->createCommand("select * from shop_department where CODE='".$code."' and NAME LIKE '%".$name."%'")
->query();
}else if($code && !$name){
$info = Yii::$app->db->createCommand('select * from shop_department where CODE='.$code)
->query();
}else if(!$code && $name){
$info = Yii::$app->db->createCommand("select * from shop_department where NAME LIKE '%".$name."%'")
->query();
}else{
$info = Yii::$app->db->createCommand('select * from shop_department')
->query();
}
return $info;
}
public function UserComplainInfo($orgguid)
{
if($orgguid){
$sql = 'select su.NAME,suc.TS_PHONE,suc.TS_CONTENT,suc.TS_COMMIT_DATE,suc.COMPLAIN_TYPE from shop_user_complain as suc left join
shop_user as su on suc.TS_USER_GUID=SU.GUID where suc.ORG_GUID='.$orgguid;
$info = Yii::$app->db->createCommand($sql)->query();
}else{
$sql = 'select su.NAME,suc.TS_PHONE,suc.TS_CONTENT,suc.TS_COMMIT_DATE,suc.COMPLAIN_TYPE from shop_user_complain as suc left join
shop_user as su on suc.TS_USER_GUID=SU.GUID';
$info = Yii::$app->db->createCommand($sql)->query();
}
return $info;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment