| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- using Attribute;
- using Model;
- using Model.Base;
- using Repository;
- using Service;
- using Microsoft.AspNetCore.Mvc;
- using Vo.Admin;
- using Common;
- using System.Text.RegularExpressions;
- namespace Services
- {
- /// <summary>
- /// APP项目对应参数Service业务层处理
- /// </summary>
- [AppService(ServiceType = typeof(IAppProjectParamService), ServiceLifetime = LifeTime.Transient)]
- public class AppProjectParamService : BaseService<AppProjectParam>, IAppProjectParamService
- {
- /// <summary>
- /// APP项目对应参数-列表
- /// </summary>
- /// <param name="param">参数请求体</param>
- /// <param name="page">分页参数</param>
- /// <returns>列表</returns>
- public PagedInfo<GetAppProjectParamListVo> getAppProjectParamList([FromQuery] PagerInfo page, [FromQuery] AppProjectParam param)
- {
- //拼装查询条件
- var predicate = Expressionable.Create<AppProjectParam>();
- predicate = predicate.AndIF(param.appId > 0, m => m.appId == param.appId);
- predicate = predicate.AndIF(param.moduleId > 0, m => m.moduleId == param.moduleId);
- predicate = predicate.AndIF(!string.IsNullOrEmpty(param.paramTitle), m => m.paramTitle.Contains(param.paramTitle));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(param.paramName), m => m.paramName.Contains(param.paramName));
- var response = Queryable()
- .Where(predicate.ToExpression())
- .OrderByDescending(m => m.id)
- .ToPage<AppProjectParam, GetAppProjectParamListVo>(page);
- return response;
- }
- /// <summary>
- /// APP项目对应参数-初始化数据
- /// </summary>
- /// <param name="param">参数请求体</param>
- /// <returns>初始化数据</returns>
- public void initAppProjectParam(int appId,string moduleIds, List<AppModuleAndroidCode> moduleAndroidCodes, List<AppModuleIosCode> moduleIosCodes)
- {
- if (string.IsNullOrEmpty(moduleIds))
- {
- return;
- }
- var moduleList = Tools.SpitIntArrary(moduleIds).ToList();
- foreach (var moduleId in moduleList)
- {
- var moduleAndroidCode = moduleAndroidCodes.FirstOrDefault(m => m.moduleId == moduleId);
- var moduleIosCode = moduleIosCodes.FirstOrDefault(m => m.moduleId == moduleId);
- List<string> paramList = new List<string>();
- if (moduleAndroidCode != null)
- {
- paramList.Add(moduleAndroidCode.stringsParamCode ?? "");
- foreach (string item in paramList)
- {
- MatchCollection matches = Regex.Matches(item, "\\$\\{.*?\\}");
- foreach (Match match in matches)
- {
- string paramString = match.Value;
- string paramName = paramString.Replace("${", "").Replace("}", "");
- if (!Any(m => m.appId == appId && m.moduleId == moduleAndroidCode.moduleId && m.paramName == paramName))
- {
- AppProjectParam appProjectParam = new AppProjectParam
- {
- appId = appId,
- moduleId = moduleAndroidCode.moduleId,
- paramName = paramName,
- createTime = DateTime.Now,
- createBy = "admin",
- };
- Add(appProjectParam);
- }
- }
- }
- }
- if (moduleIosCode != null)
- {
- paramList.Add(moduleIosCode.rightCode ?? "");
- paramList.Add(moduleIosCode.appDelegateLaunchCode ?? "");
- paramList.Add(moduleIosCode.appDelegateLaunchAsyncCode ?? "");
- foreach (string item in paramList)
- {
- MatchCollection matches = Regex.Matches(item, "\\$\\{.*?\\}");
- foreach (Match match in matches)
- {
- string paramString = match.Value;
- string paramName = paramString.Replace("${", "").Replace("}", "");
- if (!Any(m => m.appId == appId && m.moduleId == moduleIosCode.moduleId && m.paramName == paramName))
- {
- AppProjectParam appProjectParam = new AppProjectParam
- {
- appId = appId,
- moduleId = moduleIosCode.moduleId,
- paramName = paramName,
- createTime = DateTime.Now,
- createBy = "admin",
- };
- Add(appProjectParam);
- }
- }
- }
- }
- }
- }
- }
- }
|