Commit b91d5a2c by Sxy

feat: add opath

parent c843cbda
...@@ -58,6 +58,14 @@ class CtlBase { ...@@ -58,6 +58,14 @@ class CtlBase {
bizpath: req.headers["xbizpath"], bizpath: req.headers["xbizpath"],
codename: req.headers["xcodename"], codename: req.headers["xcodename"],
codetitle: req.headers["xcodetitle"] ? decodeURI(req.headers["xcodetitle"]) : '', codetitle: req.headers["xcodetitle"] ? decodeURI(req.headers["xcodetitle"]) : '',
opath: req.headers['xopath'],
ptags: req.headers['xptags'],
}
//添加组织结构路径,如果是上级,取上级
if (req.xctx.ptags && req.xctx.ptags != "") {
pobj.opath = req.xctx.ptags
} else {
pobj.opath = req.xctx.opath
} }
if (!req.xctx.appkey) { if (!req.xctx.appkey) {
return [-200, "请求头缺少应用x-app-key"] return [-200, "请求头缺少应用x-app-key"]
...@@ -99,7 +107,7 @@ class CtlBase { ...@@ -99,7 +107,7 @@ class CtlBase {
} catch (e) { } catch (e) {
this.logClient.log(pobj, req, null, e.stack) this.logClient.log(pobj, req, null, e.stack)
console.log(e.stack, "出现异常,请联系管理员......."); console.log(e.stack, "出现异常,请联系管理员.......");
return system.getResultFail(-200, e.message?e.message:"出现异常,请联系管理员"); return system.getResultFail(-200, e.message ? e.message : "出现异常,请联系管理员");
} }
} }
} }
......
const system=require("../../../system"); const system = require("../../../system");
const Dao=require("../../dao.base"); const Dao = require("../../dao.base");
class UserDao extends Dao{ class UserDao extends Dao {
constructor(){ constructor() {
super(Dao.getModelName(UserDao)); super(Dao.getModelName(UserDao));
} }
async getAuths(userid){ async getAuths(userid) {
var self=this; var self = this;
return this.model.findOne({ return this.model.findOne({
where:{id:userid}, where: { id: userid },
include:[{model:self.db.models.account,attributes:["id","isSuper","referrerOnlyCode"]}, include: [{ model: self.db.models.account, attributes: ["id", "isSuper", "referrerOnlyCode"] },
{model:self.db.models.role,as:"Roles",attributes:["id","code"],include:[ {
{model:self.db.models.product,as:"Products",attributes:["id","code"]} model: self.db.models.role, as: "Roles", attributes: ["id", "code"], include: [
]}, { model: self.db.models.product, as: "Products", attributes: ["id", "code"] }
]
},
], ],
}); });
} }
async getUserByUsername(username,appkey,t){ async getUserByUsername(username, appkey, t) {
var app=await this.appDao.findOne(appkey); var app = await this.appDao.findOne(appkey);
var tUser=await this.model.findOne({ var tUser = await this.model.findOne({
where:{userName:username,app_id:app.id}, where: { userName: username, app_id: app.id },
include:[{model:this.db.models.app,raw:true}, include: [{ model: this.db.models.app, raw: true },
// {model:this.db.models.partnerinfo,attributes:["id","user_id","app_id","userName","applyType","applyName","workPic","tagInfo","mobile","tel","applyProvince","applyCity", // {model:this.db.models.partnerinfo,attributes:["id","user_id","app_id","userName","applyType","applyName","workPic","tagInfo","mobile","tel","applyProvince","applyCity",
// "applyArea","applyAddr","identityCardPic","identityCard","businessLicensePic","businessLicenseNum","entName","cardNo","realName"]}, // "applyArea","applyAddr","identityCardPic","identityCard","businessLicensePic","businessLicenseNum","entName","cardNo","realName"]},
{model:this.db.models.account,attributes:["id","isSuper","referrerOnlyCode"],raw:true}, { model: this.db.models.account, attributes: ["id", "isSuper", "referrerOnlyCode"], raw: true },
{model:this.db.models.role,as:"Roles",attributes:["id","code"],include:[ {
{model:this.db.models.product,as:"Products",attributes:["id","code"],raw:true} model: this.db.models.role, as: "Roles", attributes: ["id", "code"], include: [
]}, { model: this.db.models.product, as: "Products", attributes: ["id", "code"], raw: true }
]},{transaction:t}); ]
// if(tUser!=null){ },
// tUser=tUser.get({plain:true}); ]
// tUser.partnerinfo=await this.partnerinfoDao.model.findOne({where:{onlyCode:tUser.onlyCode},raw:true}); }, { transaction: t });
// } // if(tUser!=null){
return tUser; // tUser=tUser.get({plain:true});
// tUser.partnerinfo=await this.partnerinfoDao.model.findOne({where:{onlyCode:tUser.onlyCode},raw:true});
// }
return tUser;
} }
async getUserByOpenId(popenid,appkey,t){ async getUserByOpenId(popenid, appkey, t) {
var app=await this.appDao.findOne(appkey); var app = await this.appDao.findOne(appkey);
var tUser=await this.model.findOne({ var tUser = await this.model.findOne({
where:{openId:popenid}, where: { openId: popenid },
include:[{model:this.db.models.app,raw:true}, include: [{ model: this.db.models.app, raw: true },
// {model:this.db.models.partnerinfo,attributes:["id","user_id","app_id","userName","applyType","applyName","workPic","tagInfo","mobile","tel","applyProvince","applyCity", // {model:this.db.models.partnerinfo,attributes:["id","user_id","app_id","userName","applyType","applyName","workPic","tagInfo","mobile","tel","applyProvince","applyCity",
// "applyArea","applyAddr","identityCardPic","identityCard","businessLicensePic","businessLicenseNum","entName","cardNo","realName"]}, // "applyArea","applyAddr","identityCardPic","identityCard","businessLicensePic","businessLicenseNum","entName","cardNo","realName"]},
{model:this.db.models.account,attributes:["id","isSuper","referrerOnlyCode"],raw:true}, { model: this.db.models.account, attributes: ["id", "isSuper", "referrerOnlyCode"], raw: true },
{model:this.db.models.role,as:"Roles",attributes:["id","code"],include:[ {
{model:this.db.models.product,as:"Products",attributes:["id","code"],raw:true} model: this.db.models.role, as: "Roles", attributes: ["id", "code"], include: [
]}, { model: this.db.models.product, as: "Products", attributes: ["id", "code"], raw: true }
]},{transaction:t}); ]
if(tUser!=null){ },
tUser=tUser.get({plain:true}); ]
tUser.partnerinfo=await this.partnerinfoDao.model.findOne({where:{onlyCode:tUser.onlyCode},raw:true}); }, { transaction: t });
} if (tUser != null) {
// console.log("tUser.partnerinfo...................................>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>999sy"); tUser = tUser.get({ plain: true });
// console.log(tUser); tUser.partnerinfo = await this.partnerinfoDao.model.findOne({ where: { onlyCode: tUser.onlyCode }, raw: true });
return tUser; }
// console.log("tUser.partnerinfo...................................>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>999sy");
// console.log(tUser);
return tUser;
} }
async setAccount(user,account,t){ async setAccount(user, account, t) {
var user=await user.setAccount(account,{transaction: t}); var user = await user.setAccount(account, { transaction: t });
return user; return user;
} }
async setApp(user,app,t){ async setApp(user, app, t) {
//按照APPId,获取app对象 //按照APPId,获取app对象
var user=await user.setApp(app,{transaction: t}); var user = await user.setApp(app, { transaction: t });
return user; return user;
} }
extraModelFilter(){ extraModelFilter() {
//return {"key":"include","value":[{model:this.db.models.app,},{model:this.db.models.role,as:"Roles",attributes:["id","name"],joinTableAttributes:['created_at']}]}; //return {"key":"include","value":[{model:this.db.models.app,},{model:this.db.models.role,as:"Roles",attributes:["id","name"],joinTableAttributes:['created_at']}]};
return {"key":"include","value":[ return {
// {model:this.db.models.app,}, "key": "include", "value": [
{model:this.db.models.company,}, // {model:this.db.models.app,},
{model:this.db.models.role,as:"Roles",attributes:["id","name"]}]}; { model: this.db.models.company, },
{ model: this.db.models.role, as: "Roles", attributes: ["id", "name"] }]
};
} }
extraWhere(obj,w,qc,linkAttrs){ extraWhere(obj, w, qc, linkAttrs) {
if(obj.bizpath && obj.bizpath!=""){ console.log("----=========")
if(obj.bizpath.indexOf("tanents_info")>0){//说明是超级管理员的查询 console.log(obj)
w["isAdmin"]=true; if (obj.bizpath && obj.bizpath != "") {
}else{ if (obj.bizpath.indexOf("tanents_info") > 0) {//说明是超级管理员的查询
w["isAdmin"]=false; w["isAdmin"] = true;
w["company_id"]=obj.company_id; } else {
} w["isAdmin"] = false;
} w["company_id"] = obj.company_id;
if(linkAttrs.length>0){ // 为空说明是管理员,不需设置组织结构过滤
var search=obj.search; if (obj.opath && obj.opath != "") {
var lnkKey=linkAttrs[0]; w["opath"] = { [this.db.Op.like]: `%${obj.opath}%` }
var strq="$"+lnkKey.replace("~",".")+"$"; }
w[strq]= {[this.db.Op.like]:"%"+search[lnkKey]+"%"}; }
}
if (linkAttrs.length > 0) {
var search = obj.search;
var lnkKey = linkAttrs[0];
var strq = "$" + lnkKey.replace("~", ".") + "$";
w[strq] = { [this.db.Op.like]: "%" + search[lnkKey] + "%" };
} }
return w; return w;
} }
async preUpdate(u){ async preUpdate(u) {
if(u.roles && u.roles.length>=0){ if (u.roles && u.roles.length >= 0) {
var roles=await this.db.models.role.findAll({where:{id:{[this.db.Op.in]:u.roles}}}); var roles = await this.db.models.role.findAll({ where: { id: { [this.db.Op.in]: u.roles } } });
u.roles=roles u.roles = roles
} }
return u; return u;
} }
async update(obj){ async update(obj) {
var obj2=await this.preUpdate(obj); var obj2 = await this.preUpdate(obj);
await this.model.update(obj2,{where:{id:obj2.id}}); await this.model.update(obj2, { where: { id: obj2.id } });
var user=await this.model.findOne({where:{id:obj2.id}}); var user = await this.model.findOne({ where: { id: obj2.id } });
if(obj2.roles){ if (obj2.roles) {
user.setRoles(obj2.roles); user.setRoles(obj2.roles);
} }
return user; return user;
} }
async findAndCountAll(qobj,t){ async findAndCountAll(qobj, t) {
var users=await super.findAndCountAll(qobj,t); var users = await super.findAndCountAll(qobj, t);
return users; return users;
} }
async preCreate(u){ async preCreate(u) {
// var roles=await this.db.models.role.findAll({where:{id:{[this.db.Op.like]:u.roles}}}); // var roles=await this.db.models.role.findAll({where:{id:{[this.db.Op.like]:u.roles}}});
// console.log("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); // console.log("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
// console.log(roles); // console.log(roles);
...@@ -115,32 +131,32 @@ class UserDao extends Dao{ ...@@ -115,32 +131,32 @@ class UserDao extends Dao{
// u.roles=roles // u.roles=roles
return u; return u;
} }
async create(u,t){ async create(u, t) {
var self=this; var self = this;
var u2=await this.preCreate(u); var u2 = await this.preCreate(u);
if(t){ if (t) {
console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
console.log(u2); console.log(u2);
return this.model.create(u2,{transaction: t}).then(user=>{ return this.model.create(u2, { transaction: t }).then(user => {
return user; return user;
}); });
}else{ } else {
return this.model.create(u2).then(user=>{ return this.model.create(u2).then(user => {
return user; return user;
}); });
} }
} }
//修改用户(user表)公司的唯一码 //修改用户(user表)公司的唯一码
async putUserCompanyOnlyCode(userId,company_only_code,result){ async putUserCompanyOnlyCode(userId, company_only_code, result) {
var customerObj={companyOnlyCode:company_only_code}; var customerObj = { companyOnlyCode: company_only_code };
var putSqlWhere={where:{id:userId}}; var putSqlWhere = { where: { id: userId } };
this.updateByWhere(customerObj,putSqlWhere); this.updateByWhere(customerObj, putSqlWhere);
return result; return result;
} }
} }
module.exports=UserDao; module.exports = UserDao;
// var u=new UserDao(); // var u=new UserDao();
// var roledao=system.getObject("db.roleDao"); // var roledao=system.getObject("db.roleDao");
// (async ()=>{ // (async ()=>{
......
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