namespace DAL { public class Unit_dal : Interfacedal { //充值 public int ChongZhi(int userId, decimal money) { using (SqlConnection connection = new SqlConnection("Data Source=.;Initial Catalog=DSZ_Month;Integrated Security=True")) { return connection.Execute($"update MoneyBag set Price=Price+{money} where UId={userId}"); } } public int HKManger(int userId, int hkId) { int flag = 0; using ( SqlConnection connection = new SqlConnection("Data Source=.;Initial Catalog=DSZ_Month;Integrated Security=True")) { LoanInfo lo = connection.Query<LoanInfo>($"select * from LoanInfo where LId={hkId}").FirstOrDefault(); MoneyBag us = connection.Query<MoneyBag>($"select * from MoneyBag where UId={userId}").FirstOrDefault() ; if(lo.PayMoney<=us.Price) { decimal money = lo.PayMoney; flag+= connection.Execute($"update MoneyBag set Price=Price-{money} where UId={userId}"); flag+= connection.Execute($"update LoanInfo set States=1 where LId={hkId}"); return flag; } } return 0; } //登录 public UserInfo Login(UserInfo user) { using (SqlConnection connection = new SqlConnection("Data Source=.;Initial Catalog=DSZ_Month;Integrated Security=True")) { return connection.Query<UserInfo>($"select * from UserInfo where UName='{user.UName}' and Pass='{user.Pass}'").FirstOrDefault(); } } //还款列表 public List<LoanInfo> ShowHk(int userId) { using (SqlConnection connection = new SqlConnection("Data Source=.;Initial Catalog=DSZ_Month;Integrated Security=True")) { return connection.Query<LoanInfo>($"select * from LoanInfo where UId={userId}").ToList(); } } } }
namespace DSZ_API.Controllers { [Route("api/[controller]/[action]")] [ApiController] public class DefaultController : ControllerBase { public Interfacedal _interfacedal; public DefaultController(Interfacedal interfacedal) { _interfacedal = interfacedal; } [HttpPost] //登录 public string Login([FromForm]UserInfo user) { UserInfo model = _interfacedal.Login(user); if(model!=null) { JWTHelper jwt = new JWTHelper(); Dictionary<string, object> keyss = new Dictionary<string, object>(); keyss.Add("UName", model.UName); keyss.Add("UId", model.UId); keyss.Add("Pass", model.Pass); string token = jwt.GetToken(keyss,5200); return token; } else { return null; } } [HttpGet] public List<HuanModel> GetHuan(string token) { List<LoanInfo> list = new List<LoanInfo>(); List<HuanModel> _list = new List<HuanModel>(); JWTHelper jwt = new JWTHelper(); string json = jwt.GetPayload(token); UserInfo model = JsonConvert.DeserializeObject<UserInfo>(json); list = _interfacedal.ShowHk(model.UId); foreach (var item in list) { HuanModel models = new HuanModel(); models.LId = item.LId; models.UId = item.UId; models.ReturnNum = item.ReturnNum; models.ReturnTime = item.ReturnTime.ToString("yyyy-MM-dd"); models.PayMoney = item.PayMoney; models.Rate = item.Rate; models.RealPayMoney = item.RealPayMoney; models.States = item.States; _list.Add(models); } return _list; } //还款 [HttpPost] public int HKManger([FromForm]HK_Model models) { JWTHelper jWT = new JWTHelper(); string json = jWT.GetPayload(models.token); UserInfo model = JsonConvert.DeserializeObject<UserInfo>(json); if (model != null) { return _interfacedal.HKManger(model.UId, models.ID); } else { return -1; } } //充值 [HttpPost] public int ChongMoney([FromForm]ChongModel model) { JWTHelper jwt = new JWTHelper(); string json = jwt.GetPayload(model.token); UserInfo us = JsonConvert.DeserializeObject<UserInfo>(json); if(us!=null) { return _interfacedal.ChongZhi(us.UId,model.money); } else { return -1; } } } }
<h1>登录</h1> <table> <tr> <td>用户名</td> <td> <input type="text" id="UName" /> </td> </tr> <tr> <td>密码</td> <td> <input type="password" id="Pass" /> </td> </tr> <tr> <td></td> <td> <input type="button" onclick="Login()" value="登录" class="btn-danger"/> </td> </tr> </table> <script> function Login() { var obj = { "UName": $("#UName").val(), "Pass": $("#Pass").val() }; if (obj.UName == null) { alert("用户名不能为空"); return; } if (obj.Pass == null) { alert("密码不能为空"); return; } $.ajax({ url: "http://localhost:57729/api/Default/Login", type:"post", data: obj, dataType: "text", accepts: "application/x-www-form-urlencoded", contentType: "application/x-www-form-urlencoded", }).done(function (data) { try { if (data != null) { localStorage["token"] = data; window.location.href = "/Default/Index"; } else { alert("用户名或密码错误!!!"); } } catch (e) { throw e; } }) } </script>
<h1>还款列表</h1> <table class="table"> <tr> <td>还款期数</td> <td>还款日期</td> <td>应还本金</td> <td>应还利息</td> <td>还款总额</td> <td> 还款状态</td> </tr> <tbody id="tb"> </tbody> </table> <script> $(function() { show(); }) var token = localStorage["token"]; function show() { $.ajax({ url: "http://localhost:57729/api/Default/GetHuan?token=" + token, type: "get", }).done(function (data) { console.log(data); $("#tb").empty(); $.each(data, function (Index, item) { var str = '<tr>' + '<td>' + item.returnNum + '</td>' + '<td>' + item.returnTime + '</td>' + '<td>' + item.payMoney + '</td>' + '<td>' + item.rate + '</td>' + '<td>' + item.realPayMoney + '</td>'; if (item.states == 1) { str += '<td>已还款</td>'; } else if (item.states == 0) { str += '<td><a href="#" onclick="Huan(' + item.lId + ')">还款</a></td>'; } else { str += '<td>还款</td>'; } str+= '</tr>'; $("#tb").append(str); }) }) } function Huan(id) { var obj = { "ID": id, "token": token } $.ajax({ url: "http://localhost:57729/api/Default/HKManger", data: obj, type: "post", dataType: "text", accepts: "application/x-www-form-urlencoded", contentType: "application/x-www-form-urlencoded", }).done(function (data) { if (data > 0) { alert("还款成功"); show(); } else if (data == -1) { alert("余额不足请充值"); } else { alert("还款失败"); } }) } </script>