11 changed files with 205 additions and 4 deletions
@ -0,0 +1,32 @@ |
|||
using BBWYB.Server.Business; |
|||
using BBWYB.Server.Model.Dto; |
|||
using Microsoft.AspNetCore.Authentication.JwtBearer; |
|||
using Microsoft.AspNetCore.Authorization; |
|||
using Microsoft.AspNetCore.Mvc; |
|||
|
|||
namespace BBWYB.Server.API.Controllers |
|||
{ |
|||
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)] |
|||
public class OrderMessageController : BaseApiController |
|||
{ |
|||
private OrderMessageBusiness orderMessageBusiness; |
|||
|
|||
public OrderMessageController(IHttpContextAccessor httpContextAccessor, OrderMessageBusiness orderMessageBusiness) : base(httpContextAccessor) |
|||
{ |
|||
this.orderMessageBusiness = orderMessageBusiness; |
|||
} |
|||
|
|||
[HttpPost] |
|||
public void AddOrderMessage([FromBody] AddOrderMessageRequest request) |
|||
{ |
|||
var token = GetToken(); |
|||
orderMessageBusiness.AddOrderMessage(request, token); |
|||
} |
|||
|
|||
[HttpGet("{orderId}")] |
|||
public IList<OrderMessageResponse> GetOrderMessageList([FromRoute] string orderId) |
|||
{ |
|||
return orderMessageBusiness.GetOrderMessageList(orderId); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,32 @@ |
|||
using BBWYB.Common.Http; |
|||
using BBWYB.Common.Log; |
|||
using BBWYB.Common.Models; |
|||
using BBWYB.Server.Model.Dto; |
|||
using Newtonsoft.Json; |
|||
using Yitter.IdGenerator; |
|||
|
|||
namespace BBWYB.Server.Business |
|||
{ |
|||
public class MDSBusiness : BaseBusiness, IDenpendency |
|||
{ |
|||
private RestApiService restApiService; |
|||
public MDSBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator, RestApiService restApiService) : base(fsql, nLogManager, idGenerator) |
|||
{ |
|||
this.restApiService = restApiService; |
|||
} |
|||
|
|||
public UserInfoResponse GetUserInfo(string token) |
|||
{ |
|||
var httpResult = restApiService.SendRequest("http://mdsapi.qiyue666.com/", "TaskList/User/GetUserInfo", null, new Dictionary<string, string>() |
|||
{ |
|||
{ "Authorization",token} |
|||
}, HttpMethod.Get); |
|||
if (httpResult.StatusCode != System.Net.HttpStatusCode.OK) |
|||
throw new BusinessException($"获取用户信息失败 {httpResult.Content}"); |
|||
var response = JsonConvert.DeserializeObject<ApiResponse<UserInfoResponse>>(httpResult.Content); |
|||
if (!response.Success) |
|||
throw new BusinessException($"获取用户信息失败 {response.Msg}"); |
|||
return response.Data; |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,47 @@ |
|||
using BBWYB.Common.Log; |
|||
using BBWYB.Common.Models; |
|||
using BBWYB.Server.Model.Db; |
|||
using BBWYB.Server.Model.Dto; |
|||
using Yitter.IdGenerator; |
|||
|
|||
namespace BBWYB.Server.Business |
|||
{ |
|||
public class OrderMessageBusiness : BaseBusiness, IDenpendency |
|||
{ |
|||
private MDSBusiness mdsBusiness; |
|||
|
|||
public OrderMessageBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator, MDSBusiness mdsBusiness) : base(fsql, nLogManager, idGenerator) |
|||
{ |
|||
this.mdsBusiness = mdsBusiness; |
|||
} |
|||
|
|||
public void AddOrderMessage(AddOrderMessageRequest request, string token) |
|||
{ |
|||
if (string.IsNullOrEmpty(request.Message) || |
|||
string.IsNullOrEmpty(request.OrderId) || |
|||
string.IsNullOrEmpty(request.OrderSn) || |
|||
request.ShopId == null || |
|||
request.ShopId == 0) |
|||
throw new BusinessException("留言信息不完整"); |
|||
|
|||
var user = mdsBusiness.GetUserInfo(token); |
|||
var om = new OrderMessage() |
|||
{ |
|||
Id = idGenerator.NewLong(), |
|||
CreateTime = DateTime.Now, |
|||
CreatorId = user.Id, |
|||
CreatorName = user.UserName, |
|||
Message = request.Message, |
|||
OrderId = request.OrderId, |
|||
OrderSn = request.OrderSn, |
|||
ShopId = request.ShopId |
|||
}; |
|||
fsql.Insert(om).ExecuteAffrows(); |
|||
} |
|||
|
|||
public IList<OrderMessageResponse> GetOrderMessageList(string orderId) |
|||
{ |
|||
return fsql.Select<OrderMessage>().Where(om => om.OrderId == orderId).ToList<OrderMessageResponse>(); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,35 @@ |
|||
using FreeSql.DataAnnotations; |
|||
|
|||
namespace BBWYB.Server.Model.Db |
|||
{ |
|||
|
|||
[Table(Name = "ordermessage", DisableSyncStructure = true)] |
|||
public partial class OrderMessage |
|||
{ |
|||
|
|||
[Column(IsPrimary = true)] |
|||
public long Id { get; set; } |
|||
|
|||
[Column(DbType = "datetime")] |
|||
public DateTime? CreateTime { get; set; } |
|||
|
|||
[Column(StringLength = 50)] |
|||
public string CreatorId { get; set; } |
|||
|
|||
[Column(StringLength = 50)] |
|||
public string CreatorName { get; set; } |
|||
|
|||
[Column(StringLength = 500)] |
|||
public string Message { get; set; } |
|||
|
|||
[Column(StringLength = 50)] |
|||
public string OrderId { get; set; } |
|||
|
|||
[Column(StringLength = 50)] |
|||
public string OrderSn { get; set; } |
|||
|
|||
public long? ShopId { get; set; } |
|||
|
|||
} |
|||
|
|||
} |
@ -0,0 +1,15 @@ |
|||
namespace BBWYB.Server.Model.Dto |
|||
{ |
|||
public class AddOrderMessageRequest |
|||
{ |
|||
public DateTime? CreateTime { get; set; } |
|||
|
|||
public string Message { get; set; } |
|||
|
|||
public string OrderId { get; set; } |
|||
|
|||
public string OrderSn { get; set; } |
|||
|
|||
public long? ShopId { get; set; } |
|||
} |
|||
} |
@ -0,0 +1,11 @@ |
|||
namespace BBWYB.Server.Model.Dto |
|||
{ |
|||
public class UserInfoResponse |
|||
{ |
|||
public string Id { get; set; } |
|||
|
|||
public string UserName { get; set; } |
|||
|
|||
//其余字段需要用到的时候再扩充
|
|||
} |
|||
} |
@ -0,0 +1,8 @@ |
|||
using BBWYB.Server.Model.Db; |
|||
|
|||
namespace BBWYB.Server.Model.Dto |
|||
{ |
|||
public class OrderMessageResponse : OrderMessage |
|||
{ |
|||
} |
|||
} |
Loading…
Reference in new issue