Commit fdade616 by 王昆

gsb

parents 6328b659 d793a054
...@@ -4,11 +4,17 @@ var settings = require("../../../../config/settings"); ...@@ -4,11 +4,17 @@ var settings = require("../../../../config/settings");
class ActionAPI extends APIBase { class ActionAPI extends APIBase {
constructor() { constructor() {
super(); super();
<<<<<<< HEAD
this.saasSve = system.getObject("service.saas.saasSve"); this.saasSve = system.getObject("service.saas.saasSve");
this.userSve = system.getObject("service.user.userSve"); this.userSve = system.getObject("service.user.userSve");
this.orgSve = system.getObject("service.org.orgSve"); this.orgSve = system.getObject("service.org.orgSve");
this.authSve = system.getObject("service.auth.authSve"); this.authSve = system.getObject("service.auth.authSve");
=======
this.saasSve = system.getObject("service.saas.saasSve");
this.orgSve = system.getObject("service.org.orgSve");
this.userSve = system.getObject("service.user.userSve");
>>>>>>> d793a05418eb96a09ec06c0b5c36f56cc16ed20c
this.roleSve = system.getObject("service.role.roleSve"); this.roleSve = system.getObject("service.role.roleSve");
} }
...@@ -40,26 +46,51 @@ class ActionAPI extends APIBase { ...@@ -40,26 +46,51 @@ class ActionAPI extends APIBase {
switch (action_type) { switch (action_type) {
// saas // saas
case "addSaas": case "addSaas":
opResult = await this.saasSve.apiAddSaas(action_body);
break; break;
case "updSaas": case "updSaas":
opResult = await this.saasSve.apiUpdSaas(action_body);
break; break;
case "delSaas": case "delSaas":
opResult = await this.userSve.apiFindUserBySaasId(action_body);
if(opResult.status==0 && opResult.data.length==0){
opResult = await this.saasSve.apiDelSaas(action_body);
}else{
opResult = system.getResult(-1,`当前SAAS不能删除`);
}
break; break;
case "listSaas": case "listSaas":
opResult = await this.saasSve.apiListSaas(action_body);
break; break;
// 组织机构 // 组织机构
case "addOrg": case "addOrg":
opResult = await this.orgSve.apiAddOrg(action_body);
break; break;
case "updOrg": case "updOrg":
opResult = await this.orgSve.apiUpdOrg(action_body);
break; break;
case "delOrg": case "delOrg":
<<<<<<< HEAD
// 是否 uc_user_org 表中有数据 // 是否 uc_user_org 表中有数据
// 删除 // 删除
=======
opResult = await this.orgSve.apiDelOrg(action_body);
>>>>>>> d793a05418eb96a09ec06c0b5c36f56cc16ed20c
break; break;
case "listOrg": case "listOrg":
opResult = await this.orgSve.apiListOrg(action_body);
break; break;
case "findById":
opResult = await this.orgSve.apiFindById(action_body);
break;
case "byPid":
opResult = await this.orgSve.apiByPid(action_body);
break;
case "tree":
opResult = await this.orgSve.apiTree();
break;
// 菜单权限 // 菜单权限
case "addAuth": case "addAuth":
return this.authSve.add(action_body); return this.authSve.add(action_body);
...@@ -80,12 +111,16 @@ class ActionAPI extends APIBase { ...@@ -80,12 +111,16 @@ class ActionAPI extends APIBase {
// 角色 // 角色
case "addRole": case "addRole":
opResult = await this.roleSve.apiAddRole(action_body);
break; break;
case "updRole": case "updRole":
opResult = await this.roleSve.apiUpdRole(action_body);
break; break;
case "delRole": case "delRole":
opResult = await this.roleSve.delRole(action_body);
break; break;
case "listRole": case "listRole":
opResult = await this.roleSve.listRole(action_body);
break; break;
// 用户 // 用户
......
...@@ -4,5 +4,26 @@ class OrgDao extends Dao { ...@@ -4,5 +4,26 @@ class OrgDao extends Dao {
constructor() { constructor() {
super(Dao.getModelName(OrgDao)); super(Dao.getModelName(OrgDao));
} }
/**
* 条件查询
* @param {} params
*/
async findUserByOrgId(params){
let sql = [];
sql.push(`SELECT c.ucid,c.ucname,c.uctype,c.saas_id,c.isEnabled,c.created_at,c.updated_at,c.deleted_at
FROM uc_org a INNER JOIN uc_user_org b ON a.id = b.org_id INNER JOIN uc_user c ON b.user_id = c.id
WHERE 1=1 and ( c.deleted_at is null or c.deleted_at > NOW() ) `);
if(params.id){
sql.push("AND a.id = :id");
}
return await this.customQuery(sql.join(" "), params);
}
async all() {
return this.customQuery("SELECT * FROM uc_org WHERE deleted_at IS NULL");
}
} }
module.exports = OrgDao; module.exports = OrgDao;
\ No newline at end of file
...@@ -4,5 +4,33 @@ class UserDao extends Dao { ...@@ -4,5 +4,33 @@ class UserDao extends Dao {
constructor() { constructor() {
super(Dao.getModelName(UserDao)); super(Dao.getModelName(UserDao));
} }
/**
* 条件查询
* @param {} params
*/
async findUserBySaasId(params){
let sql = [];
sql.push('select ucid,ucname,uctype,saas_id,isEnabled from uc_user where 1 = 1');
if(params.ucid){
sql.push("AND ucid = :ucid");
}
if(params.ucname){
sql.push("AND ucname = :ucname");
}
if(params.uctype){
sql.push("AND uctype = :uctype");
}
if(params.saas_id){
sql.push("AND saas_id = :saas_id");
}
if(params.isEnabled){
sql.push("AND saas_id = :isEnabled");
}
sql.push(`AND (deleted_at > NOW() or deleted_at is null)`);
return await this.customQuery(sql.join(" "), params);
}
} }
module.exports = UserDao; module.exports = UserDao;
\ No newline at end of file
...@@ -5,5 +5,265 @@ class OrgService extends ServiceBase { ...@@ -5,5 +5,265 @@ class OrgService extends ServiceBase {
constructor() { constructor() {
super("org", ServiceBase.getDaoName(OrgService)); super("org", ServiceBase.getDaoName(OrgService));
} }
/**
* 添加
* @param {*} params
*/
async apiAddOrg(params) {
try {
return await this.addOrg(params);
} catch (error) {
return system.getResult(null, `系统错误 错误信息 ${error}`);
}
}
/**
* Org 更新
* @param {*} params
*/
async apiUpdOrg(params) {
try {
return await this.updOrg(params);
} catch (error) {
return system.getResult(null, `系统错误 错误信息 ${error}`);
}
}
/**
* Org 删除
* @param {*} params
*/
async apiDelOrg(params) {
try {
return await this.delOrg(params);
} catch (error) {
return system.getResult(null, `系统错误 错误信息 ${error}`);
}
}
/**
* Org 查询列表
* @param {*} params
*/
async apiListOrg(params) {
try {
return await this.listOrg(params);
} catch (error) {
return system.getResult(null, `系统错误 错误信息 ${error}`);
}
}
/**
* 根据ID查询该组织机构下的所有用户
*/
async apiFindUserByOrgId(params){
try {
return this.findUserByOrgId(params.id);
} catch (error) {
return system.getResult(null, `系统错误 错误信息 ${error}`);
}
}
/**
* 根据ID查明细
* @param {*} params
*/
async apiFindById(params){
try {
return await this.queryById(params)
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
}
}
/**
* 根据Ip查明细
* @param {*} params
*/
async apiByPid(params){
try {
return await this.byPid(params)
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
}
}
/**
* 根据ID查明细
* @param {*} params
*/
async apiTree(params){
try {
return await this.tree(params)
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
}
}
/********************************************************************** */
/**
* 添加
* @param {T} params
*/
async addOrg(params) {
try {
var pid = Number(params.pid || 0);
params.orgname = this.trim(params.orgname);
if(!params.orgname){return system.getResult(-1,`参数错误 组织名称不能为空`)}
let _orgByName = await this.findOne({orgname:params.orgname});
if(_orgByName){
return system.getResult(-1,`参数错误 组织名称已经存在`);
}
let path = "";
if(pid===0){
path = `/${params.orgname}`;
}else{
let _org = await this.findOne({id:pid});
if(!_org){
return system.getResult(-1,`参数错误 父节点不存在`);
}
path =`${_org.path}/${params.orgname}`;
}
params.path=path;
let res = await this.dao.create(params);
return system.getResult(res);
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
}
}
/**
* 更新
* @param {T} params
*/
async updOrg(params) {
// if (!params.id) {
// return system.getResult(-1, `参数错误 ID不能为空`);
// }
// let _org = await this.findById(params.id);
// if (!_org) {
// return system.getResult(-1, `信息不存在 请核对 ID`);
// }
// try {
// let res = await _org.save();
// console.log(`saas 更新成功 : ${JSON.stringify(res)}`);
// return system.getResult(res);
// } catch (error) {
// return system.getResult(-1, `系统错误 错误信息 ${error}`);
// }
return system.getResult(`此方法不对外提供服务`);
}
/**
* 删除
* @param {T} params
*/
async delOrg(params) {
try {
//检查是否存在此组织机构
let _org = await this.findById(params.id);
if (!_org) {
return system.getResult(-1, `信息不存在 请核对 ID`);
}
//检查组织机构下是否有用户
let _usersRes = await this.findUserByOrgId(params.id);
if(_usersRes.status===-1){
return _usersRes;
}
if(_usersRes.data.length!=0){
return system.getResult(-1,`该组织机构不能删除`);
}
//检查父节点 下是否有子节点
let _orgChildren = await this.dao.model.findAll({
where:{
pid:this.trim(params.id)
}
});
if(_orgChildren.length!=0){
return system.getResult(-1,`该组织机构不能删除`);
}
//删除
let res = await _org.destroy();
return system.getResult(res);
} catch (error) {
return system.getResult(-1, `系统错误 错误信息 ${error}`);
}
}
/**
* 查询列表
* @param {T} params
*/
async listOrg(params) {
let where = {};
let pageIndex = params.pageIndex || 1;
let pageSize = params.pageSize || 10;
if (params.orgname) {
where.orgname = this.trim(params.orgname);
}
if (params.path) {
where.path = this.trim(params.path);
}
if (params.pid) {
where.pid = this.trim(params.pid);
}
if (params.saas_id) {
where.saas_id = Number(params.saas_id);
}
if (params.hasOwnProperty("is_leaf")) {
where.is_leaf = Number(params.is_leaf);
}
try {
let orgList = await this.getPageList(pageIndex, pageSize, where);
return system.getResult(orgList);
} catch (error) {
return system.getResult(-1, `系统错误 错误信息 ${error}`);
}
}
/**
* 根据ID查询该组织机构下的所有用户
*/
async findUserByOrgId(id){
if(!Number(id)){
return system.getResult(-1,`参数错误 组织机构不能为空`);
}
try {
let res = await this.dao.findUserByOrgId(id);
return system.getResult(res);
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
}
}
async byPid(obj) {
var list = await this.dao.findAll({
pid: obj.pid || 0,
});
return list;
}
async tree() {
var all = await this.dao.all();
var pmap = {};
for (var item of all) {
var list = pmap[item.pid];
if (!list) {
list = [];
}
list.push(item);
pmap[item.pid] = list;
if (item.pid === 0) {
tree = item;
}
console.log(item.pid);
}
for(var item of all) {
item.childs = pmap[item.id] || [];
}
return pmap[0];
}
} }
module.exports = OrgService; module.exports = OrgService;
\ No newline at end of file
...@@ -5,5 +5,78 @@ class RoleService extends ServiceBase { ...@@ -5,5 +5,78 @@ class RoleService extends ServiceBase {
constructor() { constructor() {
super("role", ServiceBase.getDaoName(RoleService)); super("role", ServiceBase.getDaoName(RoleService));
} }
/**
* role 添加
* @param {*} params
*/
async apiAddRole(params) {
try {
return await this.addRole(params);
} catch (error) {
return system.getResult(null, `系统错误 错误信息 ${error}`);
}
}
/**
* role 更新
* @param {*} params
*/
async apiUpdRole(params) {
try {
return await this.updateRole(params);
} catch (error) {
return system.getResult(null, `系统错误 错误信息 ${error}`);
}
}
/***************************************************************** */
/**
* 添加
* @param {T} params
*/
async addRole (params){
params.code = this.trim(params.code);
params.name = this.trim(params.name);
params.saas_id = Number(params.saas_id || 0);
try {
let res = await this.create(params);
console.log(`saas 信息插入 : ${JSON.stringify(res)}`);
return system.getResult(res);
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
}
}
/**
* 更新
* @param {T} params
*/
async updateRole (params){
if(params.id){
params.id = Number(this.trim(params.id));
}
let _role = await this.findById({id:params.id});
if(!_role){
return system.getResult(-1,`参数错误 角色不存在`);
}
if(params.code){
_role.code = this.trim(params.code);
}
params.code = this.trim(params.code);
params.name = this.trim(params.name);
try {
let res = await this.update(params);
console.log(`saas 信息插入 : ${JSON.stringify(res)}`);
return system.getResult(res);
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
}
}
} }
module.exports = RoleService; module.exports = RoleService;
...@@ -5,5 +5,168 @@ class SaasService extends ServiceBase { ...@@ -5,5 +5,168 @@ class SaasService extends ServiceBase {
constructor() { constructor() {
super("saas", ServiceBase.getDaoName(SaasService)); super("saas", ServiceBase.getDaoName(SaasService));
} }
/**
* saas 添加
* @param {*} params
*/
async apiAddSaas(params) {
try {
return await this.addSaas(params);
} catch (error) {
return system.getResult(null, `系统错误 错误信息 ${error}`);
}
}
/**
* saas 更新
* @param {*} params
*/
async apiUpdSaas(params) {
try {
return await this.updSaas(params);
} catch (error) {
return system.getResult(null, `系统错误 错误信息 ${error}`);
}
}
/**
* saas 删除
* @param {*} params
*/
async apiDelSaas(params) {
try {
return await this.delSaas(params);
} catch (error) {
return system.getResult(null, `系统错误 错误信息 ${error}`);
}
}
/**
* saas 查询列表
* @param {*} params
*/
async apiListSaas(params) {
try {
return await this.listSaas(params);
} catch (error) {
return system.getResult(null, `系统错误 错误信息 ${error}`);
}
}
/********************************************************************** */
/**
* 添加
* @param {T} params
*/
async addSaas (params){
if(!this.trim(params.name) || !this.trim(params.domain) || !Number(this.trim(params.stype))){
return system.getResult(-1,`参数错误 请核对 名称、域名、用户类型 `);
}
params.name = this.trim(params.name);
params.domain = this.trim(params.domain);
params.managerMobile = params.managerMobile?this.trim(params.managerMobile):"";
params.managerId = params.managerId?Number(this.trim(params.managerId)):null;
params.stype = Number(this.trim(params.stype));
try {
let res = await this.create(params);
console.log(`saas 信息插入 : ${JSON.stringify(res)}`);
return system.getResult(res);
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
}
}
/**
* 更新
* @param {T} params
*/
async updSaas (params){
if(!params.id){
return system.getResult(-1,`参数错误 ID不能为空`);
}
let _saas = await this.findById(params.id);
if(!_saas){
return system.getResult(-1,`信息不存在 请核对 ID`);
}
if(params.name){
_saas.name = this.trim(params.name);
}
if(params.domain){
_saas.domain = this.trim(params.domain);
}
if(params.managerMobile){
_saas.managerMobile = this.trim(params.managerMobile);
}
if(params.managerId){
_saas.managerId = Number(params.managerId);
}
if(params.stype){
_saas.stype = Number(params.stype);
}
try {
let res = await _saas.save();
console.log(`saas 更新成功 : ${JSON.stringify(res)}`);
return system.getResult(res);
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
}
}
/**
* 删除
* @param {T} params
*/
async delSaas (params){
if(!params.id){
return system.getResult(-1,`参数错误 ID不能为空`);
}
let _saas = await this.findById(params.id);
if(!_saas){
return system.getResult(-1,`信息不存在 请核对 ID`);
}
try {
let res=await _saas.destroy();
return system.getResult(res);
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
}
}
/**
* 查询列表
* @param {T} params
*/
async listSaas (params){
let where={};
let pageIndex = params.pageIndex || 1;
let pageSize = params.pageSize || 10;
if(params.name){
where.name = this.trim(params.name);
}
if(params.domain){
where.domain = this.trim(params.domain);
}
if(params.managerMobile){
where.managerMobile = this.trim(params.managerMobile);
}
if(params.managerId){
where.managerId = Number(params.managerId);
}
if(params.stype){
where.stype = Number(params.stype);
}
if(params.id){
where.id = Number(params.id);
}
try {
let saasList = await this.getPageList(pageIndex,pageSize,where);
return system.getResult(saasList);
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
}
}
} }
module.exports = SaasService; module.exports = SaasService;
\ No newline at end of file
...@@ -5,5 +5,36 @@ class UserService extends ServiceBase { ...@@ -5,5 +5,36 @@ class UserService extends ServiceBase {
constructor() { constructor() {
super("user", ServiceBase.getDaoName(UserService)); super("user", ServiceBase.getDaoName(UserService));
} }
/**
* 条件查询
* @param {*} params
*/
async apiFindUserBySaasId(params){
try {
return await this.findUserBySaasId(params);
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
}
}
/**************************************************************** */
/**
* 条件查询
* @param {*} params
*/
async findUserBySaasId(params){
try {
let res = await this.dao.findUserBySaasId(params);
return system.getResult(res);
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
}
}
} }
module.exports = UserService; module.exports = UserService;
\ No newline at end of file
...@@ -12,7 +12,6 @@ var settings={ ...@@ -12,7 +12,6 @@ var settings={
config: { config: {
host: '192.168.18.237', host: '192.168.18.237',
port: 3306, port: 3306,
dialect: 'mysql', dialect: 'mysql',
operatorsAliases: false, operatorsAliases: false,
pool: { pool: {
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
"gm": "^1.23.1", "gm": "^1.23.1",
"marked": "^0.7.0", "marked": "^0.7.0",
"method-override": "^2.3.10", "method-override": "^2.3.10",
"moment": "^2.24.0",
"morgan": "^1.9.0", "morgan": "^1.9.0",
"multer": "^1.3.0", "multer": "^1.3.0",
"mysql2": "^1.5.3", "mysql2": "^1.5.3",
......
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