diff --git a/ARW.Model/Dto/Business/Customers/CustomerDto.cs b/ARW.Model/Dto/Business/Customers/CustomerDto.cs index 0fb54dd..f9c74db 100644 --- a/ARW.Model/Dto/Business/Customers/CustomerDto.cs +++ b/ARW.Model/Dto/Business/Customers/CustomerDto.cs @@ -7,28 +7,87 @@ namespace ARW.Model.Dto.Business.Customers { /// /// 小程序客户输入对象 + /// + /// @author 黎文豪 + /// @date 2023-06-05 /// public class CustomerDto { + public int CustomerId { get; set; } + public long CustomerGuid { get; set; } - public string CustomerName { get; set; } - public string CustomerBirth { get; set; } - public string CustomerImg { get; set; } - public int? CustomerSex { get; set; } - public string CustomerPhone { get; set; } + + public int? CustomerProvinceId { get; set; } + + public int? CustomerCityId { get; set; } + + public int? CustomerAreaId { get; set; } + + public long? CustomerDefaultAddressGuid { get; set; } + + public long? CustomerMemberLevelGuid { get; set; } + + [Required(ErrorMessage = "小程序openid不能为空")] public string CustomerXcxOpenid { get; set; } - public string CustomerXcxName { get; set; } - public string CustomerXcxImg { get; set; } + + [Required(ErrorMessage = "昵称不能为空")] + public string CustomerNickname { get; set; } + + [Required(ErrorMessage = "手机号不能为空")] + public string CustomerMobilePhoneNumber { get; set; } + + [Required(ErrorMessage = "头像不能为空")] + public string CustomerAvatar { get; set; } + + [Required(ErrorMessage = "性别(字典)不能为空")] + public int CustomerGender { get; set; } + + [Required(ErrorMessage = "可用余额不能为空")] + public decimal CustomerAvailableBalance { get; set; } + + [Required(ErrorMessage = "可用积分不能为空")] + public decimal CustomerAvailablePoints { get; set; } + + [Required(ErrorMessage = "总支付金额不能为空")] + public decimal CustomerTotalPaymentAmount { get; set; } + + [Required(ErrorMessage = "实际消费金额不能为空")] + public decimal CustomerActualConsumptionAmount { get; set; } + + [Required(ErrorMessage = "最后登录时间不能为空")] + public DateTime? CustomerLastLoginTime { get; set; } + + + + + } /// /// 小程序客户查询对象 + /// + /// @author 黎文豪 + /// @date 2023-06-05 /// public class CustomerQueryDto : PagerInfo { - public string CustomerName { get; set; } - public string CustomerXcxName { get; set; } + + public string CustomerXcxOpenid { get; set; } + + public string CustomerNickname { get; set; } + + public string CustomerMobilePhoneNumber { get; set; } + + public DateTime? BeginTime { get; set; } + + public DateTime? EndTime { get; set; } + + public string ids { get; set; } } + + + + } diff --git a/ARW.Model/Models/Business/Customers/Customer.cs b/ARW.Model/Models/Business/Customers/Customer.cs index 5b23b64..9c2d241 100644 --- a/ARW.Model/Models/Business/Customers/Customer.cs +++ b/ARW.Model/Models/Business/Customers/Customer.cs @@ -9,8 +9,8 @@ namespace ARW.Model.Models.Business.Customers /// /// 小程序客户,数据实体对象 /// - /// @author admin - /// @date 2022-12-06 + /// @author 黎文豪 + /// @date 2023-06-05 /// [SugarTable("tb_customer")] public class Customer : BusinessBase @@ -24,6 +24,7 @@ namespace ARW.Model.Models.Business.Customers [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnName = "customer_id")] public int CustomerId { get; set; } + /// /// 描述 : /// 空值 : false @@ -33,68 +34,147 @@ namespace ARW.Model.Models.Business.Customers [SugarColumn(IsPrimaryKey = true, IsIdentity = false, ColumnName = "customer_guid")] public long CustomerGuid { get; set; } - /// - /// 描述 :客户姓名 - /// 空值 : true - /// - [EpplusTableColumn(Header = "客户姓名")] - [SugarColumn(ColumnName = "customer_name")] - public string CustomerName { get; set; } /// - /// 描述 :客户生日 + /// 描述 :省id /// 空值 : true /// - [EpplusTableColumn(Header = "客户生日")] - [SugarColumn(ColumnName = "customer_birth")] - public string CustomerBirth { get; set; } + [EpplusTableColumn(Header = "省id")] + [SugarColumn(ColumnName = "customer_province_id")] + public int? CustomerProvinceId { get; set; } + /// - /// 描述 :客户头像 (人脸识别) + /// 描述 :市id /// 空值 : true /// - [EpplusTableColumn(Header = "客户头像 (人脸识别)")] - [SugarColumn(ColumnName = "customer_img")] - public string CustomerImg { get; set; } + [EpplusTableColumn(Header = "市id")] + [SugarColumn(ColumnName = "customer_city_id")] + public int? CustomerCityId { get; set; } + /// - /// 描述 :客户性别 1: 男 2: 女 + /// 描述 :区id /// 空值 : true /// - [EpplusTableColumn(Header = "客户性别 1: 男 2: 女")] - [SugarColumn(ColumnName = "customer_sex")] - public int? CustomerSex { get; set; } + [EpplusTableColumn(Header = "区id")] + [SugarColumn(ColumnName = "customer_area_id")] + public int? CustomerAreaId { get; set; } + /// - /// 描述 :客户电话 + /// 描述 :默认收货地址guid /// 空值 : true /// - [EpplusTableColumn(Header = "客户电话")] - [SugarColumn(ColumnName = "customer_phone")] - public string CustomerPhone { get; set; } + [EpplusTableColumn(Header = "默认收货地址guid")] + [JsonConverter(typeof(ValueToStringConverter))] + [SugarColumn(ColumnName = "customer_default_address_guid")] + public long? CustomerDefaultAddressGuid { get; set; } + + + /// + /// 描述 :会员等级guid + /// 空值 : true + /// + [EpplusTableColumn(Header = "会员等级guid")] + [JsonConverter(typeof(ValueToStringConverter))] + [SugarColumn(ColumnName = "customer_member_level_guid")] + public long? CustomerMemberLevelGuid { get; set; } + /// /// 描述 :小程序openid - /// 空值 : true + /// 空值 : false /// [EpplusTableColumn(Header = "小程序openid")] [SugarColumn(ColumnName = "customer_xcx_openid")] public string CustomerXcxOpenid { get; set; } - /// - /// 描述 :小程序名称 - /// 空值 : true - /// - [EpplusTableColumn(Header = "小程序名称")] - [SugarColumn(ColumnName = "customer_xcx_name")] - public string CustomerXcxName { get; set; } /// - /// 描述 :小程序头像 - /// 空值 : true + /// 描述 :昵称 + /// 空值 : false /// - [EpplusTableColumn(Header = "小程序头像")] - [SugarColumn(ColumnName = "customer_xcx_img")] - public string CustomerXcxImg { get; set; } + [EpplusTableColumn(Header = "昵称")] + [SugarColumn(ColumnName = "customer_nickname")] + public string CustomerNickname { get; set; } + + + /// + /// 描述 :手机号 + /// 空值 : false + /// + [EpplusTableColumn(Header = "手机号")] + [SugarColumn(ColumnName = "customer_mobile_phone_number")] + public string CustomerMobilePhoneNumber { get; set; } + + + /// + /// 描述 :头像 + /// 空值 : false + /// + [EpplusTableColumn(Header = "头像")] + [SugarColumn(ColumnName = "customer_avatar")] + public string CustomerAvatar { get; set; } + + + /// + /// 描述 :性别(字典) + /// 空值 : false + /// + [EpplusTableColumn(Header = "性别(字典)")] + [SugarColumn(ColumnName = "customer_gender")] + public int CustomerGender { get; set; } + + + /// + /// 描述 :可用余额 + /// 空值 : false + /// + [EpplusTableColumn(Header = "可用余额")] + [SugarColumn(ColumnName = "customer_available_balance")] + public decimal CustomerAvailableBalance { get; set; } + + + /// + /// 描述 :可用积分 + /// 空值 : false + /// + [EpplusTableColumn(Header = "可用积分")] + [SugarColumn(ColumnName = "customer_available_points")] + public decimal CustomerAvailablePoints { get; set; } + + + /// + /// 描述 :总支付金额 + /// 空值 : false + /// + [EpplusTableColumn(Header = "总支付金额")] + [SugarColumn(ColumnName = "customer_total_payment_amount")] + public decimal CustomerTotalPaymentAmount { get; set; } + + + /// + /// 描述 :实际消费金额 + /// 空值 : false + /// + [EpplusTableColumn(Header = "实际消费金额")] + [SugarColumn(ColumnName = "customer_actual_consumption_amount")] + public decimal CustomerActualConsumptionAmount { get; set; } + + + /// + /// 描述 :最后登录时间 + /// 空值 : false + /// + [EpplusTableColumn(Header = "最后登录时间", NumberFormat = "yyyy-MM-dd HH:mm:ss")] + [SugarColumn(ColumnName = "customer_last_login_time")] + public DateTime? CustomerLastLoginTime { get; set; } + + + + + + } } \ No newline at end of file diff --git a/ARW.Model/Vo/Business/Customers/CustomerVo.cs b/ARW.Model/Vo/Business/Customers/CustomerVo.cs index ba94d75..3aca6b8 100644 --- a/ARW.Model/Vo/Business/Customers/CustomerVo.cs +++ b/ARW.Model/Vo/Business/Customers/CustomerVo.cs @@ -1,42 +1,108 @@ using Newtonsoft.Json; using OfficeOpenXml.Attributes; using SqlSugar; +using System; namespace ARW.Model.Vo.Business.Customers { /// /// 小程序客户展示对象 + /// + /// @author 黎文豪 + /// @date 2023-06-05 /// public class CustomerVo { + + /// + /// 描述 : + /// [EpplusIgnore] - [EpplusTableColumn(Header = "CustomerId")] public int CustomerId { get; set; } - [EpplusIgnore] + + /// + /// 描述 : + /// [JsonConverter(typeof(ValueToStringConverter))] - [EpplusTableColumn(Header = "CustomerGuid")] + [EpplusIgnore] public long CustomerGuid { get; set; } - [EpplusTableColumn(Header = "客户姓名")] - public string CustomerName { get; set; } - [EpplusTableColumn(Header = "客户生日")] - public string CustomerBrithday { get; set; } - [EpplusTableColumn(Header = "客户性别")] - public int? CustomerSex { get; set; } - [EpplusTableColumn(Header = "客户图片")] - public string CustomerImg { get; set; } - [EpplusTableColumn(Header = "客户电话")] - public string CustomerPhone { get; set; } + + + + /// + /// 描述 :小程序openid + /// [EpplusTableColumn(Header = "小程序openid")] public string CustomerXcxOpenid { get; set; } - [EpplusTableColumn(Header = "小程序名称")] - public string CustomerXcxName { get; set; } - [EpplusTableColumn(Header = "小程序头像")] - public string CustomerXcxImg { get; set; } + + + /// + /// 描述 :昵称 + /// + [EpplusTableColumn(Header = "昵称")] + public string CustomerNickname { get; set; } + + + /// + /// 描述 :手机号 + /// + [EpplusTableColumn(Header = "手机号")] + public string CustomerMobilePhoneNumber { get; set; } + + + /// + /// 描述 :头像 + /// + [EpplusTableColumn(Header = "头像")] + public string CustomerAvatar { get; set; } + + + /// + /// 描述 :性别(字典) + /// + [EpplusTableColumn(Header = "性别(字典)")] + public int CustomerGender { get; set; } + + + /// + /// 描述 :可用余额 + /// + [EpplusTableColumn(Header = "可用余额")] + public decimal CustomerAvailableBalance { get; set; } + + + /// + /// 描述 :可用积分 + /// + [EpplusTableColumn(Header = "可用积分")] + public decimal CustomerAvailablePoints { get; set; } + + + /// + /// 描述 :总支付金额 + /// + [EpplusTableColumn(Header = "总支付金额")] + public decimal CustomerTotalPaymentAmount { get; set; } + + + /// + /// 描述 :实际消费金额 + /// + [EpplusTableColumn(Header = "实际消费金额")] + public decimal CustomerActualConsumptionAmount { get; set; } + + + /// + /// 描述 :最后登录时间 + /// + [EpplusTableColumn(Header = "最后登录时间", NumberFormat = "yyyy-MM-dd HH:mm:ss")] + public DateTime? CustomerLastLoginTime { get; set; } + } } diff --git a/ARW.Repository/Business/Customers/CustomerRepository.cs b/ARW.Repository/Business/Customers/CustomerRepository.cs index 8534664..6ffe61c 100644 --- a/ARW.Repository/Business/Customers/CustomerRepository.cs +++ b/ARW.Repository/Business/Customers/CustomerRepository.cs @@ -8,8 +8,8 @@ namespace ARW.Repository.Business.Customers /// /// 小程序客户仓储 /// - /// @author admin - /// @date 2022-12-06 + /// @author 黎文豪 + /// @date 2023-06-05 /// [AppService(ServiceLifetime = LifeTime.Transient)] public class CustomerRepository : BaseRepository diff --git a/ARW.Service/Business/BusinessService/Customers/CustomerService.cs b/ARW.Service/Business/BusinessService/Customers/CustomerService.cs index 2c4e718..7f0f3f1 100644 --- a/ARW.Service/Business/BusinessService/Customers/CustomerService.cs +++ b/ARW.Service/Business/BusinessService/Customers/CustomerService.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Infrastructure; using ARW.Model; using ARW.Repository; using ARW.Repository.Business.Customers; @@ -18,6 +19,9 @@ namespace ARW.Service.Business.BusinessService.Customers { /// /// 小程序客户接口实现类 + /// + /// @author 黎文豪 + /// @date 2023-06-05 /// [AppService(ServiceType = typeof(ICustomerService), ServiceLifetime = LifeTime.Transient)] public class CustomerServiceImpl : BaseService, ICustomerService @@ -31,41 +35,77 @@ namespace ARW.Service.Business.BusinessService.Customers #region 业务逻辑代码 - /// - /// 查询小程序客户列表 + + /// + /// 查询小程序客户分页列表 /// - /// - /// - public Task> GetCustomerList(CustomerQueryDto parm) + public Task> GetCustomerList(CustomerQueryDto parm) { //开始拼装查询条件d var predicate = Expressionable.Create(); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CustomerName), it => it.CustomerName.Contains(parm.CustomerName)); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CustomerXcxName), it => it.CustomerXcxName.Contains(parm.CustomerXcxName)); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CustomerXcxOpenid), it => it.CustomerXcxOpenid == parm.CustomerXcxOpenid); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CustomerNickname), it => it.CustomerNickname.Contains(parm.CustomerNickname)); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CustomerMobilePhoneNumber), it => it.CustomerMobilePhoneNumber.Contains(parm.CustomerMobilePhoneNumber)); + predicate = predicate.AndIF(parm.BeginTime != null && parm.EndTime != null, it => it.CustomerLastLoginTime >= parm.BeginTime && it.CustomerLastLoginTime <= parm.EndTime); var query = _CustomerRepository .Queryable() .Where(predicate.ToExpression()) .OrderBy(s => s.Create_time,OrderByType.Desc) .Select(s => new CustomerVo { - CustomerId = s.CustomerId, + CustomerId = s.CustomerId, CustomerGuid = s.CustomerGuid, - CustomerName = s.CustomerName, - CustomerPhone = s.CustomerPhone, - CustomerBrithday = s.CustomerBirth, - CustomerImg = s.CustomerImg, - CustomerSex = s.CustomerSex, - CustomerXcxOpenid = s.CustomerXcxOpenid, - CustomerXcxName = s.CustomerXcxName, - CustomerXcxImg = s.CustomerXcxImg, - }); + CustomerXcxOpenid = s.CustomerXcxOpenid, + CustomerNickname = s.CustomerNickname, + CustomerMobilePhoneNumber = s.CustomerMobilePhoneNumber, + CustomerAvatar = s.CustomerAvatar, + CustomerGender = s.CustomerGender, + CustomerAvailableBalance = s.CustomerAvailableBalance, + CustomerAvailablePoints = s.CustomerAvailablePoints, + CustomerTotalPaymentAmount = s.CustomerTotalPaymentAmount, + CustomerActualConsumptionAmount = s.CustomerActualConsumptionAmount, + CustomerLastLoginTime = s.CustomerLastLoginTime, + }); - return query.ToPageAsync(parm); + return query.ToPageAsync(parm); } - - #endregion + + /// + /// 添加或修改小程序客户 + /// + public async Task AddOrUpdateCustomer(Customer model) + { + if (model.CustomerId != 0) + { + var response = await _CustomerRepository.UpdateAsync(model); + return "修改成功!"; + } + else + { + + var response = await _CustomerRepository.InsertReturnSnowflakeIdAsync(model); + return "添加成功!"; + } + } + + #region Excel处理 + + + /// + /// Excel数据导出处理 + /// + public async Task> HandleExportData(List data) + { + return data; + } + + #endregion + + + +#endregion } } diff --git a/ARW.Service/Business/IBusinessService/Customers/ICustomerService.cs b/ARW.Service/Business/IBusinessService/Customers/ICustomerService.cs index d602216..5889e61 100644 --- a/ARW.Service/Business/IBusinessService/Customers/ICustomerService.cs +++ b/ARW.Service/Business/IBusinessService/Customers/ICustomerService.cs @@ -10,14 +10,36 @@ using ARW.Model.Vo.Business.Customers; namespace ARW.Service.Business.IBusinessService.Customers { + /// + /// 小程序客户接口类 + /// + /// @author 黎文豪 + /// @date 2023-06-05 + /// public interface ICustomerService : IBaseService { - /// + /// /// 获取小程序客户分页列表 /// /// /// Task> GetCustomerList(CustomerQueryDto parm); + + /// + /// 添加或修改小程序客户 + /// + /// + /// + Task AddOrUpdateCustomer(Customer parm); + + + + /// + /// Excel导出 + /// + Task> HandleExportData(List data); + + } } diff --git a/ARW.WebApi/Controllers/Api/Wechat/WeChatLoginController.cs b/ARW.WebApi/Controllers/Api/Wechat/WeChatLoginController.cs index 3af4861..b0b2684 100644 --- a/ARW.WebApi/Controllers/Api/Wechat/WeChatLoginController.cs +++ b/ARW.WebApi/Controllers/Api/Wechat/WeChatLoginController.cs @@ -68,7 +68,7 @@ namespace ARW.WebApi.Controllers.Api.Wechat LoginUser loginUser = new LoginUser { UserId = newUser.CustomerGuid, - UserName = newUser.CustomerXcxName, + UserName = newUser.CustomerNickname, IsApi = true, }; var jwt = JwtUtil.GenerateJwtToken(JwtUtil.AddClaims(loginUser), _jwtSettings.JwtSettings); @@ -80,7 +80,7 @@ namespace ARW.WebApi.Controllers.Api.Wechat LoginUser loginUser = new LoginUser { UserId = user.CustomerGuid, - UserName = user.CustomerXcxName, + UserName = user.CustomerNickname, IsApi = true, }; var jwt = JwtUtil.GenerateJwtToken(JwtUtil.AddClaims(loginUser), _jwtSettings.JwtSettings); diff --git a/ARW.WebApi/Controllers/Business/Customers/CustomerController.cs b/ARW.WebApi/Controllers/Business/Custom/Customers/CustomerController.cs similarity index 59% rename from ARW.WebApi/Controllers/Business/Customers/CustomerController.cs rename to ARW.WebApi/Controllers/Business/Custom/Customers/CustomerController.cs index 0cfbd7c..f7d2be5 100644 --- a/ARW.WebApi/Controllers/Business/Customers/CustomerController.cs +++ b/ARW.WebApi/Controllers/Business/Custom/Customers/CustomerController.cs @@ -12,11 +12,18 @@ using ARW.Model.Dto.Business.Customers; using ARW.Service.Business.IBusinessService.Customers; using ARW.Admin.WebApi.Controllers; using ARW.Model.Models.Business.Customers; +using ARW.Model.Vo.Business.Customers; +using Microsoft.AspNetCore.Authorization; +using ARW.Admin.WebApi.Framework; -namespace ARW.WebApi.Controllers.Business.Customers + +namespace ARW.WebApi.Controllers.Business.Custom.Customers { /// /// 小程序客户控制器 + /// + /// @author 黎文豪 + /// @date 2023-06-05 /// [Verify] [Route("business/[controller]")] @@ -27,12 +34,13 @@ namespace ARW.WebApi.Controllers.Business.Customers /// /// 依赖注入 /// - /// 小程序客户小程序客户服务 + /// 小程序客户服务 public CustomerController(ICustomerService CustomerService) { _CustomerService = CustomerService; } + /// /// 获取小程序客户列表 /// @@ -40,10 +48,10 @@ namespace ARW.WebApi.Controllers.Business.Customers /// [HttpGet("getCustomerList")] [ActionPermissionFilter(Permission = "business:customer:list")] - public IActionResult GetCustomerList([FromQuery] CustomerQueryDto parm) + public async Task GetCustomerList([FromQuery] CustomerQueryDto parm) { - var res = _CustomerService.GetCustomerList(parm); - return SUCCESS(res.Result); + var res = await _CustomerService.GetCustomerList(parm); + return SUCCESS(res); } /// @@ -54,23 +62,16 @@ namespace ARW.WebApi.Controllers.Business.Customers [HttpPost("addOrUpdateCustomer")] [ActionPermissionFilter(Permission = "business:customer:addOrUpdate")] [Log(Title = "添加或修改小程序客户", BusinessType = BusinessType.ADDORUPDATE)] - public IActionResult AddOrUpdateCustomer([FromBody] CustomerDto parm) + public async Task AddOrUpdateCustomer([FromBody] CustomerDto parm) { if (parm == null) { throw new CustomException("请求参数错误"); } - var updateModal = parm.Adapt().ToUpdate(HttpContext); - var addModal = parm.Adapt().ToCreate(HttpContext); + var modal = new Customer(); + if (parm.CustomerId != 0) modal = parm.Adapt().ToUpdate(HttpContext); + else modal = parm.Adapt().ToCreate(HttpContext); - if (parm.CustomerId != 0) - { - var response = _CustomerService.UpdateAsync(updateModal); - return SUCCESS("修改成功!"); - } - else - { - var response = _CustomerService.InsertReturnSnowflakeIdAsync(addModal); - return SUCCESS("添加成功!"); - } + var res = await _CustomerService.AddOrUpdateCustomer(modal); + return SUCCESS(res); } /// @@ -85,25 +86,47 @@ namespace ARW.WebApi.Controllers.Business.Customers long[] idsArr = Tools.SpitLongArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } var response = _CustomerService.Delete(idsArr); - return ToResponse(response, "删除成功!"); + return SUCCESS("删除成功!"); } - - - /// + + + /// /// 导出小程序客户 /// /// [Log(Title = "小程序客户导出", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] - [HttpGet("export")] + [HttpGet("exportCustomer")] [ActionPermissionFilter(Permission = "business:customer:export")] - public IActionResult ExportExcel([FromQuery] CustomerQueryDto parm) + public async Task ExportExcel([FromQuery] CustomerQueryDto parm) { parm.PageSize = 10000; - var list = _CustomerService.GetCustomerList(parm).Result.Result; + var list = await _CustomerService.GetCustomerList(parm); + var data = list.Result; - string sFileName = ExportExcel(list, "Customer", "学生列表"); + // 选中数据 + if (!string.IsNullOrEmpty(parm.ids)) + { + int[] idsArr = Tools.SpitIntArrary(parm.ids); + var selectDataList = new List(); + foreach (var item in idsArr) + { + var select_data = data.Where(s => s.CustomerId == item).First(); + selectDataList.Add(select_data); + } + data = selectDataList; + } + + + + // 导出数据处理 + var handleData = await _CustomerService.HandleExportData(data); + + string sFileName = ExportExcel(handleData, "Customer", "小程序客户列表"); return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName }); } - + + + + } } diff --git a/ARW.WebApi/Controllers/Business/Regions/RegionController.cs b/ARW.WebApi/Controllers/Business/Custom/Regions/RegionController.cs similarity index 98% rename from ARW.WebApi/Controllers/Business/Regions/RegionController.cs rename to ARW.WebApi/Controllers/Business/Custom/Regions/RegionController.cs index 9191e8d..3f4f4ab 100644 --- a/ARW.WebApi/Controllers/Business/Regions/RegionController.cs +++ b/ARW.WebApi/Controllers/Business/Custom/Regions/RegionController.cs @@ -17,7 +17,7 @@ using Microsoft.AspNetCore.Authorization; using ARW.Admin.WebApi.Framework; -namespace ARW.WebApi.Controllers.Business.Regions +namespace ARW.WebApi.Controllers.Business.Custom.Regions { /// /// 省市区数据表控制器 diff --git a/ARW.WebApi/appsettings.json b/ARW.WebApi/appsettings.json index dc25d54..2b2fbac 100644 --- a/ARW.WebApi/appsettings.json +++ b/ARW.WebApi/appsettings.json @@ -23,7 +23,7 @@ "DemoMode": false, //是否演示模式 "Upload": { "UploadUrl": "http://localhost:8888", //本地存储资源访问路径 - "localSavePath": "uploads" //本地上传默认文件存储目录 wwwroot/uploads + "localSavePath": "uploads" //本地上传默认文件存储目录 wwwroot/Uploads/uploads }, //阿里云存储配置 "AARWYUN_OSS": { diff --git a/ARW.WebApi/wwwroot/CodeGenTemplate/Add.txt b/ARW.WebApi/wwwroot/CodeGenTemplate/Add.txt index 06b9695..9ca1d72 100644 --- a/ARW.WebApi/wwwroot/CodeGenTemplate/Add.txt +++ b/ARW.WebApi/wwwroot/CodeGenTemplate/Add.txt @@ -1,3 +1,11 @@ +