# 2022-02-09

### 1.3.5 开源社区版(会员专业版同步修改):
无
### 0.1.5 会员专业版:
【升级】nuget升级常用组件到最新版本。
【修复】服务商品列表图片组件从image调整为u--image组件。#I4RUC6
【优化】规范coreshop-goods.vue组件for循环未定义key的问题。
【修复】修复因升级uview版本导致【商品选项卡goodTabBar组件】切换失效的问题。
【新增】微信自定义交易组件增加【商品审核结果回调】,【类目审核结果回调】微信服务器消息推送处理。
【优化】调整自定义交易组件sku价格为decimal(18, 2)类型,方便小数处理。
【优化】微信自定义交易组件增加图片同步至微信侧功能。
【优化】重命名一些方法名称大小写。
【新增】首页设计轮播图增加高度设置功能。#I4SWEA
【修复】优化在苹果6/7/8plus及安卓一些机型出现分享海报弹窗文字被遮挡的问题。#I4SWCA
This commit is contained in:
JianWeie
2022-02-09 02:07:06 +08:00
parent 8e3adda57b
commit 05df55d7ec
43 changed files with 1044 additions and 535 deletions

View File

@@ -22,13 +22,14 @@ using CoreCms.Net.Loging;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.Entities.Expression;
using CoreCms.Net.Model.ViewModels.Basics;
using CoreCms.Net.Model.ViewModels.DTO;
using CoreCms.Net.Model.ViewModels.QueryMuch;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Model.ViewModels.DTO;
using CoreCms.Net.Utility.Extensions;
using CoreCms.Net.Utility.Helper;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using SqlSugar;
@@ -46,7 +47,8 @@ namespace CoreCms.Net.Services
private readonly ICoreCmsMessageCenterServices _messageCenterServices;
private readonly ICoreCmsUserPointLogServices _userPointLogServices;
private readonly IRedisOperationRepository _redisOperationRepository;
public CoreCmsBillAftersalesServices(IUnitOfWork unitOfWork, ICoreCmsBillAftersalesRepository dal, IServiceProvider serviceProvider, ICoreCmsMessageCenterServices messageCenterServices, ICoreCmsUserPointLogServices userPointLogServices, IRedisOperationRepository redisOperationRepository)
{
this._dal = dal;
@@ -94,12 +96,12 @@ namespace CoreCms.Net.Services
var refundMoney = base.GetSum(where, p => p.refundAmount);
//算退货商品明细
var list = base.QueryMuch<CoreCmsBillAftersalesItem, CoreCmsBillAftersales, QMAftersalesItems>(
var list = base.QueryMuch<CoreCmsBillAftersalesItem, CoreCmsBillAftersales, QMAfterSalesItems>(
(child, parent) => new object[]
{
JoinType.Inner, child.aftersalesId == parent.aftersalesId
},
(child, parent) => new QMAftersalesItems
(child, parent) => new QMAfterSalesItems
{
orderItemsId = child.orderItemsId,
nums = child.nums,
@@ -127,7 +129,7 @@ namespace CoreCms.Net.Services
}
var billAftersales = base.QueryListByClause(where);
jm.data = new OrderToAftersalesDto
jm.data = new OrderToAfterSalesDto
{
refundMoney = refundMoney,
reshipGoods = reshipGoods,
@@ -181,19 +183,32 @@ namespace CoreCms.Net.Services
using var container = _serviceProvider.CreateScope();
var orderServices = container.ServiceProvider.GetService<ICoreCmsOrderServices>();
var settingServices = container.ServiceProvider.GetService<ICoreCmsSettingServices>();
var orderItemServices = container.ServiceProvider.GetService<ICoreCmsOrderItemServices>();
//var settingServices = container.ServiceProvider.GetService<ICoreCmsSettingServices>();
var imagesServices = container.ServiceProvider.GetService<ICoreCmsBillAftersalesImagesServices>();
var itemServices = container.ServiceProvider.GetService<ICoreCmsBillAftersalesItemServices>();
var result = await orderServices.GetOrderInfoByOrderId(orderId, userId);
if (result.status == false)
var aftersalesServices = container.ServiceProvider.GetService<ICoreCmsBillAftersalesServices>();
//判断是否存在还未处理的售后单据。
var haveAS = await aftersalesServices.ExistsAsync(p => p.orderId == orderId && p.userId == userId && p.status == (int)GlobalEnumVars.BillAftersalesStatus.WaitAudit);
if (haveAS)
{
jm.msg = "存在未处理的售后单";
jm.status = false;
return jm;
}
var orderInfo = await orderServices.QueryByClauseAsync(p => p.orderId == orderId && p.userId == userId);
if (orderInfo == null)
{
jm.msg = GlobalErrorCodeVars.Code13101;
jm.code = 13101;
return jm;
}
orderInfo.items = await orderItemServices.QueryListByClauseAsync(p => p.orderId == orderInfo.orderId);
var orderInfo = new CoreCmsOrder();
orderInfo = result.data as CoreCmsOrder;
orderServices.AfterSalesVal(orderInfo);
if (orderInfo.addAftersalesStatus == false)
{
@@ -202,7 +217,7 @@ namespace CoreCms.Net.Services
return jm;
}
//生成售后单号
var aftersalesId = CommonHelper.GetSerialNumberType((int)GlobalEnumVars.SerialNumberType.);
var afterSalesId = CommonHelper.GetSerialNumberType((int)GlobalEnumVars.SerialNumberType.);
//校验订单是否可以进行此售后,并且校验订单价格是否合理
var verifyResult = Verify(type, orderInfo, refund, items);
@@ -218,7 +233,6 @@ namespace CoreCms.Net.Services
verifyResult
};
//判断图片是否大于系统限定
//var allConfigs = await settingServices.GetConfigDictionaries();
@@ -229,9 +243,29 @@ namespace CoreCms.Net.Services
return jm;
}
var aftersalesItemData = new List<CoreCmsBillAftersalesItem>();
if (items != null && items.Any())
{
//如果是退货,判断退货明细,数量是否超出可退的数量
var aftersalesItems = FormatAfterSalesItems(orderInfo, items, afterSalesId);
if (!aftersalesItems.status)
{
return aftersalesItems;
}
//保存售后明细
if (aftersalesItems.data != null)
{
aftersalesItemData = aftersalesItems.data as List<CoreCmsBillAftersalesItem>;
}
else
{
jm.msg = "售后明细获取失败";
return jm;
}
}
var billAftersales = new CoreCmsBillAftersales();
billAftersales.aftersalesId = aftersalesId;
billAftersales.aftersalesId = afterSalesId;
billAftersales.orderId = orderId;
billAftersales.userId = userId;
billAftersales.type = type;
@@ -241,22 +275,7 @@ namespace CoreCms.Net.Services
billAftersales.createTime = DateTime.Now;
//保存主表数据
await _dal.InsertAsync(billAftersales);
if (items != null && items.Any())
{
//如果是退货,判断退货明细,数量是否超出可退的数量
var aftersalesItems = formatAftersalesItems(orderInfo, items, aftersalesId);
if (!aftersalesItems.status)
{
return aftersalesItems;
}
//保存售后明细
if (aftersalesItems.data != null)
{
var list = aftersalesItems.data as List<CoreCmsBillAftersalesItem>;
await itemServices.InsertAsync(list);
}
}
await itemServices.InsertAsync(aftersalesItemData);
//保存图片
if (images.Length > 0)
@@ -266,7 +285,7 @@ namespace CoreCms.Net.Services
{
imagesList.Add(new CoreCmsBillAftersalesImages()
{
aftersalesId = aftersalesId,
aftersalesId = afterSalesId,
imageUrl = images[i],
sortId = i
});
@@ -277,11 +296,15 @@ namespace CoreCms.Net.Services
//消息模板推送给客户
SmsHelper.SendMessage();
orderInfo.billAftersalesId = afterSalesId;
// 微信自定义交易组件-同步创建售后单
await _redisOperationRepository.ListLeftPushAsync(RedisMessageQueueKey.TransactionComponentAfterSaleCreateSync, JsonConvert.SerializeObject(orderInfo));
jm.status = true;
jm.data = billAftersales;
jm.msg = "售后申请成功!";
return jm;
}
#endregion
@@ -385,7 +408,7 @@ namespace CoreCms.Net.Services
/// <param name="items">前台选择的退货商品信息</param>
/// <param name="aftersalesId">将要保存的售后单的单号</param>
/// <returns></returns>
private WebApiCallBack formatAftersalesItems(CoreCmsOrder orderInfo, JArray items, string aftersalesId)
private WebApiCallBack FormatAfterSalesItems(CoreCmsOrder orderInfo, JArray items, string aftersalesId)
{
var jm = new WebApiCallBack();
var data = new List<CoreCmsBillAftersalesItem>();
@@ -433,7 +456,6 @@ namespace CoreCms.Net.Services
{
jm.msg = GlobalErrorCodeVars.Code13202;
jm.data = jm.code = 13202;
return jm;
}
jm.status = true;
@@ -533,7 +555,7 @@ namespace CoreCms.Net.Services
var billAftersalesItems = new List<CoreCmsBillAftersalesItem>();
if (items.Count > 0)
{
var aftersalesItems = formatAftersalesItems(orderInfo, items, aftersalesId);
var aftersalesItems = FormatAfterSalesItems(orderInfo, items, aftersalesId);
if (!aftersalesItems.status)
{
return aftersalesItems;
@@ -698,7 +720,6 @@ namespace CoreCms.Net.Services
}
}
}
//更新状态
await orderServices.UpdateAsync(
p => new CoreCmsOrder() { status = orderInfo.status, payStatus = orderInfo.payStatus },

View File

@@ -20,8 +20,8 @@ using CoreCms.Net.IServices;
using CoreCms.Net.Loging;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.ViewModels.Api;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Model.ViewModels.DTO;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Utility.Helper;
using Flurl.Http;
using Google.Protobuf.WellKnownTypes;
@@ -69,6 +69,7 @@ namespace CoreCms.Net.Services
_redisOperationRepository = redisOperationRepository;
}
/// <summary>
/// 批量发货,可以支持多个订单合并发货,单个订单拆分发货等。
/// </summary>
@@ -82,8 +83,9 @@ namespace CoreCms.Net.Services
/// <param name="shipAreaId">省市区id</param>
/// <param name="shipAddress">收货地址</param>
/// <param name="memo">发货描述</param>
/// <param name="deliveryCompanyId">直播物流编码</param>
/// <returns></returns>
public async Task<WebApiCallBack> BatchShip(string[] orderId, string logiCode, string logiNo, Dictionary<int, int> items, int storeId = 0, string shipName = "", string shipMobile = "", int shipAreaId = 0, string shipAddress = "", string memo = "")
public async Task<WebApiCallBack> BatchShip(string[] orderId, string logiCode, string logiNo, Dictionary<int, int> items, int storeId = 0, string shipName = "", string shipMobile = "", int shipAreaId = 0, string shipAddress = "", string memo = "", string deliveryCompanyId = "")
{
using var container = _serviceProvider.CreateScope();
var jm = new WebApiCallBack();
@@ -139,7 +141,7 @@ namespace CoreCms.Net.Services
billDelivery.status = (int)GlobalEnumVars.BillDeliveryStatus.Already;
billDelivery.memo = memo;
billDelivery.createTime = DateTime.Now;
billDelivery.thirdPartylogiCode = deliveryCompanyId;
//设置发货明细
var bdRel = new List<CoreCmsBillDeliveryItem>();
@@ -229,15 +231,14 @@ namespace CoreCms.Net.Services
/// <param name="shipAreaId">省市区id</param>
/// <param name="shipAddress">收货地址</param>
/// <param name="memo">发货描述</param>
/// <param name="deliveryCompanyId">直播物流编码</param>
/// <returns></returns>
public async Task<WebApiCallBack> Ship(string orderId, string logiCode, string logiNo, Dictionary<int, int> items, int storeId = 0, string shipName = "", string shipMobile = "", int shipAreaId = 0, string shipAddress = "", string memo = "")
public async Task<WebApiCallBack> Ship(string orderId, string logiCode, string logiNo, Dictionary<int, int> items, int storeId = 0, string shipName = "", string shipMobile = "", int shipAreaId = 0, string shipAddress = "", string memo = "", string deliveryCompanyId = "")
{
using var container = _serviceProvider.CreateScope();
var jm = new WebApiCallBack();
var orderService = container.ServiceProvider.GetService<ICoreCmsOrderServices>();
var stockServices = container.ServiceProvider.GetService<ICoreCmsStockServices>();
//获取订单详情
var dInfoResult = await orderService.GetOrderShipInfo(orderId);
if (!dInfoResult.status)
@@ -287,7 +288,7 @@ namespace CoreCms.Net.Services
billDelivery.status = (int)GlobalEnumVars.BillDeliveryStatus.Already;
billDelivery.memo = memo;
billDelivery.createTime = DateTime.Now;
billDelivery.thirdPartylogiCode = deliveryCompanyId;
//设置发货明细
var bdRel = new List<CoreCmsBillDeliveryItem>();
@@ -315,6 +316,7 @@ namespace CoreCms.Net.Services
//构建发货单明细
var bdItem = new CoreCmsBillDeliveryItem();
bdItem.deliveryId = billDelivery.deliveryId;
bdItem.orderId = orderItem.orderId;
bdItem.productId = orderItem.productId;
bdItem.goodsId = orderItem.goodsId;
bdItem.bn = orderItem.bn;
@@ -322,7 +324,7 @@ namespace CoreCms.Net.Services
bdItem.weight = orderItem.weight;
bdItem.name = orderItem.name;
bdItem.addon = !string.IsNullOrEmpty(orderItem.addon) ? orderItem.addon : "";
bdItem.nums = item.Value;
bdItem.nums = orderItem.nums;
bdRel.Add(bdItem);
}
if (tNum < 1)
@@ -342,16 +344,8 @@ namespace CoreCms.Net.Services
//订单更新发货状态,发送各种消息
await OrderShip(orderInfo, items, billDelivery, storeId);
var stock = new CoreCmsStock
{
manager = 0,
id = billDelivery.deliveryId,
createTime = DateTime.Now,
type = (int)GlobalEnumVars.StockType.DeliverGoods,
memo = "订单发货操作,发货单号:" + billDelivery.deliveryId
};
await stockServices.InsertAsync(stock);
//发货同步处理
await _redisOperationRepository.ListLeftPushAsync(RedisMessageQueueKey.TransactionComponentOrderShipSync, billDelivery.deliveryId);
jm.status = true;
jm.msg = "发货成功";

View File

@@ -7,13 +7,13 @@
<ItemGroup>
<PackageReference Include="Aliyun.OSS.SDK.NetCore" Version="2.13.0" />
<PackageReference Include="Essensoft.Paylink.WeChatPay" Version="4.0.8" />
<PackageReference Include="Flurl.Http" Version="3.2.1" />
<PackageReference Include="Flurl.Http" Version="3.2.2" />
<PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" />
<PackageReference Include="Qc.YilianyunSdk" Version="1.0.7" />
<PackageReference Include="Qiniu" Version="8.0.0" />
<PackageReference Include="SixLabors.ImageSharp" Version="1.0.4" />
<PackageReference Include="SixLabors.ImageSharp" Version="2.0.0" />
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="1.0.0-beta13" />
<PackageReference Include="System.Drawing.Common" Version="6.0.0" />
<PackageReference Include="Tencent.QCloud.Cos.Sdk" Version="5.4.26" />

View File

@@ -25,13 +25,11 @@ using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.Entities.Expression;
using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Model.ViewModels.Basics;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Model.ViewModels.DTO;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Utility.Extensions;
using CoreCms.Net.Utility.Helper;
using Microsoft.AspNetCore.Http;
using Microsoft.Net.Http.Headers;
using Microsoft.OpenApi.Validations;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using SqlSugar;
@@ -75,6 +73,11 @@ namespace CoreCms.Net.Services
private readonly ISysTaskLogServices _taskLogServices;
private readonly ICoreCmsPromotionRecordServices _promotionRecordServices;
private readonly IRedisOperationRepository _redisOperationRepository;
private readonly ICoreCmsUserWeChatInfoServices _userWeChatInfoServices;
private readonly IWeChatTransactionComponentOrderServices _tcOrderServices;
public CoreCmsOrderServices(ICoreCmsOrderRepository dal
, IHttpContextAccessor httpContextAccessor
@@ -100,7 +103,7 @@ namespace CoreCms.Net.Services
, ICoreCmsPaymentsServices paymentsServices
, ICoreCmsBillRefundServices billRefundServices
, ICoreCmsBillLadingServices billLadingServices
, ICoreCmsBillReshipServices billReshipServices, ICoreCmsMessageCenterServices messageCenterServices, ICoreCmsGoodsCommentServices goodsCommentServices, ISysTaskLogServices taskLogServices, ICoreCmsPromotionRecordServices promotionRecordServices, IRedisOperationRepository redisOperationRepository)
, ICoreCmsBillReshipServices billReshipServices, ICoreCmsMessageCenterServices messageCenterServices, ICoreCmsGoodsCommentServices goodsCommentServices, ISysTaskLogServices taskLogServices, ICoreCmsPromotionRecordServices promotionRecordServices, IRedisOperationRepository redisOperationRepository, ICoreCmsUserWeChatInfoServices userWeChatInfoServices, IWeChatTransactionComponentOrderServices tcOrderServices)
{
this._dal = dal;
base.BaseDal = dal;
@@ -134,6 +137,8 @@ namespace CoreCms.Net.Services
_taskLogServices = taskLogServices;
_promotionRecordServices = promotionRecordServices;
_redisOperationRepository = redisOperationRepository;
_userWeChatInfoServices = userWeChatInfoServices;
_tcOrderServices = tcOrderServices;
}
@@ -246,6 +251,7 @@ namespace CoreCms.Net.Services
order.status = (int)GlobalEnumVars.OrderStatus.Normal;
order.confirmStatus = (int)GlobalEnumVars.OrderConfirmStatus.ReceiptNotConfirmed;
order.createTime = DateTime.Now;
order.scene = scene;
//开始事务处理
await _dal.InsertAsync(order);
@@ -820,7 +826,7 @@ namespace CoreCms.Net.Services
if (item.status == (int)GlobalEnumVars.BillAftersalesStatus.WaitAudit) break;
}
}
//把退款金额和退货商品查出来
//把退款金额和退货商品查出来判断是否能进行售后
AfterSalesVal(order, aftersaleLevel);
//促销信息
if (!string.IsNullOrEmpty(order.promotionList))
@@ -830,7 +836,7 @@ namespace CoreCms.Net.Services
//发票信息
var invoiceModel = await _invoiceServices.GetOrderInvoiceInfo(order.orderId);
if (invoiceModel != null && invoiceModel.status)
if (invoiceModel is { status: true })
{
order.invoice = invoiceModel.data;
}
@@ -844,6 +850,9 @@ namespace CoreCms.Net.Services
};
}
order.tcOrder = await _tcOrderServices.QueryByClauseAsync(p => p.outOrderId == order.orderId);
jm.status = true;
jm.data = order;
jm.msg = GlobalConstVars.GetDataSuccess;
@@ -853,9 +862,9 @@ namespace CoreCms.Net.Services
#endregion
#region 退退
#region 退退
/// <summary>
/// 把退款金额和退货商品数量保存起来
/// 把退款金额和退货商品查出来判断是否能进行售后
/// </summary>
/// <param name="order"></param>
/// <param name="aftersaleLevel">取售后单的时候售后单的等级0待审核的和审核通过的售后单1未审核的2审核通过的</param>
@@ -863,7 +872,7 @@ namespace CoreCms.Net.Services
{
var addAftersalesStatus = false;
var res = _billAftersalesServices.OrderToAftersales(order.orderId, aftersaleLevel);
var resData = res.data as OrderToAftersalesDto;
var resData = res.data as OrderToAfterSalesDto;
//已经退过款的金额
order.refunded = resData.refundMoney;
//算退货商品数量
@@ -1126,7 +1135,7 @@ namespace CoreCms.Net.Services
/// 商家获取订单列表-微信小程序
/// </summary>
/// <returns></returns>
public async Task<WebApiCallBack> GetOrderPageByMerchant(string dateType, string[] date, int status = 0, int storeId = 0, int page = 1, int limit = 5)
public async Task<WebApiCallBack> GetOrderPageByMerchant(string dateType, string[] date, int status = 0, int receiptType = 0, int storeId = 0, int page = 1, int limit = 5)
{
var jm = new WebApiCallBack { status = true };
@@ -1139,6 +1148,12 @@ namespace CoreCms.Net.Services
where = where.And(p => p.storeId == storeId);
}
if (receiptType > 0)
{
where = where.And(p => p.receiptType == receiptType);
}
DateTime dt = DateTime.Now;
if (dateType == "today")
@@ -1171,6 +1186,7 @@ namespace CoreCms.Net.Services
//本月第一天时间
DateTime dtFirst = dt.AddDays(1 - (dt.Day));
dtFirst = new DateTime(dtFirst.Year, dtFirst.Month, dtFirst.Day, 0, 0, 0);
//获得某年某月的天数
int dayCount = DateTime.DaysInMonth(dt.Date.Year, dt.Date.Month);
//本月最后一天时间
@@ -1231,7 +1247,6 @@ namespace CoreCms.Net.Services
#endregion
#region -
/// <summary>
/// 商家获取订单列表通过检索手机号码和订单号-微信小程序
@@ -1296,6 +1311,7 @@ namespace CoreCms.Net.Services
#endregion
#region
/// <summary>
@@ -1329,15 +1345,14 @@ namespace CoreCms.Net.Services
order.paymentCode = paymentCode;
order.payStatus = (int)GlobalEnumVars.OrderPayStatus.Yes;
var isUpdate = await _dal.UpdateAsync(
p => new CoreCmsOrder()
{
paymentCode = paymentCode,
payStatus = (int)GlobalEnumVars.OrderPayStatus.Yes,
paymentTime = order.paymentTime,
payedAmount = order.orderAmount,
updateTime = order.updateTime
}, p => p.orderId == order.orderId);
var isUpdate = await _dal.UpdateAsync(p => new CoreCmsOrder()
{
paymentCode = paymentCode,
payStatus = (int)GlobalEnumVars.OrderPayStatus.Yes,
paymentTime = order.paymentTime,
payedAmount = order.orderAmount,
updateTime = order.updateTime
}, p => p.orderId == order.orderId);
jm.data = isUpdate;
if (isUpdate)
@@ -1723,6 +1738,7 @@ namespace CoreCms.Net.Services
}
#endregion
#region
/// <summary>
/// 构建单个需要发货的数据,和发货单密切关联
@@ -1772,7 +1788,6 @@ namespace CoreCms.Net.Services
}
AfterSalesVal(orderInfo, 0);
if (!jm.status)
{
return jm;
@@ -1885,7 +1900,7 @@ namespace CoreCms.Net.Services
Dictionary<int, int> items, string shipName, string shipMobile, string shipAddress, string memo, int storeId = 0, int shipAreaId = 0, string deliveryCompanyId = "")
{
var result = await _billDeliveryServices.BatchShip(ids, logiCode, logiNo, items, storeId, shipName, shipMobile, shipAreaId, shipAddress, memo);
var result = await _billDeliveryServices.BatchShip(ids, logiCode, logiNo, items, storeId, shipName, shipMobile, shipAreaId, shipAddress, memo, deliveryCompanyId);
return result;
}
@@ -1911,14 +1926,12 @@ namespace CoreCms.Net.Services
public async Task<WebApiCallBack> Ship(string orderId, string logiCode, string logiNo,
Dictionary<int, int> items, string shipName, string shipMobile, string shipAddress, string memo, int storeId = 0, int shipAreaId = 0, string deliveryCompanyId = "")
{
var result = await _billDeliveryServices.Ship(orderId, logiCode, logiNo, items, storeId, shipName, shipMobile, shipAreaId, shipAddress, memo);
var result = await _billDeliveryServices.Ship(orderId, logiCode, logiNo, items, storeId, shipName, shipMobile, shipAreaId, shipAddress, memo, deliveryCompanyId);
return result;
}
#endregion
#region
/// <summary>
@@ -1991,6 +2004,10 @@ namespace CoreCms.Net.Services
//订单完成结算订单
await _redisOperationRepository.SortedSetAddAsync(RedisMessageQueueKey.OrderFinishCommand, orderInfo.orderId, score);
// 微信自定义交易组件-订单确认收货
await _redisOperationRepository.ListLeftPushAsync(RedisMessageQueueKey.TransactionComponentOrderDeliveryRecieveSync, JsonConvert.SerializeObject(orderInfo));
jm.status = true;
jm.msg = "订单完成";
@@ -2026,12 +2043,19 @@ namespace CoreCms.Net.Services
where = where.And(p => p.status == (int)GlobalEnumVars.OrderStatus.Normal);
where = where.And(p => p.confirmStatus != (int)GlobalEnumVars.OrderConfirmStatus.ConfirmReceipt);
var orderInfo = await _dal.QueryByClauseAsync(where);
if (orderInfo == null)
{
jm.status = false;
jm.msg = "订单查询失败";
}
var bl = await _dal.UpdateAsync(
p => new CoreCmsOrder()
{
confirmStatus = (int)GlobalEnumVars.OrderConfirmStatus.ConfirmReceipt,
confirmTime = DateTime.Now
}, where);
}, p => p.orderId == orderInfo.orderId);
if (!bl)
{
jm.msg = "确认收货失败";
@@ -2050,6 +2074,10 @@ namespace CoreCms.Net.Services
};
await _orderLogServices.InsertAsync(orderLog);
// 微信自定义交易组件-订单确认收货
await _redisOperationRepository.ListLeftPushAsync(RedisMessageQueueKey.TransactionComponentOrderDeliveryRecieveSync, JsonConvert.SerializeObject(orderInfo));
jm.status = true;
jm.msg = "确认收货成功";
@@ -2096,6 +2124,7 @@ namespace CoreCms.Net.Services
}
#endregion
#region
/// <summary>
/// 重写根据条件列表数据

View File

@@ -151,6 +151,7 @@ namespace CoreCms.Net.Services
if (payment != null)
{
var is_matched = 0;
var sceneResponse = new ShopSceneCheckResponse();
#region
var orderModel = await orderServices.QueryByClauseAsync(p => p.orderId == payment.sourceId);
var orderInfo = new OrderInfo();
@@ -165,9 +166,10 @@ namespace CoreCms.Net.Services
sceneRequest.AccessToken = accessToken;
sceneRequest.Scene = orderModel.scene;
var sceneResponse = await client.ExecuteShopSceneCheckAsync(sceneRequest);
sceneResponse = await client.ExecuteShopSceneCheckAsync(sceneRequest);
is_matched = sceneResponse.IsMatched ? 1 : 0;
if (sceneResponse.IsSuccessful() && sceneResponse.IsMatched == true)
//if (sceneResponse.IsSuccessful() && sceneResponse.IsMatched == true)
if (sceneResponse.IsSuccessful())
{
//基础
orderInfo.create_time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
@@ -246,6 +248,8 @@ namespace CoreCms.Net.Services
});
}
var tcOrder = await weChatTransactionComponentOrderServices.QueryByClauseAsync(p => p.outOrderId == orderModel.orderId);
if (tcOrder == null)
{
@@ -267,7 +271,8 @@ namespace CoreCms.Net.Services
orderInfo,
checkSceneResult = new
{
is_matched
is_matched,
sceneResponse
}
};

View File

@@ -156,7 +156,6 @@ namespace CoreCms.Net.Services
item.parameters = item.parameters.Replace("/images/empty-banner.png", "/static/images/common/empty-banner.png");
if (item.widgetCode == "search") //搜索
{
dto.parameters = (JObject)JsonConvert.DeserializeObject(item.parameters);
@@ -280,6 +279,7 @@ namespace CoreCms.Net.Services
{
var list = JArray.Parse(parameters["list"].ToString());
var newList = new JArray();
var count = 0;
foreach (var jToken in list)
{
var child = (JObject)jToken;
@@ -373,6 +373,7 @@ namespace CoreCms.Net.Services
child.Add("list", new JArray());
}
}
count++;
newList.Add(child);
}
@@ -384,7 +385,6 @@ namespace CoreCms.Net.Services
}
dto.parameters = parameters;
}
else if (item.widgetCode == "goods")
{
JObject parameters = (JObject)JsonConvert.DeserializeObject(item.parameters);
@@ -437,7 +437,7 @@ namespace CoreCms.Net.Services
else
{
var orderBy = string.Empty;
var goodidsStr = string.Empty;
string goodidsStr;
if (parameters != null && parameters.ContainsKey("list"))
{
JArray result = JArray.Parse(parameters["list"].ToString());
@@ -533,10 +533,10 @@ namespace CoreCms.Net.Services
var promotionId = ((JObject)ss)["id"].ObjectToInt(0);
if (promotionId > 0)
{
var promotionModel = await _promotionServices.QueryByClauseAsync(p => p.id == promotionId && p.isEnable == true && p.startTime <= dt && p.endTime > dt);
var promotionModel = await _promotionServices.QueryByClauseAsync(p => p.id == promotionId && p.isEnable == true && p.startTime <= dt && p.endTime > dt, true);
if (promotionModel != null)
{
var condition = await _promotionConditionServices.QueryByClauseAsync(p => p.promotionId == promotionId);
var condition = await _promotionConditionServices.QueryByClauseAsync(p => p.promotionId == promotionId, true);
if (condition != null)
{
var obj = (JObject)JsonConvert.DeserializeObject(condition.parameters);