贷款

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();
            }
        }
    }
}
View Code
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;
            }
        }


    }
}
View Code
<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>
View Code
<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>
View Code

 

posted @ 2020-06-10 13:45  DSZ  阅读(20)  评论(0)    收藏  举报