using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using OpenAuth.App;
using OpenAuth.App.FormModule;
using OpenAuth.App.FormScheme.Request;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
using OpenAuth.WebApi.Model.CustomAttribute;
using SqlSugar;
namespace OpenAuth.WebApi.Controllers
{
///
/// 无人机执法
///
//[Route("api/[controller]/[action]")]
//[ApiController]
partial class DroneCaseinfoController1 : ControllerBase
{
IConfiguration _configuration;
DroneCaseinfoApp _app;
IAuth _auth;
ILogger _logger;
WFProcessApp _wfProcessApp;
public DroneCaseinfoController1(
IConfiguration configuration,
DroneCaseinfoApp app,
IAuth auth,
ILogger logger,
WFProcessApp wFProcessApp)
{
_configuration = configuration;
_app = app;
_auth = auth;
_logger = logger;
_wfProcessApp = wFProcessApp;
}
#region 案件
///
/// 收藏案件
///
///
///
[HttpPost]
[AllowAnonymous]
public async Task> AddCaseFavorite([FromBody] DroneCaseFavorite model)
{
Response response = new Response();
try
{
response = await _app.AddCaseFavorite(model);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 加载收藏的案件信息
///
///
///
[HttpGet]
public async Task>>> LoadFavoriteCases([FromQuery] PageReq req)
{
try
{
return await _app.LoadFavoriteCases(req);
}
catch (Exception ex)
{
return new Response>>()
{
Result = null,
Code = 500,
Message = "获取数据失败"
};
}
}
///
/// 获取收藏列表
///
///
[HttpGet]
public async Task> FavoriteCaseList(string uid)
{
try
{
return await _app.FavoriteCaseList(uid);
}
catch (Exception ex)
{
return new Response()
{
Result = null,
Code = 500,
Message = "获取数据失败"
};
}
}
///
/// 批量删除收藏的案件
///
///
///
[HttpPost]
public async Task> DeleteFavoriteCases([FromBody] string[] ids)
{
Response response = new Response();
try
{
response = await _app.DeleteFavoriteCases(ids);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 删除收藏的案件
///
///
///
[HttpPost]
public async Task> DeleteFavoriteCase([FromBody] string id)
{
Response response = new Response();
try
{
response = await _app.DeleteFavoriteCase(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 获取案件记录
///
///
///
[HttpGet]
[AllowAnonymous]
public async Task>> LoadDroneCaseLog(string caseid)
{
Response> response = new Response>();
try
{
response = await _app.LoadDroneCaseLog(caseid);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 无人机添加案件
///
///
///
[HttpPost]
[AllowAnonymous]
public async Task> AddDroneCaseByDrone([FromBody] AddDroneCaseByDroneReq req)
{
Response response = new Response();
try
{
response = await _app.BackhaulDroneCaseByDrone(req);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 上报案件
///
///
///
[HttpPost]
public async Task> AddDroneCaseInfo([FromBody] AddOrUpdateDroneCaseInfoReq req)
{
Response response = new Response();
try
{
if (string.IsNullOrEmpty(req.info.Id))
{
//新增
response = await _app.AddDroneCaseInfo(req);
}
else
{
//修改
response = await _app.UpdateDroneCaseInfo(req);
}
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 案件判读
///
///
///
[HttpPost]
public async Task> UpdateDroneCaseInfoIntact([FromBody] AddOrUpdateDroneCaseInfoReq req)
{
Response response = new Response();
try
{
response = await _app.UpdateDroneCaseInfoIntact(req);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 分配案件
///
///
///
[HttpPost]
public async Task> DispenseDroneCaseData([FromBody] AddOrUpdateDispenseDroneCaseDataReq req)
{
Response response = new Response();
try
{
response = await _app.DispenseDroneCaseData(req);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 获取案件绑定关联关系
///
///
///
[HttpGet]
public async Task> GetDispenseDroneCaseData(string id)
{
Response response = new Response();
try
{
response = await _app.GetDispenseDroneCaseData(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 关闭案件
///
///
///
[HttpGet]
public async Task> CloseDroneCaseInfo(string id)
{
Response response = new Response();
try
{
response = await _app.CloseDroneCaseInfo(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 审核通过
///
///
///
[HttpGet]
public async Task> VerifyCaseInfoSuccess(string id)
{
Response response = new Response();
try
{
response = await _app.VerifyCaseInfoSuccess(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 审核改进
///
///
///
[HttpPost]
public async Task> VerifyCaseInfoFailed(AddOrUpdateVerifyCaseSuccessReq req)
{
Response response = new Response();
try
{
response = await _app.VerifyCaseInfoFailed(req);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 上报事件
///
///
///
[HttpPost]
public async Task> AddCaseEvent([FromBody] AddOrUpdateDroneCaseEventReq req)
{
var response = new Response();
try
{
response = await _app.AddCaseEvent(req);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 上报案件临时接口-分配给自己
///
///
///
[HttpPost]
public async Task> AddTemporaryDroneCaseInfo([FromBody] AddOrUpdateDroneCaseInfoReq req)
{
Response response = new Response();
try
{
response = await _app.AddTemporaryDroneCaseInfo(req);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
#region 案件列表
///
/// 查询案件和处理信息列表
///
///
[HttpGet]
public async Task>>> LoadCaseInfoAndDealInfoList([FromQuery] QueryCaseInfoListReq req)
{
try
{
return await _app.LoadCaseInfoAndDealInfoList(req);
}
catch (Exception ex)
{
return new Response>>()
{
Code = 500,
Message = "获取数据失败"
};
}
}
///
/// 查询案件列表
///
///
[HttpGet]
public async Task>>> LoadCaseInfoList([FromQuery] QueryCaseInfoListReq req)
{
try
{
return await _app.LoadCaseInfoListInterface(req);
}
catch (Exception ex)
{
return new Response>>()
{
Code = 500,
Message = "获取数据失败"
};
}
}
///
/// 查询判读案件列表
///
///
///
[HttpGet]
public async Task>>> LoadIntactCaseInfoList([FromQuery] QueryIntactCaseInfoListReq obj)
{
try
{
QueryCaseInfoListReq req = obj.MapTo();
return await _app.LoadCaseInfoList(req);
}
catch (Exception ex)
{
return new Response>>()
{
Code = 500,
Message = "获取数据失败"
};
}
}
///
/// 查询处理案件列表
///
///
///
[HttpGet]
public async Task>>> LoadDealCaseInfoList([FromQuery] QueryCaseInfoListReq obj)
{
try
{
return await _app.LoadDealCaseInfoList(obj);
}
catch (Exception ex)
{
return new Response>>()
{
Code = 500,
Message = "获取数据失败"
};
}
}
///
/// 根据案件分配查询案件
///
///
///
[HttpGet]
public async Task>>> LoadDealCaseInfoListByLaw([FromQuery] QueryCaseInfoListReq obj)
{
try
{
return await _app.LoadDealCaseInfoListByLaw(obj);
}
catch (Exception ex)
{
return new Response>>()
{
Code = 500,
Message = "获取数据失败"
};
}
}
#endregion
#region 案件数量统计App查询案件 全部 未办理 办理中 已办结数量
///
/// 案件数量统计
///
///
[HttpGet]
public async Task> CaseCountCensus()
{
Response response = new Response();
try
{
QueryCaseInfoListReq req = new QueryCaseInfoListReq();
req.is_dealer = 1;
response = await _app.CaseCountCensus(req);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 待审核案件及未读消息数量
///
///
[HttpGet]
public Response UnreadMsgAndCaseCount()
{
Response response = new Response();
try
{
return _app.UnreadMsgAndCaseCount();
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 首页通知统计数量
///
///
[HttpGet]
public Response GetIndexCensusDataApp()
{
Response response = new Response();
try
{
return _app.GetIndexCensusDataApp();
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 根据分配案件 进行案件数量统计
///
///
[HttpGet]
public async Task> CaseCountCensusByLaw()
{
Response response = new Response();
try
{
//判断是否是乡镇管理员和审核管理员
var currentUser = _auth.GetCurrentUser();
var _count = currentUser.Roles.Where(c => c.Name.Contains("案件处理")).Count();
if (_count == 0)
{
return await CaseCountCensus();
}
else
{
QueryCaseInfoListReq req = new QueryCaseInfoListReq();
req.dispense_dealer = 1;
return await _app.CaseCountCensus(req);
}
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 根据分配案件 进行案件数量统计
///
///
[HttpGet]
public async Task> CaseCountCensusByLawDetail()
{
Response