sunny a6c784ff4c Squashed commit of the following:
commit ac4c7383285b88b2f326f6979f735496fa25d0b4
Author: quowingwang <guoqingwang.ruizhiao>
Date:   Mon Nov 10 19:32:04 2025 +0800

    修改

commit be79fbda5de0846209dcab9d80300a920d470656
Author: quowingwang <guoqingwang.ruizhiao>
Date:   Mon Nov 10 19:23:50 2025 +0800

    质量设定模糊查询

commit cd3b6582ad627b9f0bf82896b65e0a25971ecb97
Author: quowingwang <guoqingwang.ruizhiao>
Date:   Mon Nov 10 18:57:53 2025 +0800

    质量设定

commit a2823cec8987b4f5c51029bf1456802df15e7d0d
Author: quowingwang <guoqingwang.ruizhiao>
Date:   Mon Nov 10 16:28:05 2025 +0800

    导出

commit 5a7bf882d0b65746e1041f252968b3c0ce91b8b2
Author: quowingwang <guoqingwang.ruizhiao>
Date:   Mon Nov 10 15:43:30 2025 +0800

    导出

commit 2793eda822247b8480737cdb30b82a2dbb1a8881
Author: quowingwang <guoqingwang.ruizhiao>
Date:   Mon Nov 10 14:44:46 2025 +0800

    条件查询

commit a5c8cb23b0058ca510c7b66fbf7e7be3f696c9eb
Author: quowingwang <guoqingwang.ruizhiao>
Date:   Mon Nov 10 14:16:23 2025 +0800

    查询工序详情

commit f1a8053c2fb65d37e41a9a16a10ee75aff99c00e
Author: quowingwang <guoqingwang.ruizhiao>
Date:   Mon Nov 10 11:51:48 2025 +0800

    导入

commit 4867fe688058817e14fc46bb88b8c6b20688dd19
Author: quowingwang <guoqingwang.ruizhiao>
Date:   Mon Nov 10 11:29:08 2025 +0800

    删除修改

commit 82e5eef5f6aa12679810985890528fa6a6004584
Author: quowingwang <guoqingwang.ruizhiao>
Date:   Mon Nov 10 11:27:18 2025 +0800

    批量删除修改

commit 58e8c088fd01b97a54c62f4027673cab446c8a11
Author: quowingwang <guoqingwang.ruizhiao>
Date:   Mon Nov 10 10:40:02 2025 +0800

    修改

commit 61781194bd1310bc5187a0769ace449f7974bd35
Author: quowingwang <guoqingwang.ruizhiao>
Date:   Mon Nov 10 10:37:11 2025 +0800

    存用户名称

commit 952a52d30241ec49f2a354138e5397ae92aaea03
Author: quowingwang <guoqingwang.ruizhiao>
Date:   Mon Nov 10 10:00:23 2025 +0800

    工艺路线导入

commit d4f43ccb892be7efa7531eb7e712fb71185c12ad
Author: quowingwang <guoqingwang.ruizhiao>
Date:   Mon Nov 10 08:48:53 2025 +0800

    工艺路线

commit c7e4c77e4d61609b7eac06a47b42d37023341527
Author: quowingwang <guoqingwang.ruizhiao>
Date:   Fri Nov 7 09:24:24 2025 +0800

    工艺管理
2025-11-11 08:35:41 +08:00

268 lines
9.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using MiniExcelLibs;
using RIZO.Common;
using RIZO.Mall.Model;
using RIZO.Mall.Model.Dto;
using RIZO.Mall.Service.IService;
//创建时间2025-05-30
namespace RIZO.Mall.Controllers
{
/// <summary>
/// 订单管理
/// </summary>
[Route("shopping/Order")]
[ApiExplorerSettings(GroupName = "shopping")]
public class OrderController : BaseController
{
private NLog.Logger _logger = NLog.LogManager.GetCurrentClassLogger();
/// <summary>
/// 订单管理接口
/// </summary>
private readonly IOMSOrderService _OMSOrderService;
public OrderController(IOMSOrderService OMSOrderService)
{
_OMSOrderService = OMSOrderService;
}
/// <summary>
/// 查询订单管理列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpGet("list")]
[ActionPermissionFilter(Permission = "oms:order:list")]
public IActionResult QueryOMSOrder([FromQuery] OMSOrderQueryDto parm)
{
var response = _OMSOrderService.GetList(parm);
response.Extra.Add("NotDelivereOrder", _OMSOrderService.NotDelivereOrder());
return SUCCESS(response);
}
/// <summary>
/// 查询订单管理详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
[HttpGet("{Id}")]
[ActionPermissionFilter(Permission = "oms:order:query")]
public IActionResult GetOMSOrder(long Id)
{
var response = _OMSOrderService.GetInfo(Id);
var info = response.Adapt<OMSOrderDto>();
return SUCCESS(info);
}
/// <summary>
/// 更新订单管理
/// </summary>
/// <returns></returns>
[HttpPut]
[Log(Title = "订单管理", BusinessType = BusinessType.UPDATE)]
public IActionResult UpdateOMSOrder([FromBody] OMSOrderDto parm)
{
var modal = parm.Adapt<OMSOrder>().ToUpdate(HttpContext);
var response = _OMSOrderService.UpdateOMSOrder(parm.OperType, modal);
return ToResponse(response);
}
/// <summary>
/// 删除订单管理
/// </summary>
/// <returns></returns>
[HttpPost("delete/{ids}")]
[ActionPermissionFilter(Permission = "oms:order:delete")]
[Log(Title = "订单管理", BusinessType = BusinessType.DELETE)]
public IActionResult DeleteOMSOrder([FromRoute] string ids)
{
var idArr = Tools.SplitAndConvert<long>(ids);
return ToResponse(_OMSOrderService.Deleteable()
.Where(f => f.IsDelete == 0)
.In(idArr)
.IsLogic()
.ExecuteCommand());
}
/// <summary>
/// 订单退款
/// </summary>
/// <returns></returns>
[HttpPost("refund")]
[Log(Title = "订单退款", BusinessType = BusinessType.UPDATE)]
public IActionResult RefundOrder([FromBody] OMSOrderDto parm)
{
var modal = parm.Adapt<OMSOrder>().ToUpdate(HttpContext);
var response = _OMSOrderService.UpdateOMSOrder(4, modal);
return ToResponse(response);
}
/// <summary>
/// 导出订单管理
/// </summary>
/// <returns></returns>
[Log(Title = "订单管理", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)]
[HttpGet("export")]
[ActionPermissionFilter(Permission = "oms:order:export")]
public IActionResult Export([FromQuery] OMSOrderQueryDto parm)
{
var list = _OMSOrderService.ExportList(parm).Result;
if (list == null || list.Count <= 0)
{
return ToResponse(ResultCode.FAIL, "没有要导出的数据");
}
var result = ExportExcelMini(list, "订单管理", "订单管理");
return ExportExcel(result.Item2, result.Item1);
}
/// <summary>
/// 订单发货
/// </summary>
/// <returns></returns>
[HttpPut("delivery")]
[Log(Title = "订单发货", BusinessType = BusinessType.UPDATE)]
public async Task<IActionResult> Delivery([FromBody] OMSOrderDto parm)
{
var orderInfo = await _OMSOrderService.GetByIdAsync(parm.Id);
if (orderInfo == null)
{
return ToResponse(ResultCode.FAIL, "订单不存在");
}
orderInfo.DeliveryCompany = parm.DeliveryCompany;
orderInfo.DeliveryNo = parm.DeliveryNo;
var response = await _OMSOrderService.OrderDelivery(orderInfo);
if (response > 0)
{
return ToResponse(ResultCode.SUCCESS, "发货成功");
}
return ToResponse(ResultCode.CUSTOM_ERROR, $"发货失败{response}");
}
/// <summary>
/// 导出待发货订单
/// </summary>
/// <returns></returns>
[Log(Title = "导出待发货订单", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)]
[HttpGet("exportDelivery")]
[ActionPermissionFilter(Permission = "oms:order:ship")]
public async Task<IActionResult> ExportExpress([FromQuery] OMSOrderQueryDto parm)
{
if (parm == null || parm.BeginCreateTime == null)
{
return ToResponse(ResultCode.CUSTOM_ERROR, "请选择时间");
}
var list = await _OMSOrderService.ExportWaitDeliveryList(parm);
var result = await ExportExcelMiniAsync(list, "待发货", "待发货订单");
return ExportExcel(result.Item2, result.Item1);
}
/// <summary>
/// 批量发货
/// </summary>
/// <param name="formFile"></param>
/// <returns></returns>
//[HttpPost("importData")]
//[Log(Title = "批量发货", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false, IsSaveResponseData = true)]
//[ActionPermissionFilter(Permission = "oms:order:ship")]
//public async Task<IActionResult> ImportData([FromForm(Name = "file")] IFormFile formFile)
//{
// if (formFile == null || formFile.Length <= 0)
// {
// return ToResponse(ResultCode.FAIL, "请选择要导入的文件");
// }
// var resultList = new List<DeliveryExpressDto>();
// using var stream = formFile.OpenReadStream();
// var rows = await stream.QueryAsync<DeliveryExpressDto>(startCell: "A1");
// var orderNos = rows.Select(x => x.OrderNo).Distinct().ToList();
// var allOrders = await _OMSOrderService.Queryable().In(x => x.OrderNo, orderNos).ToListAsync();
// foreach (var item in rows)
// {
// if (string.IsNullOrWhiteSpace(item.DeliveryCompany) || string.IsNullOrWhiteSpace(item.DeliveryNo))
// {
// item.Status = "缺少快递信息";
// resultList.Add(item);
// continue;
// }
// var orderInfo = allOrders.FirstOrDefault(f => f.OrderNo == item.OrderNo);
// if (orderInfo == null)
// {
// item.Status = "订单号不存在";
// resultList.Add(item);
// continue;
// }
// if (orderInfo.DeliveryStatus != Enum.DeliveryStatusEnum.NotDelivered)
// {
// item.Status = "已发货";
// resultList.Add(item);
// continue;
// }
// if (orderInfo.AddressSnapshot == null)
// {
// item.Status = "缺少收货信息";
// resultList.Add(item);
// continue;
// }
// var order = item.Adapt<OMSOrder>();
// var result = await _OMSOrderService.OrderDelivery(order);
// item.Status = result > 0 ? "发货成功" : "发货失败";
// resultList.Add(item);
// }
// return SUCCESS(new
// {
// total = resultList.Count,
// successCount = resultList.Count(x => x.Status == "发货成功"),
// failCount = resultList.Count(x => x.Status != "发货成功"),
// result = resultList
// });
//}
/// <summary>
/// 查询销售总
/// </summary>
/// <returns></returns>
[HttpGet("getSales")]
[ActionPermissionFilter(Permission = "oms:sale:query")]
public async Task<IActionResult> GetSales(OMSOrderQueryDto dto)
{
var response = await _OMSOrderService.GetTotalSales(dto);
return SUCCESS(response);
}
/// <summary>
/// 查询销售趋势
/// </summary>
/// <returns></returns>
[HttpGet("getSalesTrade")]
[ActionPermissionFilter(Permission = "oms:sale:query")]
public async Task<IActionResult> GetSalesTrade(OMSOrderQueryDto dto)
{
var response = await _OMSOrderService.GetSaleTreandByDay(dto);
return SUCCESS(response);
}
/// <summary>
/// 查询销售前10的商品
/// </summary>
/// <returns></returns>
[HttpGet("getSaleTopProduct")]
[ActionPermissionFilter(Permission = "oms:sale:query")]
public async Task<IActionResult> GetSaleTopProduct(OMSOrderQueryDto dto)
{
var response = await _OMSOrderService.GetSaleTopProduct(dto);
return SUCCESS(response);
}
}
}