This commit is contained in:
2021-06-09 16:34:42 +08:00
parent b37e3a403f
commit 760797ea56
7 changed files with 42 additions and 11 deletions

View File

@@ -2,10 +2,13 @@
using Ewide.Core;
using Ewide.Core.Extension;
using Furion.DatabaseAccessor;
using Furion.DatabaseAccessor.Extensions;
using Furion.DependencyInjection;
using Furion.DynamicApiController;
using Furion.FriendlyException;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
@@ -22,12 +25,14 @@ namespace Ewide.Application.Service
public class HouseTaskService : IHouseTaskService, IDynamicApiController, ITransient
{
private readonly IRepository<BsHouseTask> _houseTaskRep;
private readonly IRepository<BsHouseInfo> _houseInfoRep;
private readonly IDapperRepository _dapperRepository;
private readonly IUserManager _userManager;
public HouseTaskService(IRepository<BsHouseTask> HouseTaskRep, IDapperRepository dapperRepository, IUserManager userManager)
public HouseTaskService(IRepository<BsHouseTask> HouseTaskRep, IRepository<BsHouseInfo> HouseInfoRep, IDapperRepository dapperRepository, IUserManager userManager)
{
_houseTaskRep = HouseTaskRep;
_houseInfoRep = HouseInfoRep;
_dapperRepository = dapperRepository;
_userManager = userManager;
}
@@ -50,5 +55,27 @@ WHERE T.UserID=@UserID";
return await _dapperRepository.QueryPageDataDynamic(sql, input, param, filterFields: new string[] { "Type", "Address", "HouseCode" });
}
[HttpPost("/houseTask/submit")]
[UnitOfWork]
[AllowAnonymous]
public async Task Submit([Required] string taskId)
{
//获取任务实体
var houseTask = await _houseTaskRep.DetachedEntities.FirstOrDefaultAsync(t => t.Id == taskId);
if (houseTask == null) throw Oops.Oh("任务不存在");
houseTask.Status = 2;
houseTask.LastSubmitTime = DateTime.Now;
if (!houseTask.SubmitTime.HasValue) houseTask.SubmitTime = houseTask.LastSubmitTime;
await houseTask.UpdateExcludeAsync(new string[] { nameof(BsHouseTask.TaskType) }, ignoreNullValues: true);
if(houseTask.TaskType == 0)
{
var houseInfo = await _houseInfoRep.DetachedEntities.FirstOrDefaultAsync(h => h.HouseCodeId == houseTask.HouseCodeId);
if (houseInfo == null) throw Oops.Oh("提交审核失败:请先保存后再提交");
houseInfo.State = 5;
await houseInfo.UpdateExcludeAsync(new[] { nameof(BsHouseInfo.HouseGrade) }, true);
}
}
}
}