462 lines
20 KiB
C#
462 lines
20 KiB
C#
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<UserSubAccountInfo> AllUsers { get; set; } = new List<UserSubAccountInfo>();
|
||
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<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" });
|
||
this.dgvUser.AddMergeColumnHeader(new List<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" }, "月费耗点");
|
||
this.dgvUser.AddMergeColumn(new List<string> { "colPoints", "colPlus" });
|
||
this.dgvUser.AddMergeColumnHeader(new List<string> { "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("修改充值用户店铺月费金额成功");
|
||
}
|
||
}
|
||
}
|