版本更新

development
温天培 2 years ago
parent 58a0cf58df
commit 3877e56415

@ -51,5 +51,13 @@ namespace GDZZ.Application.Entity
/// 待遇
/// </summary>
public string Salary { get; set; }
/// <summary>
/// 待遇ID
/// </summary>
public string SalaryID { get; set; }
/// <summary>
/// 地区ID合集
/// </summary>
public string RegionStrID { get; set; }
}
}

@ -0,0 +1,27 @@
using System;
using SqlSugar;
using System.ComponentModel;
using GDZZ.Core.Entity;
namespace GDZZ.Application.Entity
{
/// <summary>
/// 系统配置
/// </summary>
[SugarTable("sys_T_config")]
[Description("系统配置")]
public class SysTConfig : DEntityBase
{
/// <summary>
/// 租户Id
/// </summary>
public long TenantId { get; set; }
/// <summary>
/// 招聘费用
/// </summary>
public int PushFee { get; set; }
/// <summary>
/// 求职联系费用
/// </summary>
public int JobFee { get; set; }
}
}

@ -12,7 +12,7 @@ namespace GDZZ.Application.Enum
/// <summary>
/// 待审核
/// </summary>
[Description("联系费用")] Pending = 0,
[Description("待审核")] Pending = 0,
/// <summary>
/// 联系费用

@ -13,5 +13,10 @@ namespace GDZZ.Application
/// 联系费用
/// </summary>
[Description("联系费用")] Contact = 0,
/// <summary>
/// 联系费用
/// </summary>
[Description("发布费用")] Push = 1,
}
}

@ -379,6 +379,16 @@
待遇
</summary>
</member>
<member name="P:GDZZ.Application.Entity.MiniResume.SalaryID">
<summary>
待遇ID
</summary>
</member>
<member name="P:GDZZ.Application.Entity.MiniResume.RegionStrID">
<summary>
地区ID合集
</summary>
</member>
<member name="T:GDZZ.Application.Entity.SeIF">
<summary>
职业表
@ -424,6 +434,26 @@
地区级别 1-省、自治区、直辖市 2-地级市、地区、自治州、盟 3-市辖区、县级市、县
</summary>
</member>
<member name="T:GDZZ.Application.Entity.SysTConfig">
<summary>
系统配置
</summary>
</member>
<member name="P:GDZZ.Application.Entity.SysTConfig.TenantId">
<summary>
租户Id
</summary>
</member>
<member name="P:GDZZ.Application.Entity.SysTConfig.PushFee">
<summary>
招聘费用
</summary>
</member>
<member name="P:GDZZ.Application.Entity.SysTConfig.JobFee">
<summary>
求职联系费用
</summary>
</member>
<member name="F:GDZZ.Application.Enum.CompanyEnum.Pending">
<summary>
待审核
@ -444,6 +474,11 @@
联系费用
</summary>
</member>
<member name="F:GDZZ.Application.ConsumeEnum.Push">
<summary>
联系费用
</summary>
</member>
<member name="F:GDZZ.Application.PayStatusEnum.Cancel">
<summary>
已取消
@ -1050,27 +1085,6 @@
公司属性服务
</summary>
</member>
<member name="M:GDZZ.Application.CompanyService.Page(GDZZ.Application.CompanyInput)">
<summary>
分页查询公司属性
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:GDZZ.Application.CompanyService.Add(GDZZ.Application.AddCompanyInput)">
<summary>
增加公司属性
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:GDZZ.Application.CompanyService.Delete(GDZZ.Application.DeleteCompanyInput)">
<summary>
删除公司属性
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:GDZZ.Application.CompanyService.Update(GDZZ.Application.UpdateCompanyInput)">
<summary>
更新公司属性
@ -1085,13 +1099,6 @@
<param name="input"></param>
<returns></returns>
</member>
<member name="M:GDZZ.Application.CompanyService.List(GDZZ.Application.CompanyInput)">
<summary>
获取公司属性列表
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="T:GDZZ.Application.CompanyDto">
<summary>
公司属性输出参数
@ -1117,6 +1124,16 @@
公司简介
</summary>
</member>
<member name="P:GDZZ.Application.CompanyDto.Name">
<summary>
公司名称
</summary>
</member>
<member name="P:GDZZ.Application.CompanyDto.CompanyInfoUrl">
<summary>
公司详情图片
</summary>
</member>
<member name="P:GDZZ.Application.CompanyDto.ApprovalStatus">
<summary>
审核状态
@ -1142,6 +1159,16 @@
公司简介
</summary>
</member>
<member name="P:GDZZ.Application.CompanyInput.Name">
<summary>
公司名称
</summary>
</member>
<member name="P:GDZZ.Application.CompanyInput.CompanyInfoUrl">
<summary>
公司详情图片
</summary>
</member>
<member name="P:GDZZ.Application.DeleteCompanyInput.Id">
<summary>
主键Id
@ -1202,11 +1229,6 @@
意见反馈输入参数
</summary>
</member>
<member name="P:GDZZ.Application.FeedBackInput.TenantId">
<summary>
租户Id
</summary>
</member>
<member name="P:GDZZ.Application.FeedBackInput.messsage">
<summary>
反馈意见
@ -1247,6 +1269,13 @@
意见反馈服务
</summary>
</member>
<member name="M:GDZZ.Application.FeedBackService.QueryNoticePageList(GDZZ.Core.Service.NoticeInput)">
<summary>
分页查询意见反馈
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:GDZZ.Application.FeedBackService.GetFeedBackList">
<summary>
获取意见反馈
@ -1255,7 +1284,7 @@
</member>
<member name="M:GDZZ.Application.FeedBackService.AddFeedBack(GDZZ.Application.FeedBackInput)">
<summary>
获取意见反馈
添加意见反馈
</summary>
<param name="backInput"></param>
<returns></returns>
@ -1749,6 +1778,56 @@
小程序招聘列表输入参数
</summary>
</member>
<member name="P:GDZZ.Application.MiniResumeInput.Title">
<summary>
标题
</summary>
</member>
<member name="P:GDZZ.Application.MiniResumeInput.Sak">
<summary>
要求
</summary>
</member>
<member name="P:GDZZ.Application.MiniResumeInput.Info">
<summary>
详情
</summary>
</member>
<member name="P:GDZZ.Application.MiniResumeInput.RegionName">
<summary>
地区名
</summary>
</member>
<member name="P:GDZZ.Application.MiniResumeInput.RegionStrID">
<summary>
地区ID
</summary>
</member>
<member name="P:GDZZ.Application.MiniResumeInput.Level">
<summary>
经验
</summary>
</member>
<member name="P:GDZZ.Application.MiniResumeInput.Record">
<summary>
学历
</summary>
</member>
<member name="P:GDZZ.Application.MiniResumeInput.CompanyName">
<summary>
公司名称
</summary>
</member>
<member name="P:GDZZ.Application.MiniResumeInput.Salary">
<summary>
待遇
</summary>
</member>
<member name="P:GDZZ.Application.MiniResumeInput.SalaryID">
<summary>
待遇
</summary>
</member>
<member name="P:GDZZ.Application.DeleteMiniResumeInput.Id">
<summary>
主键Id
@ -1824,11 +1903,21 @@
经验
</summary>
</member>
<member name="P:GDZZ.Application.MiniResumeOutput.SalaryID">
<summary>
待遇ID
</summary>
</member>
<member name="P:GDZZ.Application.MiniResumeOutput.Record">
<summary>
等级
</summary>
</member>
<member name="P:GDZZ.Application.MiniResumeOutput.RegionStrID">
<summary>
地区ID合集
</summary>
</member>
<member name="T:GDZZ.Application.MiniResumeService">
<summary>
小程序招聘列表服务
@ -1836,7 +1925,7 @@
</member>
<member name="M:GDZZ.Application.MiniResumeService.GetResumeList(GDZZ.Application.MiniResumeInput)">
<summary>
初始化
招聘列表
</summary>
<param name="input"></param>
<returns></returns>
@ -1862,6 +1951,13 @@
<param name="input"></param>
<returns></returns>
</member>
<member name="M:GDZZ.Application.MiniResumeService.GetSelfResumeList(GDZZ.Application.MiniResumeInput)">
<summary>
获取自己发布的招聘信息
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:GDZZ.Application.MiniResumeService.Delete(GDZZ.Application.DeleteMiniResumeInput)">
<summary>
删除招聘信息
@ -1971,14 +2067,9 @@
行政地区编号
</summary>
</member>
<member name="P:GDZZ.Application.SysRegionOutput.region_parent_id">
<summary>
地区父id
</summary>
</member>
<member name="P:GDZZ.Application.SysRegionOutput.region_level">
<member name="P:GDZZ.Application.SysRegionOutput.children">
<summary>
地区级别 1-省、自治区、直辖市 2-地级市、地区、自治州、盟 3-市辖区、县级市、县
子地区
</summary>
</member>
<member name="T:GDZZ.Application.SysRegionService">
@ -1988,8 +2079,140 @@
</member>
<member name="M:GDZZ.Application.SysRegionService.GetRegionList">
<summary>
查询所有城市列表
查询地区列表
</summary>
<returns></returns>
</member>
<member name="T:GDZZ.Application.SysTConfigDto">
<summary>
租户系统配置输出参数
</summary>
</member>
<member name="P:GDZZ.Application.SysTConfigDto.Id">
<summary>
主键Id
</summary>
</member>
<member name="P:GDZZ.Application.SysTConfigDto.TenantId">
<summary>
租户Id
</summary>
</member>
<member name="P:GDZZ.Application.SysTConfigDto.PushFee">
<summary>
招聘费用
</summary>
</member>
<member name="P:GDZZ.Application.SysTConfigDto.JobFee">
<summary>
求职联系费用
</summary>
</member>
<member name="T:GDZZ.Application.SysTConfigInput">
<summary>
租户系统配置输入参数
</summary>
</member>
<member name="P:GDZZ.Application.SysTConfigInput.TenantId">
<summary>
租户Id
</summary>
</member>
<member name="P:GDZZ.Application.SysTConfigInput.PushFee">
<summary>
招聘费用
</summary>
</member>
<member name="P:GDZZ.Application.SysTConfigInput.JobFee">
<summary>
求职联系费用
</summary>
</member>
<member name="P:GDZZ.Application.AddSysTConfigInput.TenantId">
<summary>
租户Id
</summary>
</member>
<member name="P:GDZZ.Application.DeleteSysTConfigInput.Id">
<summary>
主键Id
</summary>
</member>
<member name="P:GDZZ.Application.UpdateSysTConfigInput.Id">
<summary>
主键Id
</summary>
</member>
<member name="T:GDZZ.Application.SysTConfigOutput">
<summary>
租户系统配置输出参数
</summary>
</member>
<member name="P:GDZZ.Application.SysTConfigOutput.Id">
<summary>
主键Id
</summary>
</member>
<member name="P:GDZZ.Application.SysTConfigOutput.TenantId">
<summary>
租户Id
</summary>
</member>
<member name="P:GDZZ.Application.SysTConfigOutput.PushFee">
<summary>
招聘费用
</summary>
</member>
<member name="P:GDZZ.Application.SysTConfigOutput.JobFee">
<summary>
求职联系费用
</summary>
</member>
<member name="T:GDZZ.Application.SysTConfigService">
<summary>
租户系统配置服务
</summary>
</member>
<member name="M:GDZZ.Application.SysTConfigService.Page(GDZZ.Application.SysTConfigInput)">
<summary>
分页查询租户系统配置
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:GDZZ.Application.SysTConfigService.Add(GDZZ.Application.AddSysTConfigInput)">
<summary>
增加租户系统配置
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:GDZZ.Application.SysTConfigService.Delete(GDZZ.Application.DeleteSysTConfigInput)">
<summary>
删除租户系统配置
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:GDZZ.Application.SysTConfigService.Update(GDZZ.Application.UpdateSysTConfigInput)">
<summary>
更新租户系统配置
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:GDZZ.Application.SysTConfigService.Get(GDZZ.Application.QueryeSysTConfigInput)">
<summary>
获取租户系统配置
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:GDZZ.Application.SysTConfigService.List(GDZZ.Application.SysTConfigInput)">
<summary>
获取租户系统配置列表
</summary>
<param name="input"></param>
<returns></returns>
</member>
</members>

@ -22,55 +22,21 @@ namespace GDZZ.Application
_rep = rep;
}
/// <summary>
/// 分页查询公司属性
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpGet("/Company/page")]
public async Task<dynamic> Page([FromQuery] CompanyInput input)
{
var entities = await _rep.AsQueryable()
.ToPagedListAsync(input.PageNo, input.PageSize);
return entities.XnPagedResult();
}
/// <summary>
/// 增加公司属性
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("/Company/add")]
public async Task Add(AddCompanyInput input)
{
var entity = input.Adapt<Company>();
await _rep.InsertAsync(entity);
}
/// <summary>
/// 删除公司属性
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("/Company/delete")]
public async Task Delete(DeleteCompanyInput input)
{
var entity = await _rep.FirstOrDefaultAsync(u => u.Id == input.Id);
await _rep.DeleteAsync(entity);
}
/// <summary>
/// 更新公司属性
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("/Company/edit")]
[HttpPost("/Mini/Company/edit")]
public async Task Update(UpdateCompanyInput input)
{
var entity = input.Adapt<Company>();
await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns:true).ExecuteCommandAsync();
await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
}
/// <summary>
/// 获取公司属性
/// </summary>
@ -84,15 +50,8 @@ namespace GDZZ.Application
return await _rep.FirstOrDefaultAsync(u => u.Id == input.Id);
}
/// <summary>
/// 获取公司属性列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpGet("/Company/list")]
public async Task<dynamic> List([FromQuery] CompanyInput input)
{
return await _rep.ToListAsync();
}
}
}

@ -29,6 +29,16 @@ namespace GDZZ.Application
/// </summary>
public string Info { get; set; }
/// <summary>
/// 公司名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 公司详情图片
/// </summary>
public string CompanyInfoUrl { get; set; }
/// <summary>
/// 审核状态
/// </summary>

@ -17,12 +17,22 @@ namespace GDZZ.Application
/// <summary>
/// 公司Logo
/// </summary>
public virtual string logo { get; set; }
public string logo { get; set; }
/// <summary>
/// 公司简介
/// </summary>
public virtual string Info { get; set; }
public string Info { get; set; }
/// <summary>
/// 公司名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 公司详情图片
/// </summary>
public string CompanyInfoUrl { get; set; }
}

@ -6,11 +6,9 @@ namespace GDZZ.Application
{
public interface ICompanyService
{
Task Add(AddCompanyInput input);
Task Delete(DeleteCompanyInput input);
Task<Company> Get([FromQuery] QueryeCompanyInput input);
Task<dynamic> List([FromQuery] CompanyInput input);
Task<dynamic> Page([FromQuery] CompanyInput input);
Task Update(UpdateCompanyInput input);
}
}

@ -9,10 +9,7 @@ namespace GDZZ.Application
/// </summary>
public class FeedBackInput : PageInputBase
{
/// <summary>
/// 租户Id
/// </summary>
public virtual long TenantId { get; set; }
/// <summary>
/// 反馈意见

@ -9,6 +9,7 @@ using System.Threading.Tasks;
using GDZZ.Application.Entity;
using System.Collections.Generic;
using System;
using GDZZ.Core.Service;
namespace GDZZ.Application
{
@ -25,6 +26,18 @@ namespace GDZZ.Application
_rep = rep;
}
/// <summary>
/// 分页查询意见反馈
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpGet("/FeedBack/page")]
public async Task<dynamic> QueryNoticePageList([FromQuery] NoticeInput input)
{
var notices = await _rep.AsQueryable()
.ToPagedListAsync(input.PageNo, input.PageSize);
return notices.XnPagedResult();
}
/// <summary>
/// 获取意见反馈
@ -40,15 +53,13 @@ namespace GDZZ.Application
/// <summary>
/// 获取意见反馈
/// 添加意见反馈
/// </summary>
/// <param name="backInput"></param>
/// <returns></returns>
[HttpPost("Mini/AddFeedBack")]
public async Task AddFeedBack(FeedBackInput backInput)
{
backInput.TenantId =long.Parse(UserManager.TenantID);
var entity = backInput.Adapt<FeedBack>();
await _rep.InsertAsync(entity);
}

@ -10,11 +10,56 @@ namespace GDZZ.Application
public class MiniResumeInput : PageInputBase
{
public long CompanyID { get; set; }
/// <summary>
/// 标题
/// </summary>
public string Title { get; set; }
/// <summary>
/// 要求
/// </summary>
public string Sak { get; set; }
/// <summary>
/// 详情
/// </summary>
public string Info { get; set; }
/// <summary>
/// 地区名
/// </summary>
public string RegionName { get; set; }
/// <summary>
/// 地区ID
/// </summary>
public string RegionStrID { get; set; }
/// <summary>
/// 经验
/// </summary>
public string Level { get; set; }
/// <summary>
/// 学历
/// </summary>
public string Record { get; set; }
/// <summary>
/// 公司名称
/// </summary>
public string CompanyName { get; set; }
/// <summary>
/// 待遇
/// </summary>
public string Salary { get; set; }
/// <summary>
/// 待遇
/// </summary>
public string SalaryID { get; set; }
}
public class AddMiniResumeInput : MiniResumeInput
{
}
public class DeleteMiniResumeInput

@ -68,9 +68,19 @@ namespace GDZZ.Application
/// </summary>
public string Level { get; set; }
/// <summary>
/// 待遇ID
/// </summary>
public string SalaryID { get; set; }
/// <summary>
/// 等级
/// </summary>
public string Record { get; set; }
/// <summary>
/// 地区ID合集
/// </summary>
public string RegionStrID { get; set; }
}
}

@ -11,6 +11,8 @@ using Microsoft.AspNetCore.Authorization;
using StackExchange.Profiling.Internal;
using System;
using System.Collections.Generic;
using GDZZ.Core.Entity;
using Furion.FriendlyException;
namespace GDZZ.Application
{
@ -20,12 +22,24 @@ namespace GDZZ.Application
[ApiDescriptionSettings("Application",Name = "MiniResume", Order = 1)]
public class MiniResumeService : IMiniResumeService, IDynamicApiController, ITransient
{
private readonly SqlSugarRepository<MiniResume> _rep;
private readonly SqlSugarRepository<Company> CompanyRep;
public MiniResumeService(SqlSugarRepository<MiniResume> rep, SqlSugarRepository<Company> CompanyRep)
private readonly SqlSugarRepository<MiniResume> _rep; //招聘列表仓储
private readonly SqlSugarRepository<BaseUser> baseUser; //基础用户仓储
private readonly SqlSugarRepository<Company> CompanyRep; //公司仓储
private readonly SqlSugarRepository<SysTenant> _sysTenantRep;// 租户表仓储
private readonly SqlSugarRepository<Consume> ComsumeRep; //消费记录仓储
private readonly SqlSugarRepository<Balance> balance; //余额仓储
public MiniResumeService(SqlSugarRepository<MiniResume> rep,
SqlSugarRepository<BaseUser> baseUser,
SqlSugarRepository<SysTenant> _sysTenantRep,
SqlSugarRepository<Consume> ComsumeRep,
SqlSugarRepository<Balance> balance,
SqlSugarRepository<Company> CompanyRep)
{
_rep = rep;
this.balance = balance;
this.ComsumeRep = ComsumeRep;
this._sysTenantRep = _sysTenantRep;
this.baseUser = baseUser;
this.CompanyRep= CompanyRep;
}
@ -33,7 +47,7 @@ namespace GDZZ.Application
#region 求职端
/// <summary>
/// 初始化
/// 招聘列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
@ -54,11 +68,14 @@ namespace GDZZ.Application
Time = u.CreatedTime.Value.ToString("yyyy/MM/dd"),RegionName = u.RegionName,
Record = u.Record,Level = u.Level,
}).MergeTable()
.OrderByDescending(u => u.Time)
.ToPagedListAsync(input.PageNo, input.PageSize);
return entities;
return entities.XnPagedResult();
}
/// <summary>
/// 初始化
/// </summary>
@ -129,10 +146,6 @@ namespace GDZZ.Application
#endregion
@ -143,13 +156,69 @@ namespace GDZZ.Application
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("/MiniResume/add")]
[HttpPost("/Mini/Resume/add")]
public async Task Add(AddMiniResumeInput input)
{
var entity = input.Adapt<MiniResume>();
var user =await this.baseUser.AsQueryable().Filter("TenantId", true).SingleAsync(x=>x.CreatedUserId == UserManager.UserId);
entity.CompanyID = user.CompanyID;
entity.CompanyName ="";
//查询是否有余额
var banlan = await this.balance.FirstOrDefaultAsync(x => x.UserID == UserManager.UserId);
if(banlan.IsNullOrZero() | banlan.Amount <= 0)
throw Oops.Oh(ErrorCode.B1001);
//查询所属租户收费
var tenantID =await this._sysTenantRep.FirstOrDefaultAsync(s => s.Id ==long.Parse(UserManager.TenantID));
if (tenantID.IsNullOrZero())
throw Oops.Oh(ErrorCode.F1001);
if(tenantID.PushFee > banlan.Amount)
throw Oops.Oh(ErrorCode.B1001);
//在余额中减去
banlan.Amount = banlan.Amount - tenantID.PushFee;
await this.balance.UpdateAsync(banlan);
//新增消费记录
await this.ComsumeRep.InsertAsync(new Consume { CAmount= tenantID.PushFee, Surplus = banlan.Amount,UserID = UserManager.UserId,Sort =(int)ConsumeEnum.Push });
await _rep.InsertAsync(entity);
}
/// <summary>
/// 获取自己发布的招聘信息
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpGet("/Mini/GetSelfResumeList")]
public async Task<dynamic> GetSelfResumeList([FromQuery] MiniResumeInput input)
{
var entities = await _rep.AsQueryable()
.LeftJoin<Company>((u, y) => u.CompanyID == y.Id) //关联公司信息
.Where(u => u.CreatedUserId == UserManager.UserId)
.Select((u, y) => new MiniResumeOutput
{
CompanyID = y.Id,
CompanyName = y.Name,
Logo = y.logo,
Id = u.Id,
Info = u.Info,
Sak = u.Sak,
Salary = u.Salary,
Title = u.Title,
Time = u.CreatedTime.Value.ToString("yyyy/MM/dd"),
RegionName = u.RegionName,
Record = u.Record,
Level = u.Level,
RegionStrID = u.RegionStrID,
SalaryID = u.SalaryID
}).MergeTable()
.OrderByDescending(u => u.Time)
.ToPagedListAsync(input.PageNo, input.PageSize);
return entities;
}
/// <summary>
@ -157,7 +226,7 @@ namespace GDZZ.Application
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("/MiniResume/delete")]
[HttpPost("/Mini/Resume/delete")]
public async Task Delete(DeleteMiniResumeInput input)
{
var entity = await _rep.FirstOrDefaultAsync(u => u.Id == input.Id);
@ -170,7 +239,7 @@ namespace GDZZ.Application
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("/MiniResume/edit")]
[HttpPost("/Mini/Resume/edit")]
public async Task Update(UpdateMiniResumeInput input)
{
var entity = input.Adapt<MiniResume>();

@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
namespace GDZZ.Application
{
@ -28,14 +29,9 @@ namespace GDZZ.Application
public string region_code { get; set; }
/// <summary>
/// 地区父id
/// 地区
/// </summary>
public string region_parent_id { get; set; }
/// <summary>
/// 地区级别 1-省、自治区、直辖市 2-地级市、地区、自治州、盟 3-市辖区、县级市、县
/// </summary>
public int region_level { get; set; }
public List<SysRegionOutput> children{get;set;}
}

@ -9,6 +9,7 @@ using System.Threading.Tasks;
using GDZZ.Application.Entity;
using Microsoft.AspNetCore.Authorization;
using System.Collections.Generic;
using GDZZ.Core.Service;
namespace GDZZ.Application
{
@ -27,16 +28,29 @@ namespace GDZZ.Application
/// <summary>
/// 查询所有城市列表
/// 查询地区列表
/// </summary>
/// <returns></returns>
[HttpGet("/Mini/GetRegionList")]
[AllowAnonymous]
public async Task<List<SysRegionOutput>> GetRegionList()
{
var entities = await _rep.AsQueryable().Where(x => x.region_level == 2).ToArrayAsync();
return entities.Adapt<List<SysRegionOutput>>();
//先查询 省级别
var allRegions = await _rep.AsQueryable().ToListAsync();
var provinces = allRegions.Where(x=>x.region_level == 1).ToList().Adapt<List<SysRegionOutput>>();
foreach (var province in provinces)
{
province.children = allRegions.Where(r => r.region_level == 2 && r.region_parent_id == province.region_id).ToList().Adapt<List<SysRegionOutput>>();
foreach (var city in province.children)
{
city.children = allRegions.Where(r => r.region_level == 3 && r.region_parent_id == city.region_id).ToList().Adapt<List<SysRegionOutput>>();
}
}
return provinces;
}
}
}

@ -0,0 +1,32 @@
using System;
using GDZZ.Core;
namespace GDZZ.Application
{
/// <summary>
/// 租户系统配置输出参数
/// </summary>
public class SysTConfigDto
{
/// <summary>
/// 主键Id
/// </summary>
public long Id { get; set; }
/// <summary>
/// 租户Id
/// </summary>
public long TenantId { get; set; }
/// <summary>
/// 招聘费用
/// </summary>
public int PushFee { get; set; }
/// <summary>
/// 求职联系费用
/// </summary>
public int JobFee { get; set; }
}
}

@ -0,0 +1,63 @@
using GDZZ.Core;
using System;
using System.ComponentModel.DataAnnotations;
namespace GDZZ.Application
{
/// <summary>
/// 租户系统配置输入参数
/// </summary>
public class SysTConfigInput : PageInputBase
{
/// <summary>
/// 租户Id
/// </summary>
public virtual long TenantId { get; set; }
/// <summary>
/// 招聘费用
/// </summary>
public virtual int PushFee { get; set; }
/// <summary>
/// 求职联系费用
/// </summary>
public virtual int JobFee { get; set; }
}
public class AddSysTConfigInput : SysTConfigInput
{
/// <summary>
/// 租户Id
/// </summary>
[Required(ErrorMessage = "租户Id不能为空")]
public override long TenantId { get; set; }
}
public class DeleteSysTConfigInput
{
/// <summary>
/// 主键Id
/// </summary>
[Required(ErrorMessage = "主键Id不能为空")]
public long Id { get; set; }
}
public class UpdateSysTConfigInput : SysTConfigInput
{
/// <summary>
/// 主键Id
/// </summary>
[Required(ErrorMessage = "主键Id不能为空")]
public long Id { get; set; }
}
public class QueryeSysTConfigInput : DeleteSysTConfigInput
{
}
}

@ -0,0 +1,31 @@
using System;
namespace GDZZ.Application
{
/// <summary>
/// 租户系统配置输出参数
/// </summary>
public class SysTConfigOutput
{
/// <summary>
/// 主键Id
/// </summary>
public long Id { get; set; }
/// <summary>
/// 租户Id
/// </summary>
public long TenantId { get; set; }
/// <summary>
/// 招聘费用
/// </summary>
public int PushFee { get; set; }
/// <summary>
/// 求职联系费用
/// </summary>
public int JobFee { get; set; }
}
}

@ -0,0 +1,16 @@
using GDZZ.Core;
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
using GDZZ.Application.Entity;
namespace GDZZ.Application
{
public interface ISysTConfigService
{
Task Add(AddSysTConfigInput input);
Task Delete(DeleteSysTConfigInput input);
Task<SysTConfig> Get([FromQuery] QueryeSysTConfigInput input);
Task<dynamic> List([FromQuery] SysTConfigInput input);
Task<dynamic> Page([FromQuery] SysTConfigInput input);
Task Update(UpdateSysTConfigInput input);
}
}

@ -0,0 +1,101 @@
using GDZZ.Core;
using Furion.DependencyInjection;
using Furion.DynamicApiController;
using Mapster;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using System.Linq;
using System.Threading.Tasks;
using GDZZ.Application.Entity;
using GDZZ.Core.Entity;
namespace GDZZ.Application
{
/// <summary>
/// 租户系统配置服务
/// </summary>
[ApiDescriptionSettings("Application",Name = "SysTConfig", Order = 1)]
public class SysTConfigService : ISysTConfigService, IDynamicApiController, ITransient
{
private readonly SqlSugarRepository<SysTConfig> _rep;
private readonly SqlSugarRepository<SysTenant> _sysTenantRep; // 租户表仓储
public SysTConfigService(SqlSugarRepository<SysTConfig> rep, SqlSugarRepository<SysTenant> _sysTenantRep)
{
_rep = rep;
this._sysTenantRep = _sysTenantRep;
}
/// <summary>
/// 分页查询租户系统配置
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpGet("/SysTConfig/page")]
public async Task<dynamic> Page([FromQuery] SysTConfigInput input)
{
var entities = await _rep.AsQueryable()
.ToPagedListAsync(input.PageNo, input.PageSize);
return entities.XnPagedResult();
}
/// <summary>
/// 增加租户系统配置
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("/SysTConfig/add")]
public async Task Add(AddSysTConfigInput input)
{
var entity = input.Adapt<SysTConfig>();
await _rep.InsertAsync(entity);
}
/// <summary>
/// 删除租户系统配置
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("/SysTConfig/delete")]
public async Task Delete(DeleteSysTConfigInput input)
{
var entity = await _rep.FirstOrDefaultAsync(u => u.Id == input.Id);
await _rep.DeleteAsync(entity);
}
/// <summary>
/// 更新租户系统配置
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("/SysTConfig/edit")]
public async Task Update(UpdateSysTConfigInput input)
{
var entity = input.Adapt<SysTConfig>();
await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns:true).ExecuteCommandAsync();
}
/// <summary>
/// 获取租户系统配置
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpGet("/SysTConfig/detail")]
public async Task<SysTConfig> Get([FromQuery] QueryeSysTConfigInput input)
{
return await _rep.FirstOrDefaultAsync(u => !u.Id.IsEmpty());
}
/// <summary>
/// 获取租户系统配置列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpGet("/SysTConfig/list")]
public async Task<dynamic> List([FromQuery] SysTConfigInput input)
{
return await _rep.ToListAsync();
}
}
}

@ -1,15 +1,19 @@
using SqlSugar;
using System;
using SqlSugar;
using System.ComponentModel;
using GDZZ.Core.Entity;
using GDZZ.Core;
using System.ComponentModel.DataAnnotations;
namespace GDZZ.Core.Entity;
/// <summary>
/// 租户表
/// </summary>
[SugarTable("sys_tenant")]
[Description("租户表")]
public class SysTenant : DEntityBase
namespace GDZZ.Core.Entity
{
/// <summary>
/// 租户表
/// </summary>
[SugarTable("sys_tenant")]
[Description("租户表")]
public class SysTenant : DEntityBase
{
/// <summary>
/// 公司名称
/// </summary>
@ -71,4 +75,10 @@ public class SysTenant : DEntityBase
/// </summary>
[SugarColumn(ColumnDescription = "租户类型")]
public TenantTypeEnum TenantType { get; set; }
/// <summary>
/// 招聘费用
/// </summary>
public decimal PushFee { get; set; }
}
}

@ -1815,6 +1815,11 @@
租户类型
</summary>
</member>
<member name="P:GDZZ.Core.Entity.SysTenant.PushFee">
<summary>
招聘费用
</summary>
</member>
<member name="T:GDZZ.Core.Entity.SysTimer">
<summary>
定时任务
@ -3975,6 +3980,11 @@
最后登陆所用系统
</summary>
</member>
<member name="P:GDZZ.Core.Service.LoginOutput.Profile">
<summary>
简介
</summary>
</member>
<member name="P:GDZZ.Core.Service.LoginOutput.LoginEmpInfo">
<summary>
员工信息
@ -7744,6 +7754,11 @@
创建时间
</summary>
</member>
<member name="P:GDZZ.Core.Service.TenantInput.PushFee">
<summary>
招聘费用
</summary>
</member>
<member name="P:GDZZ.Core.Service.AddTenantInput.Name">
<summary>
公司名称
@ -7834,6 +7849,11 @@
创建时间
</summary>
</member>
<member name="P:GDZZ.Core.Service.TenantOutput.PushFee">
<summary>
招聘费用
</summary>
</member>
<member name="T:GDZZ.Core.Service.SysTenantService">
<summary>
租户服务
@ -8382,6 +8402,11 @@
电话
</summary>
</member>
<member name="P:GDZZ.Core.Service.UserInput.Profile">
<summary>
简介
</summary>
</member>
<member name="P:GDZZ.Core.Service.UserInput.Status">
<summary>
状态-正常_0、停用_1、删除_2

@ -90,6 +90,11 @@ public class LoginOutput
/// </summary>
public string LastLoginOs { get; set; }
/// <summary>
/// 简介
/// </summary>
public string Profile { get; set; }
/// <summary>
/// 员工信息
/// </summary>

@ -51,6 +51,11 @@ public class TenantInput : PageInputBase
/// 创建时间
/// </summary>
public string CreatedTime { get; set; }
/// <summary>
/// 招聘费用
/// </summary>
public decimal PushFee { get; set; }
}
public class AddTenantInput : TenantInput

@ -54,4 +54,9 @@ public class TenantOutput
/// 创建时间
/// </summary>
public string CreatedTime { get; set; }
/// <summary>
/// 招聘费用
/// </summary>
public decimal PushFee { get; set; }
}

@ -7,7 +7,6 @@ using Furion.FriendlyException;
using GDZZ.Core.Entity;
using Mapster;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using System.Collections.Generic;
using System.Linq;
@ -237,7 +236,12 @@ public class SysTenantService : ISysTenantService, IDynamicApiController, ITrans
[HttpPost("/sysTenant/edit")]
public async Task UpdateTenant(UpdateTenantInput input)
{
var isExist = await _sysTenantRep.AnyAsync(u => (u.Name == input.Name || u.Host == input.Host || u.Email == input.Email) && u.Id != input.Id && u.TenantType != TenantTypeEnum.SYSTEM);
var isExist = await _sysTenantRep.AnyAsync(u => (u.Name == input.Name &&
u.Host == input.Host &&
u.PushFee == input.PushFee &&
u.Email == input.Email) &&
u.Id != input.Id &&
u.TenantType != TenantTypeEnum.SYSTEM);
if (isExist)
throw Oops.Oh(ErrorCode.D1300);

@ -58,6 +58,11 @@ public class UserInput : InputBase
/// </summary>
public virtual string Tel { get; set; }
/// <summary>
/// 简介
/// </summary>
public string Profile { get; set; }
/// <summary>
/// 状态-正常_0、停用_1、删除_2
/// </summary>

@ -21,13 +21,13 @@
{
"Group": "Default",
"Title": "GDZZ.NET通用权限管理平台",
"Description": "前后端分离架构,开箱即用,紧随前沿技术。<br/>作者By 蛋蛋,QQ群901868674<br/><a href='https://gitee.com/zhengguojing/admin-net-sqlsugar'>https://gitee.com/zhengguojing/admin-net-sqlsugar</a>",
"Description": "前后端分离架构,开箱即用,紧随前沿技术。",
"Version": "1.0.0"
},
{
"Group": "FlowCenter",
"Title": "流程中心",
"Description": "流程中心模块或插件。<br/>作者By MonsterUncle,QQ295228902",
"Description": "流程中心模块或插件。",
"Version": "1.0.0"
},
{

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save