mirror of
https://github.com/CoreUnion/CoreShop.git
synced 2026-10-18 06:21:20 +08:00
71497600a5
* Merge branch 'master' into dahuihui/develop * 【后端】发货方式调增为批量订单发货和单个订单发货;【后端】增加【门店自提】自动发货,并支持后台设置开启,当开启后【门店自提】订单将自动发货,… * 调试商品展示页面 * 因mysql不支持一定格式数据排序,调整部分longtext字段为text格式,保持富文本字段为longtext格式 * Merge branch 'master' into dahuihui/develop * 修复后台页面设计,导航组跳转问题 #I42RJ4 #I3VUZR * 修复后台页面设计,导航组跳转问题 #I42RJ4 * Merge branch 'master' into dahuihui/develop * Merge branch 'master' into dahuihui/develop * 微信小程序登录获取手机号码不成功 * 修复代理商品池商品同步价格展示问题。 * Merge branch 'develop' into dahuihui/develop * 修复sku删除单个货品后,未清理cache导致重复加载的问题。(感谢vikinghunter提供修改建议) #I44XMY * 1、【后端】修复后台上传类型不同导致文件夹路径问题差异化问题。 #I45QKZ * Merge branch 'develop' into dahuihui/develop * 1、【后端】修复保存商品未更新sku序列问题。#I44OOG * 修复更新pages主键无说明导致更新失败问题。 * 修复sku输入小写逗号,导致前端展示会被截断的问题。 * 修复代码生成器引用实体目录错误问题。 * Merge branch 'develop' into dahuihui/develop * 修复redis提示端口号错误问题。 * 【接口】修复微信支付失败回调存储数据长度过短导致写入失败问题。 * 同步 * 增加消息转发类型 * 调整细节 * 修复github链接 * 1、【后端】移除业务逻辑中的【MediatR】及中介者模式,启用【Redis队列】处理。 * Merge branch 'develop' into dahuihui/develop * 升级编辑器为CKEditor5 * Merge branch 'develop' into dahuihui/develop * Merge branch 'develop' into dahuihui/develop * 【后端】优化后端设置权限角色,反射controller和action的效率问题。 * 【后端】修复后端编辑商品问题。 * 【后端】修复腾讯云cos存储未调用bucket问题。#I42DF0 * Merge branch 'develop' into dahuihui/develop * 启用新域名及演示平台 * Merge branch 'develop' into dahuihui/develop * Merge branch 'develop' into dahuihui/develop * 调整说明 * Merge branch 'develop' into dahuihui/develop * 删除不需要的菜单 * 修复域名转发获取ip地址长度过长问题。 * 1、【后端】调整全局错误返回提示语。2、【数据库】修复20日删除3个表后,未清理干净问题。 * Merge branch 'develop' into dahuihui/develop * Merge branch 'develop' into dahuihui/develop * 调整全局错误返回提示语 * 修复商品批量处理报错的问题并优化展示界面。#I3X8PP * Merge branch 'develop' into dahuihui/develop * Merge branch 'develop' into dahuihui/develop * 增加过滤敏感词的功能。#I3W6CM * 增加Issue 和 Pull Request 模板 * 修复自定义上传路径上传至站点根目录,而非wwwroot的问题 #I41TD1 * Merge branch 'develop' into dahuihui/develop * 修复自定义上传路径的表单命名异常问题 * 使用新数据库 * 【数据库】修复mysql数据库decimal类型未带小数的问题。#I3WAUY * 更新数据库及脚本 * 2021-07-20 * Merge branch 'develop' into dahuihui/develop * 修复webapi不进入调试断点的问题。 * Merge branch 'develop' into dahuihui/develop * 修复后台前后端分离table面板启用自定义域名问题。 * 修复后台前后端分离域名未增加到html问题。 * Merge branch 'develop' into dahuihui/develop * 【后端】修复修改登录用户真实姓名长度问题。 * 修复后台管理配送方式维护错误问题 * 1、修复小程序注册问题,导致交互事情。不然盛派的组件有bug,在不注册微信公众号只注册微信小程序的时候,进行小程序消息操作,默认还是走的是微… * 修复消息模板不推送的问题 * Merge branch 'develop' into dahuihui/develop * Merge branch 'develop' into dahuihui/develop * 修复过期失效文档 * 调整代码生成器,增加初始化事务 * 调整接口端提示界面 * 修复弹窗不居中问题 * 调整一些命名方式 * 修复uni-app前端,用户订单列表【确认收货】按钮失效问题 * 1、修复mysql数据库下,报表统计sql的语法错误。2、为方便前端在不部署接口及后端的情况下测试uni-app前端,默认增加了测试接口地址… * Merge branch 'develop' into dahuihui/develop * 调整命名 * 增加docker-compose部署 * Merge branch 'develop' into dahuihui/develop * 修复因linux下存在数据与文件名称大小写不对应,导致找不到数据库表的问题,特重新发布一份表名与实体名称一一对应脚本。 * 新mysql表名存在大小写问题
100 lines
3.7 KiB
C#
100 lines
3.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using CoreCms.Net.Configuration;
|
|
using CoreCms.Net.IServices;
|
|
using CoreCms.Net.Loging;
|
|
using CoreCms.Net.Model.Entities;
|
|
using CoreCms.Net.Model.ViewModels.UI;
|
|
using CoreCms.Net.Utility.Extensions;
|
|
using CoreCms.Net.Utility.Helper;
|
|
using Essensoft.Paylink.WeChatPay.V2;
|
|
using Essensoft.Paylink.WeChatPay.V2.Notify;
|
|
using InitQ.Abstractions;
|
|
using InitQ.Attributes;
|
|
using Microsoft.Extensions.Logging;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace CoreCms.Net.RedisMQ.Subscribe
|
|
{
|
|
/// <summary>
|
|
/// 门店订单自动发货
|
|
/// </summary>
|
|
public class OrderAutomaticDeliverySubscribe : IRedisSubscribe
|
|
{
|
|
|
|
private readonly ICoreCmsOrderServices _orderServices;
|
|
private readonly ICoreCmsOrderItemServices _orderItemServices;
|
|
private readonly ICoreCmsSettingServices _settingServices;
|
|
|
|
|
|
public OrderAutomaticDeliverySubscribe(ICoreCmsSettingServices settingServices, ICoreCmsAgentOrderServices agentOrderServices, ICoreCmsOrderServices orderServices, ICoreCmsOrderItemServices orderItemServices)
|
|
{
|
|
_settingServices = settingServices;
|
|
_orderServices = orderServices;
|
|
_orderItemServices = orderItemServices;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 订单完成时,门店订单自动发货
|
|
/// </summary>
|
|
/// <param name="msg"></param>
|
|
/// <returns></returns>
|
|
[Subscribe(RedisMessageQueueKey.OrderAutomaticDelivery)]
|
|
|
|
private async Task OrderAutomaticDelivery(string msg)
|
|
{
|
|
try
|
|
{
|
|
var order = JsonConvert.DeserializeObject<CoreCmsOrder>(msg);
|
|
if (order != null)
|
|
{
|
|
var goodItems = await _orderItemServices.QueryListByClauseAsync(p => p.orderId == order.orderId);
|
|
if (!goodItems.Any())
|
|
{
|
|
NLogUtil.WriteAll(NLog.LogLevel.Info, LogType.RedisMessageQueue, "订单自动发货", "明细获取失败");
|
|
return;
|
|
}
|
|
|
|
Dictionary<int, int> items = new Dictionary<int, int>();
|
|
|
|
goodItems.ForEach(p =>
|
|
{
|
|
items.Add(p.productId, p.nums);
|
|
});
|
|
|
|
var result = new WebApiCallBack();
|
|
|
|
if (order.receiptType == (int)GlobalEnumVars.OrderReceiptType.SelfDelivery)
|
|
{
|
|
result = await _orderServices.Ship(order.orderId, "shangmenziti", "无", items, order.shipName, order.shipMobile, order.shipAddress, order.memo, order.storeId, order.shipAreaId);
|
|
}
|
|
else if (order.receiptType == (int)GlobalEnumVars.OrderReceiptType.IntraCityService)
|
|
{
|
|
result = await _orderServices.Ship(order.orderId, "benditongcheng", "无", items, order.shipName, order.shipMobile, order.shipAddress, order.memo, order.storeId, order.shipAreaId);
|
|
}
|
|
|
|
NLogUtil.WriteAll(result.status ? NLog.LogLevel.Info : NLog.LogLevel.Error,
|
|
LogType.RedisMessageQueue, "订单自动发货", JsonConvert.SerializeObject(result));
|
|
}
|
|
else
|
|
{
|
|
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "订单自动发货", "订单获取失败");
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "订单自动发货", msg, ex);
|
|
throw;
|
|
}
|
|
await Task.CompletedTask;
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|