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; }
+}