| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- using Vo;
- using Microsoft.AspNetCore.Mvc;
- using Model;
- using Services;
- using Model.Base;
- using Vo.Admin;
- using Mapster;
- using Infrastructure;
- using Dto.Client;
- using Custom;
- using Feign;
- using Common;
- using Util;
- namespace Controllers.Client
- {
- public class MakeCodeController : BaseController
- {
- private readonly IDatabaseInfoService _DatabaseInfoService;
- private readonly IDatabaseTableService _DatabaseTableService;
- private readonly IApiGroupService _ApiGroupService;
- private readonly IApiInfoService _ApiInfoService;
- public MakeCodeController(IDatabaseInfoService DatabaseInfoService, IDatabaseTableService DatabaseTableService, IApiGroupService ApiGroupService, IApiInfoService ApiInfoService)
- {
- _DatabaseInfoService = DatabaseInfoService;
- _DatabaseTableService = DatabaseTableService;
- _ApiGroupService = ApiGroupService;
- _ApiInfoService = ApiInfoService;
- }
- /// <summary>
- /// 生成代码
- /// </summary>
- /// <param name="param">参数</param>
- /// <returns>生成代码</returns>
- [HttpPost]
- [Route("/v1/omega_source/MakeCode/getMakeCodeList")]
- public IActionResult getMakeCodeList([FromBody] MakeCodeDto param)
- {
- try
- {
- TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
- Function.WriteLog(loginUser.username, "测试生成代码");
- Function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(param), "测试生成代码");
- ProjectService baseInfo = IProject.getProjectService(param.serviceId);
- Function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(baseInfo), "测试生成代码");
- List<int> databaseIds = baseInfo.databaseList.ToList();
- Function.WriteLog("databaseIds:" + databaseIds.Count.ToString(), "测试生成代码");
- foreach(var databaseId in databaseIds)
- {
- var tables = _DatabaseTableService.GetList(a => a.databaseId == databaseId);
- Function.WriteLog("tables:" + tables.Count.ToString(), "测试生成代码");
- foreach(var table in tables)
- {
- _DatabaseTableService.makeJavaModel(baseInfo, table, loginUser);
- _DatabaseTableService.makeJavaService(baseInfo, table, loginUser);
- _DatabaseTableService.makeJavaServiceImpl(baseInfo, table, loginUser);
- _DatabaseTableService.makeJavaMapper(baseInfo, table, loginUser);
- _DatabaseTableService.makeJavaMapperXml(baseInfo, table, loginUser);
- }
- }
- var apiGroups = _ApiGroupService.GetList(a => a.serviceId == param.serviceId);
- Function.WriteLog("apiGroups:" + apiGroups.Count.ToString(), "测试生成代码");
- foreach(var apiGroup in apiGroups)
- {
- var apiInfos = _ApiInfoService.GetList(a => a.groupId == apiGroup.id);
- Function.WriteLog("apiInfos:" + apiInfos.Count.ToString(), "测试生成代码");
- foreach(var apiInfo in apiInfos)
- {
- if(apiInfo.apiParamCount > 1)
- {
- _DatabaseTableService.makeJavaDto(baseInfo, apiInfo, loginUser);
- }
- if(apiInfo.apiResParamCount > 0)
- {
- _DatabaseTableService.makeJavaVo(baseInfo, apiInfo, loginUser);
- }
- }
- List<string> controllerNameList = _ApiInfoService.GetList(m => m.serviceId == baseInfo.id).Select(m => m.controllerName).Distinct().ToList();
- foreach(var controllerName in controllerNameList)
- {
- _DatabaseTableService.makeJavaController(baseInfo, apiGroup, controllerName, loginUser);
- }
- }
- Function.WriteLog("end\n\n\n", "测试生成代码");
- }
- catch(Exception ex)
- {
- Function.WriteLog(ex.ToString(), "测试生成代码异常");
- }
- return SUCCESS("ok");
- }
- }
- }
|