using AutoMapper;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using ZY.Mes.DAL.IDAL;
using ZY.Mes.DbHepler;
using ZY.Mes.Model;
using ZY.Mes.Model.DAO;
using ZY.Mes.Model.DTO;
namespace ZY.Mes.Service
{
public class TestService: ITestService
{
private readonly ITestDal _testDal;
private readonly IMapper _mapper;
public TestService(IMapper mapper, ITestDal testDal)
{
_mapper = mapper;
_testDal = testDal;
}
///
/// 测试autoMapper
///
public void TestAutoMapper()
{
M_Test testModel = new M_Test()
{
Id = 1,
UserName = "ouyang"
};
TestView testViewModel = _mapper.Map(testModel);//测试Model映射
List testList = new List();
testList.Add(testModel);
List testViewList = _mapper.Map>(testList);//测试list映射
}
///
/// 测试redis使用
///
public void TestResdis()
{
var serialNum = RedisPools.GetRedisClient("redis").Get(RedisKeyView.LD_TESKNUM.Key, RedisKeyView.LD_TESKNUM.DbIndex);//缓存查询有没有该数据
if (serialNum == 0)//没有该数据
{
serialNum = _testDal.GetSerialNum(15);//从数据库查询
RedisPools.GetRedisClient("Ld").Set(RedisKeyView.LD_TESKNUM.Key, serialNum, RedisKeyView.LD_TESKNUM.ExpireTime, RedisKeyView.LD_TESKNUM.DbIndex);//存入缓存
}
}
///
/// 测试入列
///
///
///
public ApiResult SetTestQue(string queStr)
{
RedisPools.GetRedisClient("redis").LPush(RedisKeyView.LD_TESTQUE.Key, RedisKeyView.LD_TESTQUE.DbIndex, queStr);
return new ApiResult(ApiResultCode.OK, "入列成功");
}
///
/// 测试出列
///
public void PopTestQue()
{
while (true)
{
var queStr = RedisPools.GetRedisClient("redis").LPop(RedisKeyView.LD_TESTQUE.Key, RedisKeyView.LD_TESTQUE.DbIndex);
if (!string.IsNullOrEmpty(queStr))
{
Console.WriteLine($"{queStr}数据处理成功");
}
else
{
Thread.Sleep(1000);//没有数据休眠1s
}
}
}
}
}