using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Api.Framework; using Api.Framework.Tools; using Api.Framework.Model; using Api.Framework.Enums; using CsharpHttpHelper; using DevExpress.XtraEditors; using System.Text.RegularExpressions; using FLSystem.Events; using Api.Framework.Timers; using Api.Framework.SDK; using Api.Framework.Events; using DevExpress.XtraGrid.Views.Grid; using SqlSugar; using System.Threading; using UI.Framework.Forms; namespace FLSystem.Forms { public partial class cps_order_suning : DevExpress.XtraEditors.XtraUserControl { public cps_order_suning(string textedit = "") { InitializeComponent(); this.textEdit1.Text = textedit; this.comboBoxEdit1.SelectedIndex = string.IsNullOrEmpty(textedit) ? 0 : 5; this.checkBox1.Checked = false; this.gridView1.CustomDrawRowIndicator += gridView1_CustomDrawRowIndicator; #region 增加所有的机器人账号 this.comboBoxEdit3.Properties.Items.Clear(); var weixinBases = Chat.Framework.ChatClient.WXClient.Values.ToList(); var objList = new List() { "全部平台" }; foreach (var item in weixinBases) { objList.Add(item.WeixinHao); } var qqBases = Chat.Framework.ChatClient.QQClients.Values; foreach (var item in qqBases) { objList.Add(item.QQ.ToString()); } this.comboBoxEdit3.Properties.Items.AddRange(objList); comboBoxEdit3.SelectedIndex = 0; #endregion try { this.pageControl1.Bind(delegate (int index, int pagesize) { try { var session = ApiClient.GetSession(); var isOld = true; List result = null; var sqlwhere = string.Empty; if (this.checkBox1.Checked) { isOld = false; sqlwhere += $" and '{this.dateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss")}' <= orderSubmitTime and orderSubmitTime <= '{this.dateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss")}'"; } string where = string.Empty; string keyword = this.textEdit1.Text.Trim(); if (!string.IsNullOrEmpty(keyword) || comboBoxEdit1.Text == "未绑定用户") { switch (this.comboBoxEdit1.Text) { case "订单编号": sqlwhere += $" and orderCode = '{keyword}'"; break; case "商品编号": sqlwhere += $" and goodsNum = '{keyword}'"; break; case "商品标题": sqlwhere += $" and productName like '%{keyword}%'"; break; case "客户编号": sqlwhere += $" and db_userid = '{keyword}'"; break; case "客户账号": var ids = FindMemberIdByKey("username", keyword); if (ids != null) { if (ids.Count == 0) ids.Add("-1"); sqlwhere += $" and db_userid in ('{string.Join("','", ids)}')"; } break; case "客户昵称": ids = FindMemberIdByKey("usernick", keyword); if (ids != null) { if (ids.Count == 0) ids.Add("-1"); sqlwhere += $" and db_userid in ('{string.Join("','", ids)}')"; } break; case "店铺编码": sqlwhere += $" and mallId = '{keyword}'"; break; case "推广位PID": sqlwhere += $" and pid = '{keyword}'"; break; case "联盟账号": sqlwhere += $" and db_cpsname = '{keyword}'"; break; case "联盟昵称": sqlwhere += $" and db_cpsnick = '{keyword}'"; break; case "未绑定用户": sqlwhere += $" and db_userid = '0'"; break; } } var status = this.comboBoxEdit2.SelectedIndex == 0 ? SystemOrderStatus.订单未知 : Util.ConvertEnum(this.comboBoxEdit2.Text); if (status != SystemOrderStatus.订单未知) sqlwhere += $" and db_status = '{((int)status).ToString()}'"; if (this.comboBoxEdit3.SelectedIndex != 0) sqlwhere += $" and db_robotname = '{comboBoxEdit3.Text.Trim()}'"; //总记录数 int totalNumber = 0; if (isOld && checkBox_isOld.Checked) { sqlwhere += $" and '{DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd HH:mm:ss")}' <= payTime"; } sqlwhere += $" order by id desc"; var getCount = session.Find("select count(*) from fl_order_suning where 1=1 " + sqlwhere); if (getCount != null && getCount.Count != 0) totalNumber = getCount[0]; sqlwhere += $" limit {(index - 1) * pagesize},{pagesize}"; var resultTmp = session.Find("select * from fl_order_suning where 1=1 " + sqlwhere); result = new List(); foreach (var o in resultTmp) { result.Add(new view_cps_order_suning() { id = o.id, db_cpsname = o.db_cpsname, db_cpsnick = o.db_cpsnick, db_endtime = o.db_endtime, db_point = o.db_point, db_status = o.db_status, childAccountId = o.childAccountId, commissionRatio = o.commissionRatio, custNo = o.custNo, db_robotname = o.db_robotname, db_robottype = o.db_robottype, db_status_time = o.db_status_time, db_userpoint = o.db_userpoint, goodsGroupCatalog = o.goodsGroupCatalog, goodsNum = o.goodsNum, mallId = o.mallId, db_userid = o.db_userid, msg_groupid = o.msg_groupid, orderCode = o.orderCode, orderLineFlag = o.orderLineFlag, orderLineNumber = o.orderLineNumber, orderLineOrigin = o.orderLineOrigin, orderLineStatusChangeTime = o.orderLineStatusChangeTime, orderLineStatusDesc = o.orderLineStatusDesc, orderSubmitTime = o.orderSubmitTime, orderType = o.orderType, payAmount = o.payAmount, payTime = o.payTime, pictureUrl = o.pictureUrl, positionId = o.positionId, prePayCommission = o.prePayCommission, productFirstCatalog = o.productFirstCatalog, productName = o.productName, productSecondCatalog = o.productSecondCatalog, productThirdCatalog = o.productThirdCatalog, promotion = o.promotion, returnCommission = o.returnCommission, saleNum = o.saleNum, saleType = o.saleType, sellerCode = o.sellerCode, sellName = o.sellName, statParam = o.statParam, violation = o.violation, robotname = o.db_robotname //username = u.username, //usernick = u.usernick }); } if (result.Count != 0) { #region 附加用户 var bindUsersList = result.Where(f => f.db_userid != 0).Select(f => f.db_userid.ToString()).ToList(); var memberData = new List(); if (bindUsersList != null && bindUsersList.Count != 0) memberData = session.Queryable().Where(new List() { new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.In, FieldValue = string.Join(",", bindUsersList) } }).ToList(); int count = 1; foreach (var member in memberData) { count++; var items = result.Where(f => f.db_userid == member.id).ToList(); if (ApiClient.Setting.DbConfig.DatabaseType == DatabaseType.SQLITE && count % 10 == 0) Thread.Sleep(50); foreach (var item in items) { item.usernick = member.usernick; item.username = member.username; } } #endregion #region 附加机器人信息 var robotList = result.Where(f => !string.IsNullOrWhiteSpace(f.robotname)).GroupBy(f => f.robotname).Select(f => f.Key).ToList(); var robotData = session.FindRobots().Where(f => robotList.Contains(f.name)).ToList(); foreach (var robot in robotData) { var items = result.Where(f => f.robotname == robot.name).ToList(); foreach (var item in items) { item.robotnick = robot.nick; } } #endregion } return new UI.Framework.Controls.PageControl.SerchResult() { Result = result, Total = totalNumber }; } catch (Exception ex) { BaseForm.ShowError(ex); } return null; }, this.gridControl1, 50, false, true); } catch (Exception ex) { if (!this.IsDisposed) BaseForm.ShowError(ex); } MainEvent.CommonEvents += Main_CommonEvents; this.Disposed += Control_Disposed; } private void Control_Disposed(object sender, EventArgs e) { MainEvent.CommonEvents -= Main_CommonEvents; } private void Main_CommonEvents(object sender, CommonEvents e) { try { if (e.Commons != null && e.Commons.Count != 0) { if (e.Commons.ContainsKey("cps_type") && e.Commons.ContainsKey("username")) { var cps_type = (CpsType)int.Parse(e.Commons["cps_type"].ToString()); if (cps_type == CpsType.苏宁易购) { textEdit1.Text = e.Commons["username"].ToString(); comboBoxEdit1.SelectedIndex = 5; comboBoxEdit3.SelectedIndex = comboBoxEdit2.SelectedIndex = 0; checkBox1.Checked = false; pageControl1.GotoPage(1); } } } } catch (Exception ex) { if (!this.IsDisposed) BaseForm.ShowError(ex); } } private void gridView1_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e) { if (e.Info.IsRowIndicator && e.RowHandle >= 0) e.Info.DisplayText = (e.RowHandle + 1).ToString(); } /// /// 条件查询(用户账号/用户昵称),模糊查询,获取用户的id /// /// 查询的字段 /// 模糊的关键词 /// private List FindMemberIdByKey(string type, string keyword) { try { var session = ApiClient.GetSession(); return session.Find($"select id from fl_member_info where {type} like '%{keyword}%'").Select(f => f.ToString()).ToList(); } catch (Exception ex) { } return new List(); } private void comboBoxEdit1_SelectedIndexChanged(object sender, EventArgs e) { this.textEdit1.Enabled = comboBoxEdit1.SelectedIndex != 0 && comboBoxEdit1.SelectedIndex != 11; if (!textEdit1.Enabled) textEdit1.Text = string.Empty; } private void checkBox1_CheckedChanged(object sender, EventArgs e) { this.dateTimePicker1.Enabled = this.dateTimePicker2.Enabled = this.checkBox1.Checked; } private void simpleButton1_Click(object sender, EventArgs e) { this.pageControl1.Go(sender, e); } /// /// 订单绑定 /// /// /// private void 绑定用户ToolStripMenuItem_Click(object sender, EventArgs e) { try { var rows = this.gridView1.GetSelectedRows(); if (rows != null && rows.Length > 0) { //获取选中数据 var row = this.gridView1.GetRow(rows[0]) as view_cps_order_suning; var db_status = row.db_status; if (db_status == SystemOrderStatus.订单失效 || db_status == SystemOrderStatus.订单结算 || db_status == SystemOrderStatus.全额退款 || db_status == SystemOrderStatus.部分退款) throw new Exception("该订单状态为已完结,不允许修改!"); var session = ApiClient.GetSession(); if (row.db_userid != 0) { var member = session.FindMemberInfoById(row.db_userid); if (member != null) { if (member.bind_order > 0) { member.bind_order--; member = session.UpdateMemberGroup(member); } } } select_member_form select_form = new select_member_form(); select_form.ShowDialog(); if (select_form.fl_member_info != null) { var suning = session.FindSingle("id = @id", new { id = row.id }); if (suning != null) { if (suning.db_robottype == 0) suning.db_robottype = select_form.fl_member_info.robot_type; if (string.IsNullOrWhiteSpace(suning.db_robotname)) suning.db_robotname = select_form.fl_member_info.robot_name; var itempoint = session.FindItemPoint(select_form.fl_member_info, double.Parse(suning.prePayCommission), int.Parse(suning.saleNum), CpsType.苏宁易购); if (itempoint != null) { suning.db_point = HttpHelper.ObjectToJson(itempoint); suning.db_userpoint = itempoint.UserPoint; } suning.db_userid = select_form.fl_member_info.id; session.SaveOrUpdate(suning); #region 获取查询时的比例 var query_item = session.FindSingle("userid=@userid and itemid=@itemid and adzoneid = @adzoneid and crt_time > @time order by id", new { userid = suning.db_userid, itemid = suning.goodsNum, adzoneid = suning.pid, time = DateTime.Now.AddHours(-24).ToString("yyyy-MM-dd HH:mm:ss") }); if (query_item != null && !string.IsNullOrWhiteSpace(query_item.compute_configdic)) { if (suning.id == 0) session.SaveOrUpdate(suning); var queryRatioHist = new fl_query_ratio_hist() { compute_config = query_item.compute_configdic, db_orderid = suning.id, createtime = DateTime.Now, cpstype = CpsType.苏宁易购 }; session.SaveOrUpdate(queryRatioHist); } #endregion } simpleButton1_Click(null, null); //更新显示值 row.db_userid = select_form.fl_member_info.id; row.username = select_form.fl_member_info.username; row.usernick = select_form.fl_member_info.usernick; row.db_point = suning.db_point; select_form.fl_member_info.bind_order++; #region 首次付款时间 try { var record = session.FindStatisticsRecord(select_form.fl_member_info.id); if (record == null) { record = new fl_statistics_record() { uid = select_form.fl_member_info.id, ex2 = 0, ex4 = CsharpHttpHelper.HttpExtend.GetTimeStamp(DateTime.Now) }; session.Saveable(record).ExecuteCommand(); } else { if (record.ex2 == 0 && record.ex4 == 0) { record.ex4 = CsharpHttpHelper.HttpExtend.GetTimeStamp(DateTime.Now); session.Saveable(record).ExecuteCommand(); } } } catch (Exception) { } #endregion session.UpdateMemberGroup(select_form.fl_member_info); } } } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } /// /// 订单解绑 /// /// /// private void 解绑ToolStripMenuItem_Click(object sender, EventArgs e) { try { var rows = this.gridView1.GetSelectedRows(); if (rows != null && rows.Length > 0) { //获取选中数据 var row = this.gridView1.GetRow(rows[0]) as view_cps_order_suning; var db_status = row.db_status; if (db_status == SystemOrderStatus.订单失效 || db_status == SystemOrderStatus.订单结算 || db_status == SystemOrderStatus.全额退款 || db_status == SystemOrderStatus.部分退款) throw new Exception("该订单状态为已完结,不允许解绑!"); var session = ApiClient.GetSession(); if (row.db_userid != 0) { var member = session.FindMemberInfoById(row.db_userid); if (member != null && member.bind_order > 0) { member.bind_order--; member = session.UpdateMemberGroup(member); } } session.ExcuteSQL("delete from fl_query_hist where itemid = @num_iid", new { num_iid = row.goodsNum }); session.ExcuteSQL("update fl_order_suning set db_userid = @userid where id=@id", new { id = row.id, userid = 0 }); session.ExcuteSQL("delete from fl_query_ratio_hist where id = @id", new { id = row.id }); //更新显示值 row.db_userid = 0; row.username = string.Empty; row.usernick = string.Empty; } } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } public class view_cps_order_suning : fl_order_suning { private string _robotname; /// /// 机器人账号 /// public string robotname { get { return _robotname; } set { if (string.IsNullOrEmpty(value)) _robotname = string.Empty; else _robotname = value; } } /// /// 机器人昵称 /// public string robotnick { get; set; } private string _username; public string username { get { return _username; } set { if (string.IsNullOrEmpty(value)) _username = string.Empty; else _username = value; } } private string _usernick; public string usernick { get { return _usernick; } set { if (string.IsNullOrEmpty(value)) _usernick = string.Empty; else _usernick = value; } } } private void 查看用户信息ToolStripMenuItem_Click(object sender, EventArgs e) { try { var rows = gridView1.GetSelectedRows(); if (rows != null && rows.Length > 0) { var username = gridView1.GetRowCellValue(rows[0], "username").ToString();//获取列的数据; if (!string.IsNullOrWhiteSpace(username)) { var tsmi = sender as ToolStripMenuItem; if (tsmi == null) throw new Exception("数据异常"); var common = new Dictionary(); common["control_name"] = tsmi.Text; common["username"] = username; MainEvent.OnEvent(null, new CommonEvents(common)); } } } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void ToolStripMenuItem_Click(object sender, EventArgs e) { try { var rows = this.gridView1.GetSelectedRows(); if (rows != null && rows.Length > 0) { var username = this.gridView1.GetRowCellValue(rows[0], "username").ToString();//获取列的数据 var tsmi = sender as ToolStripMenuItem; if (tsmi == null) throw new Exception("数据异常"); var text = tsmi.Text.Replace("订单", "").Replace("所有", ""); var cps = (CpsType)Enum.Parse(typeof(CpsType), text); var common = new Dictionary(); common["cps_type"] = (int)cps; common["username"] = username; MainEvent.OnEvent(null, new CommonEvents(common)); } } catch (Exception ex) { XtraMessageBox.Show(ex.Message); } } private void 积分ToolStripMenuItem_Click(object sender, EventArgs e) { try { var rows = this.gridView1.GetSelectedRows(); if (rows != null && rows.Length > 0) { var username = this.gridView1.GetRowCellValue(rows[0], "username").ToString();//获取列的数据 var tsmi = sender as ToolStripMenuItem; if (tsmi == null) throw new Exception("数据异常"); var common = new Dictionary(); common["control_name"] = "提现管理"; common["query_type"] = tsmi.Text; common["username"] = username; MainEvent.OnEvent(null, new CommonEvents(common)); } } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "系统错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void 冻结延期ToolStripMenuItem_Click(object sender, EventArgs e) { try { if (XtraMessageBox.Show("确定要延长冻结选中订单?", "友情提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { var rows = this.gridView1.GetSelectedRows(); if (rows != null && rows.Length > 0) { //获取选中数据 var row = this.gridView1.GetRow(rows[0]) as view_cps_order_suning; var db_status = row.db_status; if (db_status != SystemOrderStatus.订单冻结) throw new Exception($"选中订单:{db_status},不予操作"); var session = ApiClient.GetSession(); var endtime_form = new setting_endtime_form(row.db_endtime); endtime_form.ShowDialog(); if (endtime_form.newtime == DateTime.MinValue) return; var suning = session.FindSingle("id = @id", new { id = row.id }); if (endtime_form.newtime != row.db_endtime) { suning.db_endtime = endtime_form.newtime; session.Updateable(suning).ExecuteCommand(); } row.db_endtime = endtime_form.newtime;//更新显示值 } } } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void 立即结算ToolStripMenuItem1_Click(object sender, EventArgs e) { try { if (XtraMessageBox.Show("确定要结算选中订单?", "友情提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { var rows = this.gridView1.GetSelectedRows(); if (rows != null && rows.Length > 0) { //获取选中数据 var row = this.gridView1.GetRow(rows[0]) as view_cps_order_suning; var db_status = row.db_status; if (db_status == SystemOrderStatus.订单失效 || db_status == SystemOrderStatus.订单创建 || db_status == SystemOrderStatus.订单结算 || db_status == SystemOrderStatus.全额退款 || db_status == SystemOrderStatus.部分退款 || db_status == SystemOrderStatus.订单退款) throw new Exception($"选中订单:{db_status},不予操作"); var session = ApiClient.GetSession(); var suning = session.FindSingle("orderCode = @orderCode and orderLineNumber = @orderLineNumber", new { orderCode = row.orderCode, orderLineNumber = row.orderLineNumber }); if (suning == null) throw new Exception("数据查询失败,请稍后重试"); suning.db_endtime = DateTime.Now; suning.db_status = SystemOrderStatus.订单冻结; suning.orderLineStatusDesc = SuNingSubOrderStatus.确认收货.ToString(); var task = TimerTask.GetTimer() as DownSuningTimer; var notices = new List(); task.UpdateOrder(suning, session, notices); var tasks = TimerTask.GetTimer() as Update_NoticeQueue; foreach (var item in notices) { if (item.Member == null) continue; var order = item.Order as fl_order_suning; tasks.Add(item); } //更新显示值 row.db_status = SystemOrderStatus.订单结算; } } } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void 立即失效ToolStripMenuItem1_Click(object sender, EventArgs e) { try { var result = XtraMessageBox.Show("确定要失效选中订单?", "友情提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { var rows = this.gridView1.GetSelectedRows(); if (rows != null && rows.Length > 0) { //获取选中数据 var row = this.gridView1.GetRow(rows[0]) as view_cps_order_suning; var db_status = row.db_status; var session = ApiClient.GetSession(); var suning = session.FindSingle("orderCode = @orderCode and orderLineNumber = @orderLineNumber", new { orderCode = row.orderCode, orderLineNumber = row.orderLineNumber }); if (suning == null) throw new Exception("数据查询失败,请稍后重试"); var flag = false; var notices = new List(); if (db_status == SystemOrderStatus.订单结算 || db_status == SystemOrderStatus.部分退款) flag = true; else if (suning.IsFinish()) throw new Exception($"选中订单:{db_status},不予操作"); suning.orderLineStatusDesc = SuNingSubOrderStatus.订单已取消.ToString(); suning.db_endtime = DateTime.Now; suning.db_status = SystemOrderStatus.订单失效; var task = TimerTask.GetTimer() as DownSuningTimer; if (!flag) task.UpdateOrder(suning, session, notices); else { new OrderHelper().DeductSuningOrderPoint(notices, suning); session.SaveOrUpdate(suning); } var tasks = TimerTask.GetTimer() as Update_NoticeQueue; foreach (var item in notices) { if (item.Member == null) continue; var order = item.Order as fl_order_suning; tasks.Add(item); } //更新显示值 row.db_status = SystemOrderStatus.订单失效; } } } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void 刷新ToolStripMenuItem_Click(object sender, EventArgs e) { this.pageControl1.GotoPage(1); } private void 删除ToolStripMenuItem_Click(object sender, EventArgs e) { try { var rows = this.gridView1.GetSelectedRows(); if (rows.Length != 0) { var info = this.gridView1.GetRow(rows[0]) as view_cps_order_suning; if (XtraMessageBox.Show("您确定要删除选中数据嘛?\r\n" + info.productName, "友情提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { var session = ApiClient.GetSession(); session.ExcuteSQL("delete from fl_order_suning where id=" + info.id); } this.pageControl1.GotoPage(1); } } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) { switch (e.Column.Caption) { case "软件状态": e.DisplayText = Util.ConvertEnum(int.Parse(e.Value.ToString())).ToString(); break; case "一级提成": e.DisplayText = HttpExtend.JsonToDictionary(e.Value.ToString())["AwardOne"].ToString(); break; case "二级提成": e.DisplayText = HttpExtend.JsonToDictionary(e.Value.ToString())["AwardTwo"].ToString(); break; case "三级提成": { var result = HttpExtend.JsonToDictionary(e.Value.ToString()); if (result != null && result.ContainsKey("AwardThree")) e.DisplayText = result["AwardThree"].ToString(); else e.DisplayText = "0"; } break; case "群负责人提成": e.DisplayText = HttpExtend.JsonToDictionary(e.Value.ToString())["AwardCreate"].ToString(); break; } } private void gridView1_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e) { var row = e.Row as view_cps_order_suning; if (e.Column.Caption == "客户所得") { var point = HttpHelper.JsonToObject(row.db_point) as ItemPoint; if (point != null) e.Value = point.UserPoint; else e.Value = 0; } } private void 一键结算ToolStripMenuItem_Click(object sender, EventArgs e) { } private void 重新计算未结算订单ToolStripMenuItem_Click(object sender, EventArgs e) { try { var db = ApiClient.GetSession(); var orders = db.Queryable().Where(f => f.db_userid != 0 && (f.db_status == SystemOrderStatus.订单付款 || f.db_status == SystemOrderStatus.订单冻结 || f.db_status == SystemOrderStatus.订单维权中)).ToList(); EventClient.OnEvent("", $"苏宁需要重新计算的订单数:{orders.Count}"); foreach (var order in orders) { var member = db.FindMemberInfoById(order.db_userid); var itempoint = db.FindItemPoint(member, double.Parse(order.prePayCommission), int.Parse(order.saleNum), CpsType.苏宁易购); if (itempoint != null) { order.db_point = HttpHelper.ObjectToJson(itempoint); order.db_userpoint = itempoint.UserPoint; db.SaveOrUpdate(order); EventClient.OnEvent("", $"苏宁单号:{order.orderCode},重新计算完成"); } } } catch (Exception ex) { EventClient.OnEvent("", $"苏宁重新计算异常:{ex.Message}"); } } } }