using AllBase; using AllBase.Model.Result; using NaiBa.Util.Extension; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using TemuKJD.BaseForms; using TemuKJD.BLL; using TemuKJD.Extension; using Work; namespace TemuKJD.WXForms.AdminForms { public partial class WXAdminAccountForm : BaseForm { public static List AllUsers { get; set; } = new List(); public MainForm Mf { get; set; } = null; public string Uid { get; set; } = ""; public WXAdminAccountForm() { InitializeComponent(); } private void btnOpUser_Click(object sender, EventArgs e) { if (txtPassword.Text != txtRePass.Text) { BaseMsgForm.ShowInfo("两次密码不正确", "提示"); return; } if (btnOpUser.Text == "添加用户" && txtPassword.Text.Length < 6) { BaseMsgForm.ShowInfo("密码最少6位", "提示"); return; } if (string.IsNullOrEmpty(txtNickName.Text) || string.IsNullOrEmpty(txtMobile.Text) || txtMobile.Text.Length != 11) { BaseMsgForm.ShowInfo("信息不正确", "提示"); return; } StringBuilder data = new StringBuilder(); data.Append(UserLogin.GetSignaturex()); data.Append("&add_nick_name=" + GetHtml.UrlEncodeUtf8(txtNickName.Text)); data.Append("&add_user_name=" + GetHtml.UrlEncodeUtf8(txtMobile.Text)); data.Append("&add_mobile=" + GetHtml.UrlEncodeUtf8(txtMobile.Text)); data.Append("&add_company=" + GetHtml.UrlEncodeUtf8(txtCompany.Text)); data.Append("&card_id="); if (cmbGroup.Text == "主账户") { data.Append("&group_id=3"); } else if(cmbGroup.Text == "客服") { data.Append("&group_id=4"); } else { BaseMsgForm.ShowInfo("分组不正确", "提示"); return; } if (!string.IsNullOrEmpty(txtPassword.Text)) data.Append("&add_password=" + Md5Base.GetMd5(txtPassword.Text).ToLower()); if (cmbSaLevel.Text=="一级超管") data.Append("&sa_level=1"); else if (cmbSaLevel.Text == "二级超管") data.Append("&sa_level=2"); else data.Append("&sa_level=0"); string authority = ""; if (chkWXComplateProd.Checked) authority += "微信回采,"; if (chkWXShowProdGetFromType.Checked) authority += "货源选择,"; if (chkChanceProdCollect.Checked) authority += "商品采集,"; if (chkHot.Checked) authority += "爆款数据,"; if (chkShopOptimize.Checked) authority += "评分考核,"; if (chkEcWaybill.Checked) authority += chkEcWaybill.Text + ","; // 在线寄件 if (chkCommissionUpdate.Checked) authority += chkCommissionUpdate.Text + ","; // 佣金上货 if (chkShopPoints.Checked) authority += chkShopPoints.Text + ","; // 充值用户 if (chkProdFission.Checked) authority += chkProdFission.Text + ","; // 裂变调试 if (chkTraineeData.Checked) authority += chkTraineeData.Text + ","; // 学员数据 data.Append("&authority=" + authority.Trim(',')); string url = BaseClass.BuildObjString("user/add_user"); if (btnOpUser.Text != "添加用户" && !string.IsNullOrEmpty(Uid)) { data.Append("&id=" + Uid); url = BaseClass.BuildObjString("user/update_user"); } string html = GetHtml.PostUtf8(url, data.ToString()).Trim(); if (!string.IsNullOrEmpty(html)) { if (html.Contains("\"code\":200")) { btnOpUser.Text = "添加用户"; EmptyInput(); btnCancel.Visible = false; GetUser(); return; } var msg = BaseRegex.GetStringJson(ref html, "msg"); if (string.IsNullOrEmpty(msg)) msg = html; BaseMsgForm.ShowError(msg, "错误"); return; } BaseMsgForm.ShowError("出现异常,添加失败", "错误"); } private void GetUser() { dgvUser.Rows.Clear(); AllUsers.Clear(); string url = BaseClass.BuildObjString("user/get_all_user"); StringBuilder data = new StringBuilder(); data.Append(UserLogin.GetSignaturex()); if (cmbSearchGroup.Text == "主账户") { data.Append("&group_id=3"); } else if (cmbSearchGroup.Text == "客服") { data.Append("&group_id=4"); } if (!string.IsNullOrWhiteSpace(txtSearch.Text)) data.Append("&search=" + txtSearch.Text.Replace("'","'")); string html = GetHtml.PostUtf8(url, data.ToString()); if (string.IsNullOrEmpty(html)) return; if (html.Contains("\"data\"")) { var userObj = Newtonsoft.Json.Linq.JObject.Parse(html); foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"]) { string oStr = JsonHelper.SerializeObject(obj); UserSubAccountInfo user = new UserSubAccountInfo(); user.id = BaseRegex.GetIntJson(ref oStr, "id"); user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name"); user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name"); user.mobile = BaseRegex.GetStringJson(ref oStr, "mobile"); user.group_id = BaseRegex.GetStringJson(ref oStr, "group_id"); user.shop_count = BaseRegex.GetIntJson(ref oStr, "shop_count"); user.company_name = BaseRegex.GetStringJson(ref oStr, "company_name"); user.sa_level = BaseRegex.GetIntJson(ref oStr, "sa_level"); user.authority = BaseRegex.GetStringJson(ref oStr, "authority"); user.group_id = BaseRegex.GetStringJson(ref oStr, "group_id"); user.points = BaseRegex.GetIntJson(ref oStr, "points"); user.shop_points_per_month = BaseRegex.GetIntJson(ref oStr, "shop_points_per_month"); var parent_user_name = BaseRegex.GetStringJson(ref oStr, "parent_user_name"); AllUsers.Add(user); dgvUser.Rows.Add( user.id, user.nick_name, user.user_name, parent_user_name, user.group_id, user.group_name, user.company_name, user.shop_count, user.sa_level, user.sa_level_name /*+ (user.group_id == "4" ? "(客服)" : "")*/, user.authority, (user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.shop_points_per_month : null, (user.authority.Contains("充值用户") && user.group_id == "3") ? "改" : null, (user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.points : null, (user.authority.Contains("充值用户") && user.group_id == "3") ? "+" : null, user.group_id == "3" ? "添加店铺" : "", "编辑", "删除"); } } } private void btnCancel_Click(object sender, EventArgs e) { btnOpUser.Text = "添加用户"; Uid = ""; EmptyInput(); btnCancel.Visible = false; } private void EmptyInput() { txtNickName.Clear(); txtPassword.Clear(); txtRePass.Clear(); txtMobile.Clear(); txtCompany.Clear(); cmbGroup.Text = "主账户"; cmbSaLevel.Text = "普通用户"; chkWXComplateProd.Checked = false; chkWXShowProdGetFromType.Checked = false; chkChanceProdCollect.Checked = false; chkTraineeData.Checked = false; chkShopOptimize.Checked = false; chkEcWaybill.Checked = false; chkCommissionUpdate.Checked = false; chkHot.Checked = false; chkShopPoints.Checked = false; chkProdFission.Checked = false; } private void btnRefresh_Click(object sender, EventArgs e) { GetUser(); } private void dgvUser_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex < 0 || e.RowIndex < 0) return; string columname = dgvUser.Columns[e.ColumnIndex].HeaderText; string uid = dgvUser.Rows[e.RowIndex].Cells["UseridColumn"].Value.ToString(); string nickName = dgvUser.Rows[e.RowIndex].Cells["UserNickNameColumn"].Value.ToString(); string mobile = dgvUser.Rows[e.RowIndex].Cells["mobileColumn"].Value.ToString(); string groupName = dgvUser.Rows[e.RowIndex].Cells["groupNameColumn"].Value.ToString(); string company = dgvUser.Rows[e.RowIndex].Cells["colCompany"].Value.ToString(); string saLevelName = dgvUser.Rows[e.RowIndex].Cells["colSaLevelName"].Value.ToString(); string authority = dgvUser.Rows[e.RowIndex].Cells["colAuthority"].Value.ParseToString(); int shopPointsPerMonth = dgvUser.Rows[e.RowIndex].Cells["colShopPointsPerMonth"].Value.ParseToInt(); var row = dgvUser.Rows[e.RowIndex]; if (columname == "编辑") { Uid = uid; txtNickName.Text = nickName; txtMobile.Text = mobile; cmbGroup.Text = groupName; txtPassword.Text = ""; txtRePass.Text = ""; txtCompany.Text = company; btnOpUser.Text = "保存用户"; btnCancel.Visible = true; cmbSaLevel.Text = saLevelName; chkWXComplateProd.Checked = authority.Contains(chkWXComplateProd.Text); chkShopPoints.Checked = authority.Contains(chkShopPoints.Text); chkProdFission.Checked = authority.Contains(chkProdFission.Text); chkChanceProdCollect.Checked = authority.Contains(chkChanceProdCollect.Text); chkTraineeData.Checked = authority.Contains(chkTraineeData.Text); chkShopOptimize.Checked = authority.Contains(chkShopOptimize.Text); chkEcWaybill.Checked = authority.Contains(chkEcWaybill.Text); chkCommissionUpdate.Checked = authority.Contains(chkCommissionUpdate.Text); chkHot.Checked = authority.Contains(chkHot.Text); chkWXShowProdGetFromType.Checked = authority.Contains(chkWXShowProdGetFromType.Text); } if (columname == "删除") { if (BaseMsgForm.ShowConfirm("是否删除,删除后无法再次添加", "提示").DialogResult == DialogResult.OK) { Delete(uid); } } if (columname == "添加店铺") { WXAdminShopListForm shopListForm = new WXAdminShopListForm(); shopListForm.UserAccountInfo = AllUsers.FirstOrDefault(u => u.user_name == mobile); shopListForm.lblAddToAccount.Visible = true; shopListForm.btnAddToAccount.Visible = true; shopListForm.ShowDialog(); } if (columname == "+") { this.lblUserInfo.Text = mobile + " - " + nickName; this.numAddTopUp.Value = 0; this.pnlTopUp.Tag = row; this.pnlTopUp.Visible = true; } if (columname == "改") { this.lblShopPointsPerMonthUserInfo.Text = mobile + " - " + nickName; this.numShopPointsPerMonth.Value = shopPointsPerMonth; this.pnlShopPointsPerMonth.Tag = row; this.pnlShopPointsPerMonth.Visible = true; this.lblShopPointsPerMonthUserId.Text = uid; } } public void Delete(string uid) { StringBuilder data = new StringBuilder(); data.Append(UserLogin.GetSignaturex()); data.Append("&id=" + uid); string url = BaseClass.BuildObjString("user/delete_user"); string html = GetHtml.PostUtf8(url, data.ToString()); if (!string.IsNullOrEmpty(html)) { if (html.Contains("\"code\":200")) { BaseMsgForm.ShowInfo("删除成功", "提示"); GetUser(); return; } var msg = BaseRegex.GetStringJson(ref html, "msg"); if (string.IsNullOrEmpty(msg)) msg = html; BaseMsgForm.ShowError(msg, "错误"); return; } BaseMsgForm.ShowError("返回异常", "错误"); } private void MainAccountForm_VisibleChanged(object sender, EventArgs e) { if (this.Visible) { GetUser(); } } private void MainAccountForm_Load(object sender, EventArgs e) { pnlShopPointsPerMonth.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y); this.cmbGroup.Items.Clear(); this.cmbGroup.Items.Add("主账户"); this.cmbGroup.Items.Add("客服"); this.cmbSearchGroup.Items.Clear(); this.cmbSearchGroup.Items.Add("主账户"); this.cmbSearchGroup.Items.Add("客服"); this.cmbSearchGroup.Items.Add("全部"); this.txtSearch.GotFocus += TxtSearch_GotFocus; this.txtSearch.LostFocus += TxtSearch_LostFocus; this.dgvUser.AddMergeColumn(new List { "colShopPointsPerMonth", "colChangePointsPerMonth" }); this.dgvUser.AddMergeColumnHeader(new List { "colShopPointsPerMonth", "colChangePointsPerMonth" }, "月费耗点"); this.dgvUser.AddMergeColumn(new List { "colPoints", "colPlus" }); this.dgvUser.AddMergeColumnHeader(new List { "colPoints", "colPlus" }, "积分点数"); } private void TxtSearch_LostFocus(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.txtSearch.Text)) lblWatermark.Visible = true; } private void TxtSearch_GotFocus(object sender, EventArgs e) { lblWatermark.Visible = false; } private void lblWatermark_Click(object sender, EventArgs e) { this.txtSearch.Focus(); this.lblWatermark.Visible = false; } private void btnExportShopErp_Click(object sender, EventArgs e) { foreach (var user in AllUsers) { //if (user.group_id != "3") // continue; //string prodDataStr = "{\"userName\":\"15288888888\",\"password\":\"Andy@1984\",\"phonenumber\":\"15288888888\",\"status\": \"0\",\"remark\":\"a15288888888.\",\"roleIds\":[\"5\"]}"; //prodDataStr = "{\"userName\":\"" + user.user_name + "\",\"password\":\"" + user.user_name + "\",\"phonenumber\":\"" + user.mobile + // "\",\"status\": \"0\",\"nickName\":\"" + user.nick_name + "\",\"roleIds\":[\"5\"]}"; //string url = "https://po.e57.cn/prod-api/api/sys-api/system/user"; //var exportRst = WXHttpResponseBLL.e57PostResponse(url, prodDataStr, "", "Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjFlODI2ZjNiLTFhMzItNDEwOS04ODlmLTIzYmEwOTUyMDYxYiJ9.L68qzzZZxaQoxrUeB8pBt4TWB7UbTwHkxlmQduzy-VEFkBI4oxtj4VrH-2yJpSD--ZdM-5Wm3VtTvy57nMaFMQ"); //Thread.Sleep(500); //if (!exportRst.Contains("\"code\":200")) //{ //} } } private void pnlCancel_Click(object sender, EventArgs e) { pnlTopUp.Visible = false; } private void btnTopUpOK_Click(object sender, EventArgs e) { string url = BaseClass.BuildObjString("user/update_user_points"); string data = UserLogin.GetSignaturex(); data += "&update_user_name=" + lblUserInfo.Text.Split('-')[0].Trim(); data += "&update_user_nick=" + lblUserInfo.Text.Split('-')[1].Trim(); data += "&option_type=" + "充值"; data += "&operator_type=" + "管理员"; data += "&operator_name=" + BaseClass.UserName; data += "&delta_points=" + numAddTopUp.Value; string html = GetHtml.PostUtf8(url, data.ToString()).Trim(); if (!html.Contains("\"code\":200")) { var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg"); BaseMsgForm.ShowError(msg); return; } var row = pnlTopUp.Tag as DataGridViewRow; if (row != null) { row.Cells["colPoints"].Value = row.Cells["colPoints"].Value.ParseToInt() + numAddTopUp.Value; } pnlTopUp.Visible = false; BaseMsgForm.ShowInfo("充值成功"); } private void btnFilter_Click(object sender, EventArgs e) { foreach(DataGridViewRow row in dgvUser.Rows) { if (row.Cells["colAuthority"].Value.ParseToString().Contains(txtAuth.Text.Trim())) row.Visible = true; else row.Visible = false; } } private void btnShopPointsPerMonthCancel_Click(object sender, EventArgs e) { pnlShopPointsPerMonth.Visible = false; } private void btnShopPointsPerMonth_Click(object sender, EventArgs e) { string url = BaseClass.BuildObjString("user/update_user"); string data = UserLogin.GetSignaturex(); data += "&id=" + lblShopPointsPerMonthUserId.Text; data += "&shop_points_per_month=" + numShopPointsPerMonth.Value; string html = GetHtml.PostUtf8(url, data.ToString()).Trim(); if (!html.Contains("\"code\":200")) { var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg"); BaseMsgForm.ShowError(msg); return; } var row = pnlShopPointsPerMonth.Tag as DataGridViewRow; if (row != null) { row.Cells["colShopPointsPerMonth"].Value = numShopPointsPerMonth.Value; } pnlShopPointsPerMonth.Visible = false; BaseMsgForm.ShowInfo("修改充值用户店铺月费金额成功"); } } }