创建卡的实体类
namespace MembershipCard
{/// <summary>
/// 会员卡实体类
/// </summary>
public class baseCard
{
/// <summary>
/// id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 卡号
/// </summary>
public int cardId { get; set; }
/// <summary>
/// 余额
/// </summary>
public int CardBlance { get; set; } = 0;
/// <summary>
/// 卡级别 1-金卡,2-银卡,3-铜卡
/// </summary>
public string CardLevel { get; set; } = "3";
/// <summary>
/// 卡状态 0-正常,1-黑户
/// </summary>
public string CardState { get; set; } = "正常";
/// <summary>
/// 所属人姓名
/// </summary>
public string UserName { get; set; }
/// <summary>
/// 开卡时间
/// </summary>
public DateTime CardTime { get; set; } = DateTime.Now;
/// <summary>
/// 充值金额
/// </summary>
public decimal Money { get; set; } = 0;
/// <summary>
/// 密码
/// </summary>
public string CardPwd { get; set; } = "000000";
/// <summary>
/// 电话
/// </summary>
public string Iphone { get; set; }
}
}
创建会员卡增删查改的方法类
namespace MembershipCard
{
public static class BaseCardManage
{
public static List<baseCard> AllCards = null;
/// <summary>
/// 创建用卡人
/// </summary>
/// <returns></returns>
public static List<baseCard> CreateUserCard()
{
Random random = new Random();
if (AllCards == null)
{
AllCards = new List<baseCard>();
for (int i = 0; i < 30; i++)
{
baseCard baseCard = new baseCard();
baseCard.CardState = random.Next(0, 1) == 1 ? "正常" : "黑户";
baseCard.UserName = $"用户{i}";
baseCard.Id = i;
AllCards.Add(baseCard);
}
//AllCards = lists;
return AllCards;
}
else
{
return AllCards;
}
}
/// <summary>
/// id查询
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public static baseCard SelectId(int id)
{
return CreateUserCard().FirstOrDefault(x=>x.Id==id);
}
/// <summary>
/// 卡号查询
/// </summary>
/// <param name="cardid">卡号</param>
/// <returns></returns>
public static List<baseCard> SelectCardId(int cardid)
{
return CreateUserCard().Where(x => x.cardId == cardid).ToList();
}
/// <summary>
/// 手机号查询
/// </summary>
/// <param name="phone"></param>
/// <returns></returns>
public static baseCard SelectPhone(string phone)
{
return CreateUserCard().FirstOrDefault(x=>x.Iphone==phone);
}
/// <summary>
/// 消费查询
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public static decimal SelectBanlance(int id)
{
var result = CreateUserCard().FirstOrDefault(x => x.Id == id);
if (result == null && result.CardState == "正常")
{
if (result.CardLevel == "3")
{
return result.Money - result.CardBlance;
}
else if (result.CardLevel == "1")
{
return (result.Money - result.CardBlance) * 0.8m;
}
else
{
return (result.Money - result.CardBlance) * 0.9m;
}
}
else
{
return 0;
}
}
/// <summary>
/// 判断密码是否正确
/// </summary>
/// <param name="cardid"></param>
/// <param name="phone"></param>
/// <param name="cardpwd"></param>
/// <returns></returns>
public static bool SelectPwd(int? cardid, string? phone, string cardpwd)
{
List<baseCard> lists = CreateUserCard();
lists = AllCards;
bool result = false;
foreach (var item in lists)
{
if (item.cardId == cardid || item.Iphone == phone)
{
if (item.CardPwd == cardpwd)
{
result = true;
}
}
}
return result;
}
/// <summary>
///查询全部
/// </summary>
/// <param name="cardid"></param>
/// <param name="cardlevel"></param>
/// <param name="state"></param>
/// <param name="minmoney"></param>
/// <param name="maxmonney"></param>
/// <param name="username"></param>
/// <param name="starttime"></param>
/// <param name="endtime"></param>
/// <param name="money"></param>
/// <param name="phone"></param>
/// <returns></returns>
public static List<baseCard> SelectAll(int? cardid, string? cardlevel, string? state, int? minmoney,
int? maxmonney, string? username, DateTime? starttime, DateTime? endtime, int? money, string? phone)
{
List<baseCard> lists = CreateUserCard();
var results = new List<baseCard>();
foreach (var item in lists)
{
if ((cardid != null && item.cardId.ToString().Contains(cardid.ToString())) ||
(cardlevel != null && item.CardLevel == cardlevel) ||
(state != null && item.CardState == state) ||
(minmoney != null || item.CardBlance >= minmoney ||
maxmonney != null || item.CardBlance <= maxmonney) ||
(username != null && item.UserName.Contains(username)) ||
(starttime != null || item.CardTime >= starttime ||
endtime != null || item.CardTime <= endtime) ||
(money != null && item.Money >= money) ||
(phone != null && item.Iphone.Contains(phone))
)
{
results.Add(item);
}
}
return results;
}
/// <summary>
/// 修改密码
/// </summary>
/// <param name="cardid"></param>
/// <param name="password"></param>
/// <returns></returns>
public static baseCard ModifyPwd(int cardid, string password)
{
List<baseCard> lists = SelectCardId(cardid);
var result = lists.FirstOrDefault();
if (result != null)
{
result.CardPwd = password;
}
return result;
}
/// <summary>
/// 修改状态
/// </summary>
/// <param name="cardid"></param>
/// <param name="state"></param>
/// <returns></returns>
public static baseCard Modifystate(int cardid, string state)
{
List<baseCard> lists = SelectCardId(cardid);
var result = lists.FirstOrDefault();
if (result != null)
{
result.CardState = state;
}
return result;
}
/// <summary>
/// 修改卡等级
/// </summary>
/// <param name="cardid"></param>
/// <param name="level"></param>
/// <returns></returns>
public static baseCard Modifylevel(int cardid, string level)
{
List<baseCard> lists = SelectCardId(cardid);
var result = lists.FirstOrDefault();
if (result != null)
{
result.CardLevel = level;
}
return result;
}
/// <summary>
/// 修改电话号码
/// </summary>
/// <param name="cardid"></param>
/// <param name="phone"></param>
/// <returns></returns>
public static baseCard Modifyphone(int cardid, string phone)
{
List<baseCard> lists = SelectCardId(cardid);
var result = lists.FirstOrDefault();
if (result != null)
{
result.Iphone = phone;
}
return result;
}
创建结果返回值类
namespace MembershipCard.Common
{
public class WebApiResponse
{/// <summary>
/// 错误码 0-正确,1 错误
/// </summary>
public int Code { get; set; }
/// <summary>
/// 错误信息
/// </summary>
public string Message { get; set; }
/// <summary>
/// 数据
/// </summary>
public object Data { get; set; }
/// <summary>
/// 创建一个实例
/// </summary>
/// <param name="code"></param>
/// <param name="message"></param>
/// <param name="data"></param>
/// <returns></returns>
public static WebApiResponse Create(int code,string message,object data)
{
WebApiResponse response = new WebApiResponse();
response.Code = code;
response.Message = message;
response.Data = data;
return response;
}
/// <summary>
/// 错误的实例,错误编号,错误原因
/// </summary>
/// <param name="code"></param>
/// <param name="message"></param>
/// <returns></returns>
public static WebApiResponse Create(int code, string message)
{
return Create(code,message,null);
}
/// <summary>
/// 创建成功实例
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static WebApiResponse OK(object data)
{
return Create(0,"OK",data);
}
/// <summary>
/// 成功的实例不含有参数
/// </summary>
/// <returns></returns>
public static WebApiResponse Ok()
{
return OK(null);
}
}
}
会员卡接口类
namespace MembershipCard
{
//应用编程接口控制器
[ApiController]
//路由
[Route("card")]
public class BaseController : ControllerBase
{
/// <summary>
/// 创建会员卡用户
/// </summary>
/// <returns></returns>
[HttpGet("create")]
public List<baseCard> Create()
{
return BaseCardManage.CreateUserCard();
}
/// <summary>
/// 卡号查询
/// </summary>
/// <param name="cardid"></param>
/// <returns></returns>
[HttpGet("cardId")]
public List<baseCard> GetCardId(int cardid)
{
return BaseCardManage.SelectCardId(cardid);
}
/// <summary>
/// id查询
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("Id")]
public WebApiResponse GetId(int id)
{
var result = BaseCardManage.SelectId(id);
if (result != null)
{
return WebApiResponse.OK(result);
}
return WebApiResponse.Create(1, "数据错误");
}
/// <summary>
/// 手机号查询
/// </summary>
/// <param name="phone"></param>
/// <returns></returns>
[HttpGet("phone")]
public WebApiResponse GetPhone(string phone)
{
var result = BaseCardManage.SelectPhone(phone);
if (result != null)
{
return WebApiResponse.OK(result);
}
return WebApiResponse.Create(1,"不存在此条数据");
}
/// <summary>
/// 消费查询
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("Balance")]
public WebApiResponse getBalance(int id)
{
var result = BaseCardManage.SelectBanlance(id);
return WebApiResponse.OK(result);
}
/// <summary>
/// 判断密码是否正确
/// </summary>
/// <param name="cardid"></param>
/// <param name="phone"></param>
/// <param name="cardpwd"></param>
/// <returns></returns>
[HttpGet("Pwd")]
public bool getPwd(int? cardid, string? phone, string pwd)
{
return BaseCardManage.SelectPwd(cardid, phone, pwd);
}
/// <summary>
/// 查询全部
/// </summary>
/// <param name="cardid"></param>
/// <param name="cardlevel"></param>
/// <param name="state"></param>
/// <param name="minmoney"></param>
/// <param name="maxmonney"></param>
/// <param name="username"></param>
/// <param name="starttime"></param>
/// <param name="endtime"></param>
/// <param name="money"></param>
/// <param name="phone"></param>
/// <returns></returns>
[HttpGet("selectall")]
public List<baseCard> SelectAll(int? cardid, string? cardlevel, string? state, int? minmoney,
int? maxmonney, string? username, DateTime? starttime, DateTime? endtime, int? money, string? phone)
{
return BaseCardManage.SelectAll(cardid, cardlevel, state, minmoney, maxmonney, username, starttime, endtime, money, phone);
}
/// <summary>
/// 修改密码
/// </summary>
/// <param name="cardid"></param>
/// <param name="pwd"></param>
/// <returns></returns>
[HttpPost("modifypwd")]
public baseCard ModifyPassWard(int cardid,string oldpwd, string pwd)
{
var result= BaseCardManage.ModifyPwd(cardid,oldpwd, pwd);
if (result==null)
{
return null;
}
return result;
}
/// <summary>
/// 修改等级
/// </summary>
/// <param name="cardid"></param>
/// <param name="level"></param>
/// <returns></returns>
[HttpPost("modifylevel")]
public WebApiResponse ModifyLevel(int cardid,string level)
{
return BaseCardManage.Modifylevel(cardid,level) ;
}
[HttpPost("modifyphone")]
public WebApiResponse ModifyPhone(int cardid,string phone)
{
return BaseCardManage.Modifyphone(cardid,phone);
}
/// <summary>
/// 添加一张会员卡
/// </summary>
/// <param name="baseCard"></param>
/// <returns></returns>
[HttpPost("Insert")]
public WebApiResponse Insert(baseCard baseCard)
{
return BaseCardManage.InsertUser(baseCard);
}
/// <summary>
/// 删除
/// </summary>
/// <param name="cardid"></param>
/// <returns></returns>
[HttpDelete("delete")]
public WebApiResponse DeleteCard(int cardid)
{
return BaseCardManage.Delate(cardid);
}
}
}