using Infrastructure;
using Infrastructure.Attribute;
using Infrastructure.Model;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using SqlSugar.IOC;
using ZR.Admin.WebApi.Filters;
using ZR.Model.Content;
using ZR.Model.System;
using ZR.Model.System.Dto;
using ZR.Repository;
using ZR.Service.IService;
using ZR.ServiceCore.Services;
namespace ZR.Service
{
///
/// 动态api示例,继承IDynamicApi,使用看swagger生成的地址
///
[AppService(ServiceType = typeof(IHelloService), ServiceLifetime = LifeTime.Transient)]
public class HelloService : BaseService, IHelloService, IDynamicApi
{
///
/// 引用User服务
///
private readonly ISysUserService userService;
///
///
///
///
public HelloService(ISysUserService userService)
{
this.userService = userService;
}
///
/// 数据库使用案例
///
///
///
public string SayHello(string name)
{
//构造函数式使用
var user = JsonConvert.SerializeObject(userService.GetFirst(f => f.UserId == 1));
Console.WriteLine(user);
var postService = App.GetRequiredService();
Console.WriteLine(JsonConvert.SerializeObject(postService.GetId(1)));
BaseRepository deptRepo = new();
Console.WriteLine(JsonConvert.SerializeObject(deptRepo.GetId(1)));
var result = DbScoped.SugarScope.Queryable().Where(f => f.DictId == 1).First();
Console.WriteLine(JsonConvert.SerializeObject(result));
//切换库
//DbScoped.SugarScope.GetConnectionScope(2);
GetFirst(x => x.CategoryId == 1);
Context.Queryable().First(f => f.UserId == 1);
return "Hello:" + name;
}
///
/// 返回json内容
///
///
///
[Verify]
public ApiResult SayHello2([FromBody]SysUserDto userDto)
{
var user = userService.GetFirst(f => f.UserId == 2);
return new ApiResult(100, "success", user);
}
public ApiResult SayHello3()
{
throw new CustomException("自定义异常");
}
///
/// 返回json内容
///
///
///
[AllowAnonymous]
public ApiResult SayHelloJson([FromBody] SysUserDto userDto)
{
return new ApiResult(100, "success", userDto);
}
}
}