diff --git a/KJD_WebService/Controllers/WX/WXUser_N_Controller.cs b/KJD_WebService/Controllers/WX/WXUser_N_Controller.cs index 7df3f24..6b4c014 100644 --- a/KJD_WebService/Controllers/WX/WXUser_N_Controller.cs +++ b/KJD_WebService/Controllers/WX/WXUser_N_Controller.cs @@ -21,6 +21,32 @@ namespace KJD_Web.Controllers _userService = userService ?? throw new ArgumentNullException(nameof(userService)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); } + [HttpPost] + public IHttpActionResult GetUserConfig(SignRequestBase request) + { + try + { + var config = _userService.GetUserConfig(request.UserName); + return Ok(ApiResult.Success(data: config)); + } + catch (Exception ex) + { + return Ok(ApiResult.Fail(ex.Message)); + } + } + [HttpPost] + public IHttpActionResult SaveUserConfig(UserConfigRequest request) + { + try + { + var config = _userService.SaveUserConfig(request.UserName, request.Config); + return Ok(ApiResult.Success(config)); + } + catch (Exception ex) + { + return Ok(ApiResult.Fail(ex.Message)); + } + } /// /// 查询 /// diff --git a/KJD_WebService/KJD_WebService.csproj b/KJD_WebService/KJD_WebService.csproj index 369ef35..c6efe62 100644 --- a/KJD_WebService/KJD_WebService.csproj +++ b/KJD_WebService/KJD_WebService.csproj @@ -229,6 +229,7 @@ + diff --git a/KJD_WebService/Requests/Users/UserConfigRequest.cs b/KJD_WebService/Requests/Users/UserConfigRequest.cs new file mode 100644 index 0000000..2fa414a --- /dev/null +++ b/KJD_WebService/Requests/Users/UserConfigRequest.cs @@ -0,0 +1,12 @@ +using Store.Framework.Dtos; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace KJD_Web.Requests.Users; + +public class UserConfigRequest:SignRequestBase +{ + public string Config { get; set; } +} \ No newline at end of file diff --git a/KJD_WebService/Services/Users/UserService.cs b/KJD_WebService/Services/Users/UserService.cs index fc59ef9..a343013 100644 --- a/KJD_WebService/Services/Users/UserService.cs +++ b/KJD_WebService/Services/Users/UserService.cs @@ -15,6 +15,7 @@ using System; using System.Collections.Generic; using System.Data.Common; using System.Linq; +using System.Threading.Tasks; using Ubiety.Dns.Core; using YourNamespace; @@ -44,7 +45,19 @@ namespace KJD_Web.Services.Users { return GetOEMByUserName(userName) != null; } - + public UserEntity GetMainUser(string userName) + { + var user = _freeSql.Select().Where(u => u.UserName == userName).First(); + return user == null ? null : GetMainUser(user); + } + private UserEntity GetMainUser(UserEntity user) + { + if (user.IsMainUser) return user; + var parent = _freeSql.Select().Where(u => u.UserName == user.ParentUserName).First(); + if (parent == null || !parent.IsMainUser) + throw new Exception("主账号不存在或账号关系无效,请联系管理员"); + return parent; + } public UserEntity GetUserByUserName(string userName) { if (string.IsNullOrEmpty(userName)) return null; @@ -466,7 +479,29 @@ namespace KJD_Web.Services.Users work.Commit(); } - - + /// + /// 获取用户配置 + /// + /// + /// + public string GetUserConfig(string userName) + { + var user = GetMainUser(userName); + var item = _freeSql.Select() + .Where(a => a.UserName == user.UserName) + .First(); + if (item != null && !string.IsNullOrEmpty(item.UserName)) + { + return item.Config; + } + return ""; + } + public bool SaveUserConfig(string userName, string config) + { + var affrows = _freeSql.InsertOrUpdate() + .SetSource(new UserConfig { UserName = userName, Config = config }) + .ExecuteAffrows(); + return affrows == 1; + } } } diff --git a/Store.Contracts/User/Entitys/UserConfig.cs b/Store.Contracts/User/Entitys/UserConfig.cs new file mode 100644 index 0000000..8bfd1a7 --- /dev/null +++ b/Store.Contracts/User/Entitys/UserConfig.cs @@ -0,0 +1,19 @@ +using FreeSql.DataAnnotations; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Store.Contracts.User.Entitys; + +[Table(Name = "wxxd.user_config")] + +public class UserConfig +{ + [Column(IsPrimary = true, Name = "user_name")] + public string UserName { get; set; } + [Column(Name = "config")] + + public string Config { get; set; } +}