// Decompiled with JetBrains decompiler // Type: Dao.GwStatisV3Dao // Assembly: Dao, Version=3.2.1.428, Culture=neutral, PublicKeyToken=c1a16487c920c3dc // MVID: 22E6EB3F-6D25-4B57-BE09-AD2F5391CFA5 // Assembly location: C:\Users\Administrator\Desktop\wwww\bin\Dao.dll using Common; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Oracle.DataAccess.Client; using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using Model; using System.Text; namespace Dao { public class GwProductDao : IDisposable { public List LoadInfoList(string name, string classes, string is_default, string op_group_id, int pageIndex, int pageSize, out int recordCount) { List list1 = new List(); recordCount = 0; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("from GW_PRODUCT where 1=1"); List list2 = new List(); if (name != null && name != "") { list2.Add(new OracleParameter(":name", (object)name)); stringBuilder.Append(" and name=:name"); } if (classes != null && classes != "") { list2.Add(new OracleParameter(":classes", (object)int.Parse(classes)) ); stringBuilder.Append(" and classes=:classes"); } if (is_default != null && is_default != "") { list2.Add(new OracleParameter(":is_default", (object)int.Parse(is_default))); stringBuilder.Append(" and is_default=:is_default"); } if (op_group_id != null && op_group_id != "") { list2.Add(new OracleParameter(":op_group_id", (object)int.Parse(op_group_id))); stringBuilder.Append(" and op_group_id=:op_group_id"); } stringBuilder.Append(" order by PATH "); using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count " + stringBuilder.ToString(), OracleHelper.Connection, list2.ToArray())) { while (((DbDataReader)reader).Read()) recordCount = this.ReadCount(reader); } using (OracleDataReader reader = OracleHelper.ExecuteReader(PubConstant.doOracleSql(pageIndex, pageSize, recordCount, "select * " + stringBuilder.ToString()).ToString(), OracleHelper.Connection, list2.ToArray())) { while (((DbDataReader)reader).Read()) { GwProduct o = new GwProduct(); if (this.ReadInfo(reader, o)) list1.Add(o); } } return list1; } private int ReadCount(OracleDataReader reader) { int @int; try { @int = new OracleReaderWrapper(reader).GetInt("count", 0); } catch (Exception ex) { LogHelper.Error(ex); return 0; } return @int; } public DataTable getClientProduct(string clientID) { string sql = ""; sql += "select aa.*, c.balance, (c.basic_num + c.giving_num ) available_num from " + "( " + " select a.id client_product_id, a.client_id, a.sp_id, a.activate_status, " + " b.id product_id, b.name, b.icon, b.instructions, b.classes, b.parent_id, " + " b.path, b.is_default, b.is_enable, b.sort, b.giving_num, b.remark " + " from gw_client_product a, gw_product b " + " where a.product_id = b.id " + " ) aa " + " left join gw_sp c " + " on aa.sp_id = c.id and aa.client_id = :clientId "; //参数:客户ID return OracleHelper.Execute(sql, OracleHelper.Connection, new OracleParameter(":clientId", (object)clientID)); } /** * 获取产品分类列表 * */ public List getGwProductClassList() { List list = new List(); using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select * from GW_PRODUCT where IS_ENABLE = 1 AND CLASSES=0 "), OracleHelper.Connection )) { while (reader != null && ((DbDataReader)reader).Read()) { GwProduct o = new GwProduct(); if (this.ReadInfo(reader, o)) list.Add(o); } } return list; } /** * 获取产品列表 * */ public List getGwProductList() { List list = new List(); using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select * from GW_PRODUCT where IS_ENABLE = 1 AND CLASSES=1 "), OracleHelper.Connection)) { while (reader != null && ((DbDataReader)reader).Read()) { GwProduct o = new GwProduct(); if (this.ReadInfo(reader, o)) list.Add(o); } } return list; } /** * 根据产品ID获取产品信息 * */ public GwProduct find(string productId) { GwProduct o = new GwProduct(); if (string.IsNullOrEmpty(productId)) throw new ArgumentException("产品ID为空!"); using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select * from GW_PRODUCT where ID=:productId"), OracleHelper.Connection, new OracleParameter(":productId", (object)productId))) { if (((DbDataReader)reader).Read()) { this.ReadInfo(reader, o); return o; } } return o; } //修改 public bool Update(GwProduct o) { string sql = ""; sql += "update GW_PRODUCT set NAME=:NAME ,ICON=:ICON, INSTRUCTIONS=:INSTRUCTIONS, CLASSES=:CLASSES, PARENT_ID=:PARENT_ID, PATH=:PATH "; sql += " , IS_DEFAULT=:IS_DEFAULT, IS_ENABLE=:IS_ENABLE, SORT=:SORT, OP_GROUP_ID=:OP_GROUP_ID, API_SP_XH_ID=:API_SP_XH_ID, GIVING_NUM=:GIVING_NUM, REMARK=:REMARK "; sql += " where ID=:ID "; return OracleHelper.ExecuteSql(sql, OracleHelper.Connection, new OracleParameter(":NAME", (object)o.name), new OracleParameter(":ICON", (object)o.icon), new OracleParameter(":INSTRUCTIONS", (object)o.instructions), new OracleParameter(":CLASSES", (object)o.classes), new OracleParameter(":PARENT_ID", (object)o.parent_id), new OracleParameter(":PATH", (object)o.path), new OracleParameter(":IS_DEFAULT", (object)o.is_default), new OracleParameter(":IS_ENABLE", (object)o.is_enable), new OracleParameter(":SORT", (object)o.sort), new OracleParameter(":OP_GROUP_ID", (object)o.op_group_id), new OracleParameter(":API_SP_XH_ID", (object)o.api_sp_xh_id), new OracleParameter(":GIVING_NUM", (object)o.giving_num), new OracleParameter(":REMARK", (object)o.remark), new OracleParameter(":ID", (object)o.id) ) > 0; } //添加 public bool Add(GwProduct o) { string sql = ""; sql += "insert into GW_PRODUCT(ID, NAME, ICON, INSTRUCTIONS, CLASSES, PARENT_ID, PATH, IS_DEFAULT, IS_ENABLE, SORT, OP_GROUP_ID, API_SP_XH_ID, GIVING_NUM, REMARK ) "; sql += " values(:ID, :NAME, :ICON, :INSTRUCTIONS, :CLASSES, :PARENT_ID, :PATH, :IS_DEFAULT, :IS_ENABLE, :SORT, :OP_GROUP_ID, :API_SP_XH_ID, :GIVING_NUM, :REMARK) "; return OracleHelper.ExecuteSql(sql, OracleHelper.Connection, new OracleParameter(":ID", (object)o.id), new OracleParameter(":NAME", (object)o.name), new OracleParameter(":ICON", (object)o.icon), new OracleParameter(":INSTRUCTIONS", (object)o.instructions), new OracleParameter(":CLASSES", (object)o.classes), new OracleParameter(":PARENT_ID", (object)o.parent_id), new OracleParameter(":PATH", (object)o.path), new OracleParameter(":IS_DEFAULT", (object)o.is_default), new OracleParameter(":IS_ENABLE", (object)o.is_enable), new OracleParameter(":SORT", (object)o.sort), new OracleParameter(":OP_GROUP_ID", (object)o.op_group_id), new OracleParameter(":API_SP_XH_ID", (object)o.api_sp_xh_id), new OracleParameter(":GIVING_NUM", (object)o.giving_num), new OracleParameter(":REMARK", (object)o.remark) ) > 0; } //更新产品启停状态 public bool UpdateIs_enable(string productId, int is_enable) { return OracleHelper.ExecuteSql("UPDATE GW_PRODUCT SET IS_ENABLE=:IS_ENABLE WHERE ID=:ID", OracleHelper.Connection, new OracleParameter(":IS_ENABLE", (object)is_enable), new OracleParameter(":ID", (object)productId)) > 0; } //删除产品 public bool Delete(string product_id) { if (string.IsNullOrEmpty(product_id) || string.Equals("0", product_id)) return false; return OracleHelper.ExecuteSql("delete from GW_PRODUCT where ID=:ID", OracleHelper.Connection, new OracleParameter(":ID", (object)product_id)) > 0; } //检查产品名称 public bool IsNameExists(string name) { if (string.IsNullOrEmpty(name) || string.Equals("0", name)) return true; using (OracleDataReader oracleDataReader = OracleHelper.ExecuteReader(string.Format("select * from GW_PRODUCT where NAME=:NAME and IS_ENABLE=1 "), OracleHelper.Connection, new OracleParameter(":NAME", (object)name))) return ((DbDataReader)oracleDataReader).Read(); } public void Dispose() { } /** * 数据转换封装 * */ private bool ReadInfo(OracleDataReader reader, GwProduct gwProduct) { OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader); gwProduct.id = oracleReaderWrapper.GetString("id", ""); gwProduct.name = oracleReaderWrapper.GetString("name", ""); gwProduct.icon = oracleReaderWrapper.GetString("icon", ""); gwProduct.instructions = oracleReaderWrapper.GetString("instructions", ""); gwProduct.classes = oracleReaderWrapper.GetInt("classes", 0); gwProduct.parent_id = oracleReaderWrapper.GetString("parent_id", ""); gwProduct.path = oracleReaderWrapper.GetString("path", ""); gwProduct.is_default = oracleReaderWrapper.GetInt("is_default", -1); gwProduct.is_enable = oracleReaderWrapper.GetInt("is_enable", -1); gwProduct.sort = oracleReaderWrapper.GetInt("sort", 0); gwProduct.giving_num = oracleReaderWrapper.GetInt("giving_num", 0); gwProduct.op_group_id = oracleReaderWrapper.GetInt("op_group_id", -1); gwProduct.remark = oracleReaderWrapper.GetString("remark", ""); gwProduct.api_sp_xh_id = oracleReaderWrapper.GetString("api_sp_xh_id", ""); return true; } public DataTable GetClientCount(string clientID) { return OracleHelper.Execute("select * from gw_client_product a where a.client_id = :clientId", OracleHelper.Connection, new OracleParameter(":clientId", (object) clientID) ); } //导出查询 public DataTable LoadGwProductDataTable(string name, string classes, string is_default, string op_group_id) { StringBuilder stringBuilder = new StringBuilder(); //stringBuilder.Append("select ID, NAME, ICON, INSTRUCTIONS, CLASSES, PARENT_ID, PATH, IS_DEFAULT, IS_ENABLE, SORT, OP_GROUP_ID, API_SP_XH_ID, GIVING_NUM, REMARK from GW_PRODUCT where 1=1"); stringBuilder.Append(" select * from ( "); stringBuilder.Append(" select ID, NAME, ICON, INSTRUCTIONS, "); stringBuilder.Append(" case CLASSES when 0 then '0-产品分类' "); stringBuilder.Append(" else '1-产品' "); stringBuilder.Append(" END AS "); stringBuilder.Append(" CLASSES, "); stringBuilder.Append(" type_id||'-'||type_name PARENT_ID, "); stringBuilder.Append(" PATH, "); stringBuilder.Append(" case IS_DEFAULT when 0 then '0-否' "); stringBuilder.Append(" else '1-默认' "); stringBuilder.Append(" END AS "); stringBuilder.Append(" IS_DEFAULT, "); stringBuilder.Append(" case IS_ENABLE when 0 then '0-已停用' "); stringBuilder.Append(" else '1-已启用' "); stringBuilder.Append(" END AS "); stringBuilder.Append(" IS_ENABLE, "); stringBuilder.Append(" SORT, "); stringBuilder.Append(" (select group_id||'-'||group_name from gw_op_group where group_id=OP_GROUP_ID ) "); stringBuilder.Append(" OP_GROUP_ID, "); stringBuilder.Append(" (select xh_id||'-'||xh_name from sys_xh where xh_id=API_SP_XH_ID ) "); stringBuilder.Append(" API_SP_XH_ID, "); stringBuilder.Append(" GIVING_NUM, REMARK "); stringBuilder.Append(" from GW_PRODUCT a "); stringBuilder.Append(" left join (select id type_id, name type_name from gw_product where classes=0) b "); stringBuilder.Append(" on a.PARENT_ID = b.type_id "); stringBuilder.Append(" ) aa "); stringBuilder.Append(" where 1=1 "); OracleParameter[] oracleParameterArray = new OracleParameter[3]; if (name != null && name != "") { oracleParameterArray[0] = new OracleParameter(":name", (OracleDbType)126); ((DbParameter)oracleParameterArray[0]).Value = (object)name; stringBuilder.Append(" and name=:name"); } if (classes != null && classes != "") { oracleParameterArray[1] = new OracleParameter(":classes", (OracleDbType)112); ((DbParameter)oracleParameterArray[1]).Value = (object)classes; stringBuilder.Append(" and classes=:classes"); } if (is_default != null && is_default != "") { oracleParameterArray[1] = new OracleParameter(":is_default", (OracleDbType)112); ((DbParameter)oracleParameterArray[1]).Value = (object)is_default; stringBuilder.Append(" and is_default=:is_default"); } if (op_group_id != null && op_group_id != "") { oracleParameterArray[2] = new OracleParameter(":op_group_id", (OracleDbType)112); ((DbParameter)oracleParameterArray[2]).Value = (object)op_group_id; stringBuilder.Append(" and op_group_id=:op_group_id"); } return OracleHelper.Execute(PubConstant.doOracleSql(100000, stringBuilder.ToString()).ToString(), OracleHelper.Connection, oracleParameterArray); } } }