| | |
| | | { |
| | | private GwOrderDao _Dao = new GwOrderDao(); |
| | | private GwSpDao _GwSpDao = new GwSpDao(); |
| | | private GwClientDao _GwClientDao = new GwClientDao(); |
| | | private GwOpGroupDao _GwOpGroupDao = new GwOpGroupDao(); |
| | | private GwProductDao _GwProductDao = new GwProductDao(); |
| | | private SysXhDao _SysXhDao = new SysXhDao(); |
| | |
| | | private List<GwOpGroup> _GroupList; |
| | | private List<GwProduct> _ProductList; //产品及产品分类 |
| | | //private List<GwProduct> _ProductClassList; //产品分类 |
| | | |
| | | private int _userId = -1; |
| | | private string _userType = ""; |
| | | private string _account = ""; |
| | | |
| | | public override JsonPageResult ProcessRequestInternal(PageContext<SysUser> context) |
| | | { |
| | | string @string = context.GetString("action"); |
| | | _userId = context.SessionObject.UserID; |
| | | _userType = context.SessionObject.UserType; |
| | | _account = context.SessionObject.Account; |
| | | |
| | | switch (@string) |
| | | { |
| | | case "delete": |
| | |
| | | return this.Cancel(context); //取消 |
| | | case "audit": |
| | | return this.Audit(context); //订单审核 |
| | | case "getOrderBySpId": |
| | | return this.GetOrderBySpId(context); //订单审核 |
| | | |
| | | default: |
| | | throw new Exception("Invalid Action=" + @string); |
| | |
| | | //Console.WriteLine("List.............[" + context.GetInt("name") + "][" + context.GetInt("classes") + "]"); |
| | | string spId = context.GetString("spId"); |
| | | string clientId = context.GetString("clientId"); |
| | | string clientName = context.GetString("clientName"); |
| | | string compay = context.GetString("compay"); |
| | | int flag = context.GetInt("flag"); |
| | | DateTime startDate = context.GetDateTime("startDate"); |
| | | DateTime endDate = context.GetDateTime("endDate"); |
| | | DateTime endDate = context.GetDateTime("endDate")==DateTime.Parse("0001-01-01 00:00:00")? DateTime.Now : context.GetDateTime("endDate"); |
| | | |
| | | int recordCount = 0; |
| | | int pageSize = context.GetInt("pageSize", 50); |
| | | int pageIndex = context.GetInt("pageIndex", 1); |
| | | |
| | | string permissionsSQL = new GwClientDao().GetClientPermissions(_userId, _userType, "GWC"); |
| | | |
| | | List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, clientName, flag, startDate, endDate, pageSize, pageIndex, out recordCount); |
| | | List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, compay, flag, startDate, endDate.AddDays(1.0), pageSize, pageIndex, permissionsSQL, out recordCount); |
| | | |
| | | string str1 = ""; |
| | | if (list != null && list.Count > 0) |
| | |
| | | { |
| | | ++num; |
| | | |
| | | str1 += "<tr><td>" + bean.OrderId + "</td>"; |
| | | str1 = str1 + "<td>" + bean.SpId + "</td>"; |
| | | str1 = str1 + "<td>" + bean.ClientId + "-" + bean.ClientName + "</td>"; |
| | | //str1 += "<tr><td>" + bean.OrderId + "</td>"; |
| | | str1 = str1 + "<tr><td>" + bean.SpId + "</td>"; |
| | | str1 = str1 + "<td>" + bean.ClientId + "</td>"; |
| | | str1 = str1 + "<td>" + bean.Company + "</td>"; |
| | | str1 = str1 + "<td>" + ProductToName(bean.ProductId) + "</td>"; |
| | | //str1 = str1 + "<td>" + bean.ComboId + "</td>"; |
| | | str1 = str1 + "<td>" + bean.BasicNum + "</td>"; |
| | | str1 = str1 + "<td>" + bean.GivingNum + "</td>"; |
| | | str1 = str1 + string.Format("<td>{0}元/条</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000))); |
| | | str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000))); |
| | | str1 = str1 + "<td>" + bean.OrderNumTotal + "</td>"; |
| | | str1 = str1 + string.Format("<td>{0}元</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));; |
| | | str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000))); |
| | | str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.PayAmount) / new Decimal(1000))); |
| | | str1 = str1 + "<td>" + bean.BeforeBalanceNum + "</td>"; |
| | | str1 = str1 + "<td>" + bean.Auditor + "</td>"; |
| | | str1 = str1 + "<td>" + bean.Creator + "</td>"; |
| | | str1 = str1 + "<td>" + bean.CreateTime + "</td>"; |
| | | str1 = str1 + "<td>" + StatusToName(bean.Status) + "</td>"; |
| | |
| | | } |
| | | } |
| | | else |
| | | str1 += "<tr><td colspan=\"14\" style=\"padding-left:5px; text-align: center;\">暂无信息</td></tr>"; |
| | | str1 += "<tr><td colspan=\"16\" style=\"padding-left:5px; text-align: center;\">暂无信息</td></tr>"; |
| | | |
| | | return new JsonPageResult(true, new |
| | | { |
| | |
| | | { |
| | | string spId = context.GetString("spId"); |
| | | string clientId = context.GetString("clientId"); |
| | | string clientName = context.GetString("clientName"); |
| | | string company = context.GetString("company"); |
| | | int flag = context.GetInt("flag"); |
| | | DateTime startDate = context.GetDateTime("startDate"); |
| | | DateTime endDate = context.GetDateTime("endDate"); |
| | | DateTime endDate = context.GetDateTime("endDate")==DateTime.Parse("0001-01-01 00:00:00")? DateTime.Now : context.GetDateTime("endDate"); |
| | | |
| | | int recordCount = 0; |
| | | int pageSize = context.GetInt("pageSize", 50); |
| | | int pageIndex = context.GetInt("pageIndex", 1); |
| | | |
| | | string permissionsSQL = new GwClientDao().GetClientPermissions(_userId, _userType, "GWC"); |
| | | |
| | | List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, clientName, flag, startDate, endDate, pageSize, pageIndex, out recordCount); |
| | | List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, company, flag, startDate, endDate.AddDays(1.0), pageSize, pageIndex, permissionsSQL, out recordCount); |
| | | |
| | | string str1 = ""; |
| | | if (list != null && list.Count > 0) |
| | |
| | | { |
| | | ++num; |
| | | |
| | | str1 += "<tr><td>" + bean.OrderId + "</td>"; |
| | | str1 = str1 + "<td>" + bean.SpId + "</td>"; |
| | | str1 = str1 + "<td>" + bean.ClientId + "-" + bean.ClientName + "</td>"; |
| | | //str1 += "<tr><td>" + bean.OrderId + "</td>"; |
| | | str1 = str1 + "<tr><td>" + bean.SpId + "</td>"; |
| | | str1 = str1 + "<td>" + bean.ClientId + "</td>"; |
| | | str1 = str1 + "<td>" + bean.Company + "</td>"; |
| | | str1 = str1 + "<td>" + ProductToName(bean.ProductId) + "</td>"; |
| | | //str1 = str1 + "<td>" + bean.ComboId + "</td>"; |
| | | str1 = str1 + "<td>" + bean.BasicNum + "</td>"; |
| | | str1 = str1 + "<td>" + bean.GivingNum + "</td>"; |
| | | str1 = str1 + string.Format("<td>{0}元/条</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000))); |
| | | str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000))); |
| | | str1 = str1 + "<td>" + bean.OrderNumTotal + "</td>"; |
| | | str1 = str1 + string.Format("<td>{0}元</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));; |
| | | str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000))); |
| | | str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.PayAmount) / new Decimal(1000))); |
| | | str1 = str1 + "<td>" + bean.BeforeBalanceNum + "</td>"; |
| | | str1 = str1 + "<td>" + bean.Auditor + "</td>"; |
| | | str1 = str1 + "<td>" + bean.Creator + "</td>"; |
| | | str1 = str1 + "<td>" + bean.CreateTime + "</td>"; |
| | | str1 = str1 + "<td>" + StatusToName(bean.Status) + "</td>"; |
| | |
| | | } |
| | | } |
| | | else |
| | | str1 += "<tr><td colspan=\"14\" style=\"padding-left:5px; text-align: center;\">暂无信息</td></tr>"; |
| | | str1 += "<tr><td colspan=\"16\" style=\"padding-left:5px; text-align: center;\">暂无信息</td></tr>"; |
| | | |
| | | return new JsonPageResult(true, new |
| | | { |
| | |
| | | TotalCount = recordCount |
| | | }); |
| | | } |
| | | |
| | | |
| | | private JsonPageResult GwOrderList(PageContext<SysUser> context) |
| | | { |
| | | /** |
| | | string string1 = context.GetString("SpID"); |
| | | string string2 = context.GetString("ClientID"); |
| | | string string3 = context.GetString("ClientName"); |
| | | string str1 = context.GetString("sDate"); |
| | | string str2 = context.GetString("EndTime"); |
| | | if (string.IsNullOrEmpty(str1)) |
| | | str1 = DateTime.Now.AddDays(-1.0).ToString("yyyy-MM-dd"); |
| | | if (string.IsNullOrEmpty(str2)) |
| | | str2 = DateTime.Now.ToString("yyyy-MM-dd"); |
| | | **/ |
| | | /** |
| | | string string1 = context.GetString("SpID"); |
| | | string string2 = context.GetString("ClientID"); |
| | | string string3 = context.GetString("ClientName"); |
| | | string str1 = context.GetString("sDate"); |
| | | string str2 = context.GetString("EndTime"); |
| | | if (string.IsNullOrEmpty(str1)) |
| | | str1 = DateTime.Now.AddDays(-1.0).ToString("yyyy-MM-dd"); |
| | | if (string.IsNullOrEmpty(str2)) |
| | | str2 = DateTime.Now.ToString("yyyy-MM-dd"); |
| | | **/ |
| | | |
| | | |
| | | |
| | | string spId = context.GetString("spId"); |
| | | string clientId = context.GetString("clientId"); |
| | | string clientName = context.GetString("clientName"); |
| | | string company = context.GetString("company"); |
| | | int flag = context.GetInt("flag"); |
| | | //string startDate = context.GetString("startDate"); |
| | | //string endDate = context.GetString("endDate"); |
| | | DateTime startDate = context.GetDateTime("startDate"); |
| | | DateTime endDate = context.GetDateTime("endDate"); |
| | | DateTime endDate = context.GetDateTime("endDate")==DateTime.Parse("0001-01-01 00:00:00")? DateTime.Now : context.GetDateTime("endDate"); |
| | | |
| | | int recordCount = 0; |
| | | int pageSize = context.GetInt("pageSize", 50); |
| | | int pageIndex = context.GetInt("pageIndex", 1); |
| | | |
| | | string permissionsSQL = new GwClientDao().GetClientPermissions(_userId, _userType, "GWC"); |
| | | |
| | | List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, clientName, flag, startDate, endDate, pageSize, pageIndex, out recordCount); |
| | | //List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, clientName, flag, Convert.ToDateTime(startDate), Convert.ToDateTime(endDate).AddDays(1.0), pageSize, pageIndex, out recordCount); |
| | | List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, company, flag, startDate, endDate.AddDays(1.0), pageSize, pageIndex, permissionsSQL, out recordCount); |
| | | |
| | | string str1 = ""; |
| | | if (list != null && list.Count > 0) |
| | |
| | | { |
| | | ++num; |
| | | |
| | | str1 += "<tr><td>" + bean.OrderId + "</td>"; |
| | | str1 = str1 + "<td>" + bean.SpId + "</td>"; |
| | | str1 = str1 + "<td>" + bean.ClientId + "-" + bean.ClientName + "</td>"; |
| | | //str1 += "<tr><td>" + bean.OrderId + "</td>"; |
| | | str1 = str1 + "<tr><td>" + bean.SpId + "</td>"; |
| | | str1 = str1 + "<td>" + bean.ClientId + "</td>"; |
| | | str1 = str1 + "<td>" + bean.Company + "</td>"; |
| | | str1 = str1 + "<td>" + ProductToName(bean.ProductId) + "</td>"; |
| | | //str1 = str1 + "<td>" + bean.ComboId + "</td>"; |
| | | str1 = str1 + "<td>" + bean.BasicNum + "</td>"; |
| | | str1 = str1 + "<td>" + bean.GivingNum + "</td>"; |
| | | str1 = str1 + string.Format("<td>{0}元/条</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000))); |
| | | str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000))); |
| | | str1 = str1 + "<td>" + bean.OrderNumTotal + "</td>"; |
| | | str1 = str1 + string.Format("<td>{0}元</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));; |
| | | str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000))); |
| | | str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.PayAmount) / new Decimal(1000))); |
| | | str1 = str1 + "<td>" + bean.BeforeBalanceNum + "</td>"; |
| | | str1 = str1 + "<td>" + bean.Auditor + "</td>"; |
| | | str1 = str1 + "<td>" + bean.Creator + "</td>"; |
| | | str1 = str1 + "<td>" + bean.CreateTime + "</td>"; |
| | | str1 = str1 + "<td>" + StatusToName(bean.Status) + "</td>"; |
| | | //str1 = str1 + "<td>" + bean.Remark + "</td>"; |
| | | |
| | | str1 += "<td class=\"text-right\">"; |
| | | str1 += "<td class=\"text-center\">"; |
| | | str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-detail btn btn-success btn-xs\"><i class=\"fa fa-search\"></i> 查看</a> ", (object) bean.OrderId); |
| | | //str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-audit btn btn-success btn-xs\"><i class=\"fa fa-search\"></i> 审核</a> ", (object) bean.OrderId); |
| | | //if(bean.Status == 0) { |
| | |
| | | } |
| | | } |
| | | else |
| | | str1 += "<tr><td colspan=\"14\" style=\"padding-left:5px; text-align: center;\">暂无信息</td></tr>"; |
| | | str1 += "<tr><td colspan=\"16\" style=\"padding-left:5px; text-align: center;\">暂无信息</td></tr>"; |
| | | |
| | | return new JsonPageResult(true, new |
| | | { |
| | |
| | | //订单审核 |
| | | private JsonPageResult Audit(PageContext<SysUser> context) |
| | | { |
| | | string spId = context.GetString("spId"); |
| | | string orderId = context.GetString("orderId"); |
| | | Int64 basicNum = context.GetInt64("basicNum"); |
| | | Int64 givingNum = context.GetInt64("givingNum"); |
| | | string clientId = ""; |
| | | Int64 payAmount = 0; |
| | | Int64 tmpPayAmount = Math.Max((int) (context.GetDecimal("payAmount", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0); |
| | | payAmount = tmpPayAmount; |
| | | //double price = context.GetDecimal(price); |
| | | int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0); |
| | | string remark = context.GetString("remark"); |
| | | int status = context.GetInt("status"); //0-审核不通过;1-审核通过 |
| | | string auditReason = context.GetString("auditReason"); |
| | | |
| | | if (status == 0 && string.IsNullOrEmpty(auditReason) ) |
| | | { |
| | | throw new ArgumentException("请输入不通过原因!"); |
| | | } |
| | | DateTime createTime = DateTime.Now; |
| | | string creator = context.OperatorID; |
| | | |
| | | string beforeFlowCode = null; //之前的流程编码 |
| | | string currentFlowCode = null; //当前的流程编码 |
| | | int nowSort = 0; |
| | | string nowFlowCode = null; //当前的流程编码 |
| | | int nextSort = 0; |
| | | string nextFlowCode = null; //下一个流程编码 |
| | | |
| | | |
| | |
| | | if (gwOrder.Status !=0 && gwOrder.Status !=1) |
| | | throw new ArgumentException("该订单已处理,操作失败!"); |
| | | |
| | | clientId = gwOrder.ClientId; |
| | | |
| | | //获取订单审核流程 |
| | | string flowGroup = null; //流程组合 |
| | | string[] flowGroupS = null; |
| | | string[] flowCodeS = null; |
| | | string flowCode = null; |
| | | int sort = 0; |
| | | string flowNodeCode = null; |
| | | int orderStatus = 0; //订单状态 |
| | | |
| | | SysFlow SysFlow = new SysFlow(); |
| | | SysFlow.FlowCode = "F_DDSH"; //订单流程 |
| | | SysFlow.Status = 1; //状态:0-禁用;1-启用 |
| | | |
| | | SysFlow sysFlow = _SysFlowDao.Get(SysFlow); |
| | | if (sysFlow == null) |
| | | { |
| | | throw new ArgumentException("订单审核流程不存在,请系统管理配置!"); |
| | | } |
| | | |
| | | //例:1#KHSH|2#CWSH |
| | | flowGroup = sysFlow.FlowGroup; |
| | | |
| | | |
| | | GwOrderAudit gworderAudit = new GwOrderAudit(); |
| | | gworderAudit.AuditStatus = 1; |
| | | //gworderAudit.AuditStatus = 1; |
| | | gworderAudit.OrderId = orderId; |
| | | List<GwOrderAudit> gworderAuditList = _GwOrderAuditDao.List(gworderAudit); |
| | | if(gworderAuditList==null || gworderAuditList.Count<=0 ) |
| | | { |
| | | //获取审核流程的第一环节 |
| | | nowSort = 0; |
| | | } |
| | | else |
| | | { |
| | | //获取审核流程的下环节 |
| | | GwOrderAudit gwOrderAudit = gworderAuditList[0]; |
| | | nowSort = gwOrderAudit.AuditSort; |
| | | |
| | | } |
| | | |
| | | //获取审核流程的第一环节流程代码 |
| | | nowFlowCode = getNextFlowCode(flowGroup, nowSort); |
| | | |
| | | if(string.IsNullOrEmpty(nowFlowCode)) |
| | | { |
| | | //当前处理没有流程代码 |
| | | throw new ArgumentException("流程处理已完成,请联系管理员!"); |
| | | } |
| | | else |
| | | { |
| | | object[] tmpFlowCode = splitFlowCodes(nowFlowCode); |
| | | if(tmpFlowCode==null) |
| | | { |
| | | throw new ArgumentException("流程代码串格式错误,请联系管理员!"); |
| | | } |
| | | else |
| | | { |
| | | nowSort = int.Parse(tmpFlowCode[0].ToString() ); |
| | | flowCode = tmpFlowCode[1].ToString(); |
| | | } |
| | | |
| | | |
| | | //获取用户权限 |
| | | SysFlowNode newSysFlowNode = new SysFlowNode(); |
| | | newSysFlowNode.BusinessType = 1; //业务类型:1-充值;99-其他 |
| | | newSysFlowNode.FlowNodeCode = flowCode; |
| | | newSysFlowNode.UserId = creator; |
| | | |
| | | List<SysFlowNode> newSysFlowNodeList = _SysFlowNodeDao.IsAuth(newSysFlowNode); |
| | | if(newSysFlowNodeList==null || newSysFlowNodeList.Count <=0 ) |
| | | { |
| | | throw new ArgumentException("用户无审核权限,请联系管理员!"); |
| | | } |
| | | else |
| | | { |
| | | nextSort = nowSort + 1; |
| | | //获取审核流程的第一环节流程代码 |
| | | nextFlowCode = getNextFlowCode(flowGroup, nextSort); |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | //保存订单审核表 |
| | | string auditId = _SysXhDao.getXh("GW_ORDER_AUDIT"); //获取生成订单审核ID |
| | | this._GwOrderAuditDao.Add(new GwOrderAudit() |
| | | { |
| | | AuditId = auditId, |
| | | OrderId = orderId, |
| | | AuditSort = nowSort, |
| | | AuditStatus = status, |
| | | Auditor = creator, |
| | | AuditReason = auditReason, |
| | | AuditTime = createTime |
| | | |
| | | }); |
| | | |
| | | //审核不通过 |
| | | if (status==0) |
| | | { |
| | | |
| | | orderStatus = 3; |
| | | //status:0-待审核(已提交);1-审核中;2-审核通过;3-审核不通过;4-取消; |
| | | this._Dao.UpdateStatus(orderStatus, orderId); |
| | | |
| | | } |
| | | else if(status==1) |
| | | { |
| | | Int64 beforeBasicNum = 0; |
| | | Int64 beforeGivingNum = 0; |
| | | Int64 balance = 0; |
| | | Int64 topUpAmountTotal = 0; |
| | | if (string.IsNullOrEmpty(nextFlowCode)) |
| | | { |
| | | orderStatus = 2; |
| | | |
| | | //获取账号信息 |
| | | GwSp gwSp = _GwSpDao.Get(spId); |
| | | |
| | | beforeBasicNum = gwSp.BasicNum; |
| | | beforeGivingNum = gwSp.GivingNum; |
| | | //balance = Convert.ToInt32(gwSp.Balance); |
| | | |
| | | //获取客户信息 |
| | | GwClient gwClient = _GwClientDao.Get(gwSp.ClientID); |
| | | balance = Int64.Parse(gwClient.Balance.ToString() ); |
| | | topUpAmountTotal = Int64.Parse(gwClient.Top_up_Amount_Total.ToString() ); |
| | | |
| | | //为1-预付费 |
| | | //if (gwSp.ChargeType==1 && (balance + payAmount) < num * basicNum) |
| | | if (gwClient.ChargeType==1 && (balance + payAmount) < num * basicNum) |
| | | { |
| | | throw new ArgumentException("客户余额及充值金额不足购买,请调整后提交!"); |
| | | } |
| | | |
| | | //gwSp.Balance = balance - num * basicNum; |
| | | //gwSp.BasicNum = beforeBasicNum + basicNum; |
| | | //gwSp.GivingNum = beforeGivingNum + givingNum; |
| | | //更新账号充值数据 |
| | | _GwSpDao.UpdateBalanceByOrder( payAmount, basicNum , givingNum , spId ); |
| | | |
| | | |
| | | //有充值金额时,更新客户累计充值金额(厘) |
| | | if (payAmount > 0 || basicNum > 0 ) { |
| | | //GwClient gwClient = new GwClient(); |
| | | //gwClient = new GwClient(); |
| | | //gwClient.Balance = ((balance + payAmount) - num * basicNum) ; //充值余额:单位(厘) |
| | | //gwClient.Top_up_Amount_Total = topUpAmountTotal + payAmount; //充值金额:单位(厘) |
| | | //gwClient.ClientID = clientId; |
| | | |
| | | //更新客户充值数据 |
| | | _GwClientDao.UpdateClientAmount(payAmount-( num * basicNum), payAmount, clientId ); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | orderStatus = 1; |
| | | } |
| | | //status:0-待审核(已提交);1-审核中;2-审核通过;3-审核不通过;4-取消; |
| | | //this._Dao.UpdateStatus(orderStatus, orderId); |
| | | |
| | | //获取订单 |
| | | //GwOrder newGwOrder = _Dao.Get(orderId); |
| | | //newGwOrder.BasicNum = basicNum; |
| | | //newGwOrder.GivingNum = givingNum; |
| | | //newGwOrder.OrderNumTotal = basicNum + givingNum; |
| | | //newGwOrder.OrderAmountTotal = basicNum * num ; |
| | | //newGwOrder.BeforeBalanceNum = beforeGivingNum + beforeGivingNum; |
| | | //newGwOrder.Status = orderStatus; |
| | | //更新订单 |
| | | _Dao.UpdateBalanceAndStatus(basicNum, givingNum, basicNum + givingNum, basicNum * num, payAmount, beforeGivingNum + beforeGivingNum, orderStatus, orderId ); |
| | | |
| | | //Dao.Update(newGwOrder); |
| | | |
| | | } |
| | | |
| | |
| | | //不是最后审核环节时,站内通知 |
| | | |
| | | //status:0-待审核(已提交);1-审核中;2-审核通过;3-审核不通过;4-取消; |
| | | this._Dao.UpdateStatus(status, orderId); |
| | | //this._Dao.UpdateStatus(status, orderId); |
| | | |
| | | return new JsonPageResult(true, "审核操作成功!"); |
| | | |
| | | } |
| | |
| | | string clientId = context.GetString("clientId"); |
| | | string productId = context.GetString("productId"); |
| | | //string comboId = context.GetString("comboId"); |
| | | int basicNum = context.GetInt("basicNum", 0); |
| | | int givingNum = context.GetInt("givingNum", 0); |
| | | Int64 basicNum = context.GetInt("basicNum", 0); |
| | | Int64 givingNum = context.GetInt("givingNum", 0); |
| | | int price = 0; |
| | | |
| | | int orderNumTotal = context.GetInt("orderNumTotal", 0); |
| | | int orderAmountTotal = context.GetInt("orderAmountTotal", 0); |
| | | int beforeBalanceNum = context.GetInt("beforeBalanceNum", 0); |
| | | Int64 orderNumTotal = context.GetInt("orderNumTotal", 0); |
| | | Int64 orderAmountTotal = context.GetInt("orderAmountTotal", 0); |
| | | Int64 payAmount = 0; |
| | | Int64 beforeBalanceNum = context.GetInt("beforeBalanceNum", 0); |
| | | //客服人员提交订单时的状态为1-审核中。 |
| | | int status = 1; //0-待审核(已提交);1-审核中;2-审核通过;3-审核不通过;4-取消;申请订单在未审核情况下可以取消。 |
| | | string remark = context.GetString("remark"); |
| | | DateTime createTime = DateTime.Now; |
| | | string creator = context.OperatorID; |
| | | |
| | | int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 1); |
| | | Int64 tmpPayAmount = Math.Max((Int64) (context.GetDecimal("payAmount", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0); |
| | | payAmount = tmpPayAmount; |
| | | int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0); |
| | | price = num; |
| | | |
| | | //校验 |
| | |
| | | |
| | | if (string.IsNullOrEmpty(clientId)) |
| | | { |
| | | throw new ArgumentException("客户不能为空!"); |
| | | throw new ArgumentException("客户账号不能为空!"); |
| | | } |
| | | if (string.IsNullOrEmpty(spId)) |
| | | { |
| | | throw new ArgumentException("账号不能为空!"); |
| | | throw new ArgumentException("短信账号不能为空!"); |
| | | } |
| | | |
| | | if (basicNum<=0 && givingNum <= 0) |
| | | if (basicNum<=0 && givingNum <= 0 && payAmount <=0) |
| | | { |
| | | throw new ArgumentException("基本条数或赠送条数必须大于零!"); |
| | | throw new ArgumentException("充值金额或基本条数或赠送条数必须大于零!"); |
| | | } |
| | | |
| | | //获取账号信息 |
| | | GwSp gwSp = _GwSpDao.Get(spId); |
| | | Int64 balance = 0; |
| | | if (gwSp == null) |
| | | { |
| | | throw new ArgumentException("账号不存在!"); |
| | | } |
| | | else if (gwSp.Status==0) |
| | | { |
| | | throw new ArgumentException("账号已禁用!"); |
| | | } |
| | | |
| | | |
| | | //获取客户信息 |
| | | GwClient gwClient = _GwClientDao.Get(gwSp.ClientID); |
| | | balance = Int64.Parse(gwClient.Balance.ToString() ); |
| | | |
| | | //为1-预付费 |
| | | //if (gwSp.ChargeType==1 && (balance + payAmount) < num * basicNum) |
| | | if (gwClient.ChargeType==1 && (balance + payAmount) < num * basicNum) |
| | | { |
| | | throw new ArgumentException("客户余额及充值金额不足购买,请调整后提交!"); |
| | | } |
| | | |
| | | //获取订单审核流程 |
| | |
| | | |
| | | //获取用户权限 |
| | | SysFlowNode sysFlowNode = new SysFlowNode(); |
| | | sysFlowNode.BusinessType = 1; //业务类型:1-充值;99-其他 |
| | | sysFlowNode.FlowNodeCode = flowNodeCode; |
| | | sysFlowNode.UserId = creator; |
| | | |
| | | List<SysFlowNode> sysFlowNodeList = _SysFlowNodeDao.IsAuth(sysFlowNode); |
| | | if(sysFlowNodeList==null || sysFlowNodeList.Count <=0 ) |
| | | { |
| | | throw new ArgumentException("用户没有充值权限,请联系管理员!"); |
| | | } |
| | | |
| | | sysFlowNode.BusinessType = 1; //业务类型:1-充值;99-其他 |
| | | sysFlowNode.FlowNodeCode = flowNodeCode; |
| | | sysFlowNode.UserId = creator; |
| | | |
| | | //获取订单信息 |
| | | GwSp gwSp = _GwSpDao.Get(spId); |
| | | if (gwSp == null) |
| | | List<SysFlowNode> sysFlowNodeList = _SysFlowNodeDao.IsAuth(sysFlowNode); |
| | | if(sysFlowNodeList==null || sysFlowNodeList.Count <=0 ) |
| | | { |
| | | throw new ArgumentException("账号不存在!"); |
| | | } |
| | | else if (gwSp.Status==0) |
| | | { |
| | | throw new ArgumentException("账号已禁用!"); |
| | | throw new ArgumentException("用户没有充值权限,请联系管理员!"); |
| | | } |
| | | |
| | | productId = gwSp.ProductId; |
| | |
| | | orderNumTotal = basicNum + givingNum; |
| | | orderAmountTotal = basicNum * price; |
| | | |
| | | |
| | | |
| | | string orderId = _SysXhDao.getXh("GW_ORDER"); //获取生成订单ID |
| | | this._Dao.Add(new GwOrder() |
| | | { |
| | |
| | | Price = price, //单价换算 |
| | | OrderNumTotal = orderNumTotal, |
| | | OrderAmountTotal = orderAmountTotal, |
| | | PayAmount = payAmount, |
| | | BeforeBalanceNum = beforeBalanceNum, |
| | | Status = status, |
| | | Remark = remark, |
| | |
| | | |
| | | }); |
| | | |
| | | |
| | | string auditId = _SysXhDao.getXh("GW_ORDER_AUDIT"); //获取生成订单审核ID |
| | | this._GwOrderAuditDao.Add(new GwOrderAudit() |
| | | //流程组合为空时 |
| | | if (!string.IsNullOrEmpty(flowGroup)) |
| | | { |
| | | AuditId = auditId, |
| | | OrderId = orderId, |
| | | AuditSort = sort, |
| | | AuditStatus = status, |
| | | Auditor = creator, |
| | | //AuditReason = null, |
| | | AuditTime = createTime |
| | | string auditId = _SysXhDao.getXh("GW_ORDER_AUDIT"); //获取生成订单审核ID |
| | | this._GwOrderAuditDao.Add(new GwOrderAudit() |
| | | { |
| | | AuditId = auditId, |
| | | OrderId = orderId, |
| | | AuditSort = sort, |
| | | AuditStatus = status, |
| | | Auditor = creator, |
| | | //AuditReason = null, |
| | | AuditTime = createTime |
| | | |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | |
| | | return new JsonPageResult(true, "生成订单信息成功!"); |
| | |
| | | string clientId = context.GetString("clientId"); |
| | | string productId = context.GetString("productId"); |
| | | string comboId = context.GetString("clientId"); |
| | | int basicNum = context.GetInt("basicNum", 0); |
| | | int givingNum = context.GetInt("givingNum", 0); |
| | | Int64 basicNum = context.GetInt("basicNum", 0); |
| | | Int64 givingNum = context.GetInt("givingNum", 0); |
| | | int price = 0; |
| | | |
| | | int orderNumTotal = context.GetInt("orderNumTotal", 0); |
| | | int orderAmountTotal = context.GetInt("orderAmountTotal", 0); |
| | | int beforeBalanceNum = context.GetInt("beforeBalanceNum", 0); |
| | | Int64 orderNumTotal = context.GetInt("orderNumTotal", 0); |
| | | Int64 orderAmountTotal = context.GetInt("orderAmountTotal", 0); |
| | | Int64 payAmount = 0; |
| | | Int64 beforeBalanceNum = context.GetInt("beforeBalanceNum", 0); |
| | | int status = 0; |
| | | string remark = context.GetString("remark"); |
| | | DateTime createTime = DateTime.Now; |
| | | string creator = context.OperatorID; |
| | | |
| | | int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 1); |
| | | Int64 tmpPayAmount = Math.Max((Int64) (context.GetDecimal("payAmount", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0); |
| | | payAmount = tmpPayAmount; |
| | | |
| | | int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0); |
| | | price = num; |
| | | |
| | | //校验 |
| | |
| | | |
| | | if (string.IsNullOrEmpty(clientId)) |
| | | { |
| | | throw new ArgumentException("客户不能为空!"); |
| | | throw new ArgumentException("客户账号不能为空!"); |
| | | } |
| | | if (string.IsNullOrEmpty(spId)) |
| | | { |
| | | throw new ArgumentException("账号不能为空!"); |
| | | throw new ArgumentException("短信账号不能为空!"); |
| | | } |
| | | |
| | | if (basicNum<=0 && givingNum <= 0) |
| | |
| | | Price = price, //单价换算 |
| | | OrderNumTotal = orderNumTotal, |
| | | OrderAmountTotal = orderAmountTotal, |
| | | PayAmount = payAmount, |
| | | BeforeBalanceNum = beforeBalanceNum, |
| | | Status = status, |
| | | Remark = remark, |
| | |
| | | private JsonPageResult Get(PageContext<SysUser> context) |
| | | { |
| | | return new JsonPageResult(true, this._Dao.Get(context.GetString("orderId"))); |
| | | } |
| | | |
| | | //根据客户API账号获取充值初始信息 |
| | | private JsonPageResult GetOrderBySpId(PageContext<SysUser> context) |
| | | { |
| | | string spId = context.GetString("spId"); |
| | | |
| | | if (!string.IsNullOrEmpty(spId)) |
| | | { |
| | | GwSp gwSp = new GwSpDao().Get(spId); |
| | | if(gwSp==null) |
| | | { |
| | | throw new ArgumentException("账号不存在!"); |
| | | |
| | | } |
| | | else if (gwSp.Status==0) |
| | | { |
| | | throw new ArgumentException("账号状态已停用!"); |
| | | |
| | | } |
| | | |
| | | |
| | | GwOrder gwOrder = new GwOrder(); |
| | | |
| | | GwClient gwClient = new GwClient(); |
| | | using (GwClientDao gwClientDao = new GwClientDao()) |
| | | { |
| | | gwClient = gwClientDao.Get(gwSp.ClientID); |
| | | gwOrder.Company = gwClient.Company; |
| | | gwOrder.Balance = long.Parse(gwClient.Balance.ToString() ); //余额 |
| | | } |
| | | |
| | | gwOrder.SpId = gwSp.SpID; |
| | | gwOrder.ClientId = gwSp.ClientID; |
| | | gwOrder.ProductId = gwSp.ProductId; |
| | | gwOrder.ProductName = gwSp.ProductName; |
| | | gwOrder.Price = gwSp.Price; |
| | | gwOrder.BasicNum = gwSp.BasicNum; //基本条数 |
| | | gwOrder.GivingNum = gwSp.GivingNum; |
| | | |
| | | return new JsonPageResult(true, gwOrder); |
| | | } |
| | | else |
| | | { |
| | | throw new ArgumentException("请选择短信账号!"); |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | //获取通道列表 |
| | |
| | | if (classes == -1) |
| | | return string.Empty; |
| | | else if(classes == 0) |
| | | return "0-产品分类"; |
| | | return "产品分类"; |
| | | else if(classes == 1) |
| | | return "1-产品"; |
| | | return "产品"; |
| | | |
| | | return string.Empty; |
| | | } |
| | |
| | | if (isDefault == -1) |
| | | return string.Empty; |
| | | else if(isDefault == 0) |
| | | return "0-个性化"; |
| | | return "个性化"; |
| | | else if(isDefault == 1) |
| | | return "1-系统默认"; |
| | | return "系统默认"; |
| | | |
| | | return string.Empty; |
| | | } |
| | |
| | | if (isEnable == -1) |
| | | return string.Empty; |
| | | else if(isEnable == 0) |
| | | return "0-停用"; |
| | | return "停用"; |
| | | else if(isEnable == 1) |
| | | return "1-启用"; |
| | | return "启用"; |
| | | |
| | | return string.Empty; |
| | | } |
| | |
| | | if (status == -1) |
| | | return string.Empty; |
| | | else if(status == 0) |
| | | return "0-待审核(已提交)"; |
| | | return "待审核(已提交)"; |
| | | else if(status == 1) |
| | | return "1-审核中"; |
| | | return "审核中"; |
| | | else if(status == 2) |
| | | return "2-审核通过"; |
| | | return "审核通过"; |
| | | else if(status == 3) |
| | | return "3-审核不通过"; |
| | | return "审核不通过"; |
| | | else if(status == 4) |
| | | return "4-取消"; |
| | | return "取消"; |
| | | |
| | | return string.Empty; |
| | | } |
| | |
| | | return string.Empty; |
| | | } |
| | | |
| | | |
| | | //获取流程组中的下一个流程 |
| | | public string getNextFlowCode(string flowGroup, int sort) |
| | | { |
| | | if (string.IsNullOrEmpty(flowGroup) ) |
| | | { |
| | | return null; |
| | | } |
| | | |
| | | string[] flowGroups = null; |
| | | string[] flowCodes = null; |
| | | int nextSort = 0; |
| | | string flowCode = null; |
| | | string sortAndFlowCode = null; |
| | | flowGroups = flowGroup.Split('|'); |
| | | Console.WriteLine(flowGroups.Length); |
| | | if (flowGroups.Length > 1) |
| | | { |
| | | for (int i=0; i<flowGroups.Length; i++) |
| | | { |
| | | sortAndFlowCode = flowGroups[i]; |
| | | if (string.IsNullOrEmpty(sortAndFlowCode)) |
| | | { |
| | | continue; |
| | | } |
| | | else |
| | | { |
| | | flowCodes = sortAndFlowCode.Split('#'); |
| | | if(flowCodes.Length!=2) |
| | | { |
| | | |
| | | throw new ArgumentException("流程组合串存在格式错误!"); |
| | | } |
| | | else |
| | | { |
| | | nextSort = string.IsNullOrEmpty(flowCodes[0])? 0: Convert.ToInt32(flowCodes[0]); //序号 |
| | | flowCode = flowCodes[1]; //流程代码 |
| | | |
| | | if (nextSort<=sort) |
| | | { |
| | | continue; |
| | | } |
| | | |
| | | //return flowCode; |
| | | return sortAndFlowCode; |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | return ""; |
| | | } |
| | | |
| | | |
| | | //拆分流程序号和流程代码 |
| | | public object[] splitFlowCodes(string sortAndFlowCode) |
| | | { |
| | | if(string.IsNullOrEmpty(sortAndFlowCode) ) |
| | | { |
| | | return null; |
| | | } |
| | | |
| | | string[] splitFlowCodes = sortAndFlowCode.Split('#'); |
| | | if (splitFlowCodes.Length != 2) |
| | | { |
| | | throw new ArgumentException("流程组合串格式错误!"); |
| | | |
| | | } |
| | | else |
| | | { |
| | | return splitFlowCodes; |
| | | } |
| | | |
| | | } |
| | | |
| | | } |