Przeglądaj źródła

完成盟主储蓄金变更等功能

DuGuYang 3 lat temu
rodzic
commit
4c32c1cff0

+ 210 - 0
Areas/Admin/Controllers/MainServer/LeadersController.cs

@@ -84,8 +84,12 @@ namespace MySystem.Areas.Admin.Controllers
                 //创客
                 int UserId = int.Parse(function.CheckInt(dic["UserId"].ToString()));
                 Users userid_Users = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+
+                var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == UserId) ?? new UserAccount();
                 dic["UserIdMakerCode"] = userid_Users.MakerCode;
                 dic["UserIdRealName"] = userid_Users.RealName;
+                dic["LeaderReserve"] = userAccount.LeaderReserve;
+                dic["LeaderBalanceAmount"] = userAccount.LeaderBalanceAmount;
                 dic.Remove("UserId");
                 //盟主等级
                 int LeaderLevel = int.Parse(dic["LeaderLevel"].ToString());
@@ -204,6 +208,212 @@ namespace MySystem.Areas.Admin.Controllers
 
         #endregion
 
+
+        #region 修改盟主金额
+
+        public IActionResult ChangeLeaderAmount(string right, int Id = 0)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+            Leaders leaders = db.Leaders.FirstOrDefault(m => m.Id == Id) ?? new Leaders();
+            Users editData = db.Users.FirstOrDefault(m => m.Id == leaders.UserId) ?? new Users();
+            ViewBag.data = editData;
+            return View();
+        }
+
+        #endregion
+
+        #region 修改盟主金额
+
+        [HttpPost]
+        public string ChangeLeaderAmount(Leaders data, string ChangeAmount, int AmountType, string Note, int Kind)
+        {
+            int UserId = data.Id;
+            var Amount = Convert.ToDecimal(ChangeAmount);
+            UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
+            if (account == null)
+            {
+                account = db.UserAccount.Add(new UserAccount()
+                {
+                    Id = UserId,
+                    CreateDate = DateTime.Now,
+                    CreateMan = SysUserName + "-" + SysRealName,
+                    UserId = UserId,
+                }).Entity;
+                db.SaveChanges();
+            }
+            //盟主储蓄金
+            if (AmountType == 1)
+            {
+                if ((Kind == 1 || Kind == 3) && Amount > account.LeaderReserve)
+                {
+                    return "盟主储蓄金不足";
+                }
+                decimal BeforeLeaderReserve = account.LeaderReserve; //变更前盟主储蓄金
+                decimal BeforeLeaderBalanceAmount = account.LeaderBalanceAmount; //变更前盟主可提现余额
+                int ChangeType = 0;
+                if (Kind == 1 && Amount <= account.LeaderReserve)
+                {
+                    account.LeaderReserve -= Amount;
+                    account.TotalProfit += Amount;
+                    string text = string.Format("修改盟主金额,操作人: '" + SysUserName + "_" + SysRealName + "',操作类型: '系统冻结(盟主储蓄金)',Time'" + DateTime.Now + "'");
+                    function.WriteLog(text, "ChangeLeaderAmount");//修改盟主金额
+                }
+                else if (Kind == 1 && Amount > account.LeaderReserve)
+                {
+                    return "冻结金额大于盟主储蓄金";
+                }
+                else if (Kind == 2 && Amount <= account.TotalProfit)
+                {
+                    account.LeaderReserve += Amount;
+                    account.TotalProfit -= Amount;
+                    string text = string.Format("修改盟主金额,操作人: '" + SysUserName + "_" + SysRealName + "',操作类型: '系统解冻(盟主储蓄金)',Time'" + DateTime.Now + "'");
+                    function.WriteLog(text, "ChangeLeaderAmount");//修改盟主金额
+                }
+                else if (Kind == 2 && Amount > account.TotalProfit)
+                {
+                    return "解冻金额大于冻结金额";
+                }
+                else if (Kind == 3 && Amount <= account.LeaderReserve)
+                {
+                    account.LeaderReserve -= Amount;
+                    ChangeType = 4;
+                    decimal AfterLeaderReserve = account.LeaderReserve; //变更后盟主储蓄金
+                    decimal AfterLeaderBalanceAmount = account.LeaderBalanceAmount; //变更后盟主可提现余额
+                    var query = db.LeaderReserveRecord.Add(new LeaderReserveRecord()
+                    {
+                        CreateDate = DateTime.Now, //创建时间
+                        UserId = UserId, //创客
+                        Remark = "系统扣减(盟主储蓄金)",
+                        ChangeType = ChangeType,
+                        BeforeAmt = BeforeLeaderReserve,
+                        AfterAmt = AfterLeaderReserve,
+                        ChangeAmt = Amount,
+                        TradeDate = DateTime.Now.ToString("yyyyMMdd"),
+                        TradeMonth = DateTime.Now.ToString("yyyyMM"),
+                    }).Entity;
+                    db.SaveChanges();
+                    string text = string.Format("修改盟主金额,操作人: '" + SysUserName + "_" + SysRealName + "',操作类型: '系统扣减(盟主储蓄金)',Time'" + DateTime.Now + "'");
+                    function.WriteLog(text, "ChangeLeaderAmount");//修改盟主金额
+                }
+                else if (Kind == 3 && Amount > account.LeaderReserve)
+                {
+                    return "扣减金额大于盟主储蓄金";
+                }
+                else if (Kind == 4)
+                {
+                    account.LeaderReserve += Amount;
+                    ChangeType = 1;
+                    decimal AfterLeaderReserve = account.LeaderReserve; //变更后总金额
+                    decimal AfterLeaderBalanceAmount = account.LeaderBalanceAmount; //变更后冻结金额
+                    var query = db.LeaderReserveRecord.Add(new LeaderReserveRecord()
+                    {
+                        CreateDate = DateTime.Now, //创建时间
+                        UserId = UserId, //创客
+                        Remark = "系统增加(盟主储蓄金)",
+                        ChangeType = ChangeType,
+                        BeforeAmt = BeforeLeaderReserve,
+                        AfterAmt = AfterLeaderReserve,
+                        ChangeAmt = Amount,
+                        TradeDate = DateTime.Now.ToString("yyyyMMdd"),
+                        TradeMonth = DateTime.Now.ToString("yyyyMM"),
+                    }).Entity;
+                    db.SaveChanges();
+                    string text = string.Format("修改盟主金额,操作人: '" + SysUserName + "_" + SysRealName + "',操作类型: '系统增加(盟主储蓄金)',Time'" + DateTime.Now + "'");
+                    function.WriteLog(text, "ChangeLeaderAmount");//修改盟主金额
+                }
+                AddSysLog(data.Id.ToString(), "Leaders", "ChangeLeaderAmount");
+                db.SaveChanges();
+            }
+            //盟主可提现余额
+            if (AmountType == 2)
+            {
+                if ((Kind == 1 || Kind == 3) && Amount > account.LeaderBalanceAmount)
+                {
+                    return "盟主可提现余额不足";
+                }
+                decimal BeforeLeaderReserve = account.LeaderReserve; //变更前盟主储蓄金
+                decimal BeforeLeaderBalanceAmount = account.LeaderBalanceAmount; //变更前盟主可提现余额
+                int ChangeType = 0;
+                if (Kind == 1 && Amount <= account.LeaderReserve)
+                {
+                    account.LeaderBalanceAmount -= Amount;
+                    account.TotalServiceProfit += Amount;
+                    string text = string.Format("修改盟主金额,操作人: '" + SysUserName + "_" + SysRealName + "',操作类型: '系统冻结(盟主可提现余额)',Time'" + DateTime.Now + "'");
+                    function.WriteLog(text, "ChangeLeaderAmount");//修改盟主金额
+                }
+                else if (Kind == 1 && Amount > account.LeaderBalanceAmount)
+                {
+                    return "冻结金额大于盟主可提现余额";
+                }
+                else if (Kind == 2 && Amount <= account.TotalServiceProfit)
+                {
+                    account.LeaderBalanceAmount += Amount;
+                    account.TotalServiceProfit -= Amount;
+                    string text = string.Format("修改盟主金额,操作人: '" + SysUserName + "_" + SysRealName + "',操作类型: '系统解冻(盟主可提现余额)',Time'" + DateTime.Now + "'");
+                    function.WriteLog(text, "ChangeLeaderAmount");//修改盟主金额
+                }
+                else if (Kind == 2 && Amount > account.TotalServiceProfit)
+                {
+                    return "解冻金额大于冻结金额";
+                }
+                else if (Kind == 3 && Amount <= account.LeaderBalanceAmount)
+                {
+                    account.LeaderBalanceAmount -= Amount;
+                    ChangeType = 6;
+                    decimal AfterLeaderReserve = account.LeaderReserve; //变更后总金额
+                    decimal AfterLeaderBalanceAmount = account.LeaderBalanceAmount; //变更后冻结金额
+                    var query = db.LeaderReserveRecord.Add(new LeaderReserveRecord()
+                    {
+                        CreateDate = DateTime.Now, //创建时间
+                        UserId = UserId, //创客
+                        Remark = "系统扣减(盟主可提现余额)",
+                        ChangeType = ChangeType,
+                        BeforeAmt = BeforeLeaderBalanceAmount,
+                        AfterAmt = AfterLeaderBalanceAmount,
+                        ChangeAmt = Amount,
+                        TradeDate = DateTime.Now.ToString("yyyyMMdd"),
+                        TradeMonth = DateTime.Now.ToString("yyyyMM"),
+                    }).Entity;
+                    db.SaveChanges();
+                    string text = string.Format("修改盟主金额,操作人: '" + SysUserName + "_" + SysRealName + "',操作类型: '系统扣减(盟主可提现余额)',Time'" + DateTime.Now + "'");
+                    function.WriteLog(text, "ChangeLeaderAmount");//修改盟主金额
+                }
+                else if (Kind == 3 && Amount > account.LeaderBalanceAmount)
+                {
+                    return "扣减金额大于盟主可提现余额";
+                }
+                else if (Kind == 4)
+                {
+                    account.LeaderBalanceAmount += Amount;
+                    ChangeType = 5;
+                    decimal AfterLeaderReserve = account.LeaderReserve; //变更后总金额
+                    decimal AfterLeaderBalanceAmount = account.LeaderBalanceAmount; //变更后冻结金额
+                    var query = db.LeaderReserveRecord.Add(new LeaderReserveRecord()
+                    {
+                        CreateDate = DateTime.Now, //创建时间
+                        UserId = UserId, //创客
+                        Remark = "系统增加(盟主可提现余额)",
+                        ChangeType = ChangeType,
+                        BeforeAmt = BeforeLeaderBalanceAmount,
+                        AfterAmt = AfterLeaderBalanceAmount,
+                        ChangeAmt = Amount,
+                        TradeDate = DateTime.Now.ToString("yyyyMMdd"),
+                        TradeMonth = DateTime.Now.ToString("yyyyMM"),
+                    }).Entity;
+                    db.SaveChanges();
+                    string text = string.Format("修改盟主金额,操作人: '" + SysUserName + "_" + SysRealName + "',操作类型: '系统增加(盟主可提现余额)',Time'" + DateTime.Now + "'");
+                    function.WriteLog(text, "ChangeLeaderAmount");//修改盟主金额
+                }
+                AddSysLog(data.Id.ToString(), "Leaders", "ChangeLeaderAmount");
+                db.SaveChanges();
+            }
+            return "success";
+        }
+
+        #endregion
+
+
         #region 删除盟主管理信息
 
         /// <summary>

+ 129 - 0
Areas/Admin/Views/MainServer/Leaders/ChangeLeaderAmount.cshtml

@@ -0,0 +1,129 @@
+@using MySystem.Models;
+@{
+    Users editData = ViewBag.data as Users;
+    string RightInfo = ViewBag.RightInfo as string;
+    string right = ViewBag.right as string;
+}
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8">
+    <title>修改盟主金额</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
+    <script src="/admin/js/jquery-1.10.1.min.js"></script>
+    <script src="/admin/js/LAreaData2.js"></script>
+</head>
+<body>
+    <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin">
+        <input type="hidden" name="Id" value="@editData.Id" />
+        <div class="layui-card">
+          <div class="layui-card-body">
+        <div class="layui-tab" lay-filter="mytabbar">
+            <div class="layui-tab-content mt20">
+                <div class="layui-tab-item layui-show">
+                    <div class="layui-form-item">
+                        <label class="layui-form-label">创客姓名</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" readonly value="@editData.RealName">
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label">创客编号</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" readonly value="@editData.MakerCode">
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <div class="layui-inline">
+                            <label class="layui-form-label">*金额类别</label>
+                            <div class="layui-input-inline">
+                                <select id="AmountType" name="AmountType" lay-verify="required|">
+                                    <option value="">请选择</option>
+                                    <option value="1">盟主储蓄金</option>
+                                    <option value="2">盟主可提现余额</option>
+                                </select>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <div class="layui-inline">
+                            <label class="layui-form-label">*操作类别</label>
+                            <div class="layui-input-inline">
+                                <select id="Kind" name="Kind" lay-verify="required|">
+                                    <option value="">请选择</option>
+                                    <option value="1">冻结</option>
+                                    <option value="2">解冻</option>
+                                    <option value="3">扣减</option>
+                                    <option value="4">增加</option>
+                                </select>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label">*金额</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" id="ChangeAmount" name="ChangeAmount" maxlength="20" lay-verify="required|number|" autocomplete="off" placeholder="请输入金额">
+                        </div>
+                    </div>
+                    <div class="layui-form-item layui-form-text">
+                        <label class="layui-form-label">*备注</label>
+                        <div class="layui-input-block">
+                            <textarea class="layui-textarea" id="Note" name="Note" lay-verify="required" placeholder="请输入备注"></textarea>
+                        </div>
+                    </div>
+                </div>
+
+            </div>
+        </div>
+        <div class="layui-form-item layui-hide">
+            <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit" value="确认">
+        </div>
+    </div>
+    </div>
+    </div>
+
+    <script src="/layuiadmin/layui/layui.js"></script>
+    <script src="/other/oss/upload-min@(MySystem.OssHelper.Instance.OssStatus ? "-oss" : "").js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
+    <script src="/other/mybjq/kindeditor-min.js"></script>
+    <script src="/other/mybjq/lang/zh_CN.js"></script>
+    <script>
+        var element;
+        layui.config({
+            base: '/layuiadmin/' //静态资源所在路径
+        }).extend({
+            index: 'lib/index' //主入口模块
+        }).use(['index', 'form', 'layedit', 'laydate', 'element', 'util'], function () {
+            var $ = layui.$
+                , form = layui.form
+                , layer = layui.layer
+                , layedit = layui.layedit
+                , laydate = layui.laydate
+                , util = layui.util;
+            element = layui.element;
+
+            //Hash地址的定位
+            var layid = location.hash.replace(/^#test=/, '');
+            element.tabChange('test', layid);
+            element.on('tab(test)', function (elem) {
+                location.hash = 'test=' + $(this).attr('lay-id');
+            });
+
+            //日期
+
+            //上传文件
+
+
+            //穿梭框
+
+
+            //TreeView,比如权限管理
+
+
+            //省市区
+
+        })</script>
+</body>
+</html>

+ 2 - 2
Areas/Admin/Views/MainServer/Leaders/Index.cshtml

@@ -109,9 +109,9 @@
                     {
                         <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
                     }
-                    @if (RightInfo.Contains("," + right + "_edit,"))
+                    @if (RightInfo.Contains("," + right + "_ChangeLeaderAmount,"))
                     {
-
+                        <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="ChangeLeaderAmount"><i class="layui-icon layui-icon-edit"></i>修改盟主金额</a>
                     }
                 </script>
             </div>

+ 2 - 2
Startup.cs

@@ -155,11 +155,11 @@ namespace MySystem
         {
             Dictionary<string, Dictionary<string, string>> tables = new Dictionary<string, Dictionary<string, string>>();
             Library.OtherMySqlConn.connstr = Configuration["Setting:SqlConnStr"];
-            System.Data.DataTable tablecollection = Library.OtherMySqlConn.dtable("select DISTINCT TABLE_NAME from information_schema.columns where table_schema = 'KxsMainServer2'");
+            System.Data.DataTable tablecollection = Library.OtherMySqlConn.dtable("select DISTINCT TABLE_NAME from information_schema.columns where table_schema = 'KxsMainServer'");
             foreach (System.Data.DataRow subtable in tablecollection.Rows)
             {
                 Dictionary<string, string> Columns = new Dictionary<string, string>();
-                System.Data.DataTable columncollection = Library.OtherMySqlConn.dtable("select COLUMN_NAME,DATA_TYPE from information_schema.columns where table_schema = 'KxsMainServer2' and TABLE_NAME='" + subtable["TABLE_NAME"].ToString() + "'");
+                System.Data.DataTable columncollection = Library.OtherMySqlConn.dtable("select COLUMN_NAME,DATA_TYPE from information_schema.columns where table_schema = 'KxsMainServer' and TABLE_NAME='" + subtable["TABLE_NAME"].ToString() + "'");
                 foreach (System.Data.DataRow column in columncollection.Rows)
                 {
                     string datatype = column["DATA_TYPE"].ToString();

+ 2 - 2
appsettings.json

@@ -18,8 +18,8 @@
     "Host": "http://test.bs.kexiaoshuang.com/",
     "OssHost": "http://oss.kexiaoshuang.com",
     "Database": "KxsMainServer",
-    "SqlConnStr": "server=47.109.31.237;port=3306;user=KxsMainServer2;password=FrW8ZfxlcaVdm1r0;database=KxsMainServer2;charset=utf8;",
-    "StatSqlConnStr": "server=47.109.31.237;port=3306;user=KxsMainServer2;password=FrW8ZfxlcaVdm1r0;database=KxsMainServer2;charset=utf8;ConnectionTimeout=600;DefaultCommandTimeout=600;",
+    "SqlConnStr": "server=47.109.31.237;port=3306;user=KxsMainServer;password=FrW8ZfxlcaVdm1r0;database=KxsMainServer;charset=utf8;",
+    "StatSqlConnStr": "server=47.109.31.237;port=3306;user=KxsMainServer;password=FrW8ZfxlcaVdm1r0;database=KxsMainServer;charset=utf8;ConnectionTimeout=600;DefaultCommandTimeout=600;",
     "OpSqlConnStr": "server=47.109.31.237;port=3306;user=KxsOpServer;password=r7jwZ8ydLoeswDR4;database=KxsOpServer;charset=utf8;",
     "BsSqlConnStr": "server=47.109.31.237;port=3306;user=KxsBsServer;password=wyA1bEhi6aAkN8SB;database=KxsBsServer;charset=utf8;",
     "SpSqlConnStr": "server=47.109.31.237;port=3306;user=KxsSpServer;password=jJ9qKsvwWgQA9xWG;database=KxsSpServer;charset=utf8;",

+ 50 - 1
wwwroot/layuiadmin/modules_main/Leaders_Admin.js

@@ -96,8 +96,9 @@ layui.config({
             , { field: 'UserIdRealName', width: 200, title: '真实姓名', sort: true }
             , { field: 'CreateDate', width: 200, title: '创建时间', sort: true }
             , { field: 'LeaderLevel', width: 200, title: '盟主等级', sort: true }
+            , { field: 'LeaderReserve', width: 200, title: '盟主储蓄金', sort: true }
+            , { field: 'LeaderBalanceAmount', width: 200, title: '盟主可提现余额', sort: true }
 
-            , { field: 'Sort', fixed: 'right', title: '排序', width: 80, edit: 'text' }
             , { title: '操作', align: 'center', fixed: 'right', toolbar: '#table-list-tools' }
         ]]
         , where: {
@@ -132,6 +133,54 @@ layui.config({
                     }
                 });
             });
+        } else if (obj.event === 'ChangeLeaderAmount') {
+            var tr = $(obj.tr);
+            var perContent = layer.open({
+                type: 2
+                , title: '修改盟主金额'
+                , content: 'ChangeLeaderAmount?Id=' + data.Id
+                , maxmin: false
+                , area: ['450px', '550px']
+                , btn: ['确定', '取消']
+                , yes: function (index, layero) {
+                    var iframeWindow = window['layui-layer-iframe' + index]
+                        , submitID = 'LAY-list-front-submit'
+                        , submit = layero.find('iframe').contents().find('#' + submitID);
+
+                    //监听提交
+                    iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
+                        var field = data.field; //获取提交的字段
+                        var userdata = "";
+                        for (var prop in field) {
+                            userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
+                        }
+                        //提交 Ajax 成功后,静态更新表格中的数据
+                        //$.ajax({});
+
+                        $.ajax({
+                            type: "POST",
+                            url: "/Admin/Leaders/ChangeLeaderAmount?r=" + Math.random(1),
+                            data: userdata,
+                            dataType: "text",
+                            success: function (data) {
+                                layer.close(index); //关闭弹层
+                                if (data == "success") {
+                                    layer.msg("修改成功", { time: 1500 }, function () {
+                                        table.reload('LAY-list-manage'); //数据刷新
+                                    });
+                                } else {
+                                    layer.msg(data);
+                                }
+                            }
+                        });
+                    });
+
+                    submit.trigger('click');
+                }
+                , success: function (layero, index) {
+
+                }
+            });
         } else if (obj.event === 'edit') {
             var tr = $(obj.tr);
             var perContent = layer.open({

+ 1 - 0
wwwroot/layuiadmin/modules_main/Users_Admin.js

@@ -100,6 +100,7 @@ layui.config({
             , { field: 'MakerCode', width: 200, title: '创客编号', sort: true, templet: '#MakerCodeTpl' }
             , { field: 'RealName', width: 200, title: '创客姓名', sort: true }
             , { field: 'UserLevel', width: 200, title: '创客等级', sort: true }
+            , { field: 'AgentAreas', width: 200, title: '展业地区', sort: true }
             , { field: 'SettleAmount', width: 200, title: '提现金额(元)', sort: true }
             , { field: 'FreezeAmount', width: 200, title: '冻结金额(元)', sort: true }
             , { field: 'CertId', width: 200, title: '身份证号', sort: true }