public void Get(ActionRequest req, ActionResponse res) { string msg = ""; try { //权限判断,是否有登录(根据业务确定是否需要此判断) /* * if (!Session.IsLogin) // (!Session.IsAdmin) * { * res.Error(VERIFY_ERROR); * return; * } */ ActReqParam param; if (!req.TryGetParam(ENTITY_REQ, out param)) { res.Error("参数" + ENTITY_REQ + "错误"); return; } long obId = 0; if (!param.TryGetFirstLong("obId", out obId)) { res.Error("参数" + ENTITY_REQ + "属性obId错误"); return; } //用户相关 /* * long userId = 0; * if (!param.TryGetFirstLong("userId", out userId)) * { * res.Error("参数" + ENTITY_REQ + "的属性userId错误"); * } */ ObModelInfo ei = null; ei = GetEntity(obId, out msg); //ei = GetEntity(obId, userId, out msg); //用户相关 if (ei == null) { res.Error(msg); return; } ActionResult ar = res.AddResult(ENTITY_RES, ENTITY_FIELDS); ar.AddModel(ei); } catch (Exception ex) { msg = "ext.ObModel.get 接口调用异常"; Logger.Error(ex, msg); res.Error(msg); } }
public void Update(ActionRequest req, ActionResponse res) { string msg = ""; try { //权限判断一,需要登录(用户或管理员) if (!Session.IsLogin) { res.Error(VERIFY_ERROR); return; } YsMemberInfo user = Session.User; //获取登录用户信息 //权限判断二,必须是管理员 /* * if (!Session.IsAdmin) * { * res.Error(VERIFY_ERROR); * return; * } */ ObModelInfo ei = null; //解析请求参数,转换为实体类 ei = req.GetModelByNameOrFirst <ObModelInfo>(ENTITY_REQ); //解析请求参数(针对有规律的实体结构(同前缀的同构表)) //参照 : public void Add(ActionRequest req, ActionResponse res) 方法 //调用业务处理方法一(用户无关) ei = UpdateEntity(ei, out msg); /* * //调用业务处理方法二(用户相关,操作权限判断) * ei = UpdateEntity(ei, user, out msg); */ if (ei == null) { res.Error(msg); return; } //返回结果集 ActionResult ar = res.AddResult(ENTITY_RES, ENTITY_FIELDS); //定义返回结果集名称和字段名 ar.AddModel(ei); //添加结果集到ActionResult } catch (Exception ex) { msg = "ys.ObModel.update 接口调用异常"; Logger.Error(ex, msg); res.Error(msg); } }
public void Delete(ActionRequest req, ActionResponse res) { string msg = ""; try { //权限判断,是否有登录(根据业务确定是否 限制为管理员) if (!Session.IsLogin) // (!Session.IsAdmin) { res.Error(VERIFY_ERROR); return; } ActReqParam param; if (!req.TryGetParam(ENTITY_REQ, out param)) { res.Error("参数" + ENTITY_REQ + "错误"); return; } int obId = 0; if (!param.TryGetInt(0, "obId", out obId)) { res.Error("参数" + ENTITY_REQ + "属性obId错误"); return; } //用户相关 /* * long userId = 0; * if (!param.TryGetLong(0, "userId", out userId)) * { * res.Error("参数" + ENTITY_REQ + "的属性userId错误"); * } */ int code = 0; code = DeleteEntity(obId, out msg); //code = DeleteEntity(obId, userId, out msg); //用户相关 ActionResult ar = res.AddResult(RESULT, RESULT_FIELDS); ar.AddValues(code, msg); } catch (Exception ex) { msg = "ext.obModel.delete 接口调用异常"; Logger.Error(ex, msg); res.Error(msg); } }
public void Add(ActionRequest req, ActionResponse res) { string msg = ""; try { //权限判断一,需要登录(用户或管理员) if (!Session.IsLogin) { res.Error(VERIFY_ERROR); return; } //权限判断二,必须是管理员 /* if (!Session.IsAdmin) { res.Error(VERIFY_ERROR); return; } */ ObModelInfo ei = null; //解析请求参数,转换为实体类(针对单一实体结构) ei = req.GetModelByNameOrFirst<ObModelInfo>(ENTITY_REQ); //解析请求参数(针对有规律的实体结构(同前缀的同构表)) /**** ActReqParam param = req.GetParamByNameOrFirst(ENTITY_REQ); if (param == null) { res.Error("参数" + ENTITY_REQ + "错误"); return; } //定义参数(对于DateTime类型,以"yyyy-MM-dd HH:mm:ss"格式的字符串处理) long obId = 0; int obLevel = 0; string obName = ""; string obDescri = ""; bool obEnabled = false; decimal obMoney = 0.0m; double obScore = 0.0d; long userId = 0; //验证参数(参数名必须和ObModel实体ObModelInfo的属性别名一致) if (!param.TryGetFirstLong("obId", out obId)) { res.Error("参数" + ENTITY_REQ + "的属性obId错误"); return; } if (!param.TryGetFirstInt("obLevel", out obLevel)) { res.Error("参数" + ENTITY_REQ + "的属性obLevel错误"); return; } if (!param.TryGetFirstString("obName", out obName)) { res.Error("参数" + ENTITY_REQ + "的属性obName错误"); return; } if (!param.TryGetFirstString("obDescri", out obDescri)) { res.Error("参数" + ENTITY_REQ + "的属性obDescri错误"); return; } if (!param.TryGetFirstBool("obEnabled", out obEnabled)) { res.Error("参数" + ENTITY_REQ + "的属性obEnabled错误"); return; } if (!param.TryGetFirstDecimal("obMoney", out obMoney)) { res.Error("参数" + ENTITY_REQ + "的属性obMoney错误"); return; } if (!param.TryGetFirstDouble("obScore", out obScore)) { res.Error("参数" + ENTITY_REQ + "的属性obScore错误"); return; } if (!param.TryGetFirstLong("userId", out userId)) { res.Error("参数" + ENTITY_REQ + "的属性userId错误"); return; } //设置实体参数值 long uid = userId % 1024; string tableNameFormat = @"TbObModel_{0}"; //同前缀的同构表名格式定义 string tableName = String.Format(tableNameFormat, uid); ei = new ObModelInfo(tableName); ei.ObLevel.Set(obLevel); ei.ObName.Set(obName); ei.ObDescri.Set(obDescri); ei.ObEnabled.Set(obEnabled); ei.ObMoney.Set(obMoney); ei.ObScore.Set(obScore); ei.UserId.Set(userId); ****/ //调用业务处理方法 ei = AddEntity(ei, out msg); if (ei == null) { res.Error(msg); return; } //返回结果集 ActionResult ar = res.AddResult(ENTITY_RES, ENTITY_FIELDS); //定义返回结果集名称和字段名 ar.AddModel(ei); //添加结果集到ActionResult } catch (Exception ex) { msg = "ys.ObModel.add 接口调用异常"; Logger.Error(ex, msg); res.Error(msg); } }
public void Update(ActionRequest req, ActionResponse res) { string msg = ""; try { //权限判断一,需要登录(用户或管理员) if (!Session.IsLogin) { res.Error(VERIFY_ERROR); return; } YsMemberInfo user = Session.User; //获取登录用户信息 //权限判断二,必须是管理员 /* if (!Session.IsAdmin) { res.Error(VERIFY_ERROR); return; } */ ObModelInfo ei = null; //解析请求参数,转换为实体类 ei = req.GetModelByNameOrFirst<ObModelInfo>(ENTITY_REQ); //解析请求参数(针对有规律的实体结构(同前缀的同构表)) //参照 : public void Add(ActionRequest req, ActionResponse res) 方法 //调用业务处理方法一(用户无关) ei = UpdateEntity(ei, out msg); /* //调用业务处理方法二(用户相关,操作权限判断) ei = UpdateEntity(ei, user, out msg); */ if (ei == null) { res.Error(msg); return; } //返回结果集 ActionResult ar = res.AddResult(ENTITY_RES, ENTITY_FIELDS); //定义返回结果集名称和字段名 ar.AddModel(ei); //添加结果集到ActionResult } catch (Exception ex) { msg = "ys.ObModel.update 接口调用异常"; Logger.Error(ex, msg); res.Error(msg); } }
public void List(ActionRequest req, ActionResponse res) { string msg = ""; ListAttrInfo la; try { if (!Session.IsAdmin) //权限判断,是管理员 { res.Error(VERIFY_ERROR); return; } ObModelQuery qry = req.GetModelByNameOrFirst<ObModelQuery>(QUERY); List<ObModelInfo> list = GetList(qry, out la, out msg); if (list == null) { res.Error(msg); return; } ActionResult ar = res.AddResult(ENTITY_RES, ENTITY_FIELDS); ar.AddModels<ObModelInfo>(list); ActionResult arAttr = res.AddResult(LISTATTR, LISTATTR_FIELDS); arAttr.AddModel(la); //获取关联结果集 if (qry.GetRelation.IsTrue()) { ActionResult arRe = res.AddResult(RELATION_RES, RELATION_FIELDS); if (list.Count > 0) { //获取ObModel的obId串 List<long> obIds = new List<long>(); for(int i=0,j=list.Count;i<j;i++) { obIds.Add(list[i].ObId.Value); } //调用ObRelation实体对应的BL类中的获取列表方法 // ObRelationInfo 中属性 ObId 对应 ObModelInfo 的 ObId // RelationQuery 中属性 ObIds 对应 ObModelInfo 的 ObId (多个) /* RelationBL rbl = new RelationBL(); RelationQuery rqry = new RelationQuery(); ListAttrInfo rla = new ListAttrInfo(); rqry.PageNo = 1; rqry.PageSize = list.Count; // rqry.ObIds.Set(obIds); List<ObRelationInfo> rList = rbl.GetList(rqry, out rla, out msg); arRe.AddModels<ObRelationInfo>(rList); */ } else { arRe.AddModels<ObRelationInfo>(new List<ObRelationInfo>()); } } } catch (Exception ex) { msg = "ys.obModel.list 接口调用异常"; Logger.Error(ex, msg); res.Error(msg); } }
public void Get(ActionRequest req, ActionResponse res) { string msg = ""; try { //权限判断,是否有登录(根据业务确定是否需要此判断) /* if (!Session.IsLogin) // (!Session.IsAdmin) { res.Error(VERIFY_ERROR); return; } */ ActReqParam param; if (!req.TryGetParam(ENTITY_REQ, out param)) { res.Error("参数" + ENTITY_REQ + "错误"); return; } long obId = 0; if (!param.TryGetFirstLong("obId", out obId)) { res.Error("参数" + ENTITY_REQ + "属性obId错误"); return; } //用户相关 /* long userId = 0; if (!param.TryGetFirstLong("userId", out userId)) { res.Error("参数" + ENTITY_REQ + "的属性userId错误"); } */ ObModelInfo ei = null; ei = GetEntity(obId, out msg); //ei = GetEntity(obId, userId, out msg); //用户相关 if (ei == null) { res.Error(msg); return; } ActionResult ar = res.AddResult(ENTITY_RES, ENTITY_FIELDS); ar.AddModel(ei); } catch (Exception ex) { msg = "ext.ObModel.get 接口调用异常"; Logger.Error(ex, msg); res.Error(msg); } }
public void Delete(ActionRequest req, ActionResponse res) { string msg = ""; try { //权限判断,是否有登录(根据业务确定是否 限制为管理员) if (!Session.IsLogin) // (!Session.IsAdmin) { res.Error(VERIFY_ERROR); return; } ActReqParam param; if (!req.TryGetParam(ENTITY_REQ, out param)) { res.Error("参数" + ENTITY_REQ + "错误"); return; } int obId = 0; if (!param.TryGetInt(0, "obId", out obId)) { res.Error("参数" + ENTITY_REQ + "属性obId错误"); return; } //用户相关 /* long userId = 0; if (!param.TryGetLong(0, "userId", out userId)) { res.Error("参数" + ENTITY_REQ + "的属性userId错误"); } */ int code = 0; code = DeleteEntity(obId, out msg); //code = DeleteEntity(obId, userId, out msg); //用户相关 ActionResult ar = res.AddResult(RESULT, RESULT_FIELDS); ar.AddValues(code, msg); } catch (Exception ex) { msg = "ext.obModel.delete 接口调用异常"; Logger.Error(ex, msg); res.Error(msg); } }
/** * 1.接口命名方式 [程序集别名.接口类别名.接口方法别名] * 除首字母外,接口命名是区分大小写的! * 程序集别名:bin目录下,配置文件AppConfig.xml中的apiAssemblies节点下的assembly节点的name属性 * 接口类别名:业务逻辑类名称去掉BL后缀(ObModelBL => obModel) * 接口方法别名:如 add,update,get,list,delete等 * 示例:ys.obModel.add; ys.obModel.get * 2.接口调用权限:配置文件AppConfig.xml中的apiServes节点下的serv节点 * 3.接口执行权限:通过继承基类,使用YsSession进行用户角色判断 */ #region [新增单实体] public void Add(ActionRequest req, ActionResponse res) { string msg = ""; try { //权限判断一,需要登录(用户或管理员) if (!Session.IsLogin) { res.Error(VERIFY_ERROR); return; } //权限判断二,必须是管理员 /* * if (!Session.IsAdmin) * { * res.Error(VERIFY_ERROR); * return; * } */ ObModelInfo ei = null; //解析请求参数,转换为实体类(针对单一实体结构) ei = req.GetModelByNameOrFirst <ObModelInfo>(ENTITY_REQ); //解析请求参数(针对有规律的实体结构(同前缀的同构表)) /**** * ActReqParam param = req.GetParamByNameOrFirst(ENTITY_REQ); * if (param == null) * { * res.Error("参数" + ENTITY_REQ + "错误"); * return; * } * //定义参数(对于DateTime类型,以"yyyy-MM-dd HH:mm:ss"格式的字符串处理) * long obId = 0; * int obLevel = 0; * string obName = ""; * string obDescri = ""; * bool obEnabled = false; * decimal obMoney = 0.0m; * double obScore = 0.0d; * long userId = 0; * //验证参数(参数名必须和ObModel实体ObModelInfo的属性别名一致) * if (!param.TryGetFirstLong("obId", out obId)) * { * res.Error("参数" + ENTITY_REQ + "的属性obId错误"); * return; * } * if (!param.TryGetFirstInt("obLevel", out obLevel)) * { * res.Error("参数" + ENTITY_REQ + "的属性obLevel错误"); * return; * } * if (!param.TryGetFirstString("obName", out obName)) * { * res.Error("参数" + ENTITY_REQ + "的属性obName错误"); * return; * } * if (!param.TryGetFirstString("obDescri", out obDescri)) * { * res.Error("参数" + ENTITY_REQ + "的属性obDescri错误"); * return; * } * if (!param.TryGetFirstBool("obEnabled", out obEnabled)) * { * res.Error("参数" + ENTITY_REQ + "的属性obEnabled错误"); * return; * } * if (!param.TryGetFirstDecimal("obMoney", out obMoney)) * { * res.Error("参数" + ENTITY_REQ + "的属性obMoney错误"); * return; * } * if (!param.TryGetFirstDouble("obScore", out obScore)) * { * res.Error("参数" + ENTITY_REQ + "的属性obScore错误"); * return; * } * if (!param.TryGetFirstLong("userId", out userId)) * { * res.Error("参数" + ENTITY_REQ + "的属性userId错误"); * return; * } * //设置实体参数值 * long uid = userId % 1024; * string tableNameFormat = @"TbObModel_{0}"; //同前缀的同构表名格式定义 * string tableName = String.Format(tableNameFormat, uid); * ei = new ObModelInfo(tableName); * ei.ObLevel.Set(obLevel); * ei.ObName.Set(obName); * ei.ObDescri.Set(obDescri); * ei.ObEnabled.Set(obEnabled); * ei.ObMoney.Set(obMoney); * ei.ObScore.Set(obScore); * ei.UserId.Set(userId); ****/ //调用业务处理方法 ei = AddEntity(ei, out msg); if (ei == null) { res.Error(msg); return; } //返回结果集 ActionResult ar = res.AddResult(ENTITY_RES, ENTITY_FIELDS); //定义返回结果集名称和字段名 ar.AddModel(ei); //添加结果集到ActionResult } catch (Exception ex) { msg = "ys.ObModel.add 接口调用异常"; Logger.Error(ex, msg); res.Error(msg); } }
public void List(ActionRequest req, ActionResponse res) { string msg = ""; ListAttrInfo la; try { if (!Session.IsAdmin) //权限判断,是管理员 { res.Error(VERIFY_ERROR); return; } ObModelQuery qry = req.GetModelByNameOrFirst <ObModelQuery>(QUERY); List <ObModelInfo> list = GetList(qry, out la, out msg); if (list == null) { res.Error(msg); return; } ActionResult ar = res.AddResult(ENTITY_RES, ENTITY_FIELDS); ar.AddModels <ObModelInfo>(list); ActionResult arAttr = res.AddResult(LISTATTR, LISTATTR_FIELDS); arAttr.AddModel(la); //获取关联结果集 if (qry.GetRelation.IsTrue()) { ActionResult arRe = res.AddResult(RELATION_RES, RELATION_FIELDS); if (list.Count > 0) { //获取ObModel的obId串 List <long> obIds = new List <long>(); for (int i = 0, j = list.Count; i < j; i++) { obIds.Add(list[i].ObId.Value); } //调用ObRelation实体对应的BL类中的获取列表方法 // ObRelationInfo 中属性 ObId 对应 ObModelInfo 的 ObId // RelationQuery 中属性 ObIds 对应 ObModelInfo 的 ObId (多个) /* * RelationBL rbl = new RelationBL(); * RelationQuery rqry = new RelationQuery(); * ListAttrInfo rla = new ListAttrInfo(); * rqry.PageNo = 1; * rqry.PageSize = list.Count; // * rqry.ObIds.Set(obIds); * List<ObRelationInfo> rList = rbl.GetList(rqry, out rla, out msg); * arRe.AddModels<ObRelationInfo>(rList); */ } else { arRe.AddModels <ObRelationInfo>(new List <ObRelationInfo>()); } } } catch (Exception ex) { msg = "ys.obModel.list 接口调用异常"; Logger.Error(ex, msg); res.Error(msg); } }