using Vo; using Microsoft.AspNetCore.Mvc; using Model; using Services; using Model.Base; using Vo.Admin; using Mapster; using Infrastructure; using Dto.Admin; using Common; namespace Controllers.Admin { /// /// AppProject)Controller /// // [Route("${Router}$")] // [ApiExplorerSettings(GroupName = "AppProject")] public class AppProjectController : BaseController { private readonly IAppProjectService _AppProjectService; private readonly IAppProjectModuleService _AppProjectModuleService; private readonly IAppProjectParamService _AppProjectParamService; private readonly IAppModuleAndroidCodeService _AppModuleAndroidCodeService; private readonly IAppModuleIosCodeService _AppModuleIosCodeService; public AppProjectController(IAppProjectService AppProjectService, IAppProjectModuleService appProjectModuleService, IAppProjectParamService appProjectParamService, IAppModuleAndroidCodeService appModuleAndroidCodeService, IAppModuleIosCodeService appModuleIosCodeService) { _AppProjectService = AppProjectService; _AppProjectModuleService = appProjectModuleService; _AppProjectParamService = appProjectParamService; _AppModuleAndroidCodeService = appModuleAndroidCodeService; _AppModuleIosCodeService = appModuleIosCodeService; } /// /// 列表 /// /// 分页对象 /// 参数请求体 /// 列表 [HttpGet] [Route("/v1/omega_source/AppProject/getAppProjectList")] public IActionResult getAppProjectList([FromQuery] PagerInfo page, [FromQuery] AppProject param) { var response = _AppProjectService.getAppProjectList(page, param); return SUCCESS(response); } /// /// 详情 /// /// 参数请求体 /// 详情 [HttpGet] [Route("/v1/omega_source/AppProject/getAppProjectQuery")] public IActionResult getAppProjectQuery([FromQuery] AppProject param) { var response = _AppProjectService.GetFirst(m => m.id == param.id).Adapt(); response.appIcon = App.OptionsSetting.OssConfigs.Host + response.appIcon; response.appStartBg = App.OptionsSetting.OssConfigs.Host + response.appStartBg; if (!string.IsNullOrEmpty(response.appStartListPhoto)) { response.appStartListPhoto = App.OptionsSetting.OssConfigs.Host + response.appStartListPhoto; } response.moduleList = string.Join(",", _AppProjectModuleService.GetList(m => m.appId == param.id).Select(m => m.moduleId).ToList()); return SUCCESS(response); } /// /// 添加 /// /// 参数请求体 /// 添加 [HttpPost] [Route("/v1/omega_source/AppProject/addAppProject")] public IActionResult addAppProject([FromBody] AddAppProjectDto param) { var response = _AppProjectService.AddAppProjectWithModule(param, HttpContext); if (!string.IsNullOrEmpty(param.moduleList)) { var moduleIds = Tools.SpitIntArrary(param.moduleList).ToList(); var androidCode = _AppModuleAndroidCodeService.GetList(m => moduleIds.Contains(m.moduleId)); var iosCode = _AppModuleIosCodeService.GetList(m => moduleIds.Contains(m.moduleId)); _AppProjectParamService.initAppProjectParam(response, param.moduleList, androidCode, iosCode); } return SUCCESS(response); } /// /// 修改 /// /// 参数请求体 /// 修改 [HttpPut] [Route("/v1/omega_source/AppProject/updateAppProject")] public IActionResult updateAppProject([FromBody] AddAppProjectDto param) { param.appIcon = param.appIcon?.Replace(App.OptionsSetting.OssConfigs.Host, ""); param.appStartBg = param.appStartBg?.Replace(App.OptionsSetting.OssConfigs.Host, ""); param.appStartListPhoto = param.appStartListPhoto?.Replace(App.OptionsSetting.OssConfigs.Host, ""); var response = _AppProjectService.UpdateAppProjectWithModule(param, HttpContext); if (!string.IsNullOrEmpty(param.moduleList)) { var moduleIds = Tools.SpitIntArrary(param.moduleList).ToList(); var androidCode = _AppModuleAndroidCodeService.GetList(m => moduleIds.Contains(m.moduleId)); var iosCode = _AppModuleIosCodeService.GetList(m => moduleIds.Contains(m.moduleId)); _AppProjectParamService.initAppProjectParam(response, param.moduleList, androidCode, iosCode); } return SUCCESS(response); } /// /// 删除 /// /// ID /// 删除 [HttpDelete] [Route("/v1/omega_source/AppProject/deleteAppProject/{id}")] public IActionResult deleteAppProject(int id) { var response = _AppProjectService.Delete(id); return SUCCESS(response); } } }