Files
coreshoppro/CoreCms.Net.Web.WebApi/Controllers/SolitaireController.cs
JianWeie 5167b0e096 # 2022-01-17
### 1.3.0 开源社区版:
【新增】完善商品查看详情功能。#I4QTLR
【新增】订单详情页面需要增加下单客户信息。
【新增】完善服务订单管理功能,实现订单作废、导出功能;核销码实现列表,作废,导出功能。#I4OSBK
【修复】修复普通订单查看详情,因优惠信息问题导致的异常情况。#I4QXUQ
【修复】修复门店列表下的用户编辑页面名称大小写问题(linux下大小写敏感问题)。
【修复】修复微信支付成功相应的日志记录类型有误。#I4QSNZ
【修复】修复发货日志记录sku货号错误问题。#I4PX25
【修复】修复发货单列表查看详情,提示权限不足的问题。#I4QDQR

### 0.0.8 会员专业版:
【新增】新增接龙功能营销功能,实现单个活动,可以添加多个不同商品的不同sku混合选择下单。
【新增】增加接龙数据库脚本及演示文件。
【升级】升级uView组件到2.0.20版本。
【修复】修复编辑收货地址的路径中选取区域部分可以手动输入文字。
【修复】修复【微信直播带货】组件缺少获取sku分页数据的问题。#I4QKSU
【优化】调整【微信自定义交易组件】商品类目排序方式及展示内容。#I4QE0N
2022-01-17 02:16:00 +08:00

114 lines
3.7 KiB
C#

using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using CoreCms.Net.Auth.HttpContextUser;
using CoreCms.Net.Configuration;
using CoreCms.Net.IServices;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.Entities.Expression;
using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Model.ViewModels.UI;
using SqlSugar;
namespace CoreCms.Net.Web.WebApi.Controllers
{
/// <summary>
/// 接龙
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class SolitaireController : ControllerBase
{
private readonly ICoreCmsSolitaireServices _solitaireServices;
private readonly ICoreCmsSolitaireItemsServices _solitaireItemsServices;
private readonly ICoreCmsCartServices _cartServices;
private readonly IHttpContextUser _user;
/// <summary>
/// 构造函数
/// </summary>
public SolitaireController(ICoreCmsSolitaireServices solitaireServices, ICoreCmsSolitaireItemsServices solitaireItemsServices, IHttpContextUser user, ICoreCmsCartServices cartServices)
{
_solitaireServices = solitaireServices;
_solitaireItemsServices = solitaireItemsServices;
_user = user;
_cartServices = cartServices;
}
/// <summary>
/// 获取接龙列表
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<WebApiCallBack> GetList([FromBody] FMPageByIntId entity)
{
WebApiCallBack jm = new WebApiCallBack() { status = true };
var dt = DateTime.Now;
var where = PredicateBuilder.True<CoreCmsSolitaire>();
where = where.And(p => p.isShow == true && p.status == (int)GlobalEnumVars.SolitaireStatus.Open && p.startTime < dt && p.endTime > dt);
var list = await _solitaireServices.QueryPageAsync(where, p => p.createTime, OrderByType.Desc, entity.page, entity.limit);
jm.data = list;
return jm;
}
/// <summary>
/// 获取单个接龙详情
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<WebApiCallBack> GetDetail([FromBody] FMIntId entity)
{
WebApiCallBack jm = new WebApiCallBack() { status = true };
//获取接龙主数据
var model = await _solitaireServices.QueryByClauseAsync(p => p.id == entity.id);
var dt = DateTime.Now;
if (model == null)
{
jm.status = false;
jm.msg = "接龙数据获取失败";
return jm;
}
if (dt < model.startTime)
{
jm.status = false;
jm.msg = "接龙活动暂未开启";
return jm;
}
if (dt > model.endTime)
{
jm.status = false;
jm.msg = "接龙活动已结束";
return jm;
}
//获取商品sku数据
var items = await _solitaireItemsServices.QueryListByClauseAsync(p => p.solitaireId == model.id && p.isDelete == false, p => p.sortId, OrderByType.Desc);
//获取购买记录
var recordResult = await _solitaireServices.GetBuyRecord(entity.id);
if (_user.ID > 0)
{
await _cartServices.DeleteAsync(p => p.type == (int)GlobalEnumVars.OrderType.Solitaire && p.userId == _user.ID);
}
//清空个人购物车
jm.data = new
{
model,
items,
record = recordResult.data
};
return jm;
}
}
}