key1_beacon_api/ARW.WebApi/Controllers/Api/Custom/Customers/CustomerApiController.cs

88 lines
2.6 KiB
C#

using Microsoft.AspNetCore.Mvc;
using ARW.Admin.WebApi.Filters;
using ARW.Admin.WebApi.Controllers;
using ARW.Model.Dto.Api.Custom.Customers;
using ARW.Service.Api.IBusinessService.Custom.Customers;
using ARW.Model.Vo.Api.Custom.Customers;
using Geocoding;
using Infrastructure;
using ARW.Model.Models.Business.Custom.Customers;
using Infrastructure.Attribute;
using Infrastructure.Enums;
using Mapster;
using ARW.Admin.WebApi.Extensions;
using ARW.Admin.WebApi.Framework;
namespace ARW.WebApi.Controllers.Api.Custom.Customers
{
/// <summary>
/// 小程序客户控制器Api
///
/// @author lwh
/// @date 2023-06-07
/// </summary>
[Verify]
[Route("api/[controller]")]
public class CustomerApiController : BaseController
{
private readonly ICustomerServiceApi _CustomerServiceApi;
/// <summary>
/// 依赖注入
/// </summary>
/// <param name="CustomerServiceApi">小程序客户小程序客户Api服务</param>
public CustomerApiController(ICustomerServiceApi CustomerServiceApi)
{
_CustomerServiceApi = CustomerServiceApi;
}
/// <summary>
/// 获取Customer详情(Api)
/// </summary>
/// <param name="parm">查询参数</param>
/// <returns></returns>
[HttpGet("getCustomerDetails")]
public async Task<IActionResult> GetCustomerDetails([FromQuery] CustomerQueryDtoApi parm)
{
if (parm == null) throw new CustomException("参数错误!");
var res = await _CustomerServiceApi.GetCustomerDetails(parm);
if (res != "[]")
{
var data = res.FromJSON<CustomerApiDetailsVo>();
return SUCCESS(data);
}
else
{
return SUCCESS(res);
}
}
/// <summary>
/// 编辑客户信息
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpPost("UpdateCustomer")]
[Log(Title = "编辑客户信息", BusinessType = BusinessType.UPDATE)]
public async Task<IActionResult> AddOrUpdateCustomer([FromBody] CustomerDtoApi parm)
{
if (parm == null) { throw new CustomException("请求参数错误"); }
var user = JwtUtil.GetLoginUser(App.HttpContext);
parm.CustomerGuid = user.UserId;
var modal = new Customer();
modal = parm.Adapt<Customer>().ToUpdate(HttpContext);
var res = await _CustomerServiceApi.UpdateCustomer(modal);
return SUCCESS(res);
}
}
}