H5接口
parent
312e944be7
commit
a50c7c6bc3
|
|
@ -0,0 +1,119 @@
|
|||
using DocumentFormat.OpenXml.Spreadsheet;
|
||||
using DocumentFormat.OpenXml.Wordprocessing;
|
||||
using Infrastructure;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using OpenAuth.App.BaseApp.Base;
|
||||
using OpenAuth.App.Interface;
|
||||
using OpenAuth.Repository;
|
||||
using OpenAuth.Repository.Domain;
|
||||
using OpenAuth.Repository.Domain.FireManagement;
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Yitter.IdGenerator;
|
||||
|
||||
namespace OpenAuth.App.ServiceApp.FireManagement
|
||||
{
|
||||
public class FireCodeH5App : SqlSugarBaseApp<FmSiteInfo, SugarDbContext>
|
||||
{
|
||||
public FireCodeH5App(ISugarUnitOfWork<SugarDbContext> unitWork,
|
||||
ISimpleClient<FmSiteInfo> repository, IAuth auth) : base(unitWork, repository, auth)
|
||||
{
|
||||
_auth = auth;
|
||||
}
|
||||
public async Task<Response<bool>> AddEnteringInfo(FmEnteringInfo info)
|
||||
{
|
||||
using (SugarDbContext db = base.UnitWork.CreateContext())
|
||||
{
|
||||
info.Id = YitIdHelper.NextId();
|
||||
info.InTime = info.InTime.Year == 0001 ? DateTime.Now : info.InTime;
|
||||
if (info.RegistrationType == 0)
|
||||
info.RegistrationType = 1;
|
||||
//出山登记,修改进山登记时的出山时间
|
||||
if (info.RegistrationType == 2)
|
||||
{
|
||||
var oldinfo = await db.FmEnteringInfo.AsQueryable().Where(r => r.Phone == info.Phone).OrderByDescending(r => r.InTime).FirstAsync();
|
||||
if (oldinfo != null)
|
||||
{
|
||||
oldinfo.OutTime = DateTime.Now;
|
||||
await db.FmEnteringInfo.UpdateAsync(oldinfo);
|
||||
info.InTime = oldinfo.InTime;
|
||||
info.OutTime = DateTime.Now;
|
||||
await db.FmEnteringInfo.InsertAsync(info);
|
||||
}
|
||||
else
|
||||
{
|
||||
info.OutTime = DateTime.Now;
|
||||
await db.FmEnteringInfo.InsertAsync(info);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
await db.FmEnteringInfo.InsertAsync(info);
|
||||
}
|
||||
if (db.Commit())
|
||||
{
|
||||
return new Response<bool> { Result = true, Message = "操作成功" };
|
||||
}
|
||||
else
|
||||
{
|
||||
return new Response<bool> { Result = false, Message = "操作失败" };
|
||||
}
|
||||
}
|
||||
}
|
||||
public async Task<Response<PageInfo<List<dynamic>>>> LoadNameInfoByPhone(string phone, int pageIndex, int pageSize)
|
||||
{
|
||||
using (SugarDbContext db = base.UnitWork.CreateContext())
|
||||
{
|
||||
RefAsync<int> totalNumber = 0;
|
||||
var query = await db.FmEnteringInfo.AsQueryable()
|
||||
.Where(r => r.Phone == phone)
|
||||
.Select<dynamic>(r => new
|
||||
{
|
||||
r.UserName,
|
||||
r.Phone,
|
||||
r.UserAddress,
|
||||
r.CardNo
|
||||
}).ToPageListAsync(pageIndex, pageSize, totalNumber);
|
||||
return new Response<PageInfo<List<dynamic>>>
|
||||
{
|
||||
Result = new PageInfo<List<dynamic>> { Items = query, Total = totalNumber }
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<Response<dynamic>> GetSiteInfo(long siteId)
|
||||
{
|
||||
using (SugarDbContext db = base.UnitWork.CreateContext())
|
||||
{
|
||||
RefAsync<int> totalNumber = 0;
|
||||
var info = await db.FmSiteInfo.AsQueryable()
|
||||
.Where(r => r.Id == siteId).Select<dynamic>(r => new
|
||||
{
|
||||
Id = r.Id.SelectAll(),
|
||||
Accumulate = SqlFunc.Subqueryable<FmEnteringInfo>().Where(b => b.SiteId == r.Id).Count(),
|
||||
}).FirstAsync();
|
||||
var userinfo =await db.FmSiteUser.AsQueryable()
|
||||
.LeftJoin<SysUser>((a, b) => a.SiteUserId == b.Id).Select<dynamic>((a, b) => new
|
||||
{
|
||||
Id = a.Id,
|
||||
SiteUserId = a.SiteUserId,
|
||||
SiteId = a.SiteId,
|
||||
UserRole = a.UserRole,
|
||||
Name = b.Name,
|
||||
Phone = b.Account
|
||||
}).ToListAsync();
|
||||
info.SiteUser = userinfo;
|
||||
return new Response<dynamic>
|
||||
{
|
||||
Result = info
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenAuth.Repository.Domain.FireManagement
|
||||
{
|
||||
/// <summary>
|
||||
/// 进山记录
|
||||
/// </summary>
|
||||
[SugarTable("fm_enteringinfo")]
|
||||
public class FmEnteringInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Desc:流水号
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey = true)]
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:人员名称
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string UserName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:人员电话
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Phone { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:进入方式(1-扫码,2-代填)
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int InType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:身份证号
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string CardNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:联系地址
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string UserAddress { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:进山时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime InTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:站点ID
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long SiteId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:代替人ID
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string CreateUserId { get; set; }
|
||||
/// <summary>
|
||||
/// Desc:离山时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime OutTime { get; set; }
|
||||
/// <summary>
|
||||
/// Desc:原因
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Reason { get; set; }
|
||||
/// <summary>
|
||||
/// Desc:登记类型(1-进山,2-出山)
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int RegistrationType { get; set; }
|
||||
/// <summary>
|
||||
/// 项目名称
|
||||
/// </summary>
|
||||
public string ProjectName { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,128 @@
|
|||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenAuth.Repository.Domain.FireManagement
|
||||
{
|
||||
/// <summary>
|
||||
/// 站点信息
|
||||
/// </summary>
|
||||
[SugarTable("fm_siteinfo")]
|
||||
public class FmSiteInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Desc:Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:站点名称
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string SiteName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:经度
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? lng { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:纬度
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? lat { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:是否值守
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public bool Isonduty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:是否接收消息
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public bool Isreceive { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:状态(0-未审核,1-审核通过,2-未通过)
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int State { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:审核说明
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string StateContent { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Desc:创建时间
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:创建人
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string CreateUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:审核时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime AuditTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:站点图片
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string SiteImg { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:站点地址
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string SiteAddress { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 负责人
|
||||
/// </summary>
|
||||
public string Director { get; set; }
|
||||
/// <summary>
|
||||
/// 负责人电话
|
||||
/// </summary>
|
||||
public string Phone { get; set; }
|
||||
/// <summary>
|
||||
/// 标语
|
||||
/// </summary>
|
||||
public string Slogan { get; set; }
|
||||
/// <summary>
|
||||
/// 站点相关人员
|
||||
/// </summary>
|
||||
//[SugarColumn(IsIgnore = true)]
|
||||
//public List<Sugar_SiteUser> SiteUser { get; set; } = new List<Sugar_SiteUser>();
|
||||
[Navigate(NavigateType.OneToMany, nameof(FmSiteUser.SiteId))]
|
||||
public List<FmSiteUser> SiteUser { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenAuth.Repository.Domain.FireManagement
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户站点关联表
|
||||
/// </summary>
|
||||
[SugarTable("fm_siteuser")]
|
||||
public class FmSiteUser
|
||||
{
|
||||
/// <summary>
|
||||
/// Desc:流水号
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey = true)]
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:站点id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long SiteId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:站点管理员或接收人ID
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long SiteUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:人员角色(1-管理员,2-消息接受者)
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int UserRole { get; set; }
|
||||
/// <summary>
|
||||
/// Desc:用户姓名
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public string Name { get; set; }
|
||||
/// <summary>
|
||||
/// Desc:手机号
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public string Phone { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -80,6 +80,9 @@ namespace OpenAuth.Repository
|
|||
public SugarRepositiry<FmUserPoint> FmUserPoint { get; set; }
|
||||
public SugarRepositiry<FmUserPointHistory> FmUserPointHistory { get; set; }
|
||||
public SugarRepositiry<FmFireclueinfoLog> FmFireclueinfoLog { get; set; }
|
||||
public SugarRepositiry<FmEnteringInfo> FmEnteringInfo { get; set; }
|
||||
public SugarRepositiry<FmSiteInfo> FmSiteInfo { get; set; }
|
||||
public SugarRepositiry<FmSiteUser> FmSiteUser { get; set; }
|
||||
#endregion
|
||||
|
||||
public SugarRepositiry<DmModule> DmModule { get; set; }
|
||||
|
|
|
|||
|
|
@ -0,0 +1,84 @@
|
|||
using Infrastructure;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using OpenAuth.App.ServiceApp.FireManagement;
|
||||
using OpenAuth.App.ServiceApp.FireManagement.Request;
|
||||
using OpenAuth.Repository.Domain.FireManagement;
|
||||
|
||||
namespace OpenAuth.WebApi.Controllers.ServiceControllers.FireManagement
|
||||
{
|
||||
/// <summary>
|
||||
/// H5
|
||||
/// </summary>
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
public class FireCodeHController : ControllerBase
|
||||
{
|
||||
private readonly FireCodeH5App _app;
|
||||
|
||||
public FireCodeHController(FireCodeH5App app)
|
||||
{
|
||||
_app = app;
|
||||
}
|
||||
/// <summary>
|
||||
/// 添加进出山记录
|
||||
/// </summary>
|
||||
/// <param name="info"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[AllowAnonymous]
|
||||
public async Task<Response<bool>> AddEnteringInfo(FmEnteringInfo info)
|
||||
{
|
||||
Response<bool> response = new Response<bool>();
|
||||
try
|
||||
{
|
||||
return await _app.AddEnteringInfo(info);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
response.Code = 500;
|
||||
response.Message = ex.InnerException?.Message ?? ex.Message;
|
||||
}
|
||||
return response;
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据手机号查询登记过的人员信息
|
||||
/// </summary>
|
||||
/// <param name="pointName"></param>
|
||||
/// <param name="page"></param>
|
||||
/// <param name="limit"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
public async Task<Response<PageInfo<List<dynamic>>>> LoadNameInfoByPhone(string phone, int page, int limit)
|
||||
{
|
||||
Response<PageInfo<List<dynamic>>> response = new Response<PageInfo<List<dynamic>>>();
|
||||
try
|
||||
{
|
||||
return await _app.LoadNameInfoByPhone(phone, page, limit);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
response.Code = 500;
|
||||
response.Message = ex.InnerException?.Message ?? ex.Message;
|
||||
}
|
||||
return response;
|
||||
}
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
public async Task<Response<dynamic>> GetSiteInfo(long siteId)
|
||||
{
|
||||
Response<dynamic> response = new Response<dynamic>();
|
||||
try
|
||||
{
|
||||
return await _app.GetSiteInfo(siteId);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
response.Code = 500;
|
||||
response.Message = ex.InnerException?.Message ?? ex.Message;
|
||||
}
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"DataProtection": "temp-keys/",
|
||||
"ConnectionStrings": {
|
||||
//"OpenAuthDBContext": "PORT=5432;Database=hopetrycore;HOST=192.168.10.124;PASSWORD=123456;USER ID=postgres;",
|
||||
"OpenAuthDBContext": "PORT=5432;Database=DataMaintenance;HOST=192.168.10.163;PASSWORD=123456;USER ID=postgres;Max Pool Size=200"
|
||||
"OpenAuthDBContext": "PORT=5432;Database=DataMaintenance;HOST=192.168.10.163;PASSWORD=123456;USER ID=postgres;"
|
||||
//"OpenAuthDBContext": "PORT=5432;Database=;HOST=192.168.10.131;PASSWORD=123456;USER ID=postgres;"
|
||||
},
|
||||
"AppSetting": {
|
||||
|
|
|
|||
Loading…
Reference in New Issue