mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 17:23:26 +08:00
2022-01-11
## 1.2.9 开源社区版: 【修复】修复全局定义微信配置引用的配置文件命名错误问题。 【修复】修复自动生成sku模式价格出现货号重复情况,#I4Q4WU ## 0.0.6 会员先行版: 【新增】新增微信自定义交易组件,实现微信视频号直播带货功能。
This commit is contained in:
@@ -160,5 +160,29 @@ namespace CoreCms.Net.Configuration
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region 微信配置================================================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 微信小程序WxOpenAppSecret
|
||||||
|
/// </summary>
|
||||||
|
public static readonly string WxOpenAppId = AppSettingsHelper.GetContent("WeChatOptions", "WxOpenAppId");
|
||||||
|
/// <summary>
|
||||||
|
/// 微信小程序WxOpenAppSecret
|
||||||
|
/// </summary>
|
||||||
|
public static readonly string WxOpenAppSecret = AppSettingsHelper.GetContent("WeChatOptions", "WxOpenAppSecret");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 微信公众号WeiXinAppId
|
||||||
|
/// </summary>
|
||||||
|
public static readonly string WeiXinAppId = AppSettingsHelper.GetContent("WeChatOptions", "WeiXinAppId");
|
||||||
|
/// <summary>
|
||||||
|
/// 微信公众号WeiXinAppSecret
|
||||||
|
/// </summary>
|
||||||
|
public static readonly string WeiXinAppSecret = AppSettingsHelper.GetContent("WeChatOptions", "WeiXinAppSecret");
|
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -279,6 +279,9 @@
|
|||||||
public const string CacheCoreCmsServiceDescription = "CacheCoreCmsServiceDescription";
|
public const string CacheCoreCmsServiceDescription = "CacheCoreCmsServiceDescription";
|
||||||
public const string CacheCoreCmsAgentGrade = "CacheCoreCmsAgentGrade";
|
public const string CacheCoreCmsAgentGrade = "CacheCoreCmsAgentGrade";
|
||||||
|
|
||||||
|
public const string CacheWeChatTCThirdCatList = "CacheWeChatTCThirdCatList";
|
||||||
|
public const string CacheWeChatTransactionComponentGood = "CacheWeChatTransactionComponentGood";
|
||||||
|
public const string CacheWeChatTransactionComponentDeliveryCompany = "CacheWeChatTransactionComponentDeliveryCompany";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -382,7 +385,22 @@
|
|||||||
public const string SmsQueue = "SmsQueue";
|
public const string SmsQueue = "SmsQueue";
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 微信自定义交易组件-同步订单状态
|
||||||
|
/// </summary>
|
||||||
|
public const string TransactionComponentPayOrderSync = "TransactionComponentPayOrderSyncQueue";
|
||||||
|
/// <summary>
|
||||||
|
/// 微信自定义交易组件-订单发货
|
||||||
|
/// </summary>
|
||||||
|
public const string TransactionComponentOrderShipSync = "TransactionComponentOrderShipSyncQueue";
|
||||||
|
/// <summary>
|
||||||
|
/// 微信自定义交易组件-订单确认收货
|
||||||
|
/// </summary>
|
||||||
|
public const string TransactionComponentOrderDeliveryRecieveSync = "TransactionComponentOrderDeliveryRecieveSyncQueue";
|
||||||
|
/// <summary>
|
||||||
|
/// 微信自定义交易组件-同步创建售后单
|
||||||
|
/// </summary>
|
||||||
|
public const string TransactionComponentAfterSaleCreateSync = "TransactionComponentAfterSaleCreateSyncQueue";
|
||||||
|
|
||||||
|
|
||||||
//用户相关
|
//用户相关
|
||||||
@@ -394,5 +412,31 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 和uniapp相关的设置
|
||||||
|
/// </summary>
|
||||||
|
public static class UniAppConst
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 订单地址
|
||||||
|
/// </summary>
|
||||||
|
public static string OrderPath(string orderId)
|
||||||
|
{
|
||||||
|
return "/pages/member/order/orderdetail?orderId=" + orderId;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单地址
|
||||||
|
/// </summary>
|
||||||
|
public static string GoodDetail(string goodId)
|
||||||
|
{
|
||||||
|
return "/pages/goods/goodDetails/goodDetails?id=" + goodId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,13 +28,16 @@ namespace CoreCms.Net.Core.Config
|
|||||||
m.ConnectionString = AppSettingsConstVars.RedisConfigConnectionString;
|
m.ConnectionString = AppSettingsConstVars.RedisConfigConnectionString;
|
||||||
//对应的订阅者类,需要new一个实例对象,当然你也可以传参,比如日志对象
|
//对应的订阅者类,需要new一个实例对象,当然你也可以传参,比如日志对象
|
||||||
m.ListSubscribe = new List<Type>() {
|
m.ListSubscribe = new List<Type>() {
|
||||||
|
typeof(DemoSubscribe),
|
||||||
typeof(OrderAgentOrDistributionSubscribe),
|
typeof(OrderAgentOrDistributionSubscribe),
|
||||||
typeof(OrderAutomaticDeliverySubscribe),
|
typeof(OrderAutomaticDeliverySubscribe),
|
||||||
typeof(OrderFinishCommandSubscribe),
|
typeof(OrderFinishCommandSubscribe),
|
||||||
typeof(OrderPrintSubscribe),
|
typeof(OrderPrintSubscribe),
|
||||||
|
|
||||||
typeof(LogingSubscribe),
|
typeof(TCOrderAfterSaleCreateSyncSubscribe),
|
||||||
|
typeof(TCOrderDeliveryRecieveSyncSubscribe),
|
||||||
|
typeof(TCOrderShipSyncSubscribe),
|
||||||
|
typeof(TCPayOrderSyncSubscribe),
|
||||||
typeof(UserSubscribe),
|
typeof(UserSubscribe),
|
||||||
typeof(WeChatPayNoticeSubscribe),
|
typeof(WeChatPayNoticeSubscribe),
|
||||||
typeof(SendWxTemplateMessageSubscribe),
|
typeof(SendWxTemplateMessageSubscribe),
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/8/1 22:53:11
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.IRepository
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 工厂接口
|
||||||
|
/// </summary>
|
||||||
|
public interface
|
||||||
|
IWeChatTransactionComponentAuditCategoryAuditLogRepository : IBaseRepository<
|
||||||
|
WeChatTransactionComponentAuditCategoryAuditLog>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/14 23:14:23
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
|
||||||
|
namespace CoreCms.Net.IRepository
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件上传类目资质 工厂接口
|
||||||
|
/// </summary>
|
||||||
|
public interface IWeChatTransactionComponentAuditCategoryRepository : IBaseRepository<WeChatTransactionComponentAuditCategory>
|
||||||
|
{
|
||||||
|
#region 重写增删改查操作===========================================================
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> UpdateAsync(WeChatTransactionComponentAuditCategory entity);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> UpdateAsync(List<WeChatTransactionComponentAuditCategory> entity);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID的数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> DeleteByIdAsync(object id);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID集合的数据(批量删除)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ids"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<IPageList<WeChatTransactionComponentAuditCategory>> QueryPageAsync(
|
||||||
|
Expression<Func<WeChatTransactionComponentAuditCategory, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentAuditCategory, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/11 23:48:58
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
|
||||||
|
namespace CoreCms.Net.IRepository
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件快递公司 工厂接口
|
||||||
|
/// </summary>
|
||||||
|
public interface IWeChatTransactionComponentDeliveryCompanyRepository : IBaseRepository<WeChatTransactionComponentDeliveryCompany>
|
||||||
|
{
|
||||||
|
|
||||||
|
#region 获取缓存的所有数据==========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取缓存的所有数据
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<WeChatTransactionComponentDeliveryCompany>> GetCaChe();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新cache
|
||||||
|
/// </summary>
|
||||||
|
Task<List<WeChatTransactionComponentDeliveryCompany>> UpdateCaChe();
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<IPageList<WeChatTransactionComponentDeliveryCompany>> QueryPageAsync(
|
||||||
|
Expression<Func<WeChatTransactionComponentDeliveryCompany, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentDeliveryCompany, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/8/1 22:18:06
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.IRepository
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件商品审核回调 工厂接口
|
||||||
|
/// </summary>
|
||||||
|
public interface
|
||||||
|
IWeChatTransactionComponentGoodAuditLogRepository : IBaseRepository<WeChatTransactionComponentGoodAuditLog>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/4 1:24:53
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
|
||||||
|
namespace CoreCms.Net.IRepository
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件商品列表 工厂接口
|
||||||
|
/// </summary>
|
||||||
|
public interface IWeChatTransactionComponentGoodRepository : IBaseRepository<WeChatTransactionComponentGood>
|
||||||
|
{
|
||||||
|
#region 重写增删改查操作===========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步插入方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> InsertAsync(WeChatTransactionComponentGood entity);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> UpdateAsync(WeChatTransactionComponentGood entity);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> UpdateAsync(List<WeChatTransactionComponentGood> entity);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID的数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> DeleteByIdAsync(object id);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID集合的数据(批量删除)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ids"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<IPageList<WeChatTransactionComponentGood>> QueryPageAsync(
|
||||||
|
Expression<Func<WeChatTransactionComponentGood, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentGood, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/5 23:23:30
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
|
||||||
|
namespace CoreCms.Net.IRepository
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件商品关联sku列表 工厂接口
|
||||||
|
/// </summary>
|
||||||
|
public interface IWeChatTransactionComponentGoodSKURepository : IBaseRepository<WeChatTransactionComponentGoodSKU>
|
||||||
|
{
|
||||||
|
#region 重写增删改查操作===========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步插入方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> InsertAsync(WeChatTransactionComponentGoodSKU entity);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> UpdateAsync(WeChatTransactionComponentGoodSKU entity);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> UpdateAsync(List<WeChatTransactionComponentGoodSKU> entity);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID的数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> DeleteByIdAsync(object id);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID集合的数据(批量删除)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ids"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<IPageList<WeChatTransactionComponentGoodSKU>> QueryPageAsync(
|
||||||
|
Expression<Func<WeChatTransactionComponentGoodSKU, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentGoodSKU, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/10 23:44:16
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
|
||||||
|
namespace CoreCms.Net.IRepository
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件提交订单 工厂接口
|
||||||
|
/// </summary>
|
||||||
|
public interface IWeChatTransactionComponentOrderRepository : IBaseRepository<WeChatTransactionComponentOrder>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/3 16:30:55
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
|
||||||
|
namespace CoreCms.Net.IRepository
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件三级类目 工厂接口
|
||||||
|
/// </summary>
|
||||||
|
public interface IWeChatTransactionComponentThirdCategoryRepository : IBaseRepository<WeChatTransactionComponentThirdCategory>
|
||||||
|
{
|
||||||
|
#region 重写增删改查操作===========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步插入方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> InsertAsync(WeChatTransactionComponentThirdCategory entity);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> UpdateAsync(WeChatTransactionComponentThirdCategory entity);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> UpdateAsync(List<WeChatTransactionComponentThirdCategory> entity);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID的数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> DeleteByIdAsync(object id);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID集合的数据(批量删除)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ids"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 获取缓存的所有数据==========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取缓存的所有数据
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<WeChatTransactionComponentThirdCategory>> GetCaChe();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新cache
|
||||||
|
/// </summary>
|
||||||
|
Task<List<WeChatTransactionComponentThirdCategory>> UpdateCaChe();
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<IPageList<WeChatTransactionComponentThirdCategory>> QueryPageAsync(
|
||||||
|
Expression<Func<WeChatTransactionComponentThirdCategory, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentThirdCategory, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/8/1 22:54:37
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.IServices
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件类目审核回调 服务工厂接口
|
||||||
|
/// </summary>
|
||||||
|
public interface IWeChatTransactionComponentAuditCategoryAuditLogServices : IBaseServices<WeChatTransactionComponentAuditCategoryAuditLog>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/14 23:14:23
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.IServices
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件上传类目资质 服务工厂接口
|
||||||
|
/// </summary>
|
||||||
|
public interface IWeChatTransactionComponentAuditCategoryServices : IBaseServices<WeChatTransactionComponentAuditCategory>
|
||||||
|
{
|
||||||
|
#region 重写增删改查操作===========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步插入方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> InsertAsync(WeChatTransactionComponentAuditCategory entity);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> UpdateAsync(WeChatTransactionComponentAuditCategory entity);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> UpdateAsync(List<WeChatTransactionComponentAuditCategory> entity);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID的数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> DeleteByIdAsync(object id);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID集合的数据(批量删除)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ids"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 刷新审核状态
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity">实体数据</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<AdminUiCallBack> RefreshStatus(WeChatTransactionComponentAuditCategory entity);
|
||||||
|
|
||||||
|
|
||||||
|
#region 重写根据条件查询分页数据
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<IPageList<WeChatTransactionComponentAuditCategory>> QueryPageAsync(
|
||||||
|
Expression<Func<WeChatTransactionComponentAuditCategory, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentAuditCategory, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false);
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/11 23:48:58
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.IServices
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件快递公司 服务工厂接口
|
||||||
|
/// </summary>
|
||||||
|
public interface IWeChatTransactionComponentDeliveryCompanyServices : IBaseServices<WeChatTransactionComponentDeliveryCompany>
|
||||||
|
{
|
||||||
|
|
||||||
|
#region 获取缓存的所有数据==========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取缓存的所有数据
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<WeChatTransactionComponentDeliveryCompany>> GetCaChe();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新cache
|
||||||
|
/// </summary>
|
||||||
|
Task<List<WeChatTransactionComponentDeliveryCompany>> UpdateCaChe();
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 重写根据条件查询分页数据
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<IPageList<WeChatTransactionComponentDeliveryCompany>> QueryPageAsync(
|
||||||
|
Expression<Func<WeChatTransactionComponentDeliveryCompany, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentDeliveryCompany, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false);
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/8/1 22:18:06
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.IServices
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件商品审核回调 服务工厂接口
|
||||||
|
/// </summary>
|
||||||
|
public interface IWeChatTransactionComponentGoodAuditLogServices : IBaseServices<WeChatTransactionComponentGoodAuditLog>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/5 23:23:30
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.IServices
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件商品关联sku列表 服务工厂接口
|
||||||
|
/// </summary>
|
||||||
|
public interface IWeChatTransactionComponentGoodSKUServices : IBaseServices<WeChatTransactionComponentGoodSKU>
|
||||||
|
{
|
||||||
|
#region 重写增删改查操作===========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步插入方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> InsertAsync(WeChatTransactionComponentGoodSKU entity);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> UpdateAsync(WeChatTransactionComponentGoodSKU entity);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> UpdateAsync(List<WeChatTransactionComponentGoodSKU> entity);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID的数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> DeleteByIdAsync(object id);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID集合的数据(批量删除)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ids"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region 重写根据条件查询分页数据
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<IPageList<WeChatTransactionComponentGoodSKU>> QueryPageAsync(
|
||||||
|
Expression<Func<WeChatTransactionComponentGoodSKU, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentGoodSKU, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false);
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/4 1:24:53
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.IServices
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件商品列表 服务工厂接口
|
||||||
|
/// </summary>
|
||||||
|
public interface IWeChatTransactionComponentGoodServices : IBaseServices<WeChatTransactionComponentGood>
|
||||||
|
{
|
||||||
|
#region 重写增删改查操作===========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步插入方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> InsertAsync(WeChatTransactionComponentGood entity);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> UpdateAsync(WeChatTransactionComponentGood entity);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> UpdateAsync(List<WeChatTransactionComponentGood> entity);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID的数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> DeleteByIdAsync(object id);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID集合的数据(批量删除)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ids"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 重写根据条件查询分页数据
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<IPageList<WeChatTransactionComponentGood>> QueryPageAsync(
|
||||||
|
Expression<Func<WeChatTransactionComponentGood, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentGood, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false);
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/10 23:44:16
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.IServices
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件提交订单 服务工厂接口
|
||||||
|
/// </summary>
|
||||||
|
public interface IWeChatTransactionComponentOrderServices : IBaseServices<WeChatTransactionComponentOrder>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/3 16:30:55
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.IServices
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件三级类目 服务工厂接口
|
||||||
|
/// </summary>
|
||||||
|
public interface IWeChatTransactionComponentThirdCategoryServices : IBaseServices<WeChatTransactionComponentThirdCategory>
|
||||||
|
{
|
||||||
|
#region 重写增删改查操作===========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步插入方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> InsertAsync(WeChatTransactionComponentThirdCategory entity);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> UpdateAsync(WeChatTransactionComponentThirdCategory entity);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> UpdateAsync(List<WeChatTransactionComponentThirdCategory> entity);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID的数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> DeleteByIdAsync(object id);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID集合的数据(批量删除)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ids"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region 获取缓存的所有数据==========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取缓存的所有数据
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<WeChatTransactionComponentThirdCategory>> GetCaChe();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新cache
|
||||||
|
/// </summary>
|
||||||
|
Task<List<WeChatTransactionComponentThirdCategory>> UpdateCaChe();
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 重写根据条件查询分页数据
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
new Task<IPageList<WeChatTransactionComponentThirdCategory>> QueryPageAsync(
|
||||||
|
Expression<Func<WeChatTransactionComponentThirdCategory, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentThirdCategory, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false);
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -60,6 +60,13 @@ namespace CoreCms.Net.Model.Entities
|
|||||||
|
|
||||||
public string logiNo { get; set; }
|
public string logiNo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 第三方对接物流编码
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "第三方对接物流编码")]
|
||||||
|
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
public System.String thirdPartylogiCode { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 快递物流信息
|
/// 快递物流信息
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -474,7 +474,21 @@ namespace CoreCms.Net.Model.Entities
|
|||||||
|
|
||||||
[Required(ErrorMessage = "请输入{0}")]
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
public System.Int32 source { get; set; }
|
public System.Int32 source { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 场景值
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "场景值")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 scene { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否评论
|
/// 是否评论
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -226,5 +226,13 @@ namespace CoreCms.Net.Model.Entities
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[SugarColumn(IsIgnore = true)]
|
[SugarColumn(IsIgnore = true)]
|
||||||
public string userNickName { get; set; }
|
public string userNickName { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 交易组件订单
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(IsIgnore = true)]
|
||||||
|
public WeChatTransactionComponentOrder tcOrder { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,200 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/14 23:14:23
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using SqlSugar;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Model.Entities
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件上传类目资质
|
||||||
|
/// </summary>
|
||||||
|
public partial class WeChatTransactionComponentAuditCategory
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 构造函数
|
||||||
|
/// </summary>
|
||||||
|
public WeChatTransactionComponentAuditCategory()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 序列
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "序列")]
|
||||||
|
|
||||||
|
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 id { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 营业执照或组织机构代码证
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "营业执照或组织机构代码证")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
[StringLength(maximumLength:255,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String licenseImage { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 一级类目
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "一级类目")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 level1 { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 一级类目名称
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "一级类目名称")]
|
||||||
|
|
||||||
|
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String level1Name { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 二级类目
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "二级类目")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 level2 { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 二级类目名称
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "二级类目名称")]
|
||||||
|
|
||||||
|
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String level2Name { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 三级类目
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "三级类目")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 level3 { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 三级类目名称
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "三级类目名称")]
|
||||||
|
|
||||||
|
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String level3Name { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 资质材料
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "资质材料")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.String certificateImage { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 审核单
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "审核单")]
|
||||||
|
|
||||||
|
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String auditId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 审核状态
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "审核状态")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32? status { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 品牌id
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "品牌id")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32? brandId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 拒绝原因
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "拒绝原因")]
|
||||||
|
|
||||||
|
|
||||||
|
[StringLength(maximumLength:255,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String rejectReason { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建时间
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "创建时间")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.DateTime createTime { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,104 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/8/1 22:54:37
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using SqlSugar;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Model.Entities
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件类目审核回调
|
||||||
|
/// </summary>
|
||||||
|
public partial class WeChatTransactionComponentAuditCategoryAuditLog
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 构造函数
|
||||||
|
/// </summary>
|
||||||
|
public WeChatTransactionComponentAuditCategoryAuditLog()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 序列
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "序列")]
|
||||||
|
|
||||||
|
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 id { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 审核id
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "审核id")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String auditId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 审核状态,1:已通过,9:拒绝
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "审核状态,1:已通过,9:拒绝")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 status { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 审核类型,本接口固定为2
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "审核类型,本接口固定为2")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 auditType { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 相关信息
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "相关信息")]
|
||||||
|
|
||||||
|
|
||||||
|
[StringLength(maximumLength:250,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String rejectReason { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 数据创建时间
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "数据创建时间")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.DateTime createTime { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/11 23:48:58
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using SqlSugar;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Model.Entities
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件快递公司
|
||||||
|
/// </summary>
|
||||||
|
public partial class WeChatTransactionComponentDeliveryCompany
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 构造函数
|
||||||
|
/// </summary>
|
||||||
|
public WeChatTransactionComponentDeliveryCompany()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 快递公司id
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "快递公司id")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String deliveryId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 快递公司名称
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "快递公司名称")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String deliveryName { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,224 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/5 13:04:13
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using SqlSugar;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Model.Entities
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件商品列表
|
||||||
|
/// </summary>
|
||||||
|
public partial class WeChatTransactionComponentGood
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 构造函数
|
||||||
|
/// </summary>
|
||||||
|
public WeChatTransactionComponentGood()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 序列
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "序列")]
|
||||||
|
|
||||||
|
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 id { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 交易组件平台内部商品ID
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "交易组件平台内部商品ID")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int64 productId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 交易组件创建时间
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "交易组件创建时间")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.DateTime? createTime { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 商品序列
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "商品序列")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String outProductId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 商品标题
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "商品标题")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
[StringLength(maximumLength:255,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String title { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 小程序路径
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "小程序路径")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
[StringLength(maximumLength:255,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String path { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 主图列表
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "主图列表")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
[StringLength(maximumLength:500,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String headImg { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 商品资质图片列表
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "商品资质图片列表")]
|
||||||
|
|
||||||
|
|
||||||
|
[StringLength(maximumLength:500,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String qualificationPics { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 商品详情图文
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "商品详情图文")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.String descInfoDesc { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 商品详情图片列表
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "商品详情图片列表")]
|
||||||
|
|
||||||
|
|
||||||
|
[StringLength(maximumLength:500,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String descInfoImgs { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 三级类目ID
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "三级类目ID")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 thirdCatId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 三级类目名称
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "三级类目名称")]
|
||||||
|
|
||||||
|
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String thirdCatName { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 品牌id
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "品牌id")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 brandId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预留字段
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "预留字段")]
|
||||||
|
|
||||||
|
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String infoVersion { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最后提交时间
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "最后提交时间")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.DateTime? lastPostTime { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最后更新时间
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "最后更新时间")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.DateTime? updateTime { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,104 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/8/1 22:22:12
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using SqlSugar;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Model.Entities
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件商品审核回调
|
||||||
|
/// </summary>
|
||||||
|
public partial class WeChatTransactionComponentGoodAuditLog
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 构造函数
|
||||||
|
/// </summary>
|
||||||
|
public WeChatTransactionComponentGoodAuditLog()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 序列
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "序列")]
|
||||||
|
|
||||||
|
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 id { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 商家自定义商品id
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "商家自定义商品id")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String outProductId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 平台商品id
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "平台商品id")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int64 productId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 审核状态,4:已通过,3:拒绝
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "审核状态,4:已通过,3:拒绝")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 status { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 相关信息
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "相关信息")]
|
||||||
|
|
||||||
|
|
||||||
|
[StringLength(maximumLength:250,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String rejectReason { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建时间
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "创建时间")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.DateTime createTime { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/5 13:04:13
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using SqlSugar;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Model.Entities
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件商品列表
|
||||||
|
/// </summary>
|
||||||
|
public partial class WeChatTransactionComponentGood
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// sku列表
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "SKU")]
|
||||||
|
[SqlSugar.SugarColumn(IsIgnore = true)]
|
||||||
|
public List<WeChatTransactionComponentGoodSKU> sku { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,176 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/31 15:51:02
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using SqlSugar;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Model.Entities
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件商品关联sku列表
|
||||||
|
/// </summary>
|
||||||
|
public partial class WeChatTransactionComponentGoodSKU
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 构造函数
|
||||||
|
/// </summary>
|
||||||
|
public WeChatTransactionComponentGoodSKU()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 序列
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "序列")]
|
||||||
|
|
||||||
|
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 id { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 交易组件平台自定义skuID
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "交易组件平台自定义skuID")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int64 skuId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 商家自定义商品ID
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "商家自定义商品ID")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String outProductId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 商家自定义skuID
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "商家自定义skuID")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String outSkuId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// sku小图
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "sku小图")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
[StringLength(maximumLength:255,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String thumbImg { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 成本价格
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "成本价格")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 costprice { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 售卖价格
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "售卖价格")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 salePrice { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 市场价格
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "市场价格")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 marketPrice { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 库存
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "库存")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 stockNum { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 条形码
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "条形码")]
|
||||||
|
|
||||||
|
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String barCode { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 商品编码
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "商品编码")]
|
||||||
|
|
||||||
|
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String skuCode { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否选择
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "是否选择")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Boolean isSelect { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/10 23:44:16
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using SqlSugar;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Model.Entities
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件提交订单
|
||||||
|
/// </summary>
|
||||||
|
public partial class WeChatTransactionComponentOrder
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 构造函数
|
||||||
|
/// </summary>
|
||||||
|
public WeChatTransactionComponentOrder()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 序列
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "序列")]
|
||||||
|
|
||||||
|
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 id { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 交易组件订单ID
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "交易组件订单ID")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int64? orderId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 商家自定义订单ID
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "商家自定义订单ID")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
[StringLength(maximumLength:20,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String outOrderId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 用户openId
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "用户openId")]
|
||||||
|
|
||||||
|
|
||||||
|
[StringLength(maximumLength:32,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String openid { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建时间
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "创建时间")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.DateTime createTime { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,176 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/3 16:30:55
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using SqlSugar;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Model.Entities
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件三级类目
|
||||||
|
/// </summary>
|
||||||
|
public partial class WeChatTransactionComponentThirdCategory
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 构造函数
|
||||||
|
/// </summary>
|
||||||
|
public WeChatTransactionComponentThirdCategory()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 序列
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "序列")]
|
||||||
|
|
||||||
|
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 id { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 类目ID
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "类目ID")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 third_cat_id { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 类目名称
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "类目名称")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String third_cat_name { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 类目资质
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "类目资质")]
|
||||||
|
|
||||||
|
|
||||||
|
[StringLength(maximumLength:500,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String qualification { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 类目资质类型,0:不需要,1:必填,2:选填
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "类目资质类型,0:不需要,1:必填,2:选填")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 qualification_type { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 商品资质
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "商品资质")]
|
||||||
|
|
||||||
|
|
||||||
|
[StringLength(maximumLength:500,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String product_qualification { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 商品资质类型,0:不需要,1:必填,2:选填
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "商品资质类型,0:不需要,1:必填,2:选填")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 product_qualification_type { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 二级类目ID
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "二级类目ID")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 second_cat_id { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 二级类目名称
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "二级类目名称")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String second_cat_name { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 一级类目ID
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "一级类目ID")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 first_cat_id { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 一级类目名称
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "一级类目名称")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
|
|
||||||
|
|
||||||
|
public System.String first_cat_name { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建时间
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "创建时间")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.DateTime createTime { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,7 +7,7 @@ using NLog;
|
|||||||
|
|
||||||
namespace CoreCms.Net.RedisMQ.Subscribe
|
namespace CoreCms.Net.RedisMQ.Subscribe
|
||||||
{
|
{
|
||||||
public class LogingSubscribe : IRedisSubscribe
|
public class DemoSubscribe : IRedisSubscribe
|
||||||
{
|
{
|
||||||
|
|
||||||
[Subscribe(RedisMessageQueueKey.LogingQueue)]
|
[Subscribe(RedisMessageQueueKey.LogingQueue)]
|
||||||
@@ -0,0 +1,129 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/10 22:41:46
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Loging;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using InitQ.Abstractions;
|
||||||
|
using InitQ.Attributes;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.RedisMQ.Subscribe
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件-同步创建售后单
|
||||||
|
/// </summary>
|
||||||
|
public class TCOrderAfterSaleCreateSyncSubscribe : IRedisSubscribe
|
||||||
|
{
|
||||||
|
private readonly string _wxOpenAppId = AppSettingsConstVars.WxOpenAppId;
|
||||||
|
private readonly string _wxOpenAppSecret = AppSettingsConstVars.WxOpenAppSecret;
|
||||||
|
|
||||||
|
private readonly ICoreCmsUserWeChatInfoServices _userWeChatInfoServices;
|
||||||
|
private readonly ICoreCmsBillDeliveryServices _billDeliveryServices;
|
||||||
|
private readonly ICoreCmsOrderServices _orderServices;
|
||||||
|
private readonly ICoreCmsOrderItemServices _orderItemServices;
|
||||||
|
private readonly ICoreCmsUserWeChatInfoServices _weChatInfoServices;
|
||||||
|
private readonly IWeChatTransactionComponentOrderServices _tcOrderServices;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public TCOrderAfterSaleCreateSyncSubscribe(ICoreCmsUserWeChatInfoServices userWeChatInfoServices, ICoreCmsBillDeliveryServices billDeliveryServices, ICoreCmsOrderServices orderServices, ICoreCmsUserWeChatInfoServices weChatInfoServices, IWeChatTransactionComponentOrderServices tcOrderServices, ICoreCmsOrderItemServices orderItemServices)
|
||||||
|
{
|
||||||
|
_userWeChatInfoServices = userWeChatInfoServices;
|
||||||
|
_billDeliveryServices = billDeliveryServices;
|
||||||
|
_orderServices = orderServices;
|
||||||
|
_weChatInfoServices = weChatInfoServices;
|
||||||
|
_tcOrderServices = tcOrderServices;
|
||||||
|
_orderItemServices = orderItemServices;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件-同步创建售后单
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="msg"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[Subscribe(RedisMessageQueueKey.TransactionComponentAfterSaleCreateSync)]
|
||||||
|
private async Task TransactionComponentAfterSaleCreateSync(string msg)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var orderModel = JsonConvert.DeserializeObject<CoreCmsOrder>(msg);
|
||||||
|
if (orderModel is { scene: > 0 })
|
||||||
|
{
|
||||||
|
var tcOrderModel = await _tcOrderServices.QueryByClauseAsync(p => p.outOrderId == orderModel.orderId, true);
|
||||||
|
if (tcOrderModel == null)
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "自定义交易组件-同步创建售后单", "未查询到远程订单推送记录");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var orderInfo = await _orderServices.QueryByClauseAsync(p => p.orderId == orderModel.orderId, true);
|
||||||
|
if (orderInfo == null)
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "自定义交易组件-同步创建售后单", "订单信息获取失败");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
////获取小程序认证
|
||||||
|
//var accessToken = await new WeChatHelper().GetWxOpenAccessToken();
|
||||||
|
////检查场景值是否在支付校验范围内
|
||||||
|
////接口调用请求地址
|
||||||
|
//var sceneUrl = WeChat.TransactionComponent.Api.Delivery.recieve(accessToken);
|
||||||
|
|
||||||
|
////组合请求
|
||||||
|
//var sceneClient = new RestClient(sceneUrl);
|
||||||
|
//var request = new RestRequest(RestSharp.Method.POST);
|
||||||
|
|
||||||
|
//request.AddHeader("Content-Type", "application/json");
|
||||||
|
//request.AddJsonBody(new
|
||||||
|
//{
|
||||||
|
// out_order_id = orderModel.orderId,
|
||||||
|
// openid = tcOrderModel.openid,
|
||||||
|
//});
|
||||||
|
//var response = await sceneClient.ExecuteAsync(request);
|
||||||
|
//var result = JsonConvert.DeserializeObject<CheckSceneResult>(response.Content);
|
||||||
|
|
||||||
|
//if (result != null && result.errcode == 0)
|
||||||
|
//{
|
||||||
|
// NLogUtil.WriteAll(NLog.LogLevel.Info, LogType.RedisMessageQueue, "自定义交易组件-同步创建售后单", JsonConvert.SerializeObject(result));
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "自定义交易组件-同步创建售后单", JsonConvert.SerializeObject(result));
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "自定义交易组件-同步创建售后单", "订单获取失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
var obj = new
|
||||||
|
{
|
||||||
|
wxOpenAppId = _wxOpenAppId,
|
||||||
|
wxOpenAppSecret = _wxOpenAppSecret,
|
||||||
|
msg
|
||||||
|
};
|
||||||
|
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "自定义交易组件-同步创建售后单", JsonConvert.SerializeObject(obj), ex);
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
await Task.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,114 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/10 22:41:46
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Caching.AccressToken;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Loging;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.WeChat.Service.HttpClients;
|
||||||
|
using InitQ.Abstractions;
|
||||||
|
using InitQ.Attributes;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using NLog;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api.Models;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.RedisMQ.Subscribe
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件-同步订单确认收货
|
||||||
|
/// </summary>
|
||||||
|
public class TCOrderDeliveryRecieveSyncSubscribe : IRedisSubscribe
|
||||||
|
{
|
||||||
|
private readonly ICoreCmsBillDeliveryServices _billDeliveryServices;
|
||||||
|
private readonly ICoreCmsOrderItemServices _orderItemServices;
|
||||||
|
private readonly ICoreCmsOrderServices _orderServices;
|
||||||
|
private readonly IWeChatTransactionComponentOrderServices _tcOrderServices;
|
||||||
|
|
||||||
|
|
||||||
|
private readonly ICoreCmsUserWeChatInfoServices _userWeChatInfoServices;
|
||||||
|
private readonly IWeChatApiHttpClientFactory _weChatApiHttpClientFactory;
|
||||||
|
private readonly ICoreCmsUserWeChatInfoServices _weChatInfoServices;
|
||||||
|
|
||||||
|
|
||||||
|
public TCOrderDeliveryRecieveSyncSubscribe(ICoreCmsUserWeChatInfoServices userWeChatInfoServices,
|
||||||
|
ICoreCmsBillDeliveryServices billDeliveryServices, ICoreCmsOrderServices orderServices,
|
||||||
|
ICoreCmsUserWeChatInfoServices weChatInfoServices, IWeChatTransactionComponentOrderServices tcOrderServices,
|
||||||
|
ICoreCmsOrderItemServices orderItemServices, IWeChatApiHttpClientFactory weChatApiHttpClientFactory)
|
||||||
|
{
|
||||||
|
_userWeChatInfoServices = userWeChatInfoServices;
|
||||||
|
_billDeliveryServices = billDeliveryServices;
|
||||||
|
_orderServices = orderServices;
|
||||||
|
_weChatInfoServices = weChatInfoServices;
|
||||||
|
_tcOrderServices = tcOrderServices;
|
||||||
|
_orderItemServices = orderItemServices;
|
||||||
|
_weChatApiHttpClientFactory = weChatApiHttpClientFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件-同步订单状态
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="msg"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[Subscribe(RedisMessageQueueKey.TransactionComponentOrderDeliveryRecieveSync)]
|
||||||
|
private async Task TransactionComponentOrderDeliveryRecieveSync(string msg)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var orderModel = JsonConvert.DeserializeObject<CoreCmsOrder>(msg);
|
||||||
|
if (orderModel is {scene: > 0})
|
||||||
|
{
|
||||||
|
var tcOrderModel =
|
||||||
|
await _tcOrderServices.QueryByClauseAsync(p => p.outOrderId == orderModel.orderId, true);
|
||||||
|
if (tcOrderModel == null)
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(LogLevel.Error, LogType.RedisMessageQueue, "自定义交易组件-同步订单确认收货",
|
||||||
|
"未查询到远程订单推送记录");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var orderInfo = await _orderServices.QueryByClauseAsync(p => p.orderId == orderModel.orderId, true);
|
||||||
|
if (orderInfo == null)
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(LogLevel.Error, LogType.RedisMessageQueue, "自定义交易组件-同步订单确认收货", "订单信息获取失败");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取小程序认证
|
||||||
|
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||||
|
|
||||||
|
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||||
|
var request = new ShopDeliveryReceiveRequest();
|
||||||
|
request.AccessToken = accessToken;
|
||||||
|
request.OpenId = tcOrderModel.openid;
|
||||||
|
request.OutOrderId = orderModel.orderId;
|
||||||
|
var response = await client.ExecuteShopDeliveryReceiveAsync(request);
|
||||||
|
NLogUtil.WriteAll(response.IsSuccessful() ? LogLevel.Info : LogLevel.Error,
|
||||||
|
LogType.RedisMessageQueue, "自定义交易组件-同步订单确认收货", JsonConvert.SerializeObject(request));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(LogLevel.Error, LogType.RedisMessageQueue, "自定义交易组件-同步订单确认收货", "订单获取失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(LogLevel.Error, LogType.RedisMessageQueue, "自定义交易组件-同步订单确认收货", msg, ex);
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
|
||||||
|
await Task.CompletedTask;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
158
CoreCms.Net.RedisMQ/Subscribe/TCOrderShipSyncSubscribe.cs
Normal file
158
CoreCms.Net.RedisMQ/Subscribe/TCOrderShipSyncSubscribe.cs
Normal file
@@ -0,0 +1,158 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/10 22:41:46
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Caching.AccressToken;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Loging;
|
||||||
|
using CoreCms.Net.WeChat.Service.HttpClients;
|
||||||
|
using InitQ.Abstractions;
|
||||||
|
using InitQ.Attributes;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api.Models;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.RedisMQ.Subscribe
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件-同步发货信息
|
||||||
|
/// </summary>
|
||||||
|
public class TCOrderShipSyncSubscribe : IRedisSubscribe
|
||||||
|
{
|
||||||
|
private readonly string _wxOpenAppId = AppSettingsConstVars.WxOpenAppId;
|
||||||
|
private readonly string _wxOpenAppSecret = AppSettingsConstVars.WxOpenAppSecret;
|
||||||
|
|
||||||
|
private readonly ICoreCmsUserWeChatInfoServices _userWeChatInfoServices;
|
||||||
|
private readonly ICoreCmsBillDeliveryServices _billDeliveryServices;
|
||||||
|
private readonly ICoreCmsOrderServices _orderServices;
|
||||||
|
private readonly ICoreCmsOrderItemServices _orderItemServices;
|
||||||
|
private readonly ICoreCmsUserWeChatInfoServices _weChatInfoServices;
|
||||||
|
private readonly IWeChatTransactionComponentOrderServices _tcOrderServices;
|
||||||
|
private readonly WeChat.Service.HttpClients.IWeChatApiHttpClientFactory _weChatApiHttpClientFactory;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public TCOrderShipSyncSubscribe(ICoreCmsUserWeChatInfoServices userWeChatInfoServices, ICoreCmsBillDeliveryServices billDeliveryServices, ICoreCmsOrderServices orderServices, ICoreCmsUserWeChatInfoServices weChatInfoServices, IWeChatTransactionComponentOrderServices tcOrderServices, ICoreCmsOrderItemServices orderItemServices, IWeChatApiHttpClientFactory weChatApiHttpClientFactory)
|
||||||
|
{
|
||||||
|
_userWeChatInfoServices = userWeChatInfoServices;
|
||||||
|
_billDeliveryServices = billDeliveryServices;
|
||||||
|
_orderServices = orderServices;
|
||||||
|
_weChatInfoServices = weChatInfoServices;
|
||||||
|
_tcOrderServices = tcOrderServices;
|
||||||
|
_orderItemServices = orderItemServices;
|
||||||
|
_weChatApiHttpClientFactory = weChatApiHttpClientFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件-同步发货信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="msg"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[Subscribe(RedisMessageQueueKey.TransactionComponentOrderShipSync)]
|
||||||
|
private async Task TransactionComponentOrderShipSync(string msg)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var deliveryId = msg;
|
||||||
|
if (!string.IsNullOrEmpty(deliveryId))
|
||||||
|
{
|
||||||
|
var billDelivery = await _billDeliveryServices.QueryByClauseAsync(p => p.deliveryId == deliveryId, true);
|
||||||
|
if (billDelivery == null)
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "自定义交易组件-同步发货信息", "同步发货信息");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var tcOrderModel = await _tcOrderServices.QueryByClauseAsync(p => p.outOrderId == billDelivery.orderId, true);
|
||||||
|
if (tcOrderModel == null)
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "自定义交易组件-同步发货信息", "未查询到远程订单推送记录");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var orderInfo = await _orderServices.QueryByClauseAsync(p => p.orderId == billDelivery.orderId, true);
|
||||||
|
if (orderInfo == null)
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "自定义交易组件-同步发货信息", "订单信息获取失败");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//判断是否发货发完
|
||||||
|
var finishAllDelivery = false;
|
||||||
|
|
||||||
|
//总发货数量
|
||||||
|
var allNeedSendNum = await _orderItemServices.GetSumAsync(p => p.orderId == orderInfo.orderId, p => p.nums, true);
|
||||||
|
//已经发货数量
|
||||||
|
var isSendNum = await _orderItemServices.GetSumAsync(p => p.orderId == orderInfo.orderId, p => p.sendNums, true);
|
||||||
|
|
||||||
|
finishAllDelivery = allNeedSendNum == isSendNum ? true : false;
|
||||||
|
|
||||||
|
//获取小程序认证
|
||||||
|
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||||
|
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||||
|
var request = new ShopDeliverySendRequest();
|
||||||
|
request.AccessToken = accessToken;
|
||||||
|
|
||||||
|
if (orderInfo.receiptType == (int)GlobalEnumVars.OrderReceiptType.Logistics)
|
||||||
|
{
|
||||||
|
request.OutOrderId = orderInfo.orderId;
|
||||||
|
request.OpenId = tcOrderModel.openid;
|
||||||
|
request.IsFinishAll = finishAllDelivery;
|
||||||
|
request.DeliveryList = new List<ShopDeliverySendRequest.Types.Delivery>
|
||||||
|
{
|
||||||
|
new ShopDeliverySendRequest.Types.Delivery()
|
||||||
|
{
|
||||||
|
DeliveryId = billDelivery.thirdPartylogiCode, WaybillId = billDelivery.logiNo
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
request.OutOrderId = orderInfo.orderId;
|
||||||
|
request.OpenId = tcOrderModel.openid;
|
||||||
|
request.IsFinishAll = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
var response = await client.ExecuteShopDeliverySendAsync(request);
|
||||||
|
if (response.IsSuccessful())
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(NLog.LogLevel.Info, LogType.RedisMessageQueue, "自定义交易组件-同步发货信息", JsonConvert.SerializeObject(response));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "自定义交易组件-同步发货信息", JsonConvert.SerializeObject(response));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "自定义交易组件-同步发货信息", "发货单编号获取失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
var obj = new
|
||||||
|
{
|
||||||
|
wxOpenAppId = _wxOpenAppId,
|
||||||
|
wxOpenAppSecret = _wxOpenAppSecret,
|
||||||
|
msg
|
||||||
|
};
|
||||||
|
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "自定义交易组件-同步发货信息", JsonConvert.SerializeObject(obj), ex);
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
await Task.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
108
CoreCms.Net.RedisMQ/Subscribe/TCPayOrderSyncSubscribe.cs
Normal file
108
CoreCms.Net.RedisMQ/Subscribe/TCPayOrderSyncSubscribe.cs
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/10 22:41:46
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Caching.AccressToken;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Loging;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.WeChat.Service.HttpClients;
|
||||||
|
using InitQ.Abstractions;
|
||||||
|
using InitQ.Attributes;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api.Models;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.RedisMQ.Subscribe
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件-同步订单状态
|
||||||
|
/// </summary>
|
||||||
|
public class TCPayOrderSyncSubscribe : IRedisSubscribe
|
||||||
|
{
|
||||||
|
private readonly ICoreCmsUserWeChatInfoServices _userWeChatInfoServices;
|
||||||
|
private readonly WeChat.Service.HttpClients.IWeChatApiHttpClientFactory _weChatApiHttpClientFactory;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public TCPayOrderSyncSubscribe(ICoreCmsUserWeChatInfoServices userWeChatInfoServices, IWeChatApiHttpClientFactory weChatApiHttpClientFactory)
|
||||||
|
{
|
||||||
|
_userWeChatInfoServices = userWeChatInfoServices;
|
||||||
|
_weChatApiHttpClientFactory = weChatApiHttpClientFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件-同步订单状态
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="msg"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[Subscribe(RedisMessageQueueKey.TransactionComponentPayOrderSync)]
|
||||||
|
private async Task TransactionComponentPayOrderSync(string msg)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var orderModel = JsonConvert.DeserializeObject<CoreCmsOrder>(msg);
|
||||||
|
if (orderModel is { scene: > 0 })
|
||||||
|
{
|
||||||
|
//获取小程序认证
|
||||||
|
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||||
|
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||||
|
|
||||||
|
var sceneRequest = new ShopSceneCheckRequest();
|
||||||
|
sceneRequest.AccessToken = accessToken;
|
||||||
|
sceneRequest.Scene = orderModel.scene;
|
||||||
|
|
||||||
|
var sceneResponse = await client.ExecuteShopSceneCheckAsync(sceneRequest);
|
||||||
|
if (sceneResponse.IsSuccessful() && sceneResponse.IsMatched == true)
|
||||||
|
{
|
||||||
|
var userInfo = await _userWeChatInfoServices.QueryByClauseAsync(p => p.userId == orderModel.userId);
|
||||||
|
if (userInfo != null)
|
||||||
|
{
|
||||||
|
var payment = orderModel.paymentItem[0];
|
||||||
|
|
||||||
|
//获取同步地址接口地址
|
||||||
|
var request = new ShopOrderPayRequest();
|
||||||
|
request.OutOrderId = orderModel.orderId;
|
||||||
|
request.OpenId = userInfo.openid;
|
||||||
|
request.ActionType = 1;
|
||||||
|
request.TransactionId = payment.tradeNo;
|
||||||
|
request.PayTime = payment.createTime;
|
||||||
|
|
||||||
|
var response = await client.ExecuteShopOrderPayAsync(request);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "自定义交易组件-同步订单状态", "微信用户数据获取失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(NLog.LogLevel.Info, LogType.RedisMessageQueue, "自定义交易组件-同步订单状态", "商品获取失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "自定义交易组件-同步订单状态", msg, ex);
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
await Task.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -177,6 +177,7 @@ namespace CoreCms.Net.Repository
|
|||||||
.MergeTable()
|
.MergeTable()
|
||||||
.Mapper(sOrder => sOrder.aftersalesItem, sOrder => sOrder.aftersalesItem.First().orderId)
|
.Mapper(sOrder => sOrder.aftersalesItem, sOrder => sOrder.aftersalesItem.First().orderId)
|
||||||
.Mapper(sOrder => sOrder.items, sOrder => sOrder.items.First().orderId)
|
.Mapper(sOrder => sOrder.items, sOrder => sOrder.items.First().orderId)
|
||||||
|
.Mapper(sOrder => sOrder.tcOrder, sOrder => sOrder.tcOrder.outOrderId)
|
||||||
.OrderByIF(orderByExpression != null, orderByExpression, orderByType)
|
.OrderByIF(orderByExpression != null, orderByExpression, orderByType)
|
||||||
.WhereIF(predicate != null, predicate)
|
.WhereIF(predicate != null, predicate)
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
@@ -252,6 +253,7 @@ namespace CoreCms.Net.Repository
|
|||||||
.MergeTable()
|
.MergeTable()
|
||||||
.Mapper(sOrder => sOrder.aftersalesItem, sOrder => sOrder.aftersalesItem.First().orderId)
|
.Mapper(sOrder => sOrder.aftersalesItem, sOrder => sOrder.aftersalesItem.First().orderId)
|
||||||
.Mapper(sOrder => sOrder.items, sOrder => sOrder.items.First().orderId)
|
.Mapper(sOrder => sOrder.items, sOrder => sOrder.items.First().orderId)
|
||||||
|
.Mapper(sOrder => sOrder.tcOrder, sOrder => sOrder.tcOrder.outOrderId)
|
||||||
.OrderByIF(orderByExpression != null, orderByExpression, orderByType)
|
.OrderByIF(orderByExpression != null, orderByExpression, orderByType)
|
||||||
.WhereIF(predicate != null, predicate)
|
.WhereIF(predicate != null, predicate)
|
||||||
.ToPageListAsync(pageIndex, pageSize, totalCount);
|
.ToPageListAsync(pageIndex, pageSize, totalCount);
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/8/1 22:53:11
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Caching.Manual;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.IRepository;
|
||||||
|
using CoreCms.Net.IRepository.UnitOfWork;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Repository
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 接口实现
|
||||||
|
/// </summary>
|
||||||
|
public class WeChatTransactionComponentAuditCategoryAuditLogRepository : BaseRepository<WeChatTransactionComponentAuditCategoryAuditLog>, IWeChatTransactionComponentAuditCategoryAuditLogRepository
|
||||||
|
{
|
||||||
|
private readonly IUnitOfWork _unitOfWork;
|
||||||
|
public WeChatTransactionComponentAuditCategoryAuditLogRepository(IUnitOfWork unitOfWork) : base(unitOfWork)
|
||||||
|
{
|
||||||
|
_unitOfWork = unitOfWork;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,201 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/14 23:14:23
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Caching.Manual;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.IRepository;
|
||||||
|
using CoreCms.Net.IRepository.UnitOfWork;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Repository
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件上传类目资质 接口实现
|
||||||
|
/// </summary>
|
||||||
|
public class WeChatTransactionComponentAuditCategoryRepository : BaseRepository<WeChatTransactionComponentAuditCategory>, IWeChatTransactionComponentAuditCategoryRepository
|
||||||
|
{
|
||||||
|
private readonly IUnitOfWork _unitOfWork;
|
||||||
|
public WeChatTransactionComponentAuditCategoryRepository(IUnitOfWork unitOfWork) : base(unitOfWork)
|
||||||
|
{
|
||||||
|
_unitOfWork = unitOfWork;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 实现重写增删改查操作==========================================================
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> UpdateAsync(WeChatTransactionComponentAuditCategory entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var oldModel = await DbClient.Queryable<WeChatTransactionComponentAuditCategory>().In(entity.id).SingleAsync();
|
||||||
|
if (oldModel == null)
|
||||||
|
{
|
||||||
|
jm.msg = "不存在此信息";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
//事物处理过程开始
|
||||||
|
oldModel.id = entity.id;
|
||||||
|
oldModel.licenseImage = entity.licenseImage;
|
||||||
|
oldModel.level1 = entity.level1;
|
||||||
|
oldModel.level1Name = entity.level1Name;
|
||||||
|
oldModel.level2 = entity.level2;
|
||||||
|
oldModel.level2Name = entity.level2Name;
|
||||||
|
oldModel.level3 = entity.level3;
|
||||||
|
oldModel.level3Name = entity.level3Name;
|
||||||
|
oldModel.certificateImage = entity.certificateImage;
|
||||||
|
oldModel.auditId = entity.auditId;
|
||||||
|
oldModel.status = entity.status;
|
||||||
|
oldModel.brandId = entity.brandId;
|
||||||
|
oldModel.rejectReason = entity.rejectReason;
|
||||||
|
oldModel.createTime = entity.createTime;
|
||||||
|
|
||||||
|
//事物处理过程结束
|
||||||
|
var bl = await DbClient.Updateable(oldModel).ExecuteCommandHasChangeAsync();
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> UpdateAsync(List<WeChatTransactionComponentAuditCategory> entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var bl = await DbClient.Updateable(entity).ExecuteCommandHasChangeAsync();
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID的数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> DeleteByIdAsync(object id)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var bl = await DbClient.Deleteable<WeChatTransactionComponentAuditCategory>(id).ExecuteCommandHasChangeAsync();
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||||
|
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID集合的数据(批量删除)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ids"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var bl = await DbClient.Deleteable<WeChatTransactionComponentAuditCategory>().In(ids).ExecuteCommandHasChangeAsync();
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region 重写根据条件查询分页数据
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<IPageList<WeChatTransactionComponentAuditCategory>> QueryPageAsync(Expression<Func<WeChatTransactionComponentAuditCategory, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentAuditCategory, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false)
|
||||||
|
{
|
||||||
|
RefAsync<int> totalCount = 0;
|
||||||
|
List<WeChatTransactionComponentAuditCategory> page;
|
||||||
|
if (blUseNoLock)
|
||||||
|
{
|
||||||
|
page = await DbClient.Queryable<WeChatTransactionComponentAuditCategory>()
|
||||||
|
.OrderByIF(orderByExpression != null, orderByExpression, orderByType)
|
||||||
|
.WhereIF(predicate != null, predicate).Select(p => new WeChatTransactionComponentAuditCategory
|
||||||
|
{
|
||||||
|
id = p.id,
|
||||||
|
licenseImage = p.licenseImage,
|
||||||
|
level1 = p.level1,
|
||||||
|
level1Name = p.level1Name,
|
||||||
|
level2 = p.level2,
|
||||||
|
level2Name = p.level2Name,
|
||||||
|
level3 = p.level3,
|
||||||
|
level3Name = p.level3Name,
|
||||||
|
certificateImage = p.certificateImage,
|
||||||
|
auditId = p.auditId,
|
||||||
|
status = p.status,
|
||||||
|
brandId = p.brandId,
|
||||||
|
rejectReason = p.rejectReason,
|
||||||
|
createTime = p.createTime,
|
||||||
|
|
||||||
|
}).With(SqlWith.NoLock).ToPageListAsync(pageIndex, pageSize, totalCount);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
page = await DbClient.Queryable<WeChatTransactionComponentAuditCategory>()
|
||||||
|
.OrderByIF(orderByExpression != null, orderByExpression, orderByType)
|
||||||
|
.WhereIF(predicate != null, predicate).Select(p => new WeChatTransactionComponentAuditCategory
|
||||||
|
{
|
||||||
|
id = p.id,
|
||||||
|
licenseImage = p.licenseImage,
|
||||||
|
level1 = p.level1,
|
||||||
|
level1Name = p.level1Name,
|
||||||
|
level2 = p.level2,
|
||||||
|
level2Name = p.level2Name,
|
||||||
|
level3 = p.level3,
|
||||||
|
level3Name = p.level3Name,
|
||||||
|
certificateImage = p.certificateImage,
|
||||||
|
auditId = p.auditId,
|
||||||
|
status = p.status,
|
||||||
|
brandId = p.brandId,
|
||||||
|
rejectReason = p.rejectReason,
|
||||||
|
createTime = p.createTime,
|
||||||
|
|
||||||
|
}).ToPageListAsync(pageIndex, pageSize, totalCount);
|
||||||
|
}
|
||||||
|
var list = new PageList<WeChatTransactionComponentAuditCategory>(page, pageIndex, pageSize, totalCount);
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,112 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/11 23:48:58
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Caching.Manual;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.IRepository;
|
||||||
|
using CoreCms.Net.IRepository.UnitOfWork;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Repository
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件快递公司 接口实现
|
||||||
|
/// </summary>
|
||||||
|
public class WeChatTransactionComponentDeliveryCompanyRepository : BaseRepository<WeChatTransactionComponentDeliveryCompany>, IWeChatTransactionComponentDeliveryCompanyRepository
|
||||||
|
{
|
||||||
|
private readonly IUnitOfWork _unitOfWork;
|
||||||
|
public WeChatTransactionComponentDeliveryCompanyRepository(IUnitOfWork unitOfWork) : base(unitOfWork)
|
||||||
|
{
|
||||||
|
_unitOfWork = unitOfWork;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#region 获取缓存的所有数据==========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取缓存的所有数据
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<List<WeChatTransactionComponentDeliveryCompany>> GetCaChe()
|
||||||
|
{
|
||||||
|
var cache = ManualDataCache.Instance.Get<List<WeChatTransactionComponentDeliveryCompany>>(GlobalConstVars.CacheWeChatTransactionComponentDeliveryCompany);
|
||||||
|
if (cache != null)
|
||||||
|
{
|
||||||
|
return cache;
|
||||||
|
}
|
||||||
|
return await UpdateCaChe();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新cache
|
||||||
|
/// </summary>
|
||||||
|
public async Task<List<WeChatTransactionComponentDeliveryCompany>> UpdateCaChe()
|
||||||
|
{
|
||||||
|
var list = await DbClient.Queryable<WeChatTransactionComponentDeliveryCompany>().With(SqlWith.NoLock).ToListAsync();
|
||||||
|
ManualDataCache.Instance.Set(GlobalConstVars.CacheWeChatTransactionComponentDeliveryCompany, list);
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region 重写根据条件查询分页数据
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<IPageList<WeChatTransactionComponentDeliveryCompany>> QueryPageAsync(Expression<Func<WeChatTransactionComponentDeliveryCompany, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentDeliveryCompany, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false)
|
||||||
|
{
|
||||||
|
RefAsync<int> totalCount = 0;
|
||||||
|
List<WeChatTransactionComponentDeliveryCompany> page;
|
||||||
|
if (blUseNoLock)
|
||||||
|
{
|
||||||
|
page = await DbClient.Queryable<WeChatTransactionComponentDeliveryCompany>()
|
||||||
|
.OrderByIF(orderByExpression != null, orderByExpression, orderByType)
|
||||||
|
.WhereIF(predicate != null, predicate).Select(p => new WeChatTransactionComponentDeliveryCompany
|
||||||
|
{
|
||||||
|
deliveryId = p.deliveryId,
|
||||||
|
deliveryName = p.deliveryName,
|
||||||
|
|
||||||
|
}).With(SqlWith.NoLock).ToPageListAsync(pageIndex, pageSize, totalCount);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
page = await DbClient.Queryable<WeChatTransactionComponentDeliveryCompany>()
|
||||||
|
.OrderByIF(orderByExpression != null, orderByExpression, orderByType)
|
||||||
|
.WhereIF(predicate != null, predicate).Select(p => new WeChatTransactionComponentDeliveryCompany
|
||||||
|
{
|
||||||
|
deliveryId = p.deliveryId,
|
||||||
|
deliveryName = p.deliveryName,
|
||||||
|
|
||||||
|
}).ToPageListAsync(pageIndex, pageSize, totalCount);
|
||||||
|
}
|
||||||
|
var list = new PageList<WeChatTransactionComponentDeliveryCompany>(page, pageIndex, pageSize, totalCount);
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/8/1 22:18:06
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Caching.Manual;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.IRepository;
|
||||||
|
using CoreCms.Net.IRepository.UnitOfWork;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Repository
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件商品审核回调 接口实现
|
||||||
|
/// </summary>
|
||||||
|
public class WeChatTransactionComponentGoodAuditLogRepository : BaseRepository<WeChatTransactionComponentGoodAuditLog>, IWeChatTransactionComponentGoodAuditLogRepository
|
||||||
|
{
|
||||||
|
private readonly IUnitOfWork _unitOfWork;
|
||||||
|
public WeChatTransactionComponentGoodAuditLogRepository(IUnitOfWork unitOfWork) : base(unitOfWork)
|
||||||
|
{
|
||||||
|
_unitOfWork = unitOfWork;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,270 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/4 2:52:27
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Caching.Manual;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.IRepository;
|
||||||
|
using CoreCms.Net.IRepository.UnitOfWork;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Repository
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件商品列表 接口实现
|
||||||
|
/// </summary>
|
||||||
|
public class WeChatTransactionComponentGoodRepository : BaseRepository<WeChatTransactionComponentGood>, IWeChatTransactionComponentGoodRepository
|
||||||
|
{
|
||||||
|
|
||||||
|
private readonly IUnitOfWork _unitOfWork;
|
||||||
|
|
||||||
|
public WeChatTransactionComponentGoodRepository(IUnitOfWork unitOfWork) : base(unitOfWork)
|
||||||
|
{
|
||||||
|
_unitOfWork = unitOfWork;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 实现重写增删改查操作==========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步插入方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity">实体数据</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> InsertAsync(WeChatTransactionComponentGood entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
var isHave = await DbClient.Queryable<WeChatTransactionComponentGood>()
|
||||||
|
.AnyAsync(p => p.outProductId == entity.outProductId);
|
||||||
|
if (isHave)
|
||||||
|
{
|
||||||
|
jm.msg = "已经存在相同数据";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
if (entity.sku == null || entity.sku.Count < 0)
|
||||||
|
{
|
||||||
|
jm.msg = "请提交sku列表";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
var isSelectCount = entity.sku.Count(p => p.isSelect == true);
|
||||||
|
if (isSelectCount <= 0)
|
||||||
|
{
|
||||||
|
jm.msg = "请至少勾选一个需要提交的sku";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
|
_unitOfWork.BeginTran();
|
||||||
|
var id = await DbClient.Insertable(entity).ExecuteReturnIdentityAsync();
|
||||||
|
if (id <= 0)
|
||||||
|
{
|
||||||
|
_unitOfWork.RollbackTran();
|
||||||
|
jm.msg = GlobalConstVars.DataHandleEx;
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
entity.sku.ForEach(p =>
|
||||||
|
{
|
||||||
|
p.skuId = 0;
|
||||||
|
p.outProductId = entity.outProductId;
|
||||||
|
p.skuCode = p.barCode;
|
||||||
|
});
|
||||||
|
|
||||||
|
await DbClient.Insertable(entity.sku).ExecuteCommandAsync();
|
||||||
|
|
||||||
|
_unitOfWork.CommitTran();
|
||||||
|
|
||||||
|
jm.code = 0;
|
||||||
|
jm.msg = GlobalConstVars.CreateSuccess;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_unitOfWork.RollbackTran();
|
||||||
|
jm.msg = GlobalConstVars.DataHandleEx;
|
||||||
|
jm.data = e;
|
||||||
|
}
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> UpdateAsync(WeChatTransactionComponentGood entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var oldModel = await DbClient.Queryable<WeChatTransactionComponentGood>().In(entity.id).SingleAsync();
|
||||||
|
if (oldModel == null)
|
||||||
|
{
|
||||||
|
jm.msg = "不存在此信息";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
//事物处理过程开始
|
||||||
|
oldModel.id = entity.id;
|
||||||
|
oldModel.productId = entity.productId;
|
||||||
|
oldModel.createTime = entity.createTime;
|
||||||
|
oldModel.outProductId = entity.outProductId;
|
||||||
|
oldModel.title = entity.title;
|
||||||
|
oldModel.path = entity.path;
|
||||||
|
oldModel.headImg = entity.headImg;
|
||||||
|
oldModel.qualificationPics = entity.qualificationPics;
|
||||||
|
oldModel.descInfoDesc = entity.descInfoDesc;
|
||||||
|
oldModel.descInfoImgs = entity.descInfoImgs;
|
||||||
|
oldModel.thirdCatId = entity.thirdCatId;
|
||||||
|
oldModel.brandId = entity.brandId;
|
||||||
|
oldModel.infoVersion = entity.infoVersion;
|
||||||
|
oldModel.lastPostTime = entity.lastPostTime;
|
||||||
|
oldModel.updateTime = entity.updateTime;
|
||||||
|
oldModel.thirdCatName = entity.thirdCatName;
|
||||||
|
|
||||||
|
//事物处理过程结束
|
||||||
|
var bl = await DbClient.Updateable(oldModel).ExecuteCommandHasChangeAsync();
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> UpdateAsync(List<WeChatTransactionComponentGood> entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var bl = await DbClient.Updateable(entity).ExecuteCommandHasChangeAsync();
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID的数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> DeleteByIdAsync(object id)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var bl = await DbClient.Deleteable<WeChatTransactionComponentGood>(id).ExecuteCommandHasChangeAsync();
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID集合的数据(批量删除)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ids"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var bl = await DbClient.Deleteable<WeChatTransactionComponentGood>().In(ids).ExecuteCommandHasChangeAsync();
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 重写根据条件查询分页数据
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<IPageList<WeChatTransactionComponentGood>> QueryPageAsync(Expression<Func<WeChatTransactionComponentGood, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentGood, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false)
|
||||||
|
{
|
||||||
|
RefAsync<int> totalCount = 0;
|
||||||
|
List<WeChatTransactionComponentGood> page;
|
||||||
|
if (blUseNoLock)
|
||||||
|
{
|
||||||
|
page = await DbClient.Queryable<WeChatTransactionComponentGood>()
|
||||||
|
.OrderByIF(orderByExpression != null, orderByExpression, orderByType)
|
||||||
|
.WhereIF(predicate != null, predicate).Select(p => new WeChatTransactionComponentGood
|
||||||
|
{
|
||||||
|
id = p.id,
|
||||||
|
productId = p.productId,
|
||||||
|
createTime = p.createTime,
|
||||||
|
outProductId = p.outProductId,
|
||||||
|
title = p.title,
|
||||||
|
path = p.path,
|
||||||
|
headImg = p.headImg,
|
||||||
|
qualificationPics = p.qualificationPics,
|
||||||
|
//descInfoDesc = p.descInfoDesc,
|
||||||
|
descInfoImgs = p.descInfoImgs,
|
||||||
|
thirdCatId = p.thirdCatId,
|
||||||
|
thirdCatName = p.thirdCatName,
|
||||||
|
brandId = p.brandId,
|
||||||
|
infoVersion = p.infoVersion,
|
||||||
|
lastPostTime = p.lastPostTime,
|
||||||
|
updateTime = p.updateTime,
|
||||||
|
|
||||||
|
}).With(SqlWith.NoLock).ToPageListAsync(pageIndex, pageSize, totalCount);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
page = await DbClient.Queryable<WeChatTransactionComponentGood>()
|
||||||
|
.OrderByIF(orderByExpression != null, orderByExpression, orderByType)
|
||||||
|
.WhereIF(predicate != null, predicate).Select(p => new WeChatTransactionComponentGood
|
||||||
|
{
|
||||||
|
id = p.id,
|
||||||
|
productId = p.productId,
|
||||||
|
createTime = p.createTime,
|
||||||
|
outProductId = p.outProductId,
|
||||||
|
title = p.title,
|
||||||
|
path = p.path,
|
||||||
|
headImg = p.headImg,
|
||||||
|
qualificationPics = p.qualificationPics,
|
||||||
|
//descInfoDesc = p.descInfoDesc,
|
||||||
|
descInfoImgs = p.descInfoImgs,
|
||||||
|
thirdCatId = p.thirdCatId,
|
||||||
|
thirdCatName = p.thirdCatName,
|
||||||
|
brandId = p.brandId,
|
||||||
|
infoVersion = p.infoVersion,
|
||||||
|
lastPostTime = p.lastPostTime,
|
||||||
|
updateTime = p.updateTime,
|
||||||
|
|
||||||
|
}).ToPageListAsync(pageIndex, pageSize, totalCount);
|
||||||
|
}
|
||||||
|
var list = new PageList<WeChatTransactionComponentGood>(page, pageIndex, pageSize, totalCount);
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,210 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/5 23:23:30
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Caching.Manual;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.IRepository;
|
||||||
|
using CoreCms.Net.IRepository.UnitOfWork;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Repository
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件商品关联sku列表 接口实现
|
||||||
|
/// </summary>
|
||||||
|
public class WeChatTransactionComponentGoodSKURepository : BaseRepository<WeChatTransactionComponentGoodSKU>, IWeChatTransactionComponentGoodSKURepository
|
||||||
|
{
|
||||||
|
private readonly IUnitOfWork _unitOfWork;
|
||||||
|
public WeChatTransactionComponentGoodSKURepository(IUnitOfWork unitOfWork) : base(unitOfWork)
|
||||||
|
{
|
||||||
|
_unitOfWork = unitOfWork;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 实现重写增删改查操作==========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步插入方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity">实体数据</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> InsertAsync(WeChatTransactionComponentGoodSKU entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var bl = await DbClient.Insertable(entity).ExecuteReturnIdentityAsync() > 0;
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> UpdateAsync(WeChatTransactionComponentGoodSKU entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var oldModel = await DbClient.Queryable<WeChatTransactionComponentGoodSKU>().In(entity.id).SingleAsync();
|
||||||
|
if (oldModel == null)
|
||||||
|
{
|
||||||
|
jm.msg = "不存在此信息";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
//事物处理过程开始
|
||||||
|
oldModel.id = entity.id;
|
||||||
|
oldModel.skuId = entity.skuId;
|
||||||
|
oldModel.outProductId = entity.outProductId;
|
||||||
|
oldModel.outSkuId = entity.outSkuId;
|
||||||
|
oldModel.thumbImg = entity.thumbImg;
|
||||||
|
oldModel.costprice = entity.costprice;
|
||||||
|
oldModel.salePrice = entity.salePrice;
|
||||||
|
oldModel.marketPrice = entity.marketPrice;
|
||||||
|
oldModel.stockNum = entity.stockNum;
|
||||||
|
oldModel.barCode = entity.barCode;
|
||||||
|
oldModel.skuCode = entity.skuCode;
|
||||||
|
oldModel.isSelect = entity.isSelect;
|
||||||
|
|
||||||
|
//事物处理过程结束
|
||||||
|
var bl = await DbClient.Updateable(oldModel).ExecuteCommandHasChangeAsync();
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||||
|
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> UpdateAsync(List<WeChatTransactionComponentGoodSKU> entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var bl = await DbClient.Updateable(entity).ExecuteCommandHasChangeAsync();
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID的数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> DeleteByIdAsync(object id)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var bl = await DbClient.Deleteable<WeChatTransactionComponentGoodSKU>(id).ExecuteCommandHasChangeAsync();
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID集合的数据(批量删除)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ids"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var bl = await DbClient.Deleteable<WeChatTransactionComponentGoodSKU>().In(ids).ExecuteCommandHasChangeAsync();
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region 重写根据条件查询分页数据
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<IPageList<WeChatTransactionComponentGoodSKU>> QueryPageAsync(Expression<Func<WeChatTransactionComponentGoodSKU, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentGoodSKU, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false)
|
||||||
|
{
|
||||||
|
RefAsync<int> totalCount = 0;
|
||||||
|
List<WeChatTransactionComponentGoodSKU> page;
|
||||||
|
if (blUseNoLock)
|
||||||
|
{
|
||||||
|
page = await DbClient.Queryable<WeChatTransactionComponentGoodSKU>()
|
||||||
|
.OrderByIF(orderByExpression != null, orderByExpression, orderByType)
|
||||||
|
.WhereIF(predicate != null, predicate).Select(p => new WeChatTransactionComponentGoodSKU
|
||||||
|
{
|
||||||
|
id = p.id,
|
||||||
|
skuId = p.skuId,
|
||||||
|
outProductId = p.outProductId,
|
||||||
|
outSkuId = p.outSkuId,
|
||||||
|
thumbImg = p.thumbImg,
|
||||||
|
costprice = p.costprice,
|
||||||
|
salePrice = p.salePrice,
|
||||||
|
marketPrice = p.marketPrice,
|
||||||
|
stockNum = p.stockNum,
|
||||||
|
barCode = p.barCode,
|
||||||
|
skuCode = p.skuCode,
|
||||||
|
isSelect = p.isSelect,
|
||||||
|
|
||||||
|
}).With(SqlWith.NoLock).ToPageListAsync(pageIndex, pageSize, totalCount);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
page = await DbClient.Queryable<WeChatTransactionComponentGoodSKU>()
|
||||||
|
.OrderByIF(orderByExpression != null, orderByExpression, orderByType)
|
||||||
|
.WhereIF(predicate != null, predicate).Select(p => new WeChatTransactionComponentGoodSKU
|
||||||
|
{
|
||||||
|
id = p.id,
|
||||||
|
skuId = p.skuId,
|
||||||
|
outProductId = p.outProductId,
|
||||||
|
outSkuId = p.outSkuId,
|
||||||
|
thumbImg = p.thumbImg,
|
||||||
|
costprice = p.costprice,
|
||||||
|
salePrice = p.salePrice,
|
||||||
|
marketPrice = p.marketPrice,
|
||||||
|
stockNum = p.stockNum,
|
||||||
|
barCode = p.barCode,
|
||||||
|
skuCode = p.skuCode,
|
||||||
|
isSelect = p.isSelect,
|
||||||
|
|
||||||
|
}).ToPageListAsync(pageIndex, pageSize, totalCount);
|
||||||
|
}
|
||||||
|
var list = new PageList<WeChatTransactionComponentGoodSKU>(page, pageIndex, pageSize, totalCount);
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/10 23:44:16
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Caching.Manual;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.IRepository;
|
||||||
|
using CoreCms.Net.IRepository.UnitOfWork;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Repository
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件提交订单 接口实现
|
||||||
|
/// </summary>
|
||||||
|
public class WeChatTransactionComponentOrderRepository : BaseRepository<WeChatTransactionComponentOrder>, IWeChatTransactionComponentOrderRepository
|
||||||
|
{
|
||||||
|
private readonly IUnitOfWork _unitOfWork;
|
||||||
|
public WeChatTransactionComponentOrderRepository(IUnitOfWork unitOfWork) : base(unitOfWork)
|
||||||
|
{
|
||||||
|
_unitOfWork = unitOfWork;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,256 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/3 16:30:55
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Caching.Manual;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.IRepository;
|
||||||
|
using CoreCms.Net.IRepository.UnitOfWork;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Repository
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件三级类目 接口实现
|
||||||
|
/// </summary>
|
||||||
|
public class WeChatTransactionComponentThirdCategoryRepository : BaseRepository<WeChatTransactionComponentThirdCategory>, IWeChatTransactionComponentThirdCategoryRepository
|
||||||
|
{
|
||||||
|
public WeChatTransactionComponentThirdCategoryRepository(IUnitOfWork unitOfWork) : base(unitOfWork)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 实现重写增删改查操作==========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步插入方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity">实体数据</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> InsertAsync(WeChatTransactionComponentThirdCategory entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
|
||||||
|
var bl = await DbClient.Insertable(entity).ExecuteReturnIdentityAsync() > 0;
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||||
|
if (bl)
|
||||||
|
{
|
||||||
|
await UpdateCaChe();
|
||||||
|
}
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> UpdateAsync(WeChatTransactionComponentThirdCategory entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var oldModel = await DbClient.Queryable<WeChatTransactionComponentThirdCategory>().In(entity.id).SingleAsync();
|
||||||
|
if (oldModel == null)
|
||||||
|
{
|
||||||
|
jm.msg = "不存在此信息";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
//事物处理过程开始
|
||||||
|
oldModel.id = entity.id;
|
||||||
|
oldModel.third_cat_id = entity.third_cat_id;
|
||||||
|
oldModel.third_cat_name = entity.third_cat_name;
|
||||||
|
oldModel.qualification = entity.qualification;
|
||||||
|
oldModel.qualification_type = entity.qualification_type;
|
||||||
|
oldModel.product_qualification = entity.product_qualification;
|
||||||
|
oldModel.product_qualification_type = entity.product_qualification_type;
|
||||||
|
oldModel.second_cat_id = entity.second_cat_id;
|
||||||
|
oldModel.second_cat_name = entity.second_cat_name;
|
||||||
|
oldModel.first_cat_id = entity.first_cat_id;
|
||||||
|
oldModel.first_cat_name = entity.first_cat_name;
|
||||||
|
oldModel.createTime = entity.createTime;
|
||||||
|
|
||||||
|
//事物处理过程结束
|
||||||
|
var bl = await DbClient.Updateable(oldModel).ExecuteCommandHasChangeAsync();
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||||
|
if (bl)
|
||||||
|
{
|
||||||
|
await UpdateCaChe();
|
||||||
|
}
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> UpdateAsync(List<WeChatTransactionComponentThirdCategory> entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var bl = await DbClient.Updateable(entity).ExecuteCommandHasChangeAsync();
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||||
|
if (bl)
|
||||||
|
{
|
||||||
|
await UpdateCaChe();
|
||||||
|
}
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID的数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> DeleteByIdAsync(object id)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var bl = await DbClient.Deleteable<WeChatTransactionComponentThirdCategory>(id).ExecuteCommandHasChangeAsync();
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||||
|
if (bl)
|
||||||
|
{
|
||||||
|
await UpdateCaChe();
|
||||||
|
}
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID集合的数据(批量删除)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ids"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var bl = await DbClient.Deleteable<WeChatTransactionComponentThirdCategory>().In(ids).ExecuteCommandHasChangeAsync();
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||||
|
if (bl)
|
||||||
|
{
|
||||||
|
await UpdateCaChe();
|
||||||
|
}
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 获取缓存的所有数据==========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取缓存的所有数据
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<List<WeChatTransactionComponentThirdCategory>> GetCaChe()
|
||||||
|
{
|
||||||
|
var cache = ManualDataCache.Instance.Get<List<WeChatTransactionComponentThirdCategory>>(GlobalConstVars.CacheWeChatTCThirdCatList);
|
||||||
|
if (cache != null)
|
||||||
|
{
|
||||||
|
return cache;
|
||||||
|
}
|
||||||
|
return await UpdateCaChe();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新cache
|
||||||
|
/// </summary>
|
||||||
|
public async Task<List<WeChatTransactionComponentThirdCategory>> UpdateCaChe()
|
||||||
|
{
|
||||||
|
var list = await DbClient.Queryable<WeChatTransactionComponentThirdCategory>().With(SqlWith.NoLock).ToListAsync();
|
||||||
|
ManualDataCache.Instance.Set(GlobalConstVars.CacheWeChatTCThirdCatList, list);
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region 重写根据条件查询分页数据
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<IPageList<WeChatTransactionComponentThirdCategory>> QueryPageAsync(Expression<Func<WeChatTransactionComponentThirdCategory, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentThirdCategory, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false)
|
||||||
|
{
|
||||||
|
RefAsync<int> totalCount = 0;
|
||||||
|
List<WeChatTransactionComponentThirdCategory> page;
|
||||||
|
if (blUseNoLock)
|
||||||
|
{
|
||||||
|
page = await DbClient.Queryable<WeChatTransactionComponentThirdCategory>()
|
||||||
|
.OrderByIF(orderByExpression != null, orderByExpression, orderByType)
|
||||||
|
.WhereIF(predicate != null, predicate).Select(p => new WeChatTransactionComponentThirdCategory
|
||||||
|
{
|
||||||
|
id = p.id,
|
||||||
|
third_cat_id = p.third_cat_id,
|
||||||
|
third_cat_name = p.third_cat_name,
|
||||||
|
qualification = p.qualification,
|
||||||
|
qualification_type = p.qualification_type,
|
||||||
|
product_qualification = p.product_qualification,
|
||||||
|
product_qualification_type = p.product_qualification_type,
|
||||||
|
second_cat_id = p.second_cat_id,
|
||||||
|
second_cat_name = p.second_cat_name,
|
||||||
|
first_cat_id = p.first_cat_id,
|
||||||
|
first_cat_name = p.first_cat_name,
|
||||||
|
createTime = p.createTime,
|
||||||
|
|
||||||
|
}).With(SqlWith.NoLock).ToPageListAsync(pageIndex, pageSize, totalCount);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
page = await DbClient.Queryable<WeChatTransactionComponentThirdCategory>()
|
||||||
|
.OrderByIF(orderByExpression != null, orderByExpression, orderByType)
|
||||||
|
.WhereIF(predicate != null, predicate).Select(p => new WeChatTransactionComponentThirdCategory
|
||||||
|
{
|
||||||
|
id = p.id,
|
||||||
|
third_cat_id = p.third_cat_id,
|
||||||
|
third_cat_name = p.third_cat_name,
|
||||||
|
qualification = p.qualification,
|
||||||
|
qualification_type = p.qualification_type,
|
||||||
|
product_qualification = p.product_qualification,
|
||||||
|
product_qualification_type = p.product_qualification_type,
|
||||||
|
second_cat_id = p.second_cat_id,
|
||||||
|
second_cat_name = p.second_cat_name,
|
||||||
|
first_cat_id = p.first_cat_id,
|
||||||
|
first_cat_name = p.first_cat_name,
|
||||||
|
createTime = p.createTime,
|
||||||
|
|
||||||
|
}).ToPageListAsync(pageIndex, pageSize, totalCount);
|
||||||
|
}
|
||||||
|
var list = new PageList<WeChatTransactionComponentThirdCategory>(page, pageIndex, pageSize, totalCount);
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1378,6 +1378,13 @@ namespace CoreCms.Net.Services
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (order.orderType == (int)GlobalEnumVars.OrderType.Common && order.scene > 0)
|
||||||
|
{
|
||||||
|
order.paymentItem = new List<CoreCmsBillPayments> { billPaymentInfo };
|
||||||
|
//自定义交易组件同步
|
||||||
|
await _redisOperationRepository.ListLeftPushAsync(RedisMessageQueueKey.TransactionComponentPayOrderSync, JsonConvert.SerializeObject(order));
|
||||||
|
}
|
||||||
|
|
||||||
//结佣处理
|
//结佣处理
|
||||||
await _redisOperationRepository.ListLeftPushAsync(RedisMessageQueueKey.OrderAgentOrDistribution, JsonConvert.SerializeObject(order));
|
await _redisOperationRepository.ListLeftPushAsync(RedisMessageQueueKey.OrderAgentOrDistribution, JsonConvert.SerializeObject(order));
|
||||||
//易联云打印机打印
|
//易联云打印机打印
|
||||||
|
|||||||
@@ -9,21 +9,27 @@
|
|||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using CoreCms.Net.Auth.HttpContextUser;
|
using CoreCms.Net.Auth.HttpContextUser;
|
||||||
|
using CoreCms.Net.Caching.AccressToken;
|
||||||
using CoreCms.Net.Configuration;
|
using CoreCms.Net.Configuration;
|
||||||
using CoreCms.Net.IRepository;
|
|
||||||
using CoreCms.Net.IRepository.UnitOfWork;
|
|
||||||
using CoreCms.Net.IServices;
|
using CoreCms.Net.IServices;
|
||||||
using CoreCms.Net.Model.Entities;
|
using CoreCms.Net.Model.Entities;
|
||||||
using CoreCms.Net.Model.ViewModels.UI;
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
using CoreCms.Net.Utility.Extensions;
|
using CoreCms.Net.Utility.Extensions;
|
||||||
|
using CoreCms.Net.WeChat.Service.HttpClients;
|
||||||
|
using CoreCms.Net.WeChat.Service.TransactionComponent.Enum;
|
||||||
|
using CoreCms.Net.WeChat.Service.TransactionComponent.Models;
|
||||||
using Essensoft.Paylink.WeChatPay;
|
using Essensoft.Paylink.WeChatPay;
|
||||||
using Essensoft.Paylink.WeChatPay.V2;
|
using Essensoft.Paylink.WeChatPay.V2;
|
||||||
using Essensoft.Paylink.WeChatPay.V2.Request;
|
using Essensoft.Paylink.WeChatPay.V2.Request;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api.Models;
|
||||||
|
|
||||||
namespace CoreCms.Net.Services
|
namespace CoreCms.Net.Services
|
||||||
{
|
{
|
||||||
@@ -35,15 +41,20 @@ namespace CoreCms.Net.Services
|
|||||||
private readonly IWeChatPayClient _client;
|
private readonly IWeChatPayClient _client;
|
||||||
private readonly IOptions<WeChatPayOptions> _optionsAccessor;
|
private readonly IOptions<WeChatPayOptions> _optionsAccessor;
|
||||||
private readonly IHttpContextUser _user;
|
private readonly IHttpContextUser _user;
|
||||||
|
private readonly IServiceProvider _serviceProvider;
|
||||||
|
private readonly WeChat.Service.HttpClients.IWeChatApiHttpClientFactory _weChatApiHttpClientFactory;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private readonly ICoreCmsUserServices _userServices;
|
private readonly ICoreCmsUserServices _userServices;
|
||||||
private readonly ICoreCmsUserWeChatInfoServices _userWeChatInfoServices;
|
private readonly ICoreCmsUserWeChatInfoServices _userWeChatInfoServices;
|
||||||
|
|
||||||
|
|
||||||
public WeChatPayServices(IHttpContextUser user
|
public WeChatPayServices(IHttpContextUser user
|
||||||
, IWeChatPayClient client
|
, IWeChatPayClient client
|
||||||
, IOptions<WeChatPayOptions> optionsAccessor
|
, IOptions<WeChatPayOptions> optionsAccessor
|
||||||
, ICoreCmsUserServices userServices
|
, ICoreCmsUserServices userServices
|
||||||
, ICoreCmsUserWeChatInfoServices userWeChatInfoServices
|
, ICoreCmsUserWeChatInfoServices userWeChatInfoServices, IServiceProvider serviceProvider, IWeChatApiHttpClientFactory weChatApiHttpClientFactory)
|
||||||
)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
_client = client;
|
_client = client;
|
||||||
@@ -51,6 +62,8 @@ namespace CoreCms.Net.Services
|
|||||||
_user = user;
|
_user = user;
|
||||||
_userServices = userServices;
|
_userServices = userServices;
|
||||||
_userWeChatInfoServices = userWeChatInfoServices;
|
_userWeChatInfoServices = userWeChatInfoServices;
|
||||||
|
_serviceProvider = serviceProvider;
|
||||||
|
_weChatApiHttpClientFactory = weChatApiHttpClientFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -60,6 +73,12 @@ namespace CoreCms.Net.Services
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<WebApiCallBack> PubPay(CoreCmsBillPayments entity)
|
public async Task<WebApiCallBack> PubPay(CoreCmsBillPayments entity)
|
||||||
{
|
{
|
||||||
|
using var container = _serviceProvider.CreateScope();
|
||||||
|
var orderServices = container.ServiceProvider.GetService<ICoreCmsOrderServices>();
|
||||||
|
var orderItemServices = container.ServiceProvider.GetService<ICoreCmsOrderItemServices>();
|
||||||
|
var billPaymentsServices = container.ServiceProvider.GetService<ICoreCmsBillPaymentsServices>();
|
||||||
|
var weChatTransactionComponentOrderServices = container.ServiceProvider.GetService<IWeChatTransactionComponentOrderServices>();
|
||||||
|
|
||||||
var jm = new WebApiCallBack();
|
var jm = new WebApiCallBack();
|
||||||
|
|
||||||
var weChatPayUrl = AppSettingsConstVars.PayCallBackWeChatPayUrl;
|
var weChatPayUrl = AppSettingsConstVars.PayCallBackWeChatPayUrl;
|
||||||
@@ -103,7 +122,7 @@ namespace CoreCms.Net.Services
|
|||||||
openId = user.openid;
|
openId = user.openid;
|
||||||
}
|
}
|
||||||
|
|
||||||
var request = new WeChatPayUnifiedOrderRequest
|
var orderRequest = new WeChatPayUnifiedOrderRequest
|
||||||
{
|
{
|
||||||
Body = entity.payTitle,
|
Body = entity.payTitle,
|
||||||
OutTradeNo = entity.paymentId,
|
OutTradeNo = entity.paymentId,
|
||||||
@@ -114,7 +133,7 @@ namespace CoreCms.Net.Services
|
|||||||
OpenId = openId
|
OpenId = openId
|
||||||
};
|
};
|
||||||
|
|
||||||
var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
|
var response = await _client.ExecuteAsync(orderRequest, _optionsAccessor.Value);
|
||||||
if (response.ReturnCode == WeChatPayCode.Success && response.ResultCode == WeChatPayCode.Success)
|
if (response.ReturnCode == WeChatPayCode.Success && response.ResultCode == WeChatPayCode.Success)
|
||||||
{
|
{
|
||||||
var req = new WeChatPayJsApiSdkRequest
|
var req = new WeChatPayJsApiSdkRequest
|
||||||
@@ -126,10 +145,148 @@ namespace CoreCms.Net.Services
|
|||||||
// 将参数(parameter)给 公众号前端 让他在微信内H5调起支付(https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6)
|
// 将参数(parameter)给 公众号前端 让他在微信内H5调起支付(https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6)
|
||||||
parameter.Add("paymentId", entity.paymentId);
|
parameter.Add("paymentId", entity.paymentId);
|
||||||
|
|
||||||
|
if (entity.type == (int)GlobalEnumVars.BillPaymentsType.Order)
|
||||||
|
{
|
||||||
|
var payment = await billPaymentsServices.QueryByClauseAsync(p => p.paymentId == entity.paymentId);
|
||||||
|
if (payment != null)
|
||||||
|
{
|
||||||
|
var is_matched = 0;
|
||||||
|
#region 校验是否微信自定义交易组件
|
||||||
|
var orderModel = await orderServices.QueryByClauseAsync(p => p.orderId == payment.sourceId);
|
||||||
|
var orderInfo = new OrderInfo();
|
||||||
|
//检查支付是否需要校验
|
||||||
|
if (orderModel.source == 3 && orderModel.scene > 0)
|
||||||
|
{
|
||||||
|
//获取小程序认证
|
||||||
|
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||||
|
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||||
|
|
||||||
|
var sceneRequest = new ShopSceneCheckRequest();
|
||||||
|
sceneRequest.AccessToken = accessToken;
|
||||||
|
sceneRequest.Scene = orderModel.scene;
|
||||||
|
|
||||||
|
var sceneResponse = await client.ExecuteShopSceneCheckAsync(sceneRequest);
|
||||||
|
is_matched = sceneResponse.IsMatched ? 1 : 0;
|
||||||
|
if (sceneResponse.IsSuccessful() && sceneResponse.IsMatched == true)
|
||||||
|
{
|
||||||
|
//基础
|
||||||
|
orderInfo.create_time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||||
|
orderInfo.type = 0;
|
||||||
|
orderInfo.out_order_id = orderModel.orderId;
|
||||||
|
|
||||||
|
var weChatUserInfo = await _userWeChatInfoServices.QueryByClauseAsync(p => p.userId == orderModel.userId, true);
|
||||||
|
if (weChatUserInfo != null)
|
||||||
|
{
|
||||||
|
orderInfo.openid = weChatUserInfo.openid;
|
||||||
|
}
|
||||||
|
orderInfo.path = UniAppConst.OrderPath(orderModel.orderId);
|
||||||
|
orderInfo.out_user_id = orderModel.userId.ToString();
|
||||||
|
|
||||||
|
//收货人信息
|
||||||
|
orderInfo.address_info = new AddressInfo();
|
||||||
|
orderInfo.address_info.receiver_name = orderModel.shipName;
|
||||||
|
orderInfo.address_info.detailed_address = orderModel.shipAddress;
|
||||||
|
orderInfo.address_info.tel_number = orderModel.shipMobile;
|
||||||
|
|
||||||
|
|
||||||
|
//发货方式
|
||||||
|
orderInfo.delivery_detail = new DeliveryDetail();
|
||||||
|
|
||||||
|
if (orderModel.receiptType == (int)GlobalEnumVars.OrderReceiptType.Logistics)
|
||||||
|
{
|
||||||
|
orderInfo.delivery_detail.delivery_type = (int)DeliveryTypeEnum.正常快递;
|
||||||
|
}
|
||||||
|
else if (orderModel.receiptType == (int)GlobalEnumVars.OrderReceiptType.IntraCityService)
|
||||||
|
{
|
||||||
|
orderInfo.delivery_detail.delivery_type = (int)DeliveryTypeEnum.线下配送;
|
||||||
|
}
|
||||||
|
else if (orderModel.receiptType == (int)GlobalEnumVars.OrderReceiptType.SelfDelivery)
|
||||||
|
{
|
||||||
|
orderInfo.delivery_detail.delivery_type = (int)DeliveryTypeEnum.用户自提;
|
||||||
|
}
|
||||||
|
|
||||||
|
orderInfo.order_detail = new OrderDetail();
|
||||||
|
//订单详情
|
||||||
|
|
||||||
|
//支付信息
|
||||||
|
orderInfo.order_detail.pay_info = new PayInfo()
|
||||||
|
{
|
||||||
|
pay_method = "微信支付",
|
||||||
|
prepay_id = entity.paymentId,
|
||||||
|
prepay_time = entity.createTime.ToString("yyyy-MM-dd HH:mm:ss")
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
//价格体系
|
||||||
|
orderInfo.order_detail.price_info = new PriceInfo()
|
||||||
|
{
|
||||||
|
order_price = Convert.ToInt32(orderModel.orderAmount * 100),
|
||||||
|
freight = Convert.ToInt32(orderModel.costFreight * 100),
|
||||||
|
discounted_price = Convert.ToInt32((orderModel.pointMoney + orderModel.orderDiscountAmount + orderModel.goodsDiscountAmount + orderModel.couponDiscountAmount) * 100),
|
||||||
|
additional_price = 0,
|
||||||
|
additional_remarks = "无",
|
||||||
|
};
|
||||||
|
|
||||||
|
//商品信息
|
||||||
|
orderInfo.order_detail.product_infos = new List<ProductInfoItem>();
|
||||||
|
|
||||||
|
var orderItems = await orderItemServices.QueryListByClauseAsync(p => p.orderId == orderModel.orderId);
|
||||||
|
|
||||||
|
foreach (var item in orderItems)
|
||||||
|
{
|
||||||
|
orderInfo.order_detail.product_infos.Add(new ProductInfoItem()
|
||||||
|
{
|
||||||
|
out_product_id = item.goodsId.ToString(),
|
||||||
|
out_sku_id = item.productId.ToString(),
|
||||||
|
head_img = item.imageUrl,
|
||||||
|
product_cnt = item.nums,
|
||||||
|
sale_price = Convert.ToInt32(item.amount * 100),
|
||||||
|
path = UniAppConst.GoodDetail(item.goodsId.ToString()),
|
||||||
|
title = item.name
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
var tcOrder = await weChatTransactionComponentOrderServices.QueryByClauseAsync(p => p.outOrderId == orderModel.orderId);
|
||||||
|
if (tcOrder == null)
|
||||||
|
{
|
||||||
|
tcOrder = new WeChatTransactionComponentOrder
|
||||||
|
{
|
||||||
|
outOrderId = orderModel.orderId,
|
||||||
|
createTime = DateTime.Now,
|
||||||
|
openid = openId
|
||||||
|
};
|
||||||
|
await weChatTransactionComponentOrderServices.InsertAsync(tcOrder);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
jm.otherData = new
|
||||||
|
{
|
||||||
|
response,
|
||||||
|
orderInfo,
|
||||||
|
checkSceneResult = new
|
||||||
|
{
|
||||||
|
is_matched
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
jm.otherData = response;
|
||||||
|
}
|
||||||
|
|
||||||
jm.status = true;
|
jm.status = true;
|
||||||
jm.msg = "支付成功";
|
//jm.msg = "创建支付环境成功";
|
||||||
jm.data = parameter;
|
jm.data = parameter;
|
||||||
jm.otherData = response;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/8/1 22:54:37
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.IRepository;
|
||||||
|
using CoreCms.Net.IRepository.UnitOfWork;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Services
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件类目审核回调 接口实现
|
||||||
|
/// </summary>
|
||||||
|
public class WeChatTransactionComponentAuditCategoryAuditLogServices : BaseServices<WeChatTransactionComponentAuditCategoryAuditLog>, IWeChatTransactionComponentAuditCategoryAuditLogServices
|
||||||
|
{
|
||||||
|
private readonly IWeChatTransactionComponentAuditCategoryAuditLogRepository _dal;
|
||||||
|
private readonly IUnitOfWork _unitOfWork;
|
||||||
|
|
||||||
|
public WeChatTransactionComponentAuditCategoryAuditLogServices(IUnitOfWork unitOfWork, IWeChatTransactionComponentAuditCategoryAuditLogRepository dal)
|
||||||
|
{
|
||||||
|
this._dal = dal;
|
||||||
|
base.BaseDal = dal;
|
||||||
|
_unitOfWork = unitOfWork;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,210 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/14 23:14:23
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Caching.AccressToken;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.IRepository;
|
||||||
|
using CoreCms.Net.IRepository.UnitOfWork;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using CoreCms.Net.WeChat.Service.HttpClients;
|
||||||
|
using CoreCms.Net.WeChat.Service.TransactionComponent.Enum;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api.Models;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Services
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件上传类目资质 接口实现
|
||||||
|
/// </summary>
|
||||||
|
public class WeChatTransactionComponentAuditCategoryServices : BaseServices<WeChatTransactionComponentAuditCategory>, IWeChatTransactionComponentAuditCategoryServices
|
||||||
|
{
|
||||||
|
private readonly IWeChatTransactionComponentAuditCategoryRepository _dal;
|
||||||
|
private readonly IUnitOfWork _unitOfWork;
|
||||||
|
private readonly WeChat.Service.HttpClients.IWeChatApiHttpClientFactory _weChatApiHttpClientFactory;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public WeChatTransactionComponentAuditCategoryServices(IUnitOfWork unitOfWork, IWeChatTransactionComponentAuditCategoryRepository dal, IWeChatApiHttpClientFactory weChatApiHttpClientFactory)
|
||||||
|
{
|
||||||
|
this._dal = dal;
|
||||||
|
_weChatApiHttpClientFactory = weChatApiHttpClientFactory;
|
||||||
|
base.BaseDal = dal;
|
||||||
|
_unitOfWork = unitOfWork;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 实现重写增删改查操作==========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步插入方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity">实体数据</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> InsertAsync(WeChatTransactionComponentAuditCategory entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
entity.createTime = DateTime.Now;
|
||||||
|
|
||||||
|
var id = await _dal.InsertAsync(entity);
|
||||||
|
var bl = id > 0;
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||||
|
|
||||||
|
|
||||||
|
if (bl)
|
||||||
|
{
|
||||||
|
|
||||||
|
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||||
|
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||||
|
var request = new ShopAuditAuditCategoryRequest();
|
||||||
|
|
||||||
|
request.AccessToken = accessToken;
|
||||||
|
request.Audit = new ShopAuditAuditCategoryRequest.Types.Audit();
|
||||||
|
request.Audit.LicenseUrl = entity.licenseImage;
|
||||||
|
request.Audit.Category = new ShopAuditAuditCategoryRequest.Types.Audit.Types.Category();
|
||||||
|
|
||||||
|
request.Audit.Category.FirstCategoryId = entity.level1;
|
||||||
|
request.Audit.Category.SecondCategroyId = entity.level2;
|
||||||
|
request.Audit.Category.ThirdCategroyId = entity.level3;
|
||||||
|
request.Audit.Category.QualificationUrlList = entity.certificateImage.Split(",").ToList();
|
||||||
|
|
||||||
|
|
||||||
|
var response = await client.ExecuteShopAuditAuditCategoryAsync(request);
|
||||||
|
if (response.IsSuccessful())
|
||||||
|
{
|
||||||
|
await _dal.UpdateAsync(p => new WeChatTransactionComponentAuditCategory()
|
||||||
|
{
|
||||||
|
auditId = response.AuditId,
|
||||||
|
status = (int)AuditEnum.AuditCategoryStatus.审核中
|
||||||
|
}, p => p.id == id);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
jm.code = 1;
|
||||||
|
jm.msg = response.ErrorMessage;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> UpdateAsync(WeChatTransactionComponentAuditCategory entity)
|
||||||
|
{
|
||||||
|
return await _dal.UpdateAsync(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> UpdateAsync(List<WeChatTransactionComponentAuditCategory> entity)
|
||||||
|
{
|
||||||
|
return await _dal.UpdateAsync(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID的数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> DeleteByIdAsync(object id)
|
||||||
|
{
|
||||||
|
return await _dal.DeleteByIdAsync(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID集合的数据(批量删除)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ids"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids)
|
||||||
|
{
|
||||||
|
return await _dal.DeleteByIdsAsync(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 刷新审核状态
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity">实体数据</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<AdminUiCallBack> RefreshStatus(WeChatTransactionComponentAuditCategory entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
|
||||||
|
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||||
|
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||||
|
var request = new ShopAuditResultRequest();
|
||||||
|
request.AccessToken = accessToken;
|
||||||
|
request.AuditId = entity.auditId;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var response = await client.ExecuteShopAuditResultAsync(request);
|
||||||
|
if (response.IsSuccessful())
|
||||||
|
{
|
||||||
|
await _dal.UpdateAsync(p => new WeChatTransactionComponentAuditCategory()
|
||||||
|
{
|
||||||
|
status = response.Data.Status,
|
||||||
|
brandId = response.Data.BrandId,
|
||||||
|
rejectReason = response.Data.RejectReason
|
||||||
|
}, p => p.id == entity.id);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
jm.code = response.IsSuccessful() ? 0 : 1;
|
||||||
|
jm.msg = response.IsSuccessful() ? "同步成功" : response.ErrorMessage;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#region 重写根据条件查询分页数据
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<IPageList<WeChatTransactionComponentAuditCategory>> QueryPageAsync(Expression<Func<WeChatTransactionComponentAuditCategory, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentAuditCategory, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false)
|
||||||
|
{
|
||||||
|
return await _dal.QueryPageAsync(predicate, orderByExpression, orderByType, pageIndex, pageSize, blUseNoLock);
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/11 23:48:58
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.IRepository;
|
||||||
|
using CoreCms.Net.IRepository.UnitOfWork;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Services
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件快递公司 接口实现
|
||||||
|
/// </summary>
|
||||||
|
public class WeChatTransactionComponentDeliveryCompanyServices : BaseServices<WeChatTransactionComponentDeliveryCompany>, IWeChatTransactionComponentDeliveryCompanyServices
|
||||||
|
{
|
||||||
|
private readonly IWeChatTransactionComponentDeliveryCompanyRepository _dal;
|
||||||
|
private readonly IUnitOfWork _unitOfWork;
|
||||||
|
|
||||||
|
public WeChatTransactionComponentDeliveryCompanyServices(IUnitOfWork unitOfWork, IWeChatTransactionComponentDeliveryCompanyRepository dal)
|
||||||
|
{
|
||||||
|
this._dal = dal;
|
||||||
|
base.BaseDal = dal;
|
||||||
|
_unitOfWork = unitOfWork;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 获取缓存的所有数据==========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取缓存的所有数据
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<List<WeChatTransactionComponentDeliveryCompany>> GetCaChe()
|
||||||
|
{
|
||||||
|
return await _dal.GetCaChe();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新cache
|
||||||
|
/// </summary>
|
||||||
|
public async Task<List<WeChatTransactionComponentDeliveryCompany>> UpdateCaChe()
|
||||||
|
{
|
||||||
|
return await _dal.UpdateCaChe();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 重写根据条件查询分页数据
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<IPageList<WeChatTransactionComponentDeliveryCompany>> QueryPageAsync(Expression<Func<WeChatTransactionComponentDeliveryCompany, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentDeliveryCompany, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false)
|
||||||
|
{
|
||||||
|
return await _dal.QueryPageAsync(predicate, orderByExpression, orderByType, pageIndex, pageSize, blUseNoLock);
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/8/1 22:18:06
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.IRepository;
|
||||||
|
using CoreCms.Net.IRepository.UnitOfWork;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Services
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件商品审核回调 接口实现
|
||||||
|
/// </summary>
|
||||||
|
public class WeChatTransactionComponentGoodAuditLogServices : BaseServices<WeChatTransactionComponentGoodAuditLog>, IWeChatTransactionComponentGoodAuditLogServices
|
||||||
|
{
|
||||||
|
private readonly IWeChatTransactionComponentGoodAuditLogRepository _dal;
|
||||||
|
private readonly IUnitOfWork _unitOfWork;
|
||||||
|
|
||||||
|
public WeChatTransactionComponentGoodAuditLogServices(IUnitOfWork unitOfWork, IWeChatTransactionComponentGoodAuditLogRepository dal)
|
||||||
|
{
|
||||||
|
this._dal = dal;
|
||||||
|
base.BaseDal = dal;
|
||||||
|
_unitOfWork = unitOfWork;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,117 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/5 23:23:30
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.IRepository;
|
||||||
|
using CoreCms.Net.IRepository.UnitOfWork;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Services
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件商品关联sku列表 接口实现
|
||||||
|
/// </summary>
|
||||||
|
public class WeChatTransactionComponentGoodSKUServices : BaseServices<WeChatTransactionComponentGoodSKU>, IWeChatTransactionComponentGoodSKUServices
|
||||||
|
{
|
||||||
|
private readonly IWeChatTransactionComponentGoodSKURepository _dal;
|
||||||
|
private readonly IUnitOfWork _unitOfWork;
|
||||||
|
|
||||||
|
public WeChatTransactionComponentGoodSKUServices(IUnitOfWork unitOfWork, IWeChatTransactionComponentGoodSKURepository dal)
|
||||||
|
{
|
||||||
|
this._dal = dal;
|
||||||
|
base.BaseDal = dal;
|
||||||
|
_unitOfWork = unitOfWork;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 实现重写增删改查操作==========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步插入方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity">实体数据</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> InsertAsync(WeChatTransactionComponentGoodSKU entity)
|
||||||
|
{
|
||||||
|
return await _dal.InsertAsync(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> UpdateAsync(WeChatTransactionComponentGoodSKU entity)
|
||||||
|
{
|
||||||
|
return await _dal.UpdateAsync(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> UpdateAsync(List<WeChatTransactionComponentGoodSKU> entity)
|
||||||
|
{
|
||||||
|
return await _dal.UpdateAsync(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID的数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> DeleteByIdAsync(object id)
|
||||||
|
{
|
||||||
|
return await _dal.DeleteByIdAsync(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID集合的数据(批量删除)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ids"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids)
|
||||||
|
{
|
||||||
|
return await _dal.DeleteByIdsAsync(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region 重写根据条件查询分页数据
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<IPageList<WeChatTransactionComponentGoodSKU>> QueryPageAsync(Expression<Func<WeChatTransactionComponentGoodSKU, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentGoodSKU, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false)
|
||||||
|
{
|
||||||
|
return await _dal.QueryPageAsync(predicate, orderByExpression, orderByType, pageIndex, pageSize, blUseNoLock);
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,117 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/4 1:24:53
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.IRepository;
|
||||||
|
using CoreCms.Net.IRepository.UnitOfWork;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Services
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件商品列表 接口实现
|
||||||
|
/// </summary>
|
||||||
|
public class WeChatTransactionComponentGoodServices : BaseServices<WeChatTransactionComponentGood>, IWeChatTransactionComponentGoodServices
|
||||||
|
{
|
||||||
|
private readonly IWeChatTransactionComponentGoodRepository _dal;
|
||||||
|
private readonly IUnitOfWork _unitOfWork;
|
||||||
|
|
||||||
|
public WeChatTransactionComponentGoodServices(IUnitOfWork unitOfWork, IWeChatTransactionComponentGoodRepository dal)
|
||||||
|
{
|
||||||
|
this._dal = dal;
|
||||||
|
base.BaseDal = dal;
|
||||||
|
_unitOfWork = unitOfWork;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 实现重写增删改查操作==========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步插入方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity">实体数据</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> InsertAsync(WeChatTransactionComponentGood entity)
|
||||||
|
{
|
||||||
|
return await _dal.InsertAsync(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> UpdateAsync(WeChatTransactionComponentGood entity)
|
||||||
|
{
|
||||||
|
return await _dal.UpdateAsync(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> UpdateAsync(List<WeChatTransactionComponentGood> entity)
|
||||||
|
{
|
||||||
|
return await _dal.UpdateAsync(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID的数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> DeleteByIdAsync(object id)
|
||||||
|
{
|
||||||
|
return await _dal.DeleteByIdAsync(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID集合的数据(批量删除)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ids"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids)
|
||||||
|
{
|
||||||
|
return await _dal.DeleteByIdsAsync(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region 重写根据条件查询分页数据
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<IPageList<WeChatTransactionComponentGood>> QueryPageAsync(Expression<Func<WeChatTransactionComponentGood, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentGood, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false)
|
||||||
|
{
|
||||||
|
return await _dal.QueryPageAsync(predicate, orderByExpression, orderByType, pageIndex, pageSize, blUseNoLock);
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/10 23:44:16
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.IRepository;
|
||||||
|
using CoreCms.Net.IRepository.UnitOfWork;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Services
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件提交订单 接口实现
|
||||||
|
/// </summary>
|
||||||
|
public class WeChatTransactionComponentOrderServices : BaseServices<WeChatTransactionComponentOrder>, IWeChatTransactionComponentOrderServices
|
||||||
|
{
|
||||||
|
private readonly IWeChatTransactionComponentOrderRepository _dal;
|
||||||
|
private readonly IUnitOfWork _unitOfWork;
|
||||||
|
|
||||||
|
public WeChatTransactionComponentOrderServices(IUnitOfWork unitOfWork, IWeChatTransactionComponentOrderRepository dal)
|
||||||
|
{
|
||||||
|
this._dal = dal;
|
||||||
|
base.BaseDal = dal;
|
||||||
|
_unitOfWork = unitOfWork;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,137 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/3 16:30:55
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.IRepository;
|
||||||
|
using CoreCms.Net.IRepository.UnitOfWork;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.ViewModels.Basics;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Services
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件三级类目 接口实现
|
||||||
|
/// </summary>
|
||||||
|
public class WeChatTransactionComponentThirdCategoryServices : BaseServices<WeChatTransactionComponentThirdCategory>, IWeChatTransactionComponentThirdCategoryServices
|
||||||
|
{
|
||||||
|
private readonly IWeChatTransactionComponentThirdCategoryRepository _dal;
|
||||||
|
private readonly IUnitOfWork _unitOfWork;
|
||||||
|
|
||||||
|
public WeChatTransactionComponentThirdCategoryServices(IUnitOfWork unitOfWork, IWeChatTransactionComponentThirdCategoryRepository dal)
|
||||||
|
{
|
||||||
|
this._dal = dal;
|
||||||
|
base.BaseDal = dal;
|
||||||
|
_unitOfWork = unitOfWork;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 实现重写增删改查操作==========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步插入方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity">实体数据</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> InsertAsync(WeChatTransactionComponentThirdCategory entity)
|
||||||
|
{
|
||||||
|
return await _dal.InsertAsync(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> UpdateAsync(WeChatTransactionComponentThirdCategory entity)
|
||||||
|
{
|
||||||
|
return await _dal.UpdateAsync(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写异步更新方法方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> UpdateAsync(List<WeChatTransactionComponentThirdCategory> entity)
|
||||||
|
{
|
||||||
|
return await _dal.UpdateAsync(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID的数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> DeleteByIdAsync(object id)
|
||||||
|
{
|
||||||
|
return await _dal.DeleteByIdAsync(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写删除指定ID集合的数据(批量删除)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ids"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids)
|
||||||
|
{
|
||||||
|
return await _dal.DeleteByIdsAsync(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 获取缓存的所有数据==========================================================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取缓存的所有数据
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<List<WeChatTransactionComponentThirdCategory>> GetCaChe()
|
||||||
|
{
|
||||||
|
return await _dal.GetCaChe();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新cache
|
||||||
|
/// </summary>
|
||||||
|
public async Task<List<WeChatTransactionComponentThirdCategory>> UpdateCaChe()
|
||||||
|
{
|
||||||
|
return await _dal.UpdateCaChe();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 重写根据条件查询分页数据
|
||||||
|
/// <summary>
|
||||||
|
/// 重写根据条件查询分页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate">判断集合</param>
|
||||||
|
/// <param name="orderByType">排序方式</param>
|
||||||
|
/// <param name="pageIndex">当前页面索引</param>
|
||||||
|
/// <param name="pageSize">分布大小</param>
|
||||||
|
/// <param name="orderByExpression"></param>
|
||||||
|
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public new async Task<IPageList<WeChatTransactionComponentThirdCategory>> QueryPageAsync(Expression<Func<WeChatTransactionComponentThirdCategory, bool>> predicate,
|
||||||
|
Expression<Func<WeChatTransactionComponentThirdCategory, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
|
||||||
|
int pageSize = 20, bool blUseNoLock = false)
|
||||||
|
{
|
||||||
|
return await _dal.QueryPageAsync(predicate, orderByExpression, orderByType, pageIndex, pageSize, blUseNoLock);
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\CoreCms.Net.IServices\CoreCms.Net.IServices.csproj" />
|
||||||
<ProjectReference Include="..\CoreCms.Net.Utility\CoreCms.Net.Utility.csproj" />
|
<ProjectReference Include="..\CoreCms.Net.Utility\CoreCms.Net.Utility.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,112 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms.Net *
|
||||||
|
* Web: https://CoreCms.Net *
|
||||||
|
* ProjectName: 核心内容管理系统 *
|
||||||
|
* Author: 大灰灰 *
|
||||||
|
* Email: JianWeie@163.com *
|
||||||
|
* CreateTime: 2020-08-13 23:57:23
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Utility.Helper;
|
||||||
|
using CoreCms.Net.WeChat.Service.HttpClients;
|
||||||
|
using CoreCms.Net.WeChat.Service.Models;
|
||||||
|
using MediatR;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api.Events;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.WeChat.Service.Mediator
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 表示 TEXT 事件的数据
|
||||||
|
/// </summary>
|
||||||
|
public class OpenProductCategoryAuditEventCommand : IRequest<WeChatApiCallBack>
|
||||||
|
{
|
||||||
|
public OpenProductCategoryAuditEvent EventObj { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 商品审核结果
|
||||||
|
/// </summary>
|
||||||
|
public class OpenProductCategoryAuditEventCommandHandler : IRequestHandler<OpenProductCategoryAuditEventCommand, WeChatApiCallBack>
|
||||||
|
{
|
||||||
|
private readonly IWeChatTransactionComponentAuditCategoryAuditLogServices _logServices;
|
||||||
|
private readonly IWeChatTransactionComponentAuditCategoryServices _auditCategoryServices;
|
||||||
|
private readonly ICoreCmsSettingServices _settingServices;
|
||||||
|
private readonly ICoreCmsSmsServices _smsServices;
|
||||||
|
|
||||||
|
|
||||||
|
public OpenProductCategoryAuditEventCommandHandler(IWeChatTransactionComponentAuditCategoryAuditLogServices logServices, ICoreCmsSettingServices settingServices, ICoreCmsSmsServices smsServices, IWeChatTransactionComponentAuditCategoryServices auditCategoryServices)
|
||||||
|
{
|
||||||
|
_logServices = logServices;
|
||||||
|
_settingServices = settingServices;
|
||||||
|
_smsServices = smsServices;
|
||||||
|
_auditCategoryServices = auditCategoryServices;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<WeChatApiCallBack> Handle(OpenProductCategoryAuditEventCommand request, CancellationToken cancellationToken)
|
||||||
|
{
|
||||||
|
|
||||||
|
var jm = new WeChatApiCallBack() { Status = true };
|
||||||
|
|
||||||
|
if (request.EventObj != null)
|
||||||
|
{
|
||||||
|
var auditCategory =
|
||||||
|
await _auditCategoryServices.QueryByClauseAsync(
|
||||||
|
p => p.auditId == request.EventObj.EventData.AuditId);
|
||||||
|
if (auditCategory != null)
|
||||||
|
{
|
||||||
|
await _auditCategoryServices.UpdateAsync(p => new WeChatTransactionComponentAuditCategory()
|
||||||
|
{
|
||||||
|
status = request.EventObj.EventData.Status,
|
||||||
|
rejectReason = request.EventObj.EventData.RejectReason
|
||||||
|
}, p => p.auditId == request.EventObj.EventData.AuditId);
|
||||||
|
|
||||||
|
var log = new WeChatTransactionComponentAuditCategoryAuditLog();
|
||||||
|
log.auditId = request.EventObj.EventData.AuditId;
|
||||||
|
log.status = request.EventObj.EventData.Status;
|
||||||
|
log.auditType = request.EventObj.EventData.AuditType;
|
||||||
|
log.rejectReason = request.EventObj.EventData.RejectReason;
|
||||||
|
log.createTime = DateTime.Now;
|
||||||
|
|
||||||
|
var id = await _logServices.InsertAsync(log);
|
||||||
|
if (id > 0)
|
||||||
|
{
|
||||||
|
var smsOptions = await _settingServices.GetSmsOptions();
|
||||||
|
if (smsOptions.Enabled == true)
|
||||||
|
{
|
||||||
|
var smsBody = string.Empty;
|
||||||
|
if (log.status == 1)
|
||||||
|
{
|
||||||
|
smsBody = "你提交的类目审核已经通过,请登录平台添加新商品。";
|
||||||
|
}
|
||||||
|
else if (log.status == 9)
|
||||||
|
{
|
||||||
|
smsBody = "你提交的类目审核已被拒绝,失败原因为:" + log.rejectReason + ",请修改资料后重新提交。";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(smsBody))
|
||||||
|
{
|
||||||
|
var allConfigs = await _settingServices.GetConfigDictionaries();
|
||||||
|
var shopMobile = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShopMobile); //退货联系方式
|
||||||
|
|
||||||
|
await _smsServices.SendSms(shopMobile, smsBody, smsOptions);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return await Task.FromResult(jm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms.Net *
|
||||||
|
* Web: https://CoreCms.Net *
|
||||||
|
* ProjectName: 核心内容管理系统 *
|
||||||
|
* Author: 大灰灰 *
|
||||||
|
* Email: JianWeie@163.com *
|
||||||
|
* CreateTime: 2020-08-13 23:57:23
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Utility.Helper;
|
||||||
|
using CoreCms.Net.WeChat.Service.HttpClients;
|
||||||
|
using CoreCms.Net.WeChat.Service.Models;
|
||||||
|
using MediatR;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api.Events;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.WeChat.Service.Mediator
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 表示 TEXT 事件的数据
|
||||||
|
/// </summary>
|
||||||
|
public class OpenProductSPUAuditEventCommand : IRequest<WeChatApiCallBack>
|
||||||
|
{
|
||||||
|
public OpenProductSPUAuditEvent EventObj { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 商品审核结果
|
||||||
|
/// </summary>
|
||||||
|
public class OpenProductSPUAuditEventCommandHandler : IRequestHandler<OpenProductSPUAuditEventCommand, WeChatApiCallBack>
|
||||||
|
{
|
||||||
|
private readonly WeChat.Service.HttpClients.IWeChatApiHttpClientFactory _weChatApiHttpClientFactory;
|
||||||
|
private readonly IWeChatTransactionComponentGoodAuditLogServices _logServices;
|
||||||
|
private readonly ICoreCmsGoodsServices _goodsServices;
|
||||||
|
private readonly ICoreCmsSettingServices _settingServices;
|
||||||
|
private readonly ICoreCmsSmsServices _smsServices;
|
||||||
|
|
||||||
|
|
||||||
|
public OpenProductSPUAuditEventCommandHandler(IWeChatApiHttpClientFactory weChatApiHttpClientFactory, IWeChatTransactionComponentGoodAuditLogServices logServices, ICoreCmsGoodsServices goodsServices, ICoreCmsSettingServices settingServices, ICoreCmsSmsServices smsServices)
|
||||||
|
{
|
||||||
|
_weChatApiHttpClientFactory = weChatApiHttpClientFactory;
|
||||||
|
_logServices = logServices;
|
||||||
|
_goodsServices = goodsServices;
|
||||||
|
_settingServices = settingServices;
|
||||||
|
_smsServices = smsServices;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<WeChatApiCallBack> Handle(OpenProductSPUAuditEventCommand request, CancellationToken cancellationToken)
|
||||||
|
{
|
||||||
|
|
||||||
|
var jm = new WeChatApiCallBack() { Status = true };
|
||||||
|
|
||||||
|
if (request.EventObj != null)
|
||||||
|
{
|
||||||
|
var log = new WeChatTransactionComponentGoodAuditLog();
|
||||||
|
log.outProductId = request.EventObj.EventData.OutProductId;
|
||||||
|
log.productId = request.EventObj.EventData.ProductId;
|
||||||
|
log.status = request.EventObj.EventData.Status;
|
||||||
|
log.rejectReason = request.EventObj.EventData.RejectReason;
|
||||||
|
log.createTime = DateTime.Now;
|
||||||
|
|
||||||
|
var id = await _logServices.InsertAsync(log);
|
||||||
|
if (id > 0)
|
||||||
|
{
|
||||||
|
var smsOptions = await _settingServices.GetSmsOptions();
|
||||||
|
if (smsOptions.Enabled == true)
|
||||||
|
{
|
||||||
|
var smsBody = string.Empty;
|
||||||
|
if (log.status == 4)
|
||||||
|
{
|
||||||
|
smsBody = "你提交的商品审核已经通过,请登录平台上架商品。";
|
||||||
|
}
|
||||||
|
else if (log.status == 3)
|
||||||
|
{
|
||||||
|
smsBody = "你提交的商品审核已被拒绝,失败原因为:" + log.rejectReason + ",请修改资料后重新提交。";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(smsBody))
|
||||||
|
{
|
||||||
|
var allConfigs = await _settingServices.GetConfigDictionaries();
|
||||||
|
var shopMobile = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShopMobile); //退货联系方式
|
||||||
|
|
||||||
|
await _smsServices.SendSms(shopMobile, smsBody, smsOptions);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return await Task.FromResult(jm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/15 0:45:18
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
using System.ComponentModel;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.WeChat.Service.TransactionComponent.Enum
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 审核相关
|
||||||
|
/// </summary>
|
||||||
|
public class AuditEnum
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 查询品牌和类目的审核结果状态
|
||||||
|
/// </summary>
|
||||||
|
public enum AuditCategoryStatus
|
||||||
|
{
|
||||||
|
[Description("<button type='button' class='layui-btn layui-btn-normal layui-btn-xs'>审核中</button>")]
|
||||||
|
审核中 = 0,
|
||||||
|
|
||||||
|
[Description("<button type='button' class='layui-btn layui-btn-xs'>审核成功</button>")]
|
||||||
|
审核成功 = 1,
|
||||||
|
|
||||||
|
[Description("<button type='button' class='layui-btn layui-btn-danger layui-btn-xs'>审核拒绝</button>")]
|
||||||
|
审核拒绝 = 9
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/10 1:29:02
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
using System.ComponentModel;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.WeChat.Service.TransactionComponent.Enum
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 配送方式
|
||||||
|
/// </summary>
|
||||||
|
public enum DeliveryTypeEnum
|
||||||
|
{
|
||||||
|
正常快递 = 1,
|
||||||
|
无需快递 = 2,
|
||||||
|
线下配送 = 3,
|
||||||
|
用户自提 = 4,
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum OrderStatus
|
||||||
|
{
|
||||||
|
[Description("待付款")]
|
||||||
|
待付款 = 10,
|
||||||
|
|
||||||
|
[Description("收银台支付完成")]
|
||||||
|
收银台支付完成 = 11,
|
||||||
|
|
||||||
|
[Description("待发货")]
|
||||||
|
待发货 = 20,
|
||||||
|
|
||||||
|
[Description("待收货")]
|
||||||
|
待收货 = 30,
|
||||||
|
|
||||||
|
[Description("完成")]
|
||||||
|
完成 = 100,
|
||||||
|
|
||||||
|
[Description("全部商品售后之后订单取消")]
|
||||||
|
售后之后取消 = 200,
|
||||||
|
|
||||||
|
[Description("用户主动取消/待付款超时取消/商家取消")]
|
||||||
|
正常取消 = 4,
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/6 1:10:15
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
using System.ComponentModel;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.WeChat.Service.TransactionComponent.Enum
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// SPU枚举
|
||||||
|
/// </summary>
|
||||||
|
public class SpuEnum
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// SPU审核状态
|
||||||
|
/// </summary>
|
||||||
|
public enum EditStatus
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 未审核
|
||||||
|
/// </summary>
|
||||||
|
[Description("未审核")]
|
||||||
|
VerifyNo = 1,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 审核中
|
||||||
|
/// </summary>
|
||||||
|
[Description("审核中")]
|
||||||
|
Verifying = 2,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 审核拒绝
|
||||||
|
/// </summary>
|
||||||
|
[Description("审核拒绝")]
|
||||||
|
VerifyRefuse = 3,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 审核通过
|
||||||
|
/// </summary>
|
||||||
|
[Description("审核通过")]
|
||||||
|
VerifyYes = 4,
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// SPU审状态
|
||||||
|
/// </summary>
|
||||||
|
public enum SPUStatus
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 初始值
|
||||||
|
/// </summary>
|
||||||
|
[Description("初始值")]
|
||||||
|
InitialValue = 0,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 上架
|
||||||
|
/// </summary>
|
||||||
|
[Description("上架")]
|
||||||
|
Added = 5,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 自主下架
|
||||||
|
/// </summary>
|
||||||
|
[Description("自主下架")]
|
||||||
|
SoldOut = 11,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 违规下架/风控系统下架
|
||||||
|
/// </summary>
|
||||||
|
[Description("违规下架/风控系统下架")]
|
||||||
|
SytemSoldOut = 13,
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,210 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/9 1:59:13
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.WeChat.Service.TransactionComponent.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 订单详情
|
||||||
|
/// </summary>
|
||||||
|
public class OrderInfo
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 创建时间
|
||||||
|
/// </summary>
|
||||||
|
public string create_time { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 非必填,默认为0。0:普通场景, 1:合单支付
|
||||||
|
/// </summary>
|
||||||
|
public int type { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 商家自定义订单ID
|
||||||
|
/// </summary>
|
||||||
|
public string out_order_id { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 用户的openid
|
||||||
|
/// </summary>
|
||||||
|
public string openid { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 商家小程序该订单的页面path,用于微信侧订单中心跳转
|
||||||
|
/// </summary>
|
||||||
|
public string path { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 商家小程序该订单的用户id
|
||||||
|
/// </summary>
|
||||||
|
public string out_user_id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单详情
|
||||||
|
/// </summary>
|
||||||
|
public OrderDetail order_detail { get; set; } = new OrderDetail();
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public DeliveryDetail delivery_detail { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public AddressInfo address_info { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 货品明细
|
||||||
|
/// </summary>
|
||||||
|
public class ProductInfoItem
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 商家自定义商品ID
|
||||||
|
/// </summary>
|
||||||
|
public string out_product_id { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 商家自定义商品skuID,可填空字符串(如果这个product_id下没有sku)
|
||||||
|
/// </summary>
|
||||||
|
public string out_sku_id { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 购买的数量
|
||||||
|
/// </summary>
|
||||||
|
public int product_cnt { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 生成订单时商品的售卖价(单位:分),可以跟上传商品接口的价格不一致
|
||||||
|
/// </summary>
|
||||||
|
public int sale_price { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 绑定的小程序商品路径
|
||||||
|
/// </summary>
|
||||||
|
public string path { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 生成订单时商品的标题
|
||||||
|
/// </summary>
|
||||||
|
public string title { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 生成订单时商品的头图
|
||||||
|
/// </summary>
|
||||||
|
public string head_img { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 支付情况
|
||||||
|
/// </summary>
|
||||||
|
public class PayInfo
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 微信支付
|
||||||
|
/// </summary>
|
||||||
|
public string pay_method { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 预支付ID
|
||||||
|
/// </summary>
|
||||||
|
public string prepay_id { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 预付款时间(拿到prepay_id的时间)
|
||||||
|
/// </summary>
|
||||||
|
public string prepay_time { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 价格体系
|
||||||
|
/// </summary>
|
||||||
|
public class PriceInfo
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 该订单最终的金额(单位:分)
|
||||||
|
/// </summary>
|
||||||
|
public int order_price { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 运费(单位:分)
|
||||||
|
/// </summary>
|
||||||
|
public int freight { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 优惠金额(单位:分)
|
||||||
|
/// </summary>
|
||||||
|
public int discounted_price { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 附加金额(单位:分)
|
||||||
|
/// </summary>
|
||||||
|
public int additional_price { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 附加金额备注
|
||||||
|
/// </summary>
|
||||||
|
public string additional_remarks { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单详情
|
||||||
|
/// </summary>
|
||||||
|
public class OrderDetail
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 商品列表
|
||||||
|
/// </summary>
|
||||||
|
public List<ProductInfoItem> product_infos { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 支付情况
|
||||||
|
/// </summary>
|
||||||
|
public PayInfo pay_info { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 价格体系
|
||||||
|
/// </summary>
|
||||||
|
public PriceInfo price_info { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 发货情况
|
||||||
|
/// </summary>
|
||||||
|
public class DeliveryDetail
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 1: 正常快递, 2: 无需快递, 3: 线下配送, 4: 用户自提
|
||||||
|
/// </summary>
|
||||||
|
public int delivery_type { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 地址情况
|
||||||
|
/// </summary>
|
||||||
|
public class AddressInfo
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 收货人姓名
|
||||||
|
/// </summary>
|
||||||
|
public string receiver_name { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 详细收货地址信息
|
||||||
|
/// </summary>
|
||||||
|
public string detailed_address { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 收货人手机号码
|
||||||
|
/// </summary>
|
||||||
|
public string tel_number { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 国家,选填
|
||||||
|
/// </summary>
|
||||||
|
public string country { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 省份,选填
|
||||||
|
/// </summary>
|
||||||
|
public string province { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 城市,选填
|
||||||
|
/// </summary>
|
||||||
|
public string city { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 乡镇,选填
|
||||||
|
/// </summary>
|
||||||
|
public string town { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -30,6 +30,7 @@ using Microsoft.AspNetCore.Hosting;
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using NPOI.HSSF.UserModel;
|
using NPOI.HSSF.UserModel;
|
||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
|
using Yitter.IdGenerator;
|
||||||
|
|
||||||
namespace CoreCms.Net.Web.Admin.Controllers
|
namespace CoreCms.Net.Web.Admin.Controllers
|
||||||
{
|
{
|
||||||
@@ -938,8 +939,8 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
var obj = new CoreCmsProducts();
|
var obj = new CoreCmsProducts();
|
||||||
|
|
||||||
if (count == 0) obj.isDefalut = true;
|
if (count == 0) obj.isDefalut = true;
|
||||||
var sn = list.Find(p => p.name == "goods[sn]");
|
//var sn = list.Find(p => p.name == "goods[sn]");
|
||||||
obj.sn = sn != null ? sn.value + "_" + (count + 1) : null;
|
obj.sn = "SN" + YitIdHelper.NextId();
|
||||||
var price = list.Find(p => p.name == "goods[price]");
|
var price = list.Find(p => p.name == "goods[price]");
|
||||||
obj.price = price != null && !string.IsNullOrEmpty(price.value)
|
obj.price = price != null && !string.IsNullOrEmpty(price.value)
|
||||||
? Convert.ToDecimal(price.value)
|
? Convert.ToDecimal(price.value)
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ using CoreCms.Net.Model.ViewModels.UI;
|
|||||||
using CoreCms.Net.Utility.Extensions;
|
using CoreCms.Net.Utility.Extensions;
|
||||||
using CoreCms.Net.Utility.Helper;
|
using CoreCms.Net.Utility.Helper;
|
||||||
using CoreCms.Net.WeChat.Service.HttpClients;
|
using CoreCms.Net.WeChat.Service.HttpClients;
|
||||||
|
using CoreCms.Net.WeChat.Service.TransactionComponent.Enum;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
@@ -59,7 +60,9 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
private readonly ICoreCmsLogisticsServices _logisticsServices;
|
private readonly ICoreCmsLogisticsServices _logisticsServices;
|
||||||
private readonly ICoreCmsPaymentsServices _paymentsServices;
|
private readonly ICoreCmsPaymentsServices _paymentsServices;
|
||||||
private readonly ICoreCmsSettingServices _settingServices;
|
private readonly ICoreCmsSettingServices _settingServices;
|
||||||
|
private readonly IWeChatTransactionComponentOrderServices _tcOrderServices;
|
||||||
private readonly ICoreCmsUserWeChatInfoServices _userWeChatInfoServices;
|
private readonly ICoreCmsUserWeChatInfoServices _userWeChatInfoServices;
|
||||||
|
private readonly IWeChatTransactionComponentDeliveryCompanyServices _tcDeliveryCompanyServices;
|
||||||
private readonly IRedisOperationRepository _redisOperationRepository;
|
private readonly IRedisOperationRepository _redisOperationRepository;
|
||||||
private readonly WeChat.Service.HttpClients.IWeChatApiHttpClientFactory _weChatApiHttpClientFactory;
|
private readonly WeChat.Service.HttpClients.IWeChatApiHttpClientFactory _weChatApiHttpClientFactory;
|
||||||
|
|
||||||
@@ -80,7 +83,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
, ICoreCmsLogisticsServices logisticsServices
|
, ICoreCmsLogisticsServices logisticsServices
|
||||||
, ICoreCmsBillPaymentsServices billPaymentsServices
|
, ICoreCmsBillPaymentsServices billPaymentsServices
|
||||||
, ICoreCmsPaymentsServices paymentsServices
|
, ICoreCmsPaymentsServices paymentsServices
|
||||||
, ICoreCmsSettingServices settingServices, ICoreCmsUserWeChatInfoServices userWeChatInfoServices, IRedisOperationRepository redisOperationRepository, ICoreCmsBillDeliveryServices billDeliveryServices, IWeChatApiHttpClientFactory weChatApiHttpClientFactory, ICoreCmsOrderItemServices orderItemServices)
|
, ICoreCmsSettingServices settingServices, IWeChatTransactionComponentOrderServices tcOrderServices, ICoreCmsUserWeChatInfoServices userWeChatInfoServices, IWeChatTransactionComponentDeliveryCompanyServices tcDeliveryCompanyServices, IRedisOperationRepository redisOperationRepository, ICoreCmsBillDeliveryServices billDeliveryServices, IWeChatApiHttpClientFactory weChatApiHttpClientFactory, ICoreCmsOrderItemServices orderItemServices)
|
||||||
{
|
{
|
||||||
_webHostEnvironment = webHostEnvironment;
|
_webHostEnvironment = webHostEnvironment;
|
||||||
_coreCmsOrderServices = coreCmsOrderServices;
|
_coreCmsOrderServices = coreCmsOrderServices;
|
||||||
@@ -92,7 +95,9 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
_billPaymentsServices = billPaymentsServices;
|
_billPaymentsServices = billPaymentsServices;
|
||||||
_paymentsServices = paymentsServices;
|
_paymentsServices = paymentsServices;
|
||||||
_settingServices = settingServices;
|
_settingServices = settingServices;
|
||||||
|
_tcOrderServices = tcOrderServices;
|
||||||
_userWeChatInfoServices = userWeChatInfoServices;
|
_userWeChatInfoServices = userWeChatInfoServices;
|
||||||
|
_tcDeliveryCompanyServices = tcDeliveryCompanyServices;
|
||||||
_redisOperationRepository = redisOperationRepository;
|
_redisOperationRepository = redisOperationRepository;
|
||||||
_billDeliveryServices = billDeliveryServices;
|
_billDeliveryServices = billDeliveryServices;
|
||||||
_weChatApiHttpClientFactory = weChatApiHttpClientFactory;
|
_weChatApiHttpClientFactory = weChatApiHttpClientFactory;
|
||||||
@@ -482,6 +487,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
var storeList = await _storeServices.QueryAsync();
|
var storeList = await _storeServices.QueryAsync();
|
||||||
|
|
||||||
var logistics = await _logisticsServices.QueryListByClauseAsync(p => p.isDelete == false);
|
var logistics = await _logisticsServices.QueryListByClauseAsync(p => p.isDelete == false);
|
||||||
|
var deliveryCompany = await _tcDeliveryCompanyServices.GetCaChe();
|
||||||
|
|
||||||
var result = await _coreCmsOrderServices.GetOrderShipInfo(entity.id);
|
var result = await _coreCmsOrderServices.GetOrderShipInfo(entity.id);
|
||||||
if (!result.status)
|
if (!result.status)
|
||||||
@@ -508,6 +514,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
orderModel = result.data,
|
orderModel = result.data,
|
||||||
storeList,
|
storeList,
|
||||||
logistics,
|
logistics,
|
||||||
|
deliveryCompany
|
||||||
};
|
};
|
||||||
|
|
||||||
return jm;
|
return jm;
|
||||||
@@ -1642,12 +1649,12 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
#region 重新同步发货============================================================
|
#region 重新同步发货============================================================
|
||||||
// POST: Api/CoreCmsOrder/DeleteOrder/10
|
// POST: Api/CoreCmsOrder/DeleteOrder/10
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 批量删除订单
|
/// 重新同步发货
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
[Description("批量删除订单")]
|
[Description("重新同步发货")]
|
||||||
public async Task<AdminUiCallBack> RefreshDelivery([FromBody] FMStringId entity)
|
public async Task<AdminUiCallBack> RefreshDelivery([FromBody] FMStringId entity)
|
||||||
{
|
{
|
||||||
var jm = new AdminUiCallBack();
|
var jm = new AdminUiCallBack();
|
||||||
@@ -1665,6 +1672,10 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
return jm;
|
return jm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//发货同步处理
|
||||||
|
await _redisOperationRepository.ListLeftPushAsync(RedisMessageQueueKey.TransactionComponentOrderShipSync, delivery.deliveryId);
|
||||||
|
|
||||||
|
|
||||||
jm.code = 0;
|
jm.code = 0;
|
||||||
jm.msg = "提交任务成功,请核实远端状态";
|
jm.msg = "提交任务成功,请核实远端状态";
|
||||||
|
|
||||||
@@ -1698,5 +1709,77 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
return jm;
|
return jm;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region 获取交易组件订单信息
|
||||||
|
// POST: Api/CoreCmsOrder/GetTcOrder/10
|
||||||
|
/// <summary>
|
||||||
|
/// 获取交易组件订单信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("获取交易组件订单信息")]
|
||||||
|
public async Task<AdminUiCallBack> GetTcOrder([FromBody] FMStringId entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var orderModel = await _coreCmsOrderServices.QueryByClauseAsync(p => p.orderId == entity.id);
|
||||||
|
if (orderModel == null)
|
||||||
|
{
|
||||||
|
jm.msg = "不存在此订单信息";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
var tcOrder = await _tcOrderServices.QueryByClauseAsync(p => p.outOrderId == entity.id);
|
||||||
|
if (tcOrder == null)
|
||||||
|
{
|
||||||
|
jm.msg = "不存在此订单交易组件推送记录";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
var weChatUserInfo = await _userWeChatInfoServices.QueryByClauseAsync(p => p.userId == orderModel.userId);
|
||||||
|
if (weChatUserInfo == null)
|
||||||
|
{
|
||||||
|
jm.msg = "用户微信数据拉取失败";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取小程序认证
|
||||||
|
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||||
|
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||||
|
var request = new ShopOrderGetRequest();
|
||||||
|
request.AccessToken = accessToken;
|
||||||
|
request.OutOrderId = orderModel.orderId;
|
||||||
|
request.OpenId = weChatUserInfo.openid;
|
||||||
|
|
||||||
|
var response = await client.ExecuteShopOrderGetAsync(request);
|
||||||
|
|
||||||
|
var orderStatus = EnumHelper.EnumToList<OrderStatus>();
|
||||||
|
var deliveryTypeEnum = EnumHelper.EnumToList<DeliveryTypeEnum>();
|
||||||
|
|
||||||
|
|
||||||
|
jm.code = response.IsSuccessful() ? 0 : 1;
|
||||||
|
jm.msg = response.IsSuccessful() ? "获取成功" : response.ErrorMessage;
|
||||||
|
jm.data = new
|
||||||
|
{
|
||||||
|
response.Order,
|
||||||
|
orderStatus,
|
||||||
|
deliveryTypeEnum
|
||||||
|
};
|
||||||
|
jm.otherData = accessToken;
|
||||||
|
|
||||||
|
//更新拉取订单
|
||||||
|
if (response.Order is { OrderId: > 0 } && tcOrder.orderId == null)
|
||||||
|
{
|
||||||
|
await _tcOrderServices.UpdateAsync(
|
||||||
|
p => new WeChatTransactionComponentOrder() { orderId = response.Order.OrderId },
|
||||||
|
p => p.id == tcOrder.id && p.outOrderId == tcOrder.outOrderId);
|
||||||
|
}
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,402 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/14 23:14:23
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.Entities.Expression;
|
||||||
|
using CoreCms.Net.Model.FromBody;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using CoreCms.Net.Filter;
|
||||||
|
using CoreCms.Net.Loging;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Utility.Helper;
|
||||||
|
using CoreCms.Net.Utility.Extensions;
|
||||||
|
using CoreCms.Net.WeChat.Service.TransactionComponent.Enum;
|
||||||
|
using Microsoft.AspNetCore.Authorization;
|
||||||
|
using Microsoft.AspNetCore.Hosting;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using NPOI.HSSF.UserModel;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Web.Admin.Controllers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件上传类目资质
|
||||||
|
///</summary>
|
||||||
|
[Description("自定义交易组件上传类目资质")]
|
||||||
|
[Route("api/[controller]/[action]")]
|
||||||
|
[ApiController]
|
||||||
|
[RequiredErrorForAdmin]
|
||||||
|
[Authorize(Permissions.Name)]
|
||||||
|
public class WeChatTransactionComponentAuditCategoryController : ControllerBase
|
||||||
|
{
|
||||||
|
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||||
|
private readonly IWeChatTransactionComponentAuditCategoryServices _weChatTransactionComponentAuditCategoryServices;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 构造函数
|
||||||
|
///</summary>
|
||||||
|
public WeChatTransactionComponentAuditCategoryController(IWebHostEnvironment webHostEnvironment
|
||||||
|
, IWeChatTransactionComponentAuditCategoryServices weChatTransactionComponentAuditCategoryServices
|
||||||
|
)
|
||||||
|
{
|
||||||
|
_webHostEnvironment = webHostEnvironment;
|
||||||
|
_weChatTransactionComponentAuditCategoryServices = weChatTransactionComponentAuditCategoryServices;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 获取列表============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentAuditCategory/GetPageList
|
||||||
|
/// <summary>
|
||||||
|
/// 获取列表
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("获取列表")]
|
||||||
|
public async Task<AdminUiCallBack> GetPageList()
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
|
||||||
|
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
|
||||||
|
var where = PredicateBuilder.True<WeChatTransactionComponentAuditCategory>();
|
||||||
|
//获取排序字段
|
||||||
|
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||||
|
|
||||||
|
Expression<Func<WeChatTransactionComponentAuditCategory, object>> orderEx = orderField switch
|
||||||
|
{
|
||||||
|
"id" => p => p.id,
|
||||||
|
"licenseImage" => p => p.licenseImage,
|
||||||
|
"level1" => p => p.level1,
|
||||||
|
"level1Name" => p => p.level1Name,
|
||||||
|
"level2" => p => p.level2,
|
||||||
|
"level2Name" => p => p.level2Name,
|
||||||
|
"level3" => p => p.level3,
|
||||||
|
"level3Name" => p => p.level3Name,
|
||||||
|
"certificateImage" => p => p.certificateImage,
|
||||||
|
"auditId" => p => p.auditId,
|
||||||
|
"status" => p => p.status,
|
||||||
|
"brandId" => p => p.brandId,
|
||||||
|
"rejectReason" => p => p.rejectReason,
|
||||||
|
"createTime" => p => p.createTime,
|
||||||
|
_ => p => p.id
|
||||||
|
};
|
||||||
|
|
||||||
|
//设置排序方式
|
||||||
|
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
|
||||||
|
var orderBy = orderDirection switch
|
||||||
|
{
|
||||||
|
"asc" => OrderByType.Asc,
|
||||||
|
"desc" => OrderByType.Desc,
|
||||||
|
_ => OrderByType.Desc
|
||||||
|
};
|
||||||
|
//查询筛选
|
||||||
|
|
||||||
|
//序列 int
|
||||||
|
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (id > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.id == id);
|
||||||
|
}
|
||||||
|
//营业执照或组织机构代码证 nvarchar
|
||||||
|
var licenseImage = Request.Form["licenseImage"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(licenseImage))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.licenseImage.Contains(licenseImage));
|
||||||
|
}
|
||||||
|
//一级类目 int
|
||||||
|
var level1 = Request.Form["level1"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (level1 > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.level1 == level1);
|
||||||
|
}
|
||||||
|
//一级类目名称 nvarchar
|
||||||
|
var level1Name = Request.Form["level1Name"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(level1Name))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.level1Name.Contains(level1Name));
|
||||||
|
}
|
||||||
|
//二级类目 int
|
||||||
|
var level2 = Request.Form["level2"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (level2 > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.level2 == level2);
|
||||||
|
}
|
||||||
|
//二级类目名称 nvarchar
|
||||||
|
var level2Name = Request.Form["level2Name"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(level2Name))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.level2Name.Contains(level2Name));
|
||||||
|
}
|
||||||
|
//三级类目 int
|
||||||
|
var level3 = Request.Form["level3"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (level3 > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.level3 == level3);
|
||||||
|
}
|
||||||
|
//三级类目名称 nvarchar
|
||||||
|
var level3Name = Request.Form["level3Name"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(level3Name))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.level3Name.Contains(level3Name));
|
||||||
|
}
|
||||||
|
//资质材料 nvarchar
|
||||||
|
var certificateImage = Request.Form["certificateImage"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(certificateImage))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.certificateImage.Contains(certificateImage));
|
||||||
|
}
|
||||||
|
//审核单 nvarchar
|
||||||
|
var auditId = Request.Form["auditId"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(auditId))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.auditId.Contains(auditId));
|
||||||
|
}
|
||||||
|
//审核状态 int
|
||||||
|
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (status > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.status == status);
|
||||||
|
}
|
||||||
|
//品牌id int
|
||||||
|
var brandId = Request.Form["brandId"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (brandId > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.brandId == brandId);
|
||||||
|
}
|
||||||
|
//拒绝原因 nvarchar
|
||||||
|
var rejectReason = Request.Form["rejectReason"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(rejectReason))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.rejectReason.Contains(rejectReason));
|
||||||
|
}
|
||||||
|
//创建时间 datetime
|
||||||
|
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(createTime))
|
||||||
|
{
|
||||||
|
if (createTime.Contains("到"))
|
||||||
|
{
|
||||||
|
var dts = createTime.Split("到");
|
||||||
|
var dtStart = dts[0].Trim().ObjectToDate();
|
||||||
|
where = where.And(p => p.createTime > dtStart);
|
||||||
|
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||||
|
where = where.And(p => p.createTime < dtEnd);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var dt = createTime.ObjectToDate();
|
||||||
|
where = where.And(p => p.createTime > dt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//获取数据
|
||||||
|
var list = await _weChatTransactionComponentAuditCategoryServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize, true);
|
||||||
|
//返回数据
|
||||||
|
jm.data = list;
|
||||||
|
jm.code = 0;
|
||||||
|
jm.count = list.TotalCount;
|
||||||
|
jm.msg = "数据调用成功!";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 首页数据============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentAuditCategory/GetIndex
|
||||||
|
/// <summary>
|
||||||
|
/// 首页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("首页数据")]
|
||||||
|
public AdminUiCallBack GetIndex()
|
||||||
|
{
|
||||||
|
//返回数据
|
||||||
|
var jm = new AdminUiCallBack { code = 0 };
|
||||||
|
|
||||||
|
var auditCategoryStatus = EnumHelper.EnumToList<AuditEnum.AuditCategoryStatus>();
|
||||||
|
|
||||||
|
jm.data = new
|
||||||
|
{
|
||||||
|
auditCategoryStatus
|
||||||
|
};
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 创建数据============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentAuditCategory/GetCreate
|
||||||
|
/// <summary>
|
||||||
|
/// 创建数据
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("创建数据")]
|
||||||
|
public AdminUiCallBack GetCreate()
|
||||||
|
{
|
||||||
|
//返回数据
|
||||||
|
var jm = new AdminUiCallBack { code = 0 };
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 创建提交============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentAuditCategory/DoCreate
|
||||||
|
/// <summary>
|
||||||
|
/// 创建提交
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("创建提交")]
|
||||||
|
public async Task<AdminUiCallBack> DoCreate([FromBody] WeChatTransactionComponentAuditCategory entity)
|
||||||
|
{
|
||||||
|
var jm = await _weChatTransactionComponentAuditCategoryServices.InsertAsync(entity);
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 编辑数据============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentAuditCategory/GetEdit
|
||||||
|
/// <summary>
|
||||||
|
/// 编辑数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("编辑数据")]
|
||||||
|
public async Task<AdminUiCallBack> GetEdit([FromBody] FMIntId entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var model = await _weChatTransactionComponentAuditCategoryServices.QueryByIdAsync(entity.id, false);
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
jm.msg = "不存在此信息";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
jm.code = 0;
|
||||||
|
jm.data = model;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 编辑提交============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentAuditCategory/Edit
|
||||||
|
/// <summary>
|
||||||
|
/// 编辑提交
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("编辑提交")]
|
||||||
|
public async Task<AdminUiCallBack> DoEdit([FromBody] WeChatTransactionComponentAuditCategory entity)
|
||||||
|
{
|
||||||
|
var jm = await _weChatTransactionComponentAuditCategoryServices.UpdateAsync(entity);
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 删除数据============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentAuditCategory/DoDelete/10
|
||||||
|
/// <summary>
|
||||||
|
/// 单选删除
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("单选删除")]
|
||||||
|
public async Task<AdminUiCallBack> DoDelete([FromBody] FMIntId entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var model = await _weChatTransactionComponentAuditCategoryServices.ExistsAsync(p => p.id == entity.id, true);
|
||||||
|
if (!model)
|
||||||
|
{
|
||||||
|
jm.msg = GlobalConstVars.DataisNo;
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
jm = await _weChatTransactionComponentAuditCategoryServices.DeleteByIdAsync(entity.id);
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 预览数据============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentAuditCategory/GetDetails/10
|
||||||
|
/// <summary>
|
||||||
|
/// 预览数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("预览数据")]
|
||||||
|
public async Task<AdminUiCallBack> GetDetails([FromBody] FMIntId entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var model = await _weChatTransactionComponentAuditCategoryServices.QueryByIdAsync(entity.id, false);
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
jm.msg = "不存在此信息";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
jm.code = 0;
|
||||||
|
|
||||||
|
var auditCategoryStatus = EnumHelper.EnumToList<AuditEnum.AuditCategoryStatus>();
|
||||||
|
jm.data = new
|
||||||
|
{
|
||||||
|
model,
|
||||||
|
auditCategoryStatus,
|
||||||
|
imagesArr = model.certificateImage.Split(",")
|
||||||
|
};
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 同步审核状态============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentAuditCategory/DoDelete/10
|
||||||
|
/// <summary>
|
||||||
|
/// 同步审核状态
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("同步审核状态")]
|
||||||
|
public async Task<AdminUiCallBack> DoRefresh([FromBody] FMIntId entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var model = await _weChatTransactionComponentAuditCategoryServices.QueryByClauseAsync(p => p.id == entity.id, true);
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
jm.msg = GlobalConstVars.DataisNo;
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(model.auditId))
|
||||||
|
{
|
||||||
|
jm.msg = "审核单获取失败,请重新提交";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
jm = await _weChatTransactionComponentAuditCategoryServices.RefreshStatus(model);
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,194 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/11 23:48:58
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Caching.AccressToken;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.Entities.Expression;
|
||||||
|
using CoreCms.Net.Filter;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using CoreCms.Net.Utility.Extensions;
|
||||||
|
using CoreCms.Net.WeChat.Service.HttpClients;
|
||||||
|
using Microsoft.AspNetCore.Authorization;
|
||||||
|
using Microsoft.AspNetCore.Hosting;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api.Models;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Web.Admin.Controllers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件快递公司
|
||||||
|
///</summary>
|
||||||
|
[Description("自定义交易组件快递公司")]
|
||||||
|
[Route("api/[controller]/[action]")]
|
||||||
|
[ApiController]
|
||||||
|
[RequiredErrorForAdmin]
|
||||||
|
[Authorize(Permissions.Name)]
|
||||||
|
public class WeChatTransactionComponentDeliveryCompanyController : ControllerBase
|
||||||
|
{
|
||||||
|
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||||
|
private readonly IWeChatTransactionComponentDeliveryCompanyServices _weChatTransactionComponentDeliveryCompanyServices;
|
||||||
|
private readonly WeChat.Service.HttpClients.IWeChatApiHttpClientFactory _weChatApiHttpClientFactory;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 构造函数
|
||||||
|
///</summary>
|
||||||
|
public WeChatTransactionComponentDeliveryCompanyController(IWebHostEnvironment webHostEnvironment
|
||||||
|
, IWeChatTransactionComponentDeliveryCompanyServices weChatTransactionComponentDeliveryCompanyServices, IWeChatApiHttpClientFactory weChatApiHttpClientFactory)
|
||||||
|
{
|
||||||
|
_webHostEnvironment = webHostEnvironment;
|
||||||
|
_weChatTransactionComponentDeliveryCompanyServices = weChatTransactionComponentDeliveryCompanyServices;
|
||||||
|
_weChatApiHttpClientFactory = weChatApiHttpClientFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 获取列表============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentDeliveryCompany/GetPageList
|
||||||
|
/// <summary>
|
||||||
|
/// 获取列表
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("获取列表")]
|
||||||
|
public async Task<AdminUiCallBack> GetPageList()
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
|
||||||
|
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
|
||||||
|
var where = PredicateBuilder.True<WeChatTransactionComponentDeliveryCompany>();
|
||||||
|
//获取排序字段
|
||||||
|
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||||
|
|
||||||
|
Expression<Func<WeChatTransactionComponentDeliveryCompany, object>> orderEx = orderField switch
|
||||||
|
{
|
||||||
|
"deliveryId" => p => p.deliveryId,
|
||||||
|
"deliveryName" => p => p.deliveryName,
|
||||||
|
_ => p => p.deliveryId
|
||||||
|
};
|
||||||
|
|
||||||
|
//设置排序方式
|
||||||
|
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
|
||||||
|
var orderBy = orderDirection switch
|
||||||
|
{
|
||||||
|
"asc" => OrderByType.Asc,
|
||||||
|
"desc" => OrderByType.Desc,
|
||||||
|
_ => OrderByType.Desc
|
||||||
|
};
|
||||||
|
//查询筛选
|
||||||
|
|
||||||
|
//快递公司id nvarchar
|
||||||
|
var deliveryId = Request.Form["deliveryId"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(deliveryId))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.deliveryId.Contains(deliveryId));
|
||||||
|
}
|
||||||
|
//快递公司名称 nvarchar
|
||||||
|
var deliveryName = Request.Form["deliveryName"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(deliveryName))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.deliveryName.Contains(deliveryName));
|
||||||
|
}
|
||||||
|
//获取数据
|
||||||
|
var list = await _weChatTransactionComponentDeliveryCompanyServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize, true);
|
||||||
|
//返回数据
|
||||||
|
jm.data = list;
|
||||||
|
jm.code = 0;
|
||||||
|
jm.count = list.TotalCount;
|
||||||
|
jm.msg = "数据调用成功!";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 首页数据============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentDeliveryCompany/GetIndex
|
||||||
|
/// <summary>
|
||||||
|
/// 首页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("首页数据")]
|
||||||
|
public AdminUiCallBack GetIndex()
|
||||||
|
{
|
||||||
|
//返回数据
|
||||||
|
var jm = new AdminUiCallBack { code = 0 };
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 获取快递公司列表============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentDeliveryCompany/DoGetCompanyList/10
|
||||||
|
/// <summary>
|
||||||
|
/// 获取快递公司列表
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("获取快递公司列表")]
|
||||||
|
public async Task<AdminUiCallBack> DoGetCompanyList()
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack { code = 0 };
|
||||||
|
var bl = false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
//获取小程序认证
|
||||||
|
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||||
|
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||||
|
var request = new ShopDeliveryGetCompanyListRequest();
|
||||||
|
request.AccessToken = accessToken;
|
||||||
|
|
||||||
|
var response = await client.ExecuteShopDeliveryGetCompanyListAsync(request);
|
||||||
|
if (response.IsSuccessful())
|
||||||
|
{
|
||||||
|
var company = new List<WeChatTransactionComponentDeliveryCompany>();
|
||||||
|
|
||||||
|
foreach (var item in response.DeliveryCompanyList)
|
||||||
|
{
|
||||||
|
company.Add(new WeChatTransactionComponentDeliveryCompany()
|
||||||
|
{
|
||||||
|
deliveryId = item.DeliveryId,
|
||||||
|
deliveryName = item.DeliveryName
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
await _weChatTransactionComponentDeliveryCompanyServices.DeleteAsync(p => p.deliveryId != "");
|
||||||
|
bl = await _weChatTransactionComponentDeliveryCompanyServices.InsertAsync(company) > 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
jm.msg = response.ErrorMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? "更新成功" : "更新失败";
|
||||||
|
jm.otherData = response;
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
jm.code = 1;
|
||||||
|
jm.msg = e.ToString();
|
||||||
|
return jm;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,823 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/4 2:52:27
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Caching.AccressToken;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.Entities.Expression;
|
||||||
|
using CoreCms.Net.Model.FromBody;
|
||||||
|
using CoreCms.Net.Filter;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using CoreCms.Net.Utility.Helper;
|
||||||
|
using CoreCms.Net.Utility.Extensions;
|
||||||
|
using CoreCms.Net.WeChat.Service.HttpClients;
|
||||||
|
using CoreCms.Net.WeChat.Service.TransactionComponent.Enum;
|
||||||
|
using Microsoft.AspNetCore.Authorization;
|
||||||
|
using Microsoft.AspNetCore.Hosting;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api.Models;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Web.Admin.Controllers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件商品列表
|
||||||
|
///</summary>
|
||||||
|
[Description("自定义交易组件商品列表")]
|
||||||
|
[Route("api/[controller]/[action]")]
|
||||||
|
[ApiController]
|
||||||
|
[RequiredErrorForAdmin]
|
||||||
|
[Authorize(Permissions.Name)]
|
||||||
|
public class WeChatTransactionComponentGoodController : ControllerBase
|
||||||
|
{
|
||||||
|
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||||
|
private readonly IWeChatTransactionComponentGoodServices _weChatTransactionComponentGoodsServices;
|
||||||
|
private readonly IWeChatTransactionComponentGoodSKUServices _weChatTransactionComponentGoodSkuServices;
|
||||||
|
private readonly ICoreCmsProductsServices _productsServices;
|
||||||
|
private readonly WeChat.Service.HttpClients.IWeChatApiHttpClientFactory _weChatApiHttpClientFactory;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 构造函数
|
||||||
|
///</summary>
|
||||||
|
public WeChatTransactionComponentGoodController(IWebHostEnvironment webHostEnvironment
|
||||||
|
, IWeChatTransactionComponentGoodServices weChatTransactionComponentGoodsServices, IWeChatTransactionComponentGoodSKUServices weChatTransactionComponentGoodSkuServices, ICoreCmsProductsServices productsServices, IWeChatApiHttpClientFactory weChatApiHttpClientFactory)
|
||||||
|
{
|
||||||
|
_webHostEnvironment = webHostEnvironment;
|
||||||
|
_weChatTransactionComponentGoodsServices = weChatTransactionComponentGoodsServices;
|
||||||
|
_weChatTransactionComponentGoodSkuServices = weChatTransactionComponentGoodSkuServices;
|
||||||
|
_productsServices = productsServices;
|
||||||
|
_weChatApiHttpClientFactory = weChatApiHttpClientFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 获取列表============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentGood/GetPageList
|
||||||
|
/// <summary>
|
||||||
|
/// 获取列表
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("获取列表")]
|
||||||
|
public async Task<AdminUiCallBack> GetPageList()
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
|
||||||
|
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
|
||||||
|
var where = PredicateBuilder.True<WeChatTransactionComponentGood>();
|
||||||
|
//获取排序字段
|
||||||
|
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||||
|
|
||||||
|
Expression<Func<WeChatTransactionComponentGood, object>> orderEx = orderField switch
|
||||||
|
{
|
||||||
|
"id" => p => p.id,
|
||||||
|
"productId" => p => p.productId,
|
||||||
|
"createTime" => p => p.createTime,
|
||||||
|
"outProductId" => p => p.outProductId,
|
||||||
|
"title" => p => p.title,
|
||||||
|
"path" => p => p.path,
|
||||||
|
"headImg" => p => p.headImg,
|
||||||
|
"qualificationPics" => p => p.qualificationPics,
|
||||||
|
"descInfoDesc" => p => p.descInfoDesc,
|
||||||
|
"descInfoImgs" => p => p.descInfoImgs,
|
||||||
|
"thirdCatId" => p => p.thirdCatId,
|
||||||
|
"brandId" => p => p.brandId,
|
||||||
|
"infoVersion" => p => p.infoVersion,
|
||||||
|
"lastPostTime" => p => p.lastPostTime,
|
||||||
|
"updateTime" => p => p.updateTime,
|
||||||
|
_ => p => p.id
|
||||||
|
};
|
||||||
|
|
||||||
|
//设置排序方式
|
||||||
|
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
|
||||||
|
var orderBy = orderDirection switch
|
||||||
|
{
|
||||||
|
"asc" => OrderByType.Asc,
|
||||||
|
"desc" => OrderByType.Desc,
|
||||||
|
_ => OrderByType.Desc
|
||||||
|
};
|
||||||
|
//查询筛选
|
||||||
|
|
||||||
|
//序列 int
|
||||||
|
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (id > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.id == id);
|
||||||
|
}
|
||||||
|
//交易组件平台内部商品ID bigint
|
||||||
|
var productId = Request.Form["productId"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (productId > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.productId == productId);
|
||||||
|
}
|
||||||
|
//交易组件创建时间 datetime
|
||||||
|
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(createTime))
|
||||||
|
{
|
||||||
|
if (createTime.Contains("到"))
|
||||||
|
{
|
||||||
|
var dts = createTime.Split("到");
|
||||||
|
var dtStart = dts[0].Trim().ObjectToDate();
|
||||||
|
where = where.And(p => p.createTime > dtStart);
|
||||||
|
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||||
|
where = where.And(p => p.createTime < dtEnd);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var dt = createTime.ObjectToDate();
|
||||||
|
where = where.And(p => p.createTime > dt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//商品序列 nvarchar
|
||||||
|
var outProductId = Request.Form["outProductId"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(outProductId))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.outProductId.Contains(outProductId));
|
||||||
|
}
|
||||||
|
//商品标题 nvarchar
|
||||||
|
var title = Request.Form["title"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(title))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.title.Contains(title));
|
||||||
|
}
|
||||||
|
//小程序路径 nvarchar
|
||||||
|
var path = Request.Form["path"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(path))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.path.Contains(path));
|
||||||
|
}
|
||||||
|
//主图列表 nvarchar
|
||||||
|
var headImg = Request.Form["headImg"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(headImg))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.headImg.Contains(headImg));
|
||||||
|
}
|
||||||
|
//商品资质图片列表 nvarchar
|
||||||
|
var qualificationPics = Request.Form["qualificationPics"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(qualificationPics))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.qualificationPics.Contains(qualificationPics));
|
||||||
|
}
|
||||||
|
//商品详情图文 nvarchar
|
||||||
|
var descInfoDesc = Request.Form["descInfoDesc"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(descInfoDesc))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.descInfoDesc.Contains(descInfoDesc));
|
||||||
|
}
|
||||||
|
//商品详情图片列表 nvarchar
|
||||||
|
var descInfoImgs = Request.Form["descInfoImgs"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(descInfoImgs))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.descInfoImgs.Contains(descInfoImgs));
|
||||||
|
}
|
||||||
|
//第三级类目ID int
|
||||||
|
var thirdCatId = Request.Form["thirdCatId"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (thirdCatId > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.thirdCatId == thirdCatId);
|
||||||
|
}
|
||||||
|
//品牌id int
|
||||||
|
var brandId = Request.Form["brandId"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (brandId > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.brandId == brandId);
|
||||||
|
}
|
||||||
|
//预留字段 nvarchar
|
||||||
|
var infoVersion = Request.Form["infoVersion"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(infoVersion))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.infoVersion.Contains(infoVersion));
|
||||||
|
}
|
||||||
|
//最后提交时间 datetime
|
||||||
|
var lastPostTime = Request.Form["lastPostTime"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(lastPostTime))
|
||||||
|
{
|
||||||
|
if (lastPostTime.Contains("到"))
|
||||||
|
{
|
||||||
|
var dts = lastPostTime.Split("到");
|
||||||
|
var dtStart = dts[0].Trim().ObjectToDate();
|
||||||
|
where = where.And(p => p.lastPostTime > dtStart);
|
||||||
|
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||||
|
where = where.And(p => p.lastPostTime < dtEnd);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var dt = lastPostTime.ObjectToDate();
|
||||||
|
where = where.And(p => p.lastPostTime > dt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//最后更新时间 datetime
|
||||||
|
var updateTime = Request.Form["updateTime"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(updateTime))
|
||||||
|
{
|
||||||
|
if (updateTime.Contains("到"))
|
||||||
|
{
|
||||||
|
var dts = updateTime.Split("到");
|
||||||
|
var dtStart = dts[0].Trim().ObjectToDate();
|
||||||
|
where = where.And(p => p.updateTime > dtStart);
|
||||||
|
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||||
|
where = where.And(p => p.updateTime < dtEnd);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var dt = updateTime.ObjectToDate();
|
||||||
|
where = where.And(p => p.updateTime > dt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//获取数据
|
||||||
|
var list = await _weChatTransactionComponentGoodsServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize, true);
|
||||||
|
//返回数据
|
||||||
|
jm.data = list;
|
||||||
|
jm.code = 0;
|
||||||
|
jm.count = list.TotalCount;
|
||||||
|
jm.msg = "数据调用成功!";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 首页数据============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentGood/GetIndex
|
||||||
|
/// <summary>
|
||||||
|
/// 首页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("首页数据")]
|
||||||
|
public AdminUiCallBack GetIndex()
|
||||||
|
{
|
||||||
|
//返回数据
|
||||||
|
var jm = new AdminUiCallBack { code = 0 };
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 创建数据============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentGood/GetCreate
|
||||||
|
/// <summary>
|
||||||
|
/// 创建数据
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("创建数据")]
|
||||||
|
public AdminUiCallBack GetCreate()
|
||||||
|
{
|
||||||
|
//返回数据
|
||||||
|
var jm = new AdminUiCallBack { code = 0 };
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 创建提交============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentGood/DoCreate
|
||||||
|
/// <summary>
|
||||||
|
/// 创建提交
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("创建提交")]
|
||||||
|
public async Task<AdminUiCallBack> DoCreate([FromBody] WeChatTransactionComponentGood entity)
|
||||||
|
{
|
||||||
|
var jm = await _weChatTransactionComponentGoodsServices.InsertAsync(entity);
|
||||||
|
jm.otherData = entity;
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 编辑数据============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentGood/GetEdit
|
||||||
|
/// <summary>
|
||||||
|
/// 编辑数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("编辑数据")]
|
||||||
|
public async Task<AdminUiCallBack> GetEdit([FromBody] FMIntId entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var model = await _weChatTransactionComponentGoodsServices.QueryByIdAsync(entity.id, false);
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
jm.msg = "不存在此信息";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
var goodId = Convert.ToInt32(model.outProductId);
|
||||||
|
var products = await _productsServices.QueryListByClauseAsync(p => p.goodsId == goodId && p.isDel == false, p => p.id, OrderByType.Asc, true);
|
||||||
|
var sku = await _weChatTransactionComponentGoodSkuServices.QueryListByClauseAsync(p => p.outProductId == model.outProductId, p => p.id, OrderByType.Asc, true);
|
||||||
|
|
||||||
|
|
||||||
|
jm.code = 0;
|
||||||
|
jm.data = new
|
||||||
|
{
|
||||||
|
model,
|
||||||
|
products,
|
||||||
|
sku
|
||||||
|
};
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 编辑提交============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentGood/Edit
|
||||||
|
/// <summary>
|
||||||
|
/// 编辑提交
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("编辑提交")]
|
||||||
|
public async Task<AdminUiCallBack> DoEdit([FromBody] WeChatTransactionComponentGood entity)
|
||||||
|
{
|
||||||
|
var jm = await _weChatTransactionComponentGoodsServices.UpdateAsync(entity);
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 删除数据============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentGood/DoDelete/10
|
||||||
|
/// <summary>
|
||||||
|
/// 单选删除
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("单选删除")]
|
||||||
|
public async Task<AdminUiCallBack> DoDelete([FromBody] FMIntId entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var model = await _weChatTransactionComponentGoodsServices.ExistsAsync(p => p.id == entity.id, true);
|
||||||
|
if (!model)
|
||||||
|
{
|
||||||
|
jm.msg = GlobalConstVars.DataisNo;
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
jm = await _weChatTransactionComponentGoodsServices.DeleteByIdAsync(entity.id);
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 提交审核============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentGood/DoAudit/10
|
||||||
|
/// <summary>
|
||||||
|
/// 提交审核
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("提交审核")]
|
||||||
|
public async Task<AdminUiCallBack> DoAudit([FromBody] FMIntId entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var model = await _weChatTransactionComponentGoodsServices.QueryByClauseAsync(p => p.id == entity.id, true);
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
jm.msg = GlobalConstVars.DataisNo;
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
var sku = await _weChatTransactionComponentGoodSkuServices.QueryListByClauseAsync(p => p.isSelect == true && p.outProductId == model.outProductId);
|
||||||
|
|
||||||
|
|
||||||
|
//获取小程序认证
|
||||||
|
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||||
|
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||||
|
var request = new ShopSPUAddRequest();
|
||||||
|
|
||||||
|
request.AccessToken = accessToken;
|
||||||
|
|
||||||
|
request.OutProductId = model.outProductId;
|
||||||
|
request.Title = model.title;
|
||||||
|
request.PagePath = model.path;
|
||||||
|
request.HeadImageUrlList = new List<string>(model.headImg.Split(","));
|
||||||
|
request.QualificationPictureUrlList = new List<string>();
|
||||||
|
request.Detail = new ShopSPUAddRequest.Types.Detail();
|
||||||
|
|
||||||
|
request.Detail.Description = model.descInfoDesc;
|
||||||
|
request.Detail.ImageUrlList = new List<string>();
|
||||||
|
|
||||||
|
request.CategoryId = model.thirdCatId;
|
||||||
|
request.BrandId = model.brandId;
|
||||||
|
request.InfoVersion = model.infoVersion;
|
||||||
|
|
||||||
|
request.SKUList = new List<ShopSPUAddRequest.Types.SKU>();
|
||||||
|
sku.ForEach(p =>
|
||||||
|
{
|
||||||
|
var item = new ShopSPUAddRequest.Types.SKU();
|
||||||
|
item.OutProductId = p.outProductId;
|
||||||
|
item.OutSKUId = p.outSkuId;
|
||||||
|
item.ThumbnailUrl = p.thumbImg;
|
||||||
|
item.SalePrice = p.salePrice * 100;
|
||||||
|
item.MarketPrice = p.marketPrice * 100;
|
||||||
|
item.Stock = p.stockNum;
|
||||||
|
item.BarCode = p.barCode;
|
||||||
|
item.SKUCode = p.skuCode;
|
||||||
|
|
||||||
|
request.SKUList.Add(item);
|
||||||
|
});
|
||||||
|
|
||||||
|
var response = await client.ExecuteShopSPUAddAsync(request);
|
||||||
|
|
||||||
|
if (response.IsSuccessful())
|
||||||
|
{
|
||||||
|
var createTime = new DateTime(response.Data.CreateTime.Year, response.Data.CreateTime.Month,
|
||||||
|
response.Data.CreateTime.Day, response.Data.CreateTime.Hour, response.Data.CreateTime.Minute,
|
||||||
|
response.Data.CreateTime.Second);
|
||||||
|
|
||||||
|
model.productId = response.Data.ProductId;
|
||||||
|
model.createTime = createTime;
|
||||||
|
model.lastPostTime = createTime;
|
||||||
|
|
||||||
|
await _weChatTransactionComponentGoodsServices.UpdateAsync(model);
|
||||||
|
|
||||||
|
if (response.Data.SKUList.Length > 0)
|
||||||
|
{
|
||||||
|
foreach (var item in response.Data.SKUList)
|
||||||
|
{
|
||||||
|
foreach (var o in sku)
|
||||||
|
{
|
||||||
|
if (o.outSkuId == item.OutSKUId)
|
||||||
|
{
|
||||||
|
o.skuId = item.SKUId;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
await _weChatTransactionComponentGoodSkuServices.UpdateAsync(sku);
|
||||||
|
}
|
||||||
|
|
||||||
|
jm.code = 0;
|
||||||
|
jm.msg = "提交成功";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
jm.code = 1;
|
||||||
|
jm.data = response.ErrorCode;
|
||||||
|
jm.msg = response.ErrorMessage;
|
||||||
|
jm.otherData = accessToken;
|
||||||
|
}
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 提交更新============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentGood/DoUpdateSpu/10
|
||||||
|
/// <summary>
|
||||||
|
/// 提交更新
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("提交更新")]
|
||||||
|
public async Task<AdminUiCallBack> DoUpdateSpu([FromBody] FMIntId entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var model = await _weChatTransactionComponentGoodsServices.QueryByClauseAsync(p => p.id == entity.id, true);
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
jm.msg = GlobalConstVars.DataisNo;
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
var sku = await _weChatTransactionComponentGoodSkuServices.QueryListByClauseAsync(p =>
|
||||||
|
p.isSelect == true && p.outProductId == model.outProductId);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//获取小程序认证
|
||||||
|
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||||
|
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||||
|
var request = new ShopSPUUpdateRequest();
|
||||||
|
|
||||||
|
request.AccessToken = accessToken;
|
||||||
|
|
||||||
|
request.OutProductId = model.outProductId;
|
||||||
|
request.ProductId = model.productId;
|
||||||
|
request.Title = model.title;
|
||||||
|
request.PagePath = model.path;
|
||||||
|
request.HeadImageUrlList = new List<string>(model.headImg.Split(","));
|
||||||
|
request.QualificationPictureUrlList = new List<string>();
|
||||||
|
request.Detail = new ShopSPUUpdateRequest.Types.Detail();
|
||||||
|
|
||||||
|
request.Detail.Description = model.descInfoDesc;
|
||||||
|
request.Detail.ImageUrlList = new List<string>();
|
||||||
|
request.CategoryId = model.thirdCatId;
|
||||||
|
request.BrandId = model.brandId;
|
||||||
|
|
||||||
|
request.SKUList = new List<ShopSPUUpdateRequest.Types.SKU>();
|
||||||
|
|
||||||
|
sku.ForEach(p =>
|
||||||
|
{
|
||||||
|
var item = new ShopSPUUpdateRequest.Types.SKU();
|
||||||
|
item.OutProductId = p.outProductId;
|
||||||
|
item.OutSKUId = p.outSkuId;
|
||||||
|
item.ThumbnailUrl = p.thumbImg;
|
||||||
|
item.SalePrice = p.salePrice * 100;
|
||||||
|
item.MarketPrice = p.marketPrice * 100;
|
||||||
|
item.Stock = p.stockNum;
|
||||||
|
item.BarCode = p.barCode;
|
||||||
|
item.SKUCode = p.skuCode;
|
||||||
|
|
||||||
|
request.SKUList.Add(item);
|
||||||
|
});
|
||||||
|
|
||||||
|
var response = await client.ExecuteShopSPUUpdateAsync(request);
|
||||||
|
|
||||||
|
|
||||||
|
if (response.IsSuccessful())
|
||||||
|
{
|
||||||
|
model.productId = response.Data.ProductId;
|
||||||
|
model.updateTime = DateTime.Now;
|
||||||
|
|
||||||
|
await _weChatTransactionComponentGoodsServices.UpdateAsync(model);
|
||||||
|
|
||||||
|
if (response.Data.SKUList.Length > 0)
|
||||||
|
{
|
||||||
|
foreach (var item in response.Data.SKUList)
|
||||||
|
{
|
||||||
|
foreach (var o in sku)
|
||||||
|
{
|
||||||
|
if (o.outSkuId == item.OutSKUId)
|
||||||
|
{
|
||||||
|
o.skuId = item.SKUId;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
await _weChatTransactionComponentGoodSkuServices.UpdateAsync(sku);
|
||||||
|
}
|
||||||
|
|
||||||
|
jm.code = 0;
|
||||||
|
jm.msg = "提交成功";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
jm.code = 1;
|
||||||
|
jm.data = response.ErrorCode;
|
||||||
|
jm.msg = response.ErrorMessage;
|
||||||
|
}
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 获取商品及状态============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentGood/GetSKU/10
|
||||||
|
/// <summary>
|
||||||
|
/// 获取商品及状态
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("获取商品及状态")]
|
||||||
|
public async Task<AdminUiCallBack> GetSKU([FromBody] FMIntId entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var model = await _weChatTransactionComponentGoodsServices.QueryByClauseAsync(p => p.id == entity.id, true);
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
jm.msg = GlobalConstVars.DataisNo;
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
var editStatus = EnumHelper.EnumToList<SpuEnum.EditStatus>();
|
||||||
|
var spuStatus = EnumHelper.EnumToList<SpuEnum.EditStatus>();
|
||||||
|
|
||||||
|
|
||||||
|
//获取小程序认证
|
||||||
|
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||||
|
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||||
|
var request = new ShopSPUGetRequest();
|
||||||
|
request.AccessToken = accessToken;
|
||||||
|
|
||||||
|
//默认0:获取线上数据, 1:获取草稿数据
|
||||||
|
var needEditSpu = Convert.ToInt32(entity.data);
|
||||||
|
|
||||||
|
request.OutProductId = model.outProductId;
|
||||||
|
request.RequireEdittingSPU = needEditSpu == 1 ? true : false;
|
||||||
|
|
||||||
|
var response = await client.ExecuteShopSPUGetAsync(request);
|
||||||
|
|
||||||
|
|
||||||
|
if (response.IsSuccessful())
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
jm.code = response.IsSuccessful() ? 0 : 1;
|
||||||
|
jm.msg = response.IsSuccessful() ? "操作成功" : response.ErrorMessage;
|
||||||
|
jm.data = new
|
||||||
|
{
|
||||||
|
result = response,
|
||||||
|
editStatus,
|
||||||
|
spuStatus
|
||||||
|
};
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 撤回商品审核============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentGood/DoCountermand/10
|
||||||
|
/// <summary>
|
||||||
|
/// 撤回商品审核
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("撤回商品审核")]
|
||||||
|
public async Task<AdminUiCallBack> DeleteSpuAudit([FromBody] FMIntId entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var model = await _weChatTransactionComponentGoodsServices.QueryByClauseAsync(p => p.id == entity.id, true);
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
jm.msg = GlobalConstVars.DataisNo;
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取小程序认证
|
||||||
|
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||||
|
|
||||||
|
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||||
|
var request = new ShopSPUDeleteAuditRequest();
|
||||||
|
request.AccessToken = accessToken;
|
||||||
|
request.OutProductId = model.outProductId;
|
||||||
|
|
||||||
|
var response = await client.ExecuteShopSPUDeleteAuditAsync(request);
|
||||||
|
|
||||||
|
|
||||||
|
jm.code = response.IsSuccessful() ? 0 : 1;
|
||||||
|
jm.msg = response.IsSuccessful() ? "撤回成功" : response.ErrorMessage;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 删除商品============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentGood/DeleteSpu/10
|
||||||
|
/// <summary>
|
||||||
|
/// 删除商品
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("删除商品")]
|
||||||
|
public async Task<AdminUiCallBack> DeleteSpu([FromBody] FMIntId entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var model = await _weChatTransactionComponentGoodsServices.QueryByClauseAsync(p => p.id == entity.id, true);
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
jm.msg = GlobalConstVars.DataisNo;
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取小程序认证
|
||||||
|
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||||
|
|
||||||
|
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||||
|
var request = new ShopSPUDeleteRequest();
|
||||||
|
request.AccessToken = accessToken;
|
||||||
|
request.OutProductId = model.outProductId;
|
||||||
|
|
||||||
|
var response = await client.ExecuteShopSPUDeleteAsync(request);
|
||||||
|
|
||||||
|
jm.code = response.IsSuccessful() ? 0 : 1;
|
||||||
|
jm.msg = response.IsSuccessful() ? "删除成功" : response.ErrorMessage;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 上架商品============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentGood/DoListing/10
|
||||||
|
/// <summary>
|
||||||
|
/// 上架商品
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("上架商品")]
|
||||||
|
public async Task<AdminUiCallBack> DoListing([FromBody] FMIntId entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var model = await _weChatTransactionComponentGoodsServices.QueryByClauseAsync(p => p.id == entity.id, true);
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
jm.msg = GlobalConstVars.DataisNo;
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取小程序认证
|
||||||
|
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||||
|
|
||||||
|
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||||
|
var request = new ShopSPUListingRequest();
|
||||||
|
request.AccessToken = accessToken;
|
||||||
|
request.OutProductId = model.outProductId;
|
||||||
|
|
||||||
|
var response = await client.ExecuteShopSPUListingAsync(request);
|
||||||
|
|
||||||
|
jm.code = response.IsSuccessful() ? 0 : 1;
|
||||||
|
jm.msg = response.IsSuccessful() ? "上架成功" : response.ErrorMessage;
|
||||||
|
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 下架商品============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentGood/DoDelistingPpu/10
|
||||||
|
/// <summary>
|
||||||
|
/// 下架商品
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("下架商品")]
|
||||||
|
public async Task<AdminUiCallBack> DoDelistingSpu([FromBody] FMIntId entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var model = await _weChatTransactionComponentGoodsServices.QueryByClauseAsync(p => p.id == entity.id, true);
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
jm.msg = GlobalConstVars.DataisNo;
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//获取小程序认证
|
||||||
|
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||||
|
|
||||||
|
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||||
|
var request = new ShopSPUDelistingRequest();
|
||||||
|
request.AccessToken = accessToken;
|
||||||
|
request.OutProductId = model.outProductId;
|
||||||
|
|
||||||
|
var response = await client.ExecuteShopSPUDelistingAsync(request);
|
||||||
|
|
||||||
|
jm.code = response.IsSuccessful() ? 0 : 1;
|
||||||
|
jm.msg = response.IsSuccessful() ? "下架成功" : response.ErrorMessage;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 预览数据============================================================
|
||||||
|
// POST: Api/WeChatTransactionComponentGood/GetDetails/10
|
||||||
|
/// <summary>
|
||||||
|
/// 预览数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("预览数据")]
|
||||||
|
public async Task<AdminUiCallBack> GetDetails([FromBody] FMIntId entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var model = await _weChatTransactionComponentGoodsServices.QueryByIdAsync(entity.id, false);
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
jm.msg = "不存在此信息";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
jm.code = 0;
|
||||||
|
jm.data = model;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,792 @@
|
|||||||
|
/***********************************************************************
|
||||||
|
* Project: CoreCms
|
||||||
|
* ProjectName: 核心内容管理系统
|
||||||
|
* Web: https://www.corecms.net
|
||||||
|
* Author: 大灰灰
|
||||||
|
* Email: jianweie@163.com
|
||||||
|
* CreateTime: 2021/7/3 16:30:55
|
||||||
|
* Description: 暂无
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using CoreCms.Net.Caching.AccressToken;
|
||||||
|
using CoreCms.Net.Configuration;
|
||||||
|
using CoreCms.Net.Model.Entities;
|
||||||
|
using CoreCms.Net.Model.Entities.Expression;
|
||||||
|
using CoreCms.Net.Model.FromBody;
|
||||||
|
using CoreCms.Net.Filter;
|
||||||
|
using CoreCms.Net.IServices;
|
||||||
|
using CoreCms.Net.Model.ViewModels.UI;
|
||||||
|
using CoreCms.Net.Utility.Helper;
|
||||||
|
using CoreCms.Net.Utility.Extensions;
|
||||||
|
using CoreCms.Net.WeChat.Service.HttpClients;
|
||||||
|
using Microsoft.AspNetCore.Authorization;
|
||||||
|
using Microsoft.AspNetCore.Hosting;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using NPOI.HSSF.UserModel;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api;
|
||||||
|
using SKIT.FlurlHttpClient.Wechat.Api.Models;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace CoreCms.Net.Web.Admin.Controllers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义交易组件三级类目
|
||||||
|
///</summary>
|
||||||
|
[Description("自定义交易组件三级类目")]
|
||||||
|
[Route("api/[controller]/[action]")]
|
||||||
|
[ApiController]
|
||||||
|
[RequiredErrorForAdmin]
|
||||||
|
[Authorize(Permissions.Name)]
|
||||||
|
public class WeChatTransactionComponentThirdCategoryController : ControllerBase
|
||||||
|
{
|
||||||
|
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||||
|
private readonly IWeChatTransactionComponentThirdCategoryServices _weChatTcThirdCatListServices;
|
||||||
|
private readonly WeChat.Service.HttpClients.IWeChatApiHttpClientFactory _weChatApiHttpClientFactory;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 构造函数
|
||||||
|
///</summary>
|
||||||
|
public WeChatTransactionComponentThirdCategoryController(IWebHostEnvironment webHostEnvironment
|
||||||
|
, IWeChatTransactionComponentThirdCategoryServices weChatTcThirdCatListServices, IWeChatApiHttpClientFactory weChatApiHttpClientFactory)
|
||||||
|
{
|
||||||
|
_webHostEnvironment = webHostEnvironment;
|
||||||
|
_weChatTcThirdCatListServices = weChatTcThirdCatListServices;
|
||||||
|
_weChatApiHttpClientFactory = weChatApiHttpClientFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 获取列表============================================================
|
||||||
|
// POST: Api/WeChatTCThirdCatList/GetPageList
|
||||||
|
/// <summary>
|
||||||
|
/// 获取列表
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("获取列表")]
|
||||||
|
public async Task<AdminUiCallBack> GetPageList()
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
|
||||||
|
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
|
||||||
|
var where = PredicateBuilder.True<WeChatTransactionComponentThirdCategory>();
|
||||||
|
//获取排序字段
|
||||||
|
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||||
|
|
||||||
|
Expression<Func<WeChatTransactionComponentThirdCategory, object>> orderEx = orderField switch
|
||||||
|
{
|
||||||
|
"id" => p => p.id,
|
||||||
|
"third_cat_id" => p => p.third_cat_id,
|
||||||
|
"third_cat_name" => p => p.third_cat_name,
|
||||||
|
"qualification" => p => p.qualification,
|
||||||
|
"qualification_type" => p => p.qualification_type,
|
||||||
|
"product_qualification" => p => p.product_qualification,
|
||||||
|
"product_qualification_type" => p => p.product_qualification_type,
|
||||||
|
"second_cat_id" => p => p.second_cat_id,
|
||||||
|
"second_cat_name" => p => p.second_cat_name,
|
||||||
|
"first_cat_id" => p => p.first_cat_id,
|
||||||
|
"first_cat_name" => p => p.first_cat_name,
|
||||||
|
"createTime" => p => p.createTime,
|
||||||
|
_ => p => p.id
|
||||||
|
};
|
||||||
|
|
||||||
|
//设置排序方式
|
||||||
|
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
|
||||||
|
var orderBy = orderDirection switch
|
||||||
|
{
|
||||||
|
"asc" => OrderByType.Asc,
|
||||||
|
"desc" => OrderByType.Desc,
|
||||||
|
_ => OrderByType.Desc
|
||||||
|
};
|
||||||
|
//查询筛选
|
||||||
|
|
||||||
|
//序列 int
|
||||||
|
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (id > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.id == id);
|
||||||
|
}
|
||||||
|
//类目ID int
|
||||||
|
var third_cat_id = Request.Form["third_cat_id"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (third_cat_id > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.third_cat_id == third_cat_id);
|
||||||
|
}
|
||||||
|
//类目名称 nvarchar
|
||||||
|
var third_cat_name = Request.Form["third_cat_name"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(third_cat_name))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.third_cat_name.Contains(third_cat_name));
|
||||||
|
}
|
||||||
|
//类目资质 nvarchar
|
||||||
|
var qualification = Request.Form["qualification"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(qualification))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.qualification.Contains(qualification));
|
||||||
|
}
|
||||||
|
//类目资质类型,0:不需要,1:必填,2:选填 int
|
||||||
|
var qualification_type = Request.Form["qualification_type"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (qualification_type > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.qualification_type == qualification_type);
|
||||||
|
}
|
||||||
|
//商品资质 nvarchar
|
||||||
|
var product_qualification = Request.Form["product_qualification"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(product_qualification))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.product_qualification.Contains(product_qualification));
|
||||||
|
}
|
||||||
|
//商品资质类型,0:不需要,1:必填,2:选填 int
|
||||||
|
var product_qualification_type = Request.Form["product_qualification_type"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (product_qualification_type > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.product_qualification_type == product_qualification_type);
|
||||||
|
}
|
||||||
|
//二级类目ID int
|
||||||
|
var second_cat_id = Request.Form["second_cat_id"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (second_cat_id > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.second_cat_id == second_cat_id);
|
||||||
|
}
|
||||||
|
//二级类目名称 nvarchar
|
||||||
|
var second_cat_name = Request.Form["second_cat_name"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(second_cat_name))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.second_cat_name.Contains(second_cat_name));
|
||||||
|
}
|
||||||
|
//一级类目ID int
|
||||||
|
var first_cat_id = Request.Form["first_cat_id"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (first_cat_id > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.first_cat_id == first_cat_id);
|
||||||
|
}
|
||||||
|
//一级类目名称 nvarchar
|
||||||
|
var first_cat_name = Request.Form["first_cat_name"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(first_cat_name))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.first_cat_name.Contains(first_cat_name));
|
||||||
|
}
|
||||||
|
//创建时间 datetime
|
||||||
|
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(createTime))
|
||||||
|
{
|
||||||
|
if (createTime.Contains("到"))
|
||||||
|
{
|
||||||
|
var dts = createTime.Split("到");
|
||||||
|
var dtStart = dts[0].Trim().ObjectToDate();
|
||||||
|
where = where.And(p => p.createTime > dtStart);
|
||||||
|
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||||
|
where = where.And(p => p.createTime < dtEnd);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var dt = createTime.ObjectToDate();
|
||||||
|
where = where.And(p => p.createTime > dt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//获取数据
|
||||||
|
var list = await _weChatTcThirdCatListServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize, true);
|
||||||
|
//返回数据
|
||||||
|
jm.data = list;
|
||||||
|
jm.code = 0;
|
||||||
|
jm.count = list.TotalCount;
|
||||||
|
jm.msg = "数据调用成功!";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 首页数据============================================================
|
||||||
|
// POST: Api/WeChatTCThirdCatList/GetIndex
|
||||||
|
/// <summary>
|
||||||
|
/// 首页数据
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("首页数据")]
|
||||||
|
public AdminUiCallBack GetIndex()
|
||||||
|
{
|
||||||
|
//返回数据
|
||||||
|
var jm = new AdminUiCallBack { code = 0 };
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 刷新数据============================================================
|
||||||
|
// POST: Api/CoreCmsMiNiStoreThirdCatList/DoBatchDelete/10,11,20
|
||||||
|
/// <summary>
|
||||||
|
/// 刷新数据
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("刷新数据")]
|
||||||
|
public async Task<AdminUiCallBack> DoRefresh()
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack { code = 0 };
|
||||||
|
var bl = false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var dt = DateTime.Now;
|
||||||
|
var stime = new DateTime(dt.Year, dt.Month, dt.Day, 0, 0, 0);
|
||||||
|
var etime = new DateTime(dt.Year, dt.Month, dt.Day, 23, 59, 59);
|
||||||
|
|
||||||
|
var isHave = await _weChatTcThirdCatListServices.ExistsAsync(p => p.createTime > stime && p.createTime < etime);
|
||||||
|
if (isHave)
|
||||||
|
{
|
||||||
|
jm.code = 1;
|
||||||
|
jm.msg = "今日已经更新,不要频繁调用";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//获取小程序认证
|
||||||
|
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||||
|
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||||
|
var request = new ShopCategoryGetRequest { AccessToken = accessToken };
|
||||||
|
|
||||||
|
var response = await client.ExecuteShopCategoryGetAsync(request);
|
||||||
|
if (response.IsSuccessful())
|
||||||
|
{
|
||||||
|
if (response.CategoryList.Length > 0)
|
||||||
|
{
|
||||||
|
var list = new List<WeChatTransactionComponentThirdCategory>();
|
||||||
|
|
||||||
|
foreach (var item in response.CategoryList)
|
||||||
|
{
|
||||||
|
list.Add(new WeChatTransactionComponentThirdCategory()
|
||||||
|
{
|
||||||
|
third_cat_id = item.ThirdCategoryId,
|
||||||
|
third_cat_name = item.ThirdCategoryName,
|
||||||
|
qualification = item.Qualification,
|
||||||
|
qualification_type = item.QualificationType,
|
||||||
|
product_qualification = item.ProductQualification,
|
||||||
|
product_qualification_type = item.ProductQualificationType,
|
||||||
|
second_cat_id = item.SecondCategoryId,
|
||||||
|
second_cat_name = item.SecondCategoryName,
|
||||||
|
first_cat_id = item.FirstCategoryId,
|
||||||
|
first_cat_name = item.FirstCategoryName,
|
||||||
|
createTime = DateTime.Now
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
await _weChatTcThirdCatListServices.DeleteAsync(p => p.id > 0);
|
||||||
|
bl = await _weChatTcThirdCatListServices.InsertAsync(list) > 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
jm.code = 1;
|
||||||
|
jm.msg = response.ErrorMessage;
|
||||||
|
jm.otherData = response;
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
jm.code = 1;
|
||||||
|
jm.msg = e.ToString();
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? "更新成功" : "更新失败";
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 预览数据============================================================
|
||||||
|
// POST: Api/WeChatTCThirdCatList/GetDetails/10
|
||||||
|
/// <summary>
|
||||||
|
/// 预览数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("预览数据")]
|
||||||
|
public async Task<AdminUiCallBack> GetDetails([FromBody] FMIntId entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var model = await _weChatTcThirdCatListServices.QueryByIdAsync(entity.id, false);
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
jm.msg = "不存在此信息";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
jm.code = 0;
|
||||||
|
jm.data = model;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 选择导出============================================================
|
||||||
|
// POST: Api/WeChatTCThirdCatList/SelectExportExcel/10
|
||||||
|
/// <summary>
|
||||||
|
/// 选择导出
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("选择导出")]
|
||||||
|
public async Task<AdminUiCallBack> SelectExportExcel([FromBody] FMArrayIntIds entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
//创建Excel文件的对象
|
||||||
|
var book = new HSSFWorkbook();
|
||||||
|
//添加一个sheet
|
||||||
|
var mySheet = book.CreateSheet("Sheet1");
|
||||||
|
//获取list数据
|
||||||
|
var listModel = await _weChatTcThirdCatListServices.QueryListByClauseAsync(p => entity.id.Contains(p.id), p => p.id, OrderByType.Asc, true);
|
||||||
|
//给sheet1添加第一行的头部标题
|
||||||
|
var headerRow = mySheet.CreateRow(0);
|
||||||
|
var headerStyle = ExcelHelper.GetHeaderStyle(book);
|
||||||
|
|
||||||
|
var cell0 = headerRow.CreateCell(0);
|
||||||
|
cell0.SetCellValue("序列");
|
||||||
|
cell0.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(0, 10 * 256);
|
||||||
|
|
||||||
|
var cell1 = headerRow.CreateCell(1);
|
||||||
|
cell1.SetCellValue("类目ID");
|
||||||
|
cell1.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(1, 10 * 256);
|
||||||
|
|
||||||
|
var cell2 = headerRow.CreateCell(2);
|
||||||
|
cell2.SetCellValue("类目名称");
|
||||||
|
cell2.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(2, 10 * 256);
|
||||||
|
|
||||||
|
var cell3 = headerRow.CreateCell(3);
|
||||||
|
cell3.SetCellValue("类目资质");
|
||||||
|
cell3.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(3, 10 * 256);
|
||||||
|
|
||||||
|
var cell4 = headerRow.CreateCell(4);
|
||||||
|
cell4.SetCellValue("类目资质类型,0:不需要,1:必填,2:选填");
|
||||||
|
cell4.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(4, 10 * 256);
|
||||||
|
|
||||||
|
var cell5 = headerRow.CreateCell(5);
|
||||||
|
cell5.SetCellValue("商品资质");
|
||||||
|
cell5.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(5, 10 * 256);
|
||||||
|
|
||||||
|
var cell6 = headerRow.CreateCell(6);
|
||||||
|
cell6.SetCellValue("商品资质类型,0:不需要,1:必填,2:选填");
|
||||||
|
cell6.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(6, 10 * 256);
|
||||||
|
|
||||||
|
var cell7 = headerRow.CreateCell(7);
|
||||||
|
cell7.SetCellValue("二级类目ID");
|
||||||
|
cell7.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(7, 10 * 256);
|
||||||
|
|
||||||
|
var cell8 = headerRow.CreateCell(8);
|
||||||
|
cell8.SetCellValue("二级类目名称");
|
||||||
|
cell8.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(8, 10 * 256);
|
||||||
|
|
||||||
|
var cell9 = headerRow.CreateCell(9);
|
||||||
|
cell9.SetCellValue("一级类目ID");
|
||||||
|
cell9.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(9, 10 * 256);
|
||||||
|
|
||||||
|
var cell10 = headerRow.CreateCell(10);
|
||||||
|
cell10.SetCellValue("一级类目名称");
|
||||||
|
cell10.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(10, 10 * 256);
|
||||||
|
|
||||||
|
var cell11 = headerRow.CreateCell(11);
|
||||||
|
cell11.SetCellValue("创建时间");
|
||||||
|
cell11.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(11, 10 * 256);
|
||||||
|
|
||||||
|
headerRow.Height = 30 * 20;
|
||||||
|
var commonCellStyle = ExcelHelper.GetCommonStyle(book);
|
||||||
|
|
||||||
|
//将数据逐步写入sheet1各个行
|
||||||
|
for (var i = 0; i < listModel.Count; i++)
|
||||||
|
{
|
||||||
|
var rowTemp = mySheet.CreateRow(i + 1);
|
||||||
|
|
||||||
|
var rowTemp0 = rowTemp.CreateCell(0);
|
||||||
|
rowTemp0.SetCellValue(listModel[i].id.ToString());
|
||||||
|
rowTemp0.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
var rowTemp1 = rowTemp.CreateCell(1);
|
||||||
|
rowTemp1.SetCellValue(listModel[i].third_cat_id.ToString());
|
||||||
|
rowTemp1.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
var rowTemp2 = rowTemp.CreateCell(2);
|
||||||
|
rowTemp2.SetCellValue(listModel[i].third_cat_name.ToString());
|
||||||
|
rowTemp2.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
var rowTemp3 = rowTemp.CreateCell(3);
|
||||||
|
rowTemp3.SetCellValue(listModel[i].qualification.ToString());
|
||||||
|
rowTemp3.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
var rowTemp4 = rowTemp.CreateCell(4);
|
||||||
|
rowTemp4.SetCellValue(listModel[i].qualification_type.ToString());
|
||||||
|
rowTemp4.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
var rowTemp5 = rowTemp.CreateCell(5);
|
||||||
|
rowTemp5.SetCellValue(listModel[i].product_qualification.ToString());
|
||||||
|
rowTemp5.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
var rowTemp6 = rowTemp.CreateCell(6);
|
||||||
|
rowTemp6.SetCellValue(listModel[i].product_qualification_type.ToString());
|
||||||
|
rowTemp6.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
var rowTemp7 = rowTemp.CreateCell(7);
|
||||||
|
rowTemp7.SetCellValue(listModel[i].second_cat_id.ToString());
|
||||||
|
rowTemp7.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
var rowTemp8 = rowTemp.CreateCell(8);
|
||||||
|
rowTemp8.SetCellValue(listModel[i].second_cat_name.ToString());
|
||||||
|
rowTemp8.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
var rowTemp9 = rowTemp.CreateCell(9);
|
||||||
|
rowTemp9.SetCellValue(listModel[i].first_cat_id.ToString());
|
||||||
|
rowTemp9.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
var rowTemp10 = rowTemp.CreateCell(10);
|
||||||
|
rowTemp10.SetCellValue(listModel[i].first_cat_name.ToString());
|
||||||
|
rowTemp10.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
var rowTemp11 = rowTemp.CreateCell(11);
|
||||||
|
rowTemp11.SetCellValue(listModel[i].createTime.ToString());
|
||||||
|
rowTemp11.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
}
|
||||||
|
// 导出excel
|
||||||
|
string webRootPath = _webHostEnvironment.WebRootPath;
|
||||||
|
string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||||
|
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-WeChatTCThirdCatList导出(选择结果).xls";
|
||||||
|
string filePath = webRootPath + tpath;
|
||||||
|
DirectoryInfo di = new DirectoryInfo(filePath);
|
||||||
|
if (!di.Exists)
|
||||||
|
{
|
||||||
|
di.Create();
|
||||||
|
}
|
||||||
|
FileStream fileHssf = new FileStream(filePath + fileName, FileMode.Create);
|
||||||
|
book.Write(fileHssf);
|
||||||
|
fileHssf.Close();
|
||||||
|
|
||||||
|
jm.code = 0;
|
||||||
|
jm.msg = GlobalConstVars.ExcelExportSuccess;
|
||||||
|
jm.data = tpath + fileName;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 查询导出============================================================
|
||||||
|
// POST: Api/WeChatTCThirdCatList/QueryExportExcel/10
|
||||||
|
/// <summary>
|
||||||
|
/// 查询导出
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("查询导出")]
|
||||||
|
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var where = PredicateBuilder.True<WeChatTransactionComponentThirdCategory>();
|
||||||
|
//查询筛选
|
||||||
|
|
||||||
|
//序列 int
|
||||||
|
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (id > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.id == id);
|
||||||
|
}
|
||||||
|
//类目ID int
|
||||||
|
var third_cat_id = Request.Form["third_cat_id"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (third_cat_id > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.third_cat_id == third_cat_id);
|
||||||
|
}
|
||||||
|
//类目名称 nvarchar
|
||||||
|
var third_cat_name = Request.Form["third_cat_name"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(third_cat_name))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.third_cat_name.Contains(third_cat_name));
|
||||||
|
}
|
||||||
|
//类目资质 nvarchar
|
||||||
|
var qualification = Request.Form["qualification"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(qualification))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.qualification.Contains(qualification));
|
||||||
|
}
|
||||||
|
//类目资质类型,0:不需要,1:必填,2:选填 int
|
||||||
|
var qualification_type = Request.Form["qualification_type"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (qualification_type > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.qualification_type == qualification_type);
|
||||||
|
}
|
||||||
|
//商品资质 nvarchar
|
||||||
|
var product_qualification = Request.Form["product_qualification"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(product_qualification))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.product_qualification.Contains(product_qualification));
|
||||||
|
}
|
||||||
|
//商品资质类型,0:不需要,1:必填,2:选填 int
|
||||||
|
var product_qualification_type = Request.Form["product_qualification_type"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (product_qualification_type > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.product_qualification_type == product_qualification_type);
|
||||||
|
}
|
||||||
|
//二级类目ID int
|
||||||
|
var second_cat_id = Request.Form["second_cat_id"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (second_cat_id > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.second_cat_id == second_cat_id);
|
||||||
|
}
|
||||||
|
//二级类目名称 nvarchar
|
||||||
|
var second_cat_name = Request.Form["second_cat_name"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(second_cat_name))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.second_cat_name.Contains(second_cat_name));
|
||||||
|
}
|
||||||
|
//一级类目ID int
|
||||||
|
var first_cat_id = Request.Form["first_cat_id"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (first_cat_id > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.first_cat_id == first_cat_id);
|
||||||
|
}
|
||||||
|
//一级类目名称 nvarchar
|
||||||
|
var first_cat_name = Request.Form["first_cat_name"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(first_cat_name))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.first_cat_name.Contains(first_cat_name));
|
||||||
|
}
|
||||||
|
//创建时间 datetime
|
||||||
|
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(createTime))
|
||||||
|
{
|
||||||
|
var dt = createTime.ObjectToDate();
|
||||||
|
where = where.And(p => p.createTime > dt);
|
||||||
|
}
|
||||||
|
//获取数据
|
||||||
|
//创建Excel文件的对象
|
||||||
|
var book = new HSSFWorkbook();
|
||||||
|
//添加一个sheet
|
||||||
|
var mySheet = book.CreateSheet("Sheet1");
|
||||||
|
//获取list数据
|
||||||
|
var listModel = await _weChatTcThirdCatListServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc, true);
|
||||||
|
//给sheet1添加第一行的头部标题
|
||||||
|
var headerRow = mySheet.CreateRow(0);
|
||||||
|
var headerStyle = ExcelHelper.GetHeaderStyle(book);
|
||||||
|
|
||||||
|
var cell0 = headerRow.CreateCell(0);
|
||||||
|
cell0.SetCellValue("序列");
|
||||||
|
cell0.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(0, 10 * 256);
|
||||||
|
|
||||||
|
var cell1 = headerRow.CreateCell(1);
|
||||||
|
cell1.SetCellValue("类目ID");
|
||||||
|
cell1.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(1, 10 * 256);
|
||||||
|
|
||||||
|
var cell2 = headerRow.CreateCell(2);
|
||||||
|
cell2.SetCellValue("类目名称");
|
||||||
|
cell2.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(2, 10 * 256);
|
||||||
|
|
||||||
|
var cell3 = headerRow.CreateCell(3);
|
||||||
|
cell3.SetCellValue("类目资质");
|
||||||
|
cell3.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(3, 10 * 256);
|
||||||
|
|
||||||
|
var cell4 = headerRow.CreateCell(4);
|
||||||
|
cell4.SetCellValue("类目资质类型,0:不需要,1:必填,2:选填");
|
||||||
|
cell4.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(4, 10 * 256);
|
||||||
|
|
||||||
|
var cell5 = headerRow.CreateCell(5);
|
||||||
|
cell5.SetCellValue("商品资质");
|
||||||
|
cell5.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(5, 10 * 256);
|
||||||
|
|
||||||
|
var cell6 = headerRow.CreateCell(6);
|
||||||
|
cell6.SetCellValue("商品资质类型,0:不需要,1:必填,2:选填");
|
||||||
|
cell6.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(6, 10 * 256);
|
||||||
|
|
||||||
|
var cell7 = headerRow.CreateCell(7);
|
||||||
|
cell7.SetCellValue("二级类目ID");
|
||||||
|
cell7.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(7, 10 * 256);
|
||||||
|
|
||||||
|
var cell8 = headerRow.CreateCell(8);
|
||||||
|
cell8.SetCellValue("二级类目名称");
|
||||||
|
cell8.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(8, 10 * 256);
|
||||||
|
|
||||||
|
var cell9 = headerRow.CreateCell(9);
|
||||||
|
cell9.SetCellValue("一级类目ID");
|
||||||
|
cell9.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(9, 10 * 256);
|
||||||
|
|
||||||
|
var cell10 = headerRow.CreateCell(10);
|
||||||
|
cell10.SetCellValue("一级类目名称");
|
||||||
|
cell10.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(10, 10 * 256);
|
||||||
|
|
||||||
|
var cell11 = headerRow.CreateCell(11);
|
||||||
|
cell11.SetCellValue("创建时间");
|
||||||
|
cell11.CellStyle = headerStyle;
|
||||||
|
mySheet.SetColumnWidth(11, 10 * 256);
|
||||||
|
|
||||||
|
|
||||||
|
headerRow.Height = 30 * 20;
|
||||||
|
var commonCellStyle = ExcelHelper.GetCommonStyle(book);
|
||||||
|
|
||||||
|
//将数据逐步写入sheet1各个行
|
||||||
|
for (var i = 0; i < listModel.Count; i++)
|
||||||
|
{
|
||||||
|
var rowTemp = mySheet.CreateRow(i + 1);
|
||||||
|
|
||||||
|
|
||||||
|
var rowTemp0 = rowTemp.CreateCell(0);
|
||||||
|
rowTemp0.SetCellValue(listModel[i].id.ToString());
|
||||||
|
rowTemp0.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var rowTemp1 = rowTemp.CreateCell(1);
|
||||||
|
rowTemp1.SetCellValue(listModel[i].third_cat_id.ToString());
|
||||||
|
rowTemp1.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var rowTemp2 = rowTemp.CreateCell(2);
|
||||||
|
rowTemp2.SetCellValue(listModel[i].third_cat_name.ToString());
|
||||||
|
rowTemp2.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var rowTemp3 = rowTemp.CreateCell(3);
|
||||||
|
rowTemp3.SetCellValue(listModel[i].qualification.ToString());
|
||||||
|
rowTemp3.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var rowTemp4 = rowTemp.CreateCell(4);
|
||||||
|
rowTemp4.SetCellValue(listModel[i].qualification_type.ToString());
|
||||||
|
rowTemp4.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var rowTemp5 = rowTemp.CreateCell(5);
|
||||||
|
rowTemp5.SetCellValue(listModel[i].product_qualification.ToString());
|
||||||
|
rowTemp5.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var rowTemp6 = rowTemp.CreateCell(6);
|
||||||
|
rowTemp6.SetCellValue(listModel[i].product_qualification_type.ToString());
|
||||||
|
rowTemp6.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var rowTemp7 = rowTemp.CreateCell(7);
|
||||||
|
rowTemp7.SetCellValue(listModel[i].second_cat_id.ToString());
|
||||||
|
rowTemp7.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var rowTemp8 = rowTemp.CreateCell(8);
|
||||||
|
rowTemp8.SetCellValue(listModel[i].second_cat_name.ToString());
|
||||||
|
rowTemp8.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var rowTemp9 = rowTemp.CreateCell(9);
|
||||||
|
rowTemp9.SetCellValue(listModel[i].first_cat_id.ToString());
|
||||||
|
rowTemp9.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var rowTemp10 = rowTemp.CreateCell(10);
|
||||||
|
rowTemp10.SetCellValue(listModel[i].first_cat_name.ToString());
|
||||||
|
rowTemp10.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var rowTemp11 = rowTemp.CreateCell(11);
|
||||||
|
rowTemp11.SetCellValue(listModel[i].createTime.ToString());
|
||||||
|
rowTemp11.CellStyle = commonCellStyle;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
// 写入到excel
|
||||||
|
string webRootPath = _webHostEnvironment.WebRootPath;
|
||||||
|
string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||||
|
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-WeChatTCThirdCatList导出(查询结果).xls";
|
||||||
|
string filePath = webRootPath + tpath;
|
||||||
|
DirectoryInfo di = new DirectoryInfo(filePath);
|
||||||
|
if (!di.Exists)
|
||||||
|
{
|
||||||
|
di.Create();
|
||||||
|
}
|
||||||
|
FileStream fileHssf = new FileStream(filePath + fileName, FileMode.Create);
|
||||||
|
book.Write(fileHssf);
|
||||||
|
fileHssf.Close();
|
||||||
|
|
||||||
|
jm.code = 0;
|
||||||
|
jm.msg = GlobalConstVars.ExcelExportSuccess;
|
||||||
|
jm.data = tpath + fileName;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 获取交易组件三级类目====================================================
|
||||||
|
|
||||||
|
// POST: Api/Tools/GetGoods
|
||||||
|
/// <summary>
|
||||||
|
/// 获取商品列表
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("获取三级类目")]
|
||||||
|
public async Task<AdminUiCallBack> GetThirdCategories()
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
|
||||||
|
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
|
||||||
|
var where = PredicateBuilder.True<WeChatTransactionComponentThirdCategory>();
|
||||||
|
|
||||||
|
//商品名称 nvarchar
|
||||||
|
var name = Request.Form["name"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(name)) where = where.And(p => p.third_cat_name.Contains(name));
|
||||||
|
|
||||||
|
//获取数据
|
||||||
|
var list = await _weChatTcThirdCatListServices.QueryPageAsync(where, p => p.createTime, OrderByType.Desc,
|
||||||
|
pageCurrent, pageSize);
|
||||||
|
//返回数据
|
||||||
|
|
||||||
|
jm.data = list;
|
||||||
|
jm.code = 0;
|
||||||
|
jm.count = list.TotalCount;
|
||||||
|
jm.msg = "数据调用成功!";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -45,6 +45,10 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Controllers\WeChat\CoreCmsUserWeChatInfoController.cs" />
|
<Compile Include="Controllers\WeChat\CoreCmsUserWeChatInfoController.cs" />
|
||||||
<Compile Include="Controllers\WeChat\CoreCmsUserWeChatMsgTemplateController.cs" />
|
<Compile Include="Controllers\WeChat\CoreCmsUserWeChatMsgTemplateController.cs" />
|
||||||
|
<Compile Include="Controllers\WeChat\WeChatTransactionComponentAuditCategoryController.cs" />
|
||||||
|
<Compile Include="Controllers\WeChat\WeChatTransactionComponentDeliveryCompanyController.cs" />
|
||||||
|
<Compile Include="Controllers\WeChat\WeChatTransactionComponentGoodController.cs" />
|
||||||
|
<Compile Include="Controllers\WeChat\WeChatTransactionComponentThirdCategoryController.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -76,6 +80,7 @@
|
|||||||
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.15.0" />
|
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.15.0" />
|
||||||
<PackageReference Include="Tencent.QCloud.Cos.Sdk" Version="5.4.25" />
|
<PackageReference Include="Tencent.QCloud.Cos.Sdk" Version="5.4.25" />
|
||||||
<PackageReference Include="ToolGood.Words" Version="3.0.2.8" />
|
<PackageReference Include="ToolGood.Words" Version="3.0.2.8" />
|
||||||
|
<PackageReference Include="Yitter.IdGenerator" Version="1.0.12" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -2359,7 +2359,7 @@
|
|||||||
订单表
|
订单表
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:CoreCms.Net.Web.Admin.Controllers.CoreCmsOrderController.#ctor(Microsoft.AspNetCore.Hosting.IWebHostEnvironment,CoreCms.Net.IServices.ICoreCmsOrderServices,CoreCms.Net.IServices.ICoreCmsUserServices,CoreCms.Net.IServices.ICoreCmsAreaServices,CoreCms.Net.IServices.ICoreCmsBillAftersalesServices,CoreCms.Net.IServices.ICoreCmsStoreServices,CoreCms.Net.IServices.ICoreCmsLogisticsServices,CoreCms.Net.IServices.ICoreCmsBillPaymentsServices,CoreCms.Net.IServices.ICoreCmsPaymentsServices,CoreCms.Net.IServices.ICoreCmsSettingServices,CoreCms.Net.IServices.ICoreCmsUserWeChatInfoServices,CoreCms.Net.Caching.AutoMate.RedisCache.IRedisOperationRepository,CoreCms.Net.IServices.ICoreCmsBillDeliveryServices,CoreCms.Net.WeChat.Service.HttpClients.IWeChatApiHttpClientFactory,CoreCms.Net.IServices.ICoreCmsOrderItemServices)">
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.CoreCmsOrderController.#ctor(Microsoft.AspNetCore.Hosting.IWebHostEnvironment,CoreCms.Net.IServices.ICoreCmsOrderServices,CoreCms.Net.IServices.ICoreCmsUserServices,CoreCms.Net.IServices.ICoreCmsAreaServices,CoreCms.Net.IServices.ICoreCmsBillAftersalesServices,CoreCms.Net.IServices.ICoreCmsStoreServices,CoreCms.Net.IServices.ICoreCmsLogisticsServices,CoreCms.Net.IServices.ICoreCmsBillPaymentsServices,CoreCms.Net.IServices.ICoreCmsPaymentsServices,CoreCms.Net.IServices.ICoreCmsSettingServices,CoreCms.Net.IServices.IWeChatTransactionComponentOrderServices,CoreCms.Net.IServices.ICoreCmsUserWeChatInfoServices,CoreCms.Net.IServices.IWeChatTransactionComponentDeliveryCompanyServices,CoreCms.Net.Caching.AutoMate.RedisCache.IRedisOperationRepository,CoreCms.Net.IServices.ICoreCmsBillDeliveryServices,CoreCms.Net.WeChat.Service.HttpClients.IWeChatApiHttpClientFactory,CoreCms.Net.IServices.ICoreCmsOrderItemServices)">
|
||||||
<summary>
|
<summary>
|
||||||
构造函数
|
构造函数
|
||||||
</summary>
|
</summary>
|
||||||
@@ -2517,7 +2517,7 @@
|
|||||||
</member>
|
</member>
|
||||||
<member name="M:CoreCms.Net.Web.Admin.Controllers.CoreCmsOrderController.RefreshDelivery(CoreCms.Net.Model.FromBody.FMStringId)">
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.CoreCmsOrderController.RefreshDelivery(CoreCms.Net.Model.FromBody.FMStringId)">
|
||||||
<summary>
|
<summary>
|
||||||
批量删除订单
|
重新同步发货
|
||||||
</summary>
|
</summary>
|
||||||
<param name="entity"></param>
|
<param name="entity"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
@@ -2529,6 +2529,13 @@
|
|||||||
<param name="entity"></param>
|
<param name="entity"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.CoreCmsOrderController.GetTcOrder(CoreCms.Net.Model.FromBody.FMStringId)">
|
||||||
|
<summary>
|
||||||
|
获取交易组件订单信息
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="T:CoreCms.Net.Web.Admin.Controllers.CoreCmsPinTuanRecordController">
|
<member name="T:CoreCms.Net.Web.Admin.Controllers.CoreCmsPinTuanRecordController">
|
||||||
<summary>
|
<summary>
|
||||||
拼团记录表
|
拼团记录表
|
||||||
@@ -5121,6 +5128,270 @@
|
|||||||
<param name="entity"></param>
|
<param name="entity"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="T:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentAuditCategoryController">
|
||||||
|
<summary>
|
||||||
|
自定义交易组件上传类目资质
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentAuditCategoryController.#ctor(Microsoft.AspNetCore.Hosting.IWebHostEnvironment,CoreCms.Net.IServices.IWeChatTransactionComponentAuditCategoryServices)">
|
||||||
|
<summary>
|
||||||
|
构造函数
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentAuditCategoryController.GetPageList">
|
||||||
|
<summary>
|
||||||
|
获取列表
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentAuditCategoryController.GetIndex">
|
||||||
|
<summary>
|
||||||
|
首页数据
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentAuditCategoryController.GetCreate">
|
||||||
|
<summary>
|
||||||
|
创建数据
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentAuditCategoryController.DoCreate(CoreCms.Net.Model.Entities.WeChatTransactionComponentAuditCategory)">
|
||||||
|
<summary>
|
||||||
|
创建提交
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentAuditCategoryController.GetEdit(CoreCms.Net.Model.FromBody.FMIntId)">
|
||||||
|
<summary>
|
||||||
|
编辑数据
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentAuditCategoryController.DoEdit(CoreCms.Net.Model.Entities.WeChatTransactionComponentAuditCategory)">
|
||||||
|
<summary>
|
||||||
|
编辑提交
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentAuditCategoryController.DoDelete(CoreCms.Net.Model.FromBody.FMIntId)">
|
||||||
|
<summary>
|
||||||
|
单选删除
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentAuditCategoryController.GetDetails(CoreCms.Net.Model.FromBody.FMIntId)">
|
||||||
|
<summary>
|
||||||
|
预览数据
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentAuditCategoryController.DoRefresh(CoreCms.Net.Model.FromBody.FMIntId)">
|
||||||
|
<summary>
|
||||||
|
同步审核状态
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentDeliveryCompanyController">
|
||||||
|
<summary>
|
||||||
|
自定义交易组件快递公司
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentDeliveryCompanyController.#ctor(Microsoft.AspNetCore.Hosting.IWebHostEnvironment,CoreCms.Net.IServices.IWeChatTransactionComponentDeliveryCompanyServices,CoreCms.Net.WeChat.Service.HttpClients.IWeChatApiHttpClientFactory)">
|
||||||
|
<summary>
|
||||||
|
构造函数
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentDeliveryCompanyController.GetPageList">
|
||||||
|
<summary>
|
||||||
|
获取列表
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentDeliveryCompanyController.GetIndex">
|
||||||
|
<summary>
|
||||||
|
首页数据
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentDeliveryCompanyController.DoGetCompanyList">
|
||||||
|
<summary>
|
||||||
|
获取快递公司列表
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController">
|
||||||
|
<summary>
|
||||||
|
自定义交易组件商品列表
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.#ctor(Microsoft.AspNetCore.Hosting.IWebHostEnvironment,CoreCms.Net.IServices.IWeChatTransactionComponentGoodServices,CoreCms.Net.IServices.IWeChatTransactionComponentGoodSKUServices,CoreCms.Net.IServices.ICoreCmsProductsServices,CoreCms.Net.WeChat.Service.HttpClients.IWeChatApiHttpClientFactory)">
|
||||||
|
<summary>
|
||||||
|
构造函数
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.GetPageList">
|
||||||
|
<summary>
|
||||||
|
获取列表
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.GetIndex">
|
||||||
|
<summary>
|
||||||
|
首页数据
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.GetCreate">
|
||||||
|
<summary>
|
||||||
|
创建数据
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.DoCreate(CoreCms.Net.Model.Entities.WeChatTransactionComponentGood)">
|
||||||
|
<summary>
|
||||||
|
创建提交
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.GetEdit(CoreCms.Net.Model.FromBody.FMIntId)">
|
||||||
|
<summary>
|
||||||
|
编辑数据
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.DoEdit(CoreCms.Net.Model.Entities.WeChatTransactionComponentGood)">
|
||||||
|
<summary>
|
||||||
|
编辑提交
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.DoDelete(CoreCms.Net.Model.FromBody.FMIntId)">
|
||||||
|
<summary>
|
||||||
|
单选删除
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.DoAudit(CoreCms.Net.Model.FromBody.FMIntId)">
|
||||||
|
<summary>
|
||||||
|
提交审核
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.DoUpdateSpu(CoreCms.Net.Model.FromBody.FMIntId)">
|
||||||
|
<summary>
|
||||||
|
提交更新
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.GetSKU(CoreCms.Net.Model.FromBody.FMIntId)">
|
||||||
|
<summary>
|
||||||
|
获取商品及状态
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.DeleteSpuAudit(CoreCms.Net.Model.FromBody.FMIntId)">
|
||||||
|
<summary>
|
||||||
|
撤回商品审核
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.DeleteSpu(CoreCms.Net.Model.FromBody.FMIntId)">
|
||||||
|
<summary>
|
||||||
|
删除商品
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.DoListing(CoreCms.Net.Model.FromBody.FMIntId)">
|
||||||
|
<summary>
|
||||||
|
上架商品
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.DoDelistingSpu(CoreCms.Net.Model.FromBody.FMIntId)">
|
||||||
|
<summary>
|
||||||
|
下架商品
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.GetDetails(CoreCms.Net.Model.FromBody.FMIntId)">
|
||||||
|
<summary>
|
||||||
|
预览数据
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentThirdCategoryController">
|
||||||
|
<summary>
|
||||||
|
自定义交易组件三级类目
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentThirdCategoryController.#ctor(Microsoft.AspNetCore.Hosting.IWebHostEnvironment,CoreCms.Net.IServices.IWeChatTransactionComponentThirdCategoryServices,CoreCms.Net.WeChat.Service.HttpClients.IWeChatApiHttpClientFactory)">
|
||||||
|
<summary>
|
||||||
|
构造函数
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentThirdCategoryController.GetPageList">
|
||||||
|
<summary>
|
||||||
|
获取列表
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentThirdCategoryController.GetIndex">
|
||||||
|
<summary>
|
||||||
|
首页数据
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentThirdCategoryController.DoRefresh">
|
||||||
|
<summary>
|
||||||
|
刷新数据
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentThirdCategoryController.GetDetails(CoreCms.Net.Model.FromBody.FMIntId)">
|
||||||
|
<summary>
|
||||||
|
预览数据
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentThirdCategoryController.SelectExportExcel(CoreCms.Net.Model.FromBody.FMArrayIntIds)">
|
||||||
|
<summary>
|
||||||
|
选择导出
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentThirdCategoryController.QueryExportExcel">
|
||||||
|
<summary>
|
||||||
|
查询导出
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentThirdCategoryController.GetThirdCategories">
|
||||||
|
<summary>
|
||||||
|
获取商品列表
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="T:CoreCms.Net.Web.Admin.Program">
|
<member name="T:CoreCms.Net.Web.Admin.Program">
|
||||||
<summary>
|
<summary>
|
||||||
初始化
|
初始化
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
dbProvider="Microsoft.Data.SqlClient.SqlConnection, Microsoft.Data.SqlClient"
|
dbProvider="Microsoft.Data.SqlClient.SqlConnection, Microsoft.Data.SqlClient"
|
||||||
connectionString="Server=127.0.0.1;Database=BaseMIS;User ID=sa;Password=123456"
|
connectionString="Server=127.0.0.1;Database=BaseMIS;User ID=sa;Password=123456"
|
||||||
-->
|
-->
|
||||||
<target name="log_database" xsi:type="Database" dbProvider="Microsoft.Data.SqlClient.SqlConnection, Microsoft.Data.SqlClient" connectionString="Server=127.0.0.1;uid=CoreShop;pwd=CoreShop;Database=CoreShop;MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;">
|
<target name="log_database" xsi:type="Database" dbProvider="Microsoft.Data.SqlClient.SqlConnection, Microsoft.Data.SqlClient" connectionString="Server=127.0.0.1;uid=CoreShop;pwd=CoreShop;Database=CoreShop;MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;">
|
||||||
<commandText>
|
<commandText>
|
||||||
INSERT INTO SysNLogRecords
|
INSERT INTO SysNLogRecords
|
||||||
(LogDate,LogLevel,LogType,LogTitle,Logger,Message,MachineName,MachineIp,NetRequestMethod
|
(LogDate,LogLevel,LogType,LogTitle,Logger,Message,MachineName,MachineIp,NetRequestMethod
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ using Microsoft.Extensions.Hosting;
|
|||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Serialization;
|
using Newtonsoft.Json.Serialization;
|
||||||
|
using Yitter.IdGenerator;
|
||||||
|
|
||||||
namespace CoreCms.Net.Web.Admin
|
namespace CoreCms.Net.Web.Admin
|
||||||
{
|
{
|
||||||
@@ -137,6 +138,15 @@ namespace CoreCms.Net.Web.Admin
|
|||||||
p.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
|
p.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ѩ<><D1A9>Ư<EFBFBD><C6AF><EFBFBD>㷨
|
||||||
|
// <20><><EFBFBD><EFBFBD> IdGeneratorOptions <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڹ<EFBFBD><DAB9>캯<EFBFBD><ECBAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WorkerId<49><64>
|
||||||
|
var options = new IdGeneratorOptions(1);
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>
|
||||||
|
YitIdHelper.SetIdGenerator(options);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1174,7 +1174,7 @@
|
|||||||
if (e.data.products) {
|
if (e.data.products) {
|
||||||
for (var i = 0; i < e.data.products.length; i++) {
|
for (var i = 0; i < e.data.products.length; i++) {
|
||||||
e.data.products[i].isDefalut = false;
|
e.data.products[i].isDefalut = false;
|
||||||
e.data.products[i].sn = layui.coreHelper.getSN('SN');
|
//e.data.products[i].sn = layui.coreHelper.getSN('SN');
|
||||||
tmpData.push(e.data.products[i]);
|
tmpData.push(e.data.products[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1284,7 +1284,7 @@
|
|||||||
if (e.data.products) {
|
if (e.data.products) {
|
||||||
for (var i = 0; i < e.data.products.length; i++) {
|
for (var i = 0; i < e.data.products.length; i++) {
|
||||||
e.data.products[i].isDefalut = false;
|
e.data.products[i].isDefalut = false;
|
||||||
e.data.products[i].sn = layui.coreHelper.getSN('SN');
|
//e.data.products[i].sn = layui.coreHelper.getSN('SN');
|
||||||
tmpData.push(e.data.products[i]);
|
tmpData.push(e.data.products[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -298,6 +298,7 @@
|
|||||||
<th>收货人名</th>
|
<th>收货人名</th>
|
||||||
<th>收货电话</th>
|
<th>收货电话</th>
|
||||||
<th>收货地址</th>
|
<th>收货地址</th>
|
||||||
|
<th style="width: 60px">操作</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@@ -310,6 +311,9 @@
|
|||||||
<td>{{item.shipName}}</td>
|
<td>{{item.shipName}}</td>
|
||||||
<td>{{item.shipMobile}}</td>
|
<td>{{item.shipMobile}}</td>
|
||||||
<td>{{item.shipAreaIdName}}-{{item.shipAddress}}</td>
|
<td>{{item.shipAreaIdName}}-{{item.shipAddress}}</td>
|
||||||
|
<td>
|
||||||
|
<button type="button" class="layui-btn layui-btn-warm layui-btn-xs" data-deliveryId="{{item.deliveryId}}" lay-active="refreshDelivery" style="margin-left: 0px">同步直播订单</button>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{{# }); }}
|
{{# }); }}
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|||||||
@@ -570,7 +570,7 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//还原订单
|
//还原订单
|
||||||
function restoreOrder(id) {
|
function restoreOrder(id) {
|
||||||
layer.confirm('确认还原:' + id + ' 的订单吗?', {
|
layer.confirm('确认还原:' + id + ' 的订单吗?', {
|
||||||
@@ -601,7 +601,6 @@
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//取消订单
|
//取消订单
|
||||||
function doCancelOrder(id) {
|
function doCancelOrder(id) {
|
||||||
layer.confirm('确认取消订单号:' + id + ' 的订单吗?', {
|
layer.confirm('确认取消订单号:' + id + ' 的订单吗?', {
|
||||||
|
|||||||
@@ -0,0 +1,245 @@
|
|||||||
|
<script type="text/html" template lay-done="layui.data.done(d);">
|
||||||
|
<div class="layui-form coreshop-form transactioncomponent" lay-filter="LAY-app-WeChatTransactionComponentAuditCategory-createForm" id="LAY-app-WeChatTransactionComponentAuditCategory-createForm">
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="licenseImage" class="layui-form-label layui-form-required">营业执照</label>
|
||||||
|
<div class="layui-input-inline layui-inline-12">
|
||||||
|
<input name="licenseImage" id="licenseImageInput" lay-verify="required" class="layui-input" placeholder="请上传营业执照或组织机构代码证" lay-reqText="请上传营业执照或组织机构代码证" />
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<img class="coreshop-upload-img" id="viewImgBoxlicenseImage" src="{{ layui.setter.noImagePicUrl }}">
|
||||||
|
<button type="button" class="layui-btn" id="upBtnlicenseImage">点击上传营业执照或组织机构代码证</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<fieldset class="layui-elem-field layui-field-title site-title"><legend><a name="compress">三级类目(直接选择)</a></legend></fieldset>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="level1" class="layui-form-label layui-form-required">一级类目</label>
|
||||||
|
<div class="layui-input-inline layui-inline-3">
|
||||||
|
<input type="number" min="0" max="999999" name="level1" id="level1" readonly="readonly" lay-verify="required|number" class="layui-input" placeholder="请输入一级类目" lay-reqText="请输入一级类目并为数字" />
|
||||||
|
</div>
|
||||||
|
<label for="level1Name" class="layui-form-label layui-form-required">类目名称</label>
|
||||||
|
<div class="layui-input-inline layui-inline-3">
|
||||||
|
<input name="level1Name" id="level1Name" lay-verify="required|verifylevel1Name" readonly="readonly" class="layui-input" lay-reqText="请输入一级类目名称" placeholder="请输入一级类目名称" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="level2" class="layui-form-label layui-form-required">二级类目</label>
|
||||||
|
<div class="layui-input-inline layui-inline-3">
|
||||||
|
<input type="number" min="0" max="999999" name="level2" id="level2" readonly="readonly" lay-verify="required|number" class="layui-input" placeholder="请输入二级类目" lay-reqText="请输入二级类目并为数字" />
|
||||||
|
</div>
|
||||||
|
<label for="level2Name" class="layui-form-label layui-form-required">类目名称</label>
|
||||||
|
<div class="layui-input-inline layui-inline-3">
|
||||||
|
<input name="level2Name" id="level2Name" lay-verify="required|verifylevel2Name" readonly="readonly" class="layui-input" lay-reqText="请输入二级类目名称" placeholder="请输入二级类目名称" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="level3" class="layui-form-label layui-form-required">三级类目</label>
|
||||||
|
<div class="layui-input-inline layui-inline-3">
|
||||||
|
<input type="number" min="0" max="999999" name="level3" id="level3" readonly="readonly" lay-verify="required|number" class="layui-input" placeholder="请输入三级类目" lay-reqText="请输入三级类目并为数字" />
|
||||||
|
</div>
|
||||||
|
<label for="level3Name" class="layui-form-label layui-form-required">类目名称</label>
|
||||||
|
<div class="layui-input-inline layui-inline-3">
|
||||||
|
<input name="level3Name" id="level3Name" lay-verify="required|verifylevel3Name" readonly="readonly" class="layui-input" lay-reqText="请输入三级类目名称" placeholder="请输入三级类目名称" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="level3Name" class="layui-form-label"> </label>
|
||||||
|
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<button class="layui-btn layui-btn-normal" lay-active="getThirdCategories"><i class="layui-icon layui-icon-ok"></i>选择三级分类</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<fieldset class="layui-elem-field layui-field-title site-title"><legend><a name="compress">资质材料</a></legend></fieldset>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-input-inline layui-inline-2">
|
||||||
|
<input type="hidden" name="certificateImage" id="certificateImage" class="layui-input" placeholder="请上传资质材料" lay-reqText="请上传资质材料" />
|
||||||
|
<button type="button" class="layui-btn layui-btn-sm" id="upBtnimageIds"><i class="layui-icon"></i>上传资质材料</button>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-mid">
|
||||||
|
资质材料:[建议按照三级分类需求上传]:
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item ">
|
||||||
|
<blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
|
||||||
|
<div class="layui-upload-list" id="upload-more-list"></div>
|
||||||
|
</blockquote>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="layui-form-item text-right core-hidden">
|
||||||
|
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-WeChatTransactionComponentAuditCategory-createForm-submit" id="LAY-app-WeChatTransactionComponentAuditCategory-createForm-submit" value="确认添加">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<script id="image_tpl" type="text/html">
|
||||||
|
{{# layui.each(d, function(index, item){ }}
|
||||||
|
<div class="imgdiv">
|
||||||
|
<img src="{{ item }}" class="layui-upload-img" onclick='layui.coreHelper.viewImage("{{ item }}")' style="width: 100px;height:100px;">
|
||||||
|
<div id="operate">
|
||||||
|
<div><a class="del" onclick="delImg(this,'{{ item }}')">删除</a>|<a class="setmain" onclick="setDefault(this,'{{ item }}')">设为主图</a></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{# }); }}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var $;
|
||||||
|
var imgs = [];
|
||||||
|
var debug = layui.setter.debug;
|
||||||
|
layui.data.done = function (d) {
|
||||||
|
//开启调试情况下获取接口赋值数据
|
||||||
|
if (debug) { console.log(d.params.data); }
|
||||||
|
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg', 'util', 'view', 'laytpl'],
|
||||||
|
function () {
|
||||||
|
$ = layui.$;
|
||||||
|
var form = layui.form
|
||||||
|
, admin = layui.admin
|
||||||
|
, laydate = layui.laydate
|
||||||
|
, upload = layui.upload
|
||||||
|
, cropperImg = layui.cropperImg
|
||||||
|
, util = layui.util
|
||||||
|
, view = layui.view
|
||||||
|
, laytpl = layui.laytpl
|
||||||
|
, coreHelper = layui.coreHelper;
|
||||||
|
|
||||||
|
|
||||||
|
//处理属性 为 lay-active 的所有元素事件
|
||||||
|
util.event('lay-active', {
|
||||||
|
getThirdCategories: function () {
|
||||||
|
admin.popup({
|
||||||
|
shadeClose: false,
|
||||||
|
title: '选择三级分类',
|
||||||
|
area: ['1000px', '600px'],
|
||||||
|
id: 'LAY-app-GetThirdCategories',
|
||||||
|
success: function (layero, index) {
|
||||||
|
view(this.id).render('wechat/transactioncomponent/goods/getThirdCategories', null).done(function () {
|
||||||
|
form.render();
|
||||||
|
//监听商品列表页工具条
|
||||||
|
var obj_goodsIds = {};
|
||||||
|
form.on('submit(LAY-app-GetThirdCategories-getData)',
|
||||||
|
function (data) {
|
||||||
|
console.log(ids);
|
||||||
|
if (!!!ids) {
|
||||||
|
layer.msg("请先选择三级分类");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#level1').val(ids.first_cat_id);
|
||||||
|
$('#level1Name').val(ids.first_cat_name);
|
||||||
|
$('#level2').val(ids.second_cat_id);
|
||||||
|
$('#level2Name').val(ids.second_cat_name);
|
||||||
|
$('#level3').val(ids.third_cat_id);
|
||||||
|
$('#level3Name').val(ids.third_cat_name);
|
||||||
|
|
||||||
|
form.render();
|
||||||
|
layer.close(index);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//普通图片上传
|
||||||
|
var uploadInst = upload.render({
|
||||||
|
elem: '#upBtnlicenseImage'
|
||||||
|
, url: layui.setter.apiUrl + 'Api/Tools/UploadFiles'
|
||||||
|
, before: function (obj) {
|
||||||
|
obj.preview(function (index, file, result) {
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
, done: function (res) {
|
||||||
|
if (res.code > 0) { return layer.msg('上传失败'); }
|
||||||
|
layer.msg('上传成功');
|
||||||
|
$('#viewImgBoxlicenseImage').attr('src', res.data.fileUrl);
|
||||||
|
$("#licenseImageInput").val(res.data.fileUrl);
|
||||||
|
}
|
||||||
|
, error: function () {
|
||||||
|
var viewTextBox = $('#viewTextBox');
|
||||||
|
viewTextBox.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
||||||
|
viewTextBox.find('.demo-reload').on('click', function () {
|
||||||
|
uploadInst.upload();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
upload.render({
|
||||||
|
elem: '#upBtnimageIds'
|
||||||
|
, url: layui.setter.apiUrl + 'Api/Tools/UploadFiles'
|
||||||
|
, before: function (obj) {
|
||||||
|
obj.preview(function (index, file, result) {
|
||||||
|
//$('#viewImgBoxlicenseImage').attr('src', result);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
, done: function (res) {
|
||||||
|
if (res.code > 0) { return layer.msg('上传失败'); }
|
||||||
|
layer.msg('上传成功');
|
||||||
|
imgs.push(res.data.fileUrl);
|
||||||
|
$('#certificateImage').val(imgs);
|
||||||
|
var getTpl = image_tpl.innerHTML, view = document.getElementById('upload-more-list');
|
||||||
|
laytpl(getTpl).render(imgs, function (html) {
|
||||||
|
view.innerHTML = html;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
, error: function () {
|
||||||
|
var viewTextBox = $('#viewTextBox');
|
||||||
|
viewTextBox.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
||||||
|
viewTextBox.find('.demo-reload').on('click', function () {
|
||||||
|
uploadInst.upload();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
form.verify({
|
||||||
|
|
||||||
|
verifylicenseImage: [/^.{0,255}$/, '营业执照或组织机构代码证最大只允许输入255位字符'],
|
||||||
|
verifylevel1Name: [/^.{0,50}$/, '一级类目名称最大只允许输入50位字符'],
|
||||||
|
verifylevel2Name: [/^.{0,50}$/, '二级类目名称最大只允许输入50位字符'],
|
||||||
|
verifylevel3Name: [/^.{0,50}$/, '三级类目名称最大只允许输入50位字符'],
|
||||||
|
verifyauditId: [/^.{0,50}$/, '审核单最大只允许输入50位字符'],
|
||||||
|
verifyrejectReason: [/^.{0,255}$/, '拒绝原因最大只允许输入255位字符'],
|
||||||
|
});
|
||||||
|
//重载form
|
||||||
|
form.render(null, 'LAY-app-WeChatTransactionComponentAuditCategory-createForm');
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//删除图片
|
||||||
|
function delImg(obj, imageUrl) {
|
||||||
|
var imgDiv = $(obj).parent().parent().parent();
|
||||||
|
imgDiv.remove();
|
||||||
|
var index = imgs.indexOf(imageUrl);
|
||||||
|
if (index > -1) {
|
||||||
|
imgs.splice(index, 1);
|
||||||
|
}
|
||||||
|
$('#certificateImage').val(imgs);
|
||||||
|
}
|
||||||
|
//设为默认图
|
||||||
|
function setDefault(obj, imageUrl) {
|
||||||
|
var imgDiv = $(obj).parent().parent().parent();
|
||||||
|
$("#upload-more-list").prepend(imgDiv);
|
||||||
|
var index = imgs.indexOf(imageUrl);
|
||||||
|
if (index > -1) {
|
||||||
|
imgs.unshift(imgs.splice(index, 1)[0]);
|
||||||
|
}
|
||||||
|
$('#certificateImage').val(imgs);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
@@ -0,0 +1,129 @@
|
|||||||
|
<script type="text/html" template lay-done="layui.data.done(d);">
|
||||||
|
<table class="layui-table layui-form" lay-filter="LAY-app-WeChatTransactionComponentAuditCategory-detailsForm" id="LAY-app-WeChatTransactionComponentAuditCategory-detailsForm">
|
||||||
|
<colgroup>
|
||||||
|
<col width="200">
|
||||||
|
<col>
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="licenseImage">营业执照或组织机构代码证</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="javascript:void(0);" onclick="layui.coreHelper.viewImage('{{ d.params.data.model.licenseImage || setter.noImagePicUrl }}')"><image style="max-width: 128px; max-height: 128px;" src="{{d.params.data.model.licenseImage }}" /></a>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="level1Name">一级类目</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.model.level1Name || '' }}【{{ d.params.data.model.level1 || '' }}】
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="level2Name">二级类目</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.model.level2Name || '' }}【{{ d.params.data.model.level2 || '' }}】
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="level3Name">三级类目名称</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.model.level3Name || '' }}【{{ d.params.data.model.level3 || '' }}】
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="certificateImage">资质材料</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
{{# layui.each(d.params.data.imagesArr, function(index, item){ }}
|
||||||
|
<a href="javascript:void(0);" onclick="layui.coreHelper.viewImage('{{ item || '' }}')"><image style="max-width:128px;max-height:128px;" src="{{item || '' }}" /></a>
|
||||||
|
{{# }); }}
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="auditId">审核单</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.model.auditId || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="status">审核状态</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{# layui.each(d.params.data.auditCategoryStatus, function(index, item){ }}
|
||||||
|
{{# if(d.params.data.model.status == item.value){ }}
|
||||||
|
{{item.description}}
|
||||||
|
{{# } }}
|
||||||
|
{{# }); }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="brandId">品牌id</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.model.brandId || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="rejectReason">拒绝原因</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.model.rejectReason || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="createTime">创建时间</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.model.createTime || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var debug = layui.setter.debug;
|
||||||
|
layui.data.done = function (d) {
|
||||||
|
//开启调试情况下获取接口赋值数据
|
||||||
|
if (debug) { console.log(d.params.data); }
|
||||||
|
|
||||||
|
layui.use(['admin', 'form', 'coreHelper'], function () {
|
||||||
|
var $ = layui.$
|
||||||
|
, setter = layui.setter
|
||||||
|
, admin = layui.admin
|
||||||
|
, coreHelper = layui.coreHelper
|
||||||
|
, form = layui.form;
|
||||||
|
form.render(null, 'LAY-app-WeChatTransactionComponentAuditCategory-detailsForm');
|
||||||
|
});
|
||||||
|
};
|
||||||
|
</script>
|
||||||
@@ -0,0 +1,254 @@
|
|||||||
|
<script type="text/html" template lay-done="layui.data.sendParams(d);">
|
||||||
|
<div class="layui-form coreshop-form transactioncomponent" lay-filter="LAY-app-WeChatTransactionComponentAuditCategory-editForm" id="LAY-app-WeChatTransactionComponentAuditCategory-editForm">
|
||||||
|
<input type="hidden" name="id" value="{{d.params.data.id || '' }}" />
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="licenseImage" class="layui-form-label layui-form-required">营业执照</label>
|
||||||
|
<div class="layui-input-inline layui-inline-12">
|
||||||
|
<input name="licenseImage" id="licenseImageInput" lay-verify="required" class="layui-input" placeholder="请上传营业执照或组织机构代码证" lay-reqText="请上传营业执照或组织机构代码证" value="{{d.params.data.licenseImage || '' }}" />
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<img class="coreshop-upload-img" id="viewImgBoxlicenseImage" src="{{d.params.data.licenseImage || layui.setter.noImagePicUrl }}">
|
||||||
|
<button type="button" class="layui-btn" id="upBtnlicenseImage">点击上传营业执照或组织机构代码证</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<fieldset class="layui-elem-field layui-field-title site-title"><legend><a name="compress">三级类目(直接选择)</a></legend></fieldset>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="level1" class="layui-form-label layui-form-required">一级类目</label>
|
||||||
|
<div class="layui-input-inline layui-inline-3">
|
||||||
|
<input type="number" min="0" max="999999" name="level1" id="level1" readonly="readonly" value="{{d.params.data.level1 || '' }}" lay-verify="required|number" class="layui-input" placeholder="请输入一级类目" lay-reqText="请输入一级类目并为数字" />
|
||||||
|
</div>
|
||||||
|
<label for="level1Name" class="layui-form-label layui-form-required">类目名称</label>
|
||||||
|
<div class="layui-input-inline layui-inline-3">
|
||||||
|
<input name="level1Name" id="level1Name" lay-verify="required|verifylevel1Name" readonly="readonly" value="{{d.params.data.level1Name || '' }}" class="layui-input" lay-reqText="请输入一级类目名称" placeholder="请输入一级类目名称" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="level2" class="layui-form-label layui-form-required">二级类目</label>
|
||||||
|
<div class="layui-input-inline layui-inline-3">
|
||||||
|
<input type="number" min="0" max="999999" name="level2" id="level2" readonly="readonly" lay-verify="required|number" value="{{d.params.data.level2 || '' }}" class="layui-input" placeholder="请输入二级类目" lay-reqText="请输入二级类目并为数字" />
|
||||||
|
</div>
|
||||||
|
<label for="level2Name" class="layui-form-label layui-form-required">类目名称</label>
|
||||||
|
<div class="layui-input-inline layui-inline-3">
|
||||||
|
<input name="level2Name" id="level2Name" lay-verify="required|verifylevel2Name" readonly="readonly" value="{{d.params.data.level2Name || '' }}" class="layui-input" lay-reqText="请输入二级类目名称" placeholder="请输入二级类目名称" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="level3" class="layui-form-label layui-form-required">三级类目</label>
|
||||||
|
<div class="layui-input-inline layui-inline-3">
|
||||||
|
<input type="number" min="0" max="999999" name="level3" id="level3" readonly="readonly" value="{{d.params.data.level3 || '' }}" lay-verify="required|number" class="layui-input" placeholder="请输入三级类目" lay-reqText="请输入三级类目并为数字" />
|
||||||
|
</div>
|
||||||
|
<label for="level3Name" class="layui-form-label layui-form-required">类目名称</label>
|
||||||
|
<div class="layui-input-inline layui-inline-3">
|
||||||
|
<input name="level3Name" id="level3Name" lay-verify="required|verifylevel3Name" readonly="readonly" value="{{d.params.data.level3Name || '' }}" class="layui-input" lay-reqText="请输入三级类目名称" placeholder="请输入三级类目名称" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="level3Name" class="layui-form-label">选择 </label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<button class="layui-btn layui-btn-normal" lay-active="getThirdCategories"><i class="layui-icon layui-icon-ok"></i>选择三级分类</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<fieldset class="layui-elem-field layui-field-title site-title"><legend><a name="compress">资质材料</a></legend></fieldset>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-input-inline layui-inline-2">
|
||||||
|
<input type="hidden" name="certificateImage" id="certificateImage" value="{{d.params.data.certificateImage || '' }}" class="layui-input" placeholder="请上传资质材料" lay-reqText="请上传资质材料" />
|
||||||
|
<button type="button" class="layui-btn layui-btn-sm" id="upBtnimageIds"><i class="layui-icon"></i>上传资质材料</button>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-mid">
|
||||||
|
资质材料:[建议按照三级分类需求上传]:
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item ">
|
||||||
|
<blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
|
||||||
|
<div class="layui-upload-list" id="upload-more-list"></div>
|
||||||
|
</blockquote>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item text-right core-hidden">
|
||||||
|
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-WeChatTransactionComponentAuditCategory-editForm-submit" id="LAY-app-WeChatTransactionComponentAuditCategory-editForm-submit" value="确认编辑">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<script id="image_tpl" type="text/html">
|
||||||
|
{{# layui.each(d, function(index, item){ }}
|
||||||
|
<div class="imgdiv">
|
||||||
|
<img src="{{ item }}" class="layui-upload-img" onclick='layui.coreHelper.viewImage("{{ item }}")' style="width: 100px;height:100px;">
|
||||||
|
<div id="operate">
|
||||||
|
<div><a class="del" onclick="delImg(this,'{{ item }}')">删除</a>|<a class="setmain" onclick="setDefault(this,'{{ item }}')">设为主图</a></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{# }); }}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var $;
|
||||||
|
var imgs = [];
|
||||||
|
var debug = layui.setter.debug;
|
||||||
|
layui.data.sendParams = function (d) {
|
||||||
|
//开启调试情况下获取接口赋值数据
|
||||||
|
if (debug) { console.log(d.params.data); }
|
||||||
|
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg', 'util', 'view', 'laytpl'],
|
||||||
|
function () {
|
||||||
|
$ = layui.$;
|
||||||
|
var form = layui.form
|
||||||
|
, admin = layui.admin
|
||||||
|
, laydate = layui.laydate
|
||||||
|
, upload = layui.upload
|
||||||
|
, cropperImg = layui.cropperImg
|
||||||
|
, util = layui.util
|
||||||
|
, view = layui.view
|
||||||
|
, laytpl = layui.laytpl
|
||||||
|
, coreHelper = layui.coreHelper;
|
||||||
|
|
||||||
|
|
||||||
|
imgs = d.params.data.certificateImage.split(',');
|
||||||
|
|
||||||
|
if (imgs.length > 0) {
|
||||||
|
var getTpl = image_tpl.innerHTML, view = document.getElementById('upload-more-list');
|
||||||
|
laytpl(getTpl).render(imgs, function (html) {
|
||||||
|
view.innerHTML = html;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//处理属性 为 lay-active 的所有元素事件
|
||||||
|
util.event('lay-active', {
|
||||||
|
getThirdCategories: function () {
|
||||||
|
admin.popup({
|
||||||
|
shadeClose: false,
|
||||||
|
title: '选择三级分类',
|
||||||
|
area: ['1000px', '600px'],
|
||||||
|
id: 'LAY-app-GetThirdCategories',
|
||||||
|
success: function (layero, index) {
|
||||||
|
view(this.id).render('wechat/transactioncomponent/goods/getThirdCategories', null).done(function () {
|
||||||
|
form.render();
|
||||||
|
//监听商品列表页工具条
|
||||||
|
var obj_goodsIds = {};
|
||||||
|
form.on('submit(LAY-app-GetThirdCategories-getData)',
|
||||||
|
function (data) {
|
||||||
|
console.log(ids);
|
||||||
|
if (!!!ids) {
|
||||||
|
layer.msg("请先选择三级分类");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#level1').val(ids.first_cat_id);
|
||||||
|
$('#level1Name').val(ids.first_cat_name);
|
||||||
|
$('#level2').val(ids.second_cat_id);
|
||||||
|
$('#level2Name').val(ids.second_cat_name);
|
||||||
|
$('#level3').val(ids.third_cat_id);
|
||||||
|
$('#level3Name').val(ids.third_cat_name);
|
||||||
|
|
||||||
|
form.render();
|
||||||
|
layer.close(index);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//普通图片上传
|
||||||
|
var uploadInst = upload.render({
|
||||||
|
elem: '#upBtnlicenseImage'
|
||||||
|
, url: layui.setter.apiUrl + 'Api/Tools/UploadFiles'
|
||||||
|
, before: function (obj) {
|
||||||
|
obj.preview(function (index, file, result) {
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
, done: function (res) {
|
||||||
|
if (res.code > 0) { return layer.msg('上传失败'); }
|
||||||
|
layer.msg('上传成功');
|
||||||
|
$('#viewImgBoxlicenseImage').attr('src', res.data.fileUrl);
|
||||||
|
$("#licenseImageInput").val(res.data.fileUrl);
|
||||||
|
}
|
||||||
|
, error: function () {
|
||||||
|
var viewTextBox = $('#viewTextBox');
|
||||||
|
viewTextBox.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
||||||
|
viewTextBox.find('.demo-reload').on('click', function () {
|
||||||
|
uploadInst.upload();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
upload.render({
|
||||||
|
elem: '#upBtnimageIds'
|
||||||
|
, url: layui.setter.apiUrl + 'Api/Tools/UploadFiles'
|
||||||
|
, before: function (obj) {
|
||||||
|
obj.preview(function (index, file, result) {
|
||||||
|
//$('#viewImgBoxlicenseImage').attr('src', result);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
, done: function (res) {
|
||||||
|
if (res.code > 0) { return layer.msg('上传失败'); }
|
||||||
|
layer.msg('上传成功');
|
||||||
|
imgs.push(res.data.fileUrl);
|
||||||
|
$('#certificateImage').val(imgs);
|
||||||
|
var getTpl = image_tpl.innerHTML, view = document.getElementById('upload-more-list');
|
||||||
|
laytpl(getTpl).render(imgs, function (html) {
|
||||||
|
view.innerHTML = html;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
, error: function () {
|
||||||
|
var viewTextBox = $('#viewTextBox');
|
||||||
|
viewTextBox.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
||||||
|
viewTextBox.find('.demo-reload').on('click', function () {
|
||||||
|
uploadInst.upload();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
form.verify({
|
||||||
|
|
||||||
|
verifylicenseImage: [/^.{0,255}$/, '营业执照或组织机构代码证最大只允许输入255位字符'],
|
||||||
|
verifylevel1Name: [/^.{0,50}$/, '一级类目名称最大只允许输入50位字符'],
|
||||||
|
verifylevel2Name: [/^.{0,50}$/, '二级类目名称最大只允许输入50位字符'],
|
||||||
|
verifylevel3Name: [/^.{0,50}$/, '三级类目名称最大只允许输入50位字符'],
|
||||||
|
verifyauditId: [/^.{0,50}$/, '审核单最大只允许输入50位字符'],
|
||||||
|
verifyrejectReason: [/^.{0,255}$/, '拒绝原因最大只允许输入255位字符'],
|
||||||
|
});
|
||||||
|
//重载form
|
||||||
|
form.render(null, 'LAY-app-WeChatTransactionComponentAuditCategory-editForm');
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
|
//删除图片
|
||||||
|
function delImg(obj, imageUrl) {
|
||||||
|
var imgDiv = $(obj).parent().parent().parent();
|
||||||
|
imgDiv.remove();
|
||||||
|
var index = imgs.indexOf(imageUrl);
|
||||||
|
if (index > -1) {
|
||||||
|
imgs.splice(index, 1);
|
||||||
|
}
|
||||||
|
$('#certificateImage').val(imgs);
|
||||||
|
}
|
||||||
|
//设为默认图
|
||||||
|
function setDefault(obj, imageUrl) {
|
||||||
|
var imgDiv = $(obj).parent().parent().parent();
|
||||||
|
$("#upload-more-list").prepend(imgDiv);
|
||||||
|
var index = imgs.indexOf(imageUrl);
|
||||||
|
if (index > -1) {
|
||||||
|
imgs.unshift(imgs.splice(index, 1)[0]);
|
||||||
|
}
|
||||||
|
$('#certificateImage').val(imgs);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
@@ -0,0 +1,338 @@
|
|||||||
|
<title>自定义交易组件上传类目资质</title>
|
||||||
|
<!--当前位置开始-->
|
||||||
|
<div class="layui-card layadmin-header">
|
||||||
|
<div class="layui-breadcrumb" lay-filter="breadcrumb">
|
||||||
|
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--当前位置结束-->
|
||||||
|
<style>
|
||||||
|
/* 重写样式 */
|
||||||
|
</style>
|
||||||
|
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/WeChatTransactionComponentAuditCategory/GetIndex" lay-done="layui.data.done(d);">
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<div class="table-body">
|
||||||
|
<table id="LAY-app-WeChatTransactionComponentAuditCategory-tableBox" lay-filter="LAY-app-WeChatTransactionComponentAuditCategory-tableBox"></table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script type="text/html" id="LAY-app-WeChatTransactionComponentAuditCategory-toolbar">
|
||||||
|
<div class="layui-form coreshop-toolbar-search-form">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="level1Name" placeholder="请输入一级类目名称" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="level2Name" placeholder="请输入二级类目名称" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="level3Name" placeholder="请输入三级类目名称" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-inline">
|
||||||
|
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-WeChatTransactionComponentAuditCategory-search"><i class="layui-icon layui-icon-search"></i>筛选</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
<script type="text/html" id="LAY-app-WeChatTransactionComponentAuditCategory-pagebar">
|
||||||
|
<div class="layui-btn-container">
|
||||||
|
<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i>添加数据</button>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
<script type="text/html" id="LAY-app-WeChatTransactionComponentAuditCategory-tableBox-bar">
|
||||||
|
<a class="layui-btn layui-btn-xs" lay-event="refresh">同步</a>
|
||||||
|
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
|
||||||
|
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
|
||||||
|
<a class="layui-btn layui-btn-danger layui-btn-xs" data-dropdown="#WeChatTransactionComponentAuditCategoryTbDelDrop{{d.LAY_INDEX}}" no-shade="true">删除</a>
|
||||||
|
<div class="dropdown-menu-nav dropdown-popconfirm dropdown-top-right layui-hide" id="WeChatTransactionComponentAuditCategoryTbDelDrop{{d.LAY_INDEX}}"
|
||||||
|
style="max-width: 200px;white-space: normal;min-width: auto;margin-left: 10px;">
|
||||||
|
<div class="dropdown-anchor"></div>
|
||||||
|
<div class="dropdown-popconfirm-title">
|
||||||
|
<i class="layui-icon layui-icon-help"></i>
|
||||||
|
确定要删除吗?
|
||||||
|
</div>
|
||||||
|
<div class="dropdown-popconfirm-btn">
|
||||||
|
<a class="layui-btn layui-btn-primary cursor" btn-cancel>取消</a>
|
||||||
|
<a class="layui-btn layui-btn-normal cursor" lay-event="del">确定</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var indexData;
|
||||||
|
var debug = layui.setter.debug;
|
||||||
|
layui.data.done = function (d) {
|
||||||
|
//开启调试情况下获取接口赋值数据
|
||||||
|
if (debug) { console.log(d); }
|
||||||
|
|
||||||
|
indexData = d.data;
|
||||||
|
layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'],
|
||||||
|
function () {
|
||||||
|
var $ = layui.$
|
||||||
|
, admin = layui.admin
|
||||||
|
, table = layui.table
|
||||||
|
, form = layui.form
|
||||||
|
, laydate = layui.laydate
|
||||||
|
, setter = layui.setter
|
||||||
|
, coreHelper = layui.coreHelper
|
||||||
|
, util = layui.util
|
||||||
|
, view = layui.view;
|
||||||
|
|
||||||
|
|
||||||
|
var searchwhere;
|
||||||
|
//监听搜索
|
||||||
|
form.on('submit(LAY-app-WeChatTransactionComponentAuditCategory-search)',
|
||||||
|
function (data) {
|
||||||
|
var field = data.field;
|
||||||
|
searchwhere = field;
|
||||||
|
//执行重载
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentAuditCategory-tableBox', { where: field });
|
||||||
|
});
|
||||||
|
//数据绑定
|
||||||
|
table.render({
|
||||||
|
elem: '#LAY-app-WeChatTransactionComponentAuditCategory-tableBox',
|
||||||
|
url: layui.setter.apiUrl + 'Api/WeChatTransactionComponentAuditCategory/GetPageList',
|
||||||
|
method: 'POST',
|
||||||
|
toolbar: '#LAY-app-WeChatTransactionComponentAuditCategory-toolbar',
|
||||||
|
pagebar: '#LAY-app-WeChatTransactionComponentAuditCategory-pagebar',
|
||||||
|
className: 'pagebarbox',
|
||||||
|
defaultToolbar: ['filter', 'print', 'exports'],
|
||||||
|
height: 'full-127',//面包屑142px,搜索框4行172,3行137,2行102,1行67
|
||||||
|
page: true,
|
||||||
|
limit: 30,
|
||||||
|
limits: [10, 15, 20, 25, 30, 50, 100, 200],
|
||||||
|
text: { none: '暂无相关数据' },
|
||||||
|
cols: [
|
||||||
|
[
|
||||||
|
{ type: "checkbox", fixed: "left" },
|
||||||
|
{ field: 'id', title: '序列', width: 60, sort: false },
|
||||||
|
{
|
||||||
|
field: 'licenseImage', title: '营业执照', width: 80, sort: false,
|
||||||
|
templet: function (d) {
|
||||||
|
if (d.licenseImage) {
|
||||||
|
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.licenseImage + '")><image style="max-width:28px;max-height:28px;" src="' + d.licenseImage + '"/></a>';
|
||||||
|
} else {
|
||||||
|
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '"/></a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//{ field: 'level1', title: '一级类目', sort: false, width: 105 },
|
||||||
|
{ field: 'level1Name', title: '一级类目名称', sort: false, width: 105 },
|
||||||
|
//{ field: 'level2', title: '二级类目', sort: false, width: 105 },
|
||||||
|
{ field: 'level2Name', title: '二级类目名称', sort: false, width: 105 },
|
||||||
|
//{ field: 'level3', title: '三级类目', sort: false, width: 105 },
|
||||||
|
{ field: 'level3Name', title: '三级类目名称', sort: false, width: 105 },
|
||||||
|
{
|
||||||
|
field: 'certificateImage', title: '资质材料', width: 100, sort: false,
|
||||||
|
templet: function (d) {
|
||||||
|
if (d.certificateImage) {
|
||||||
|
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.certificateImage + '")><image style="max-width:28px;max-height:28px;" src="' + d.certificateImage + '"/></a>';
|
||||||
|
} else {
|
||||||
|
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '"/></a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//{ field: 'auditId', title: '审核单', sort: false, width: 180 },
|
||||||
|
{
|
||||||
|
field: 'status', title: '审核状态', sort: false, width: 105, templet: function (data) {
|
||||||
|
for (var i = 0; i < d.data.auditCategoryStatus.length; i++) {
|
||||||
|
if (data.status == d.data.auditCategoryStatus[i].value) {
|
||||||
|
return d.data.auditCategoryStatus[i].description;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//{ field: 'brandId', title: '品牌id', sort: false, width: 105 },
|
||||||
|
{ field: 'rejectReason', title: '拒绝原因', sort: false },
|
||||||
|
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
|
||||||
|
{ width: 200, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-WeChatTransactionComponentAuditCategory-tableBox-bar' }
|
||||||
|
]
|
||||||
|
]
|
||||||
|
});
|
||||||
|
//监听排序事件
|
||||||
|
table.on('sort(LAY-app-WeChatTransactionComponentAuditCategory-tableBox)', function (obj) {
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentAuditCategory-tableBox', {
|
||||||
|
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
|
||||||
|
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
|
||||||
|
orderField: obj.field, //排序字段
|
||||||
|
orderDirection: obj.type //排序方式
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
//监听行双击事件
|
||||||
|
table.on('rowDouble(LAY-app-WeChatTransactionComponentAuditCategory-tableBox)', function (obj) {
|
||||||
|
//查看详情
|
||||||
|
doDetails(obj);
|
||||||
|
});
|
||||||
|
//头工具栏事件
|
||||||
|
table.on('pagebar(LAY-app-WeChatTransactionComponentAuditCategory-tableBox)', function (obj) {
|
||||||
|
var checkStatus = table.checkStatus(obj.config.id);
|
||||||
|
switch (obj.event) {
|
||||||
|
case 'addData':
|
||||||
|
doCreate();
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
//监听工具条
|
||||||
|
table.on('tool(LAY-app-WeChatTransactionComponentAuditCategory-tableBox)',
|
||||||
|
function (obj) {
|
||||||
|
if (obj.event === 'detail') {
|
||||||
|
doDetails(obj);
|
||||||
|
} else if (obj.event === 'del') {
|
||||||
|
doDelete(obj);
|
||||||
|
} else if (obj.event === 'edit') {
|
||||||
|
doEdit(obj)
|
||||||
|
} else if (obj.event === 'refresh') {
|
||||||
|
doRefresh(obj)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//执行创建操作
|
||||||
|
function doCreate() {
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentAuditCategory/GetCreate", null, function (e) {
|
||||||
|
if (e.code === 0) {
|
||||||
|
admin.popup({
|
||||||
|
shadeClose: false,
|
||||||
|
title: '创建数据',
|
||||||
|
area: ['1200px', '90%'],
|
||||||
|
id: 'LAY-popup-WeChatTransactionComponentAuditCategory-create',
|
||||||
|
success: function (layero, index) {
|
||||||
|
view(this.id).render('wechat/transactioncomponent/auditcategory/create', { data: e.data }).done(function () {
|
||||||
|
//监听提交
|
||||||
|
form.on('submit(LAY-app-WeChatTransactionComponentAuditCategory-createForm-submit)',
|
||||||
|
function (data) {
|
||||||
|
var field = data.field; //获取提交的字段
|
||||||
|
|
||||||
|
|
||||||
|
if (debug) { console.log(field); } //开启调试返回数据
|
||||||
|
//提交 Ajax 成功后,关闭当前弹层并重载表格
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentAuditCategory/DoCreate", field, function (e) {
|
||||||
|
console.log(e)
|
||||||
|
if (e.code === 0) {
|
||||||
|
layui.table.reloadData('LAY-app-WeChatTransactionComponentAuditCategory-tableBox'); //重载表格
|
||||||
|
layer.close(index); //再执行关闭
|
||||||
|
layer.msg(e.msg);
|
||||||
|
} else {
|
||||||
|
layer.msg(e.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
// 禁止弹窗出现滚动条
|
||||||
|
//$(layero).children('.layui-layer-content').css('overflow', 'visible');
|
||||||
|
}
|
||||||
|
, btn: ['确定', '取消']
|
||||||
|
, yes: function (index, layero) {
|
||||||
|
layero.contents().find("#LAY-app-WeChatTransactionComponentAuditCategory-createForm-submit").click();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
layer.msg(e.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//执行编辑操作
|
||||||
|
function doEdit(obj) {
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentAuditCategory/GetEdit", { id: obj.data.id }, function (e) {
|
||||||
|
if (e.code === 0) {
|
||||||
|
admin.popup({
|
||||||
|
shadeClose: false,
|
||||||
|
title: '编辑数据',
|
||||||
|
area: ['1200px', '90%'],
|
||||||
|
id: 'LAY-popup-WeChatTransactionComponentAuditCategory-edit',
|
||||||
|
success: function (layero, index) {
|
||||||
|
view(this.id).render('wechat/transactioncomponent/auditcategory/edit', { data: e.data }).done(function () {
|
||||||
|
//监听提交
|
||||||
|
form.on('submit(LAY-app-WeChatTransactionComponentAuditCategory-editForm-submit)',
|
||||||
|
function (data) {
|
||||||
|
var field = data.field; //获取提交的字段
|
||||||
|
|
||||||
|
|
||||||
|
if (debug) { console.log(field); } //开启调试返回数据
|
||||||
|
//提交 Ajax 成功后,关闭当前弹层并重载表格
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentAuditCategory/DoEdit", field, function (e) {
|
||||||
|
console.log(e)
|
||||||
|
if (e.code === 0) {
|
||||||
|
layui.table.reloadData('LAY-app-WeChatTransactionComponentAuditCategory-tableBox'); //重载表格
|
||||||
|
layer.close(index); //再执行关闭
|
||||||
|
layer.msg(e.msg);
|
||||||
|
} else {
|
||||||
|
layer.msg(e.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
})
|
||||||
|
// 禁止弹窗出现滚动条
|
||||||
|
//$(layero).children('.layui-layer-content').css('overflow', 'visible');
|
||||||
|
}
|
||||||
|
, btn: ['确定', '取消']
|
||||||
|
, yes: function (index, layero) {
|
||||||
|
layero.contents().find("#LAY-app-WeChatTransactionComponentAuditCategory-editForm-submit").click();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
layer.msg(e.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//执行预览操作
|
||||||
|
function doDetails(obj) {
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentAuditCategory/GetDetails", { id: obj.data.id }, function (e) {
|
||||||
|
if (e.code === 0) {
|
||||||
|
admin.popup({
|
||||||
|
shadeClose: false,
|
||||||
|
title: '查看详情',
|
||||||
|
area: ['1200px', '90%'],
|
||||||
|
id: 'LAY-popup-WeChatTransactionComponentAuditCategory-details',
|
||||||
|
success: function (layero, index) {
|
||||||
|
view(this.id).render('wechat/transactioncomponent/auditcategory/details', { data: e.data }).done(function () {
|
||||||
|
form.render();
|
||||||
|
});
|
||||||
|
// 禁止弹窗出现滚动条
|
||||||
|
$(layero).children('.layui-layer-content').css('overflow', 'visible');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
layer.msg(e.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//执行单个删除
|
||||||
|
function doDelete(obj) {
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentAuditCategory/DoDelete", { id: obj.data.id }, function (e) {
|
||||||
|
if (debug) { console.log(e); } //开启调试返回数据
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentAuditCategory-tableBox');
|
||||||
|
layer.msg(e.msg);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//执行同步状态
|
||||||
|
function doRefresh(obj) {
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentAuditCategory/DoRefresh", { id: obj.data.id }, function (e) {
|
||||||
|
if (debug) { console.log(e); } //开启调试返回数据
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentAuditCategory-tableBox');
|
||||||
|
layer.msg(e.msg);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//监听 表格复选框操作
|
||||||
|
laydate.render({
|
||||||
|
elem: '#searchTime-WeChatTransactionComponentAuditCategory-createTime',
|
||||||
|
type: 'datetime',
|
||||||
|
range: '到',
|
||||||
|
});
|
||||||
|
//重载form
|
||||||
|
form.render();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
@@ -0,0 +1,137 @@
|
|||||||
|
<title>自定义交易组件快递公司</title>
|
||||||
|
<!--当前位置开始-->
|
||||||
|
<div class="layui-card layadmin-header">
|
||||||
|
<div class="layui-breadcrumb" lay-filter="breadcrumb">
|
||||||
|
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--当前位置结束-->
|
||||||
|
<style>
|
||||||
|
/* 重写样式 */
|
||||||
|
</style>
|
||||||
|
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/WeChatTransactionComponentDeliveryCompany/GetIndex" lay-done="layui.data.done(d);">
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<div class="table-body">
|
||||||
|
<table id="LAY-app-WeChatTransactionComponentDeliveryCompany-tableBox" lay-filter="LAY-app-WeChatTransactionComponentDeliveryCompany-tableBox"></table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script type="text/html" id="LAY-app-WeChatTransactionComponentDeliveryCompany-toolbar">
|
||||||
|
<div class="layui-form coreshop-toolbar-search-form">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
|
||||||
|
<div class="layui-inline">
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="deliveryId" placeholder="请输入快递公司编码" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="deliveryName" placeholder="请输入快递公司名称" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-WeChatTransactionComponentDeliveryCompany-search"><i class="layui-icon layui-icon-search"></i>筛选</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script type="text/html" id="LAY-app-WeChatTransactionComponentDeliveryCompany-pagebar">
|
||||||
|
<div class="layui-btn-container">
|
||||||
|
<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i>更新数据</button>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var indexData;
|
||||||
|
var debug = layui.setter.debug;
|
||||||
|
layui.data.done = function (d) {
|
||||||
|
//开启调试情况下获取接口赋值数据
|
||||||
|
if (debug) { console.log(d); }
|
||||||
|
|
||||||
|
indexData = d.data;
|
||||||
|
layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'],
|
||||||
|
function () {
|
||||||
|
var $ = layui.$
|
||||||
|
, admin = layui.admin
|
||||||
|
, table = layui.table
|
||||||
|
, form = layui.form
|
||||||
|
, laydate = layui.laydate
|
||||||
|
, setter = layui.setter
|
||||||
|
, coreHelper = layui.coreHelper
|
||||||
|
, util = layui.util
|
||||||
|
, view = layui.view;
|
||||||
|
|
||||||
|
//重载form
|
||||||
|
form.render();
|
||||||
|
var searchwhere;
|
||||||
|
//监听搜索
|
||||||
|
form.on('submit(LAY-app-WeChatTransactionComponentDeliveryCompany-search)',
|
||||||
|
function (data) {
|
||||||
|
var field = data.field;
|
||||||
|
searchwhere = field;
|
||||||
|
//执行重载
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentDeliveryCompany-tableBox', { where: field });
|
||||||
|
});
|
||||||
|
//数据绑定
|
||||||
|
table.render({
|
||||||
|
elem: '#LAY-app-WeChatTransactionComponentDeliveryCompany-tableBox',
|
||||||
|
url: layui.setter.apiUrl + 'Api/WeChatTransactionComponentDeliveryCompany/GetPageList',
|
||||||
|
method: 'POST',
|
||||||
|
toolbar: '#LAY-app-WeChatTransactionComponentDeliveryCompany-toolbar',
|
||||||
|
pagebar: '#LAY-app-WeChatTransactionComponentDeliveryCompany-pagebar',
|
||||||
|
className: 'pagebarbox',
|
||||||
|
defaultToolbar: ['filter', 'print', 'exports'],
|
||||||
|
height: 'full-127',//面包屑142px,搜索框4行172,3行137,2行102,1行67
|
||||||
|
page: true,
|
||||||
|
limit: 30,
|
||||||
|
limits: [10, 15, 20, 25, 30, 50, 100, 200],
|
||||||
|
text: { none: '暂无相关数据' },
|
||||||
|
cols: [
|
||||||
|
[
|
||||||
|
{ type: "checkbox", fixed: "left" },
|
||||||
|
{ field: 'deliveryId', title: '快递公司编码', sort: false, width: 205 },
|
||||||
|
{ field: 'deliveryName', title: '快递公司名称', sort: false, width: 205 },
|
||||||
|
]
|
||||||
|
]
|
||||||
|
});
|
||||||
|
//监听排序事件
|
||||||
|
table.on('sort(LAY-app-WeChatTransactionComponentDeliveryCompany-tableBox)', function (obj) {
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentDeliveryCompany-tableBox', {
|
||||||
|
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
|
||||||
|
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
|
||||||
|
orderField: obj.field, //排序字段
|
||||||
|
orderDirection: obj.type //排序方式
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
//监听行双击事件
|
||||||
|
table.on('rowDouble(LAY-app-WeChatTransactionComponentDeliveryCompany-tableBox)', function (obj) {
|
||||||
|
//查看详情
|
||||||
|
doDetails(obj);
|
||||||
|
});
|
||||||
|
//头工具栏事件
|
||||||
|
table.on('pagebar(LAY-app-WeChatTransactionComponentDeliveryCompany-tableBox)', function (obj) {
|
||||||
|
var checkStatus = table.checkStatus(obj.config.id);
|
||||||
|
switch (obj.event) {
|
||||||
|
case 'addData':
|
||||||
|
doCreate();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
//执行单个删除
|
||||||
|
function doCreate() {
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentDeliveryCompany/DoGetCompanyList", null, function (e) {
|
||||||
|
if (debug) { console.log(e); } //开启调试返回数据
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentDeliveryCompany-tableBox');
|
||||||
|
layer.msg(e.msg);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
@@ -0,0 +1,424 @@
|
|||||||
|
<script type="text/html" template lay-done="layui.data.done(d);">
|
||||||
|
<div class="layui-form coreshop-form layui-form-pane transactioncomponent" lay-filter="LAY-app-WeChatTransactionComponentGood-createForm" id="LAY-app-WeChatTransactionComponentGood-createForm">
|
||||||
|
|
||||||
|
<input type="hidden" name="productId" value="0" />
|
||||||
|
<input type="hidden" name="outProductId" id="outProductId" value="0" />
|
||||||
|
<input type="hidden" name="skuCount" id="skuCount" value="0" />
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="title" class="layui-form-label layui-form-required">选择商品</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<button class="layui-btn" style="margin-left: 10px;" lay-active="goods_show"><i class="layui-icon layui-icon-ok"></i>选择商品</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="title" class="layui-form-label layui-form-required">商品标题</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input name="title" id="title" lay-verify="required|verifytitle" class="layui-input" lay-reqText="请输入商品标题" placeholder="请输入商品标题" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="path" class="layui-form-label layui-form-required">小程序路径</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input name="path" id="path" lay-verify="required|verifypath" class="layui-input" lay-reqText="请输入小程序路径" placeholder="请输入小程序路径" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--<div class="layui-form-item">
|
||||||
|
<label for="headImg" class="layui-form-label layui-form-required">主图列表</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input name="headImg" id="headImg" lay-verify="required|verifyheadImg" class="layui-input" lay-reqText="请输入主图列表" placeholder="请输入主图列表" />
|
||||||
|
</div>
|
||||||
|
</div>-->
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="brand_id" class="layui-form-label layui-form-required">品牌id</label>
|
||||||
|
<div class="layui-input-inline layui-inline-4">
|
||||||
|
<select name="brandId">
|
||||||
|
<option value="2100000000" selected="selected">无品牌</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="thirdCatId" class="layui-form-label layui-form-required">所属类目</label>
|
||||||
|
<div class="layui-input-inline layui-inline-1">
|
||||||
|
<input type="number" min="0" max="999999" name="thirdCatId" id="thirdCatId" lay-verify="required|number" class="layui-input" value="0" placeholder="请选择类目名称ID" lay-reqText="请选择类目名称" readonly="readonly" />
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-inline layui-inline-3">
|
||||||
|
<input type="text" name="thirdCatName" id="thirdCatName" lay-verify="required" class="layui-input" placeholder="请选择类目名称" lay-reqText="请选择类目名称" readonly="readonly" />
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<button class="layui-btn layui-btn-normal" lay-active="getThirdCategories"><i class="layui-icon layui-icon-ok"></i>选择三级分类</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<fieldset class="layui-elem-field layui-field-title site-title"><legend><a name="compress">图集</a></legend></fieldset>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-input-inline layui-inline-2">
|
||||||
|
<input type="hidden" name="headImg" id="headImg" class="layui-input" placeholder="请上传缩略图" lay-reqText="请上传缩略图" />
|
||||||
|
<button type="button" class="layui-btn layui-btn-sm" id="upBtnimageIds"><i class="layui-icon"></i>上传图片</button>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-mid">
|
||||||
|
图集:[建议数量控制在10张以内]:
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item ">
|
||||||
|
<blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
|
||||||
|
<div class="layui-upload-list" id="upload-more-list"></div>
|
||||||
|
</blockquote>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<fieldset class="layui-elem-field layui-field-title site-title"><legend><a name="products">货品</a></legend></fieldset>
|
||||||
|
|
||||||
|
<div id="products">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--<div class="layui-form-item">
|
||||||
|
<label for="qualificationPics" class="layui-form-label layui-form-required">商品资质图片列表</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input name="qualificationPics" lay-verify="required|verifyqualificationPics" class="layui-input" lay-reqText="请输入商品资质图片列表" placeholder="请输入商品资质图片列表" />
|
||||||
|
</div>
|
||||||
|
</div>-->
|
||||||
|
|
||||||
|
<div class="layui-form-item layui-form-text">
|
||||||
|
<label for="descInfoDesc" class="layui-form-label layui-form-required">商品详情图文</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<!--<div id="descInfoDesc"></div>-->
|
||||||
|
|
||||||
|
<div class="document-editor">
|
||||||
|
<div class="toolbar-container" id="toolbar-container"></div>
|
||||||
|
<div class="content-container">
|
||||||
|
<div id="editor"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--<div class="layui-form-item">
|
||||||
|
<label for="descInfoImgs" class="layui-form-label layui-form-required">商品详情图片列表</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input name="descInfoImgs" lay-verify="required|verifydescInfoImgs" class="layui-input" lay-reqText="请输入商品详情图片列表" placeholder="请输入商品详情图片列表" />
|
||||||
|
</div>
|
||||||
|
</div>-->
|
||||||
|
|
||||||
|
<div class="layui-form-item text-right core-hidden">
|
||||||
|
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-WeChatTransactionComponentGood-createForm-submit" id="LAY-app-WeChatTransactionComponentGood-createForm-submit" value="确认添加">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script id="image_tpl" type="text/html">
|
||||||
|
{{# layui.each(d, function(index, item){ }}
|
||||||
|
<div class="imgdiv">
|
||||||
|
<img src="{{ item }}" class="layui-upload-img" onclick='layui.coreHelper.viewImage("{{ item }}")' style="width: 100px;height:100px;">
|
||||||
|
<div id="operate">
|
||||||
|
<div><a class="del" onclick="delImg(this,'{{ item }}')">删除</a>|<a class="setmain" onclick="setDefault(this,'{{ item }}')">设为主图</a></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{# }); }}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script id="getSpec_tpl" type="text/html">
|
||||||
|
<table class="layui-table" lay-size="sm">
|
||||||
|
<colgroup>
|
||||||
|
<col width="80">
|
||||||
|
<col width="80">
|
||||||
|
<col width="150">
|
||||||
|
<col>
|
||||||
|
<col width="80">
|
||||||
|
<col width="80">
|
||||||
|
<col width="80">
|
||||||
|
<col width="80">
|
||||||
|
<col width="80">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>默认货品</th>
|
||||||
|
<th>图片</th>
|
||||||
|
<th>货号</th>
|
||||||
|
<th>规格</th>
|
||||||
|
<th>库存</th>
|
||||||
|
<th>销售价</th>
|
||||||
|
<th>成本价</th>
|
||||||
|
<th>市场价</th>
|
||||||
|
<th>是否选择</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="productsTbody">
|
||||||
|
{{# layui.each(d, function(index, item){ }}
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<input type="hidden" value="{{item.id}}" name="product[outProductId][]" />
|
||||||
|
<input type="hidden" value="{{item.id}}" name="product[outSkuId][]" />
|
||||||
|
<input type="checkbox" name="product[isDefalut][]" {{item.isDefalut? 'checked="true"':''}} value="{{item.isDefalut? '1':'0'}}" lay-skin="switch" lay-text="是|否" disabled>
|
||||||
|
</td>
|
||||||
|
<td class="spec-td">
|
||||||
|
<div class="spec_image">
|
||||||
|
<div class="spec_image_item">
|
||||||
|
<img src="{{ item.images && item.images !='null'? item.images : layui.setter.noImagePicUrl }}" id="productImagesSrc" style="width:60px;height:60px">
|
||||||
|
</div>
|
||||||
|
<input type="hidden" id="productImagesInput" name="product[thumbImg][]" value="{{ item.images && item.images !='null'? item.images : layui.setter.noImagePicUrl }}">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="product[barCode][]" value="{{item.sn}}" readonly="readonly" placeholder="货号" class="layui-input layui-inline-3">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="hidden" name="product[spesDesc][]" value="{{item.spesDesc}}" placeholder="规格" class="layui-input">
|
||||||
|
{{item.spesDesc}}
|
||||||
|
</td>
|
||||||
|
<td class="have-add-td">
|
||||||
|
<input type="number" name="product[stockNum][]" value="{{item.stock}}" placeholder="库存" class="layui-input layui-inline-1 goods-stock">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="number" name="product[salePrice][]" value="{{item.price}}" placeholder="销售价" class="layui-input layui-inline-1">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="number" name="product[costprice][]" value="{{item.costprice}}" placeholder="成本价" class="layui-input layui-inline-1">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="number" name="product[marketPrice][]" value="{{item.mktprice}}" placeholder="市场价" class="layui-input layui-inline-1">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="checkbox" name="product[isSelect][]" checked="checked" lay-skin="primary">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{# }); }}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var $;
|
||||||
|
var imgs = [];
|
||||||
|
var debug = layui.setter.debug;
|
||||||
|
layui.data.done = function (d) {
|
||||||
|
//开启调试情况下获取接口赋值数据
|
||||||
|
if (debug) { console.log(d.params.data); }
|
||||||
|
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg', 'util', 'laytpl', 'view'],
|
||||||
|
function () {
|
||||||
|
$ = layui.$;
|
||||||
|
var form = layui.form
|
||||||
|
, admin = layui.admin
|
||||||
|
, laydate = layui.laydate
|
||||||
|
, upload = layui.upload
|
||||||
|
, cropperImg = layui.cropperImg
|
||||||
|
, util = layui.util
|
||||||
|
, view = layui.view
|
||||||
|
, laytpl = layui.laytpl
|
||||||
|
, coreHelper = layui.coreHelper;
|
||||||
|
|
||||||
|
//加载编辑器
|
||||||
|
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
|
||||||
|
|
||||||
|
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
|
||||||
|
//重点代码 适配器
|
||||||
|
class UploadAdapter {
|
||||||
|
constructor(loader) {
|
||||||
|
this.loader = loader;
|
||||||
|
}
|
||||||
|
upload() {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
const data = new FormData();
|
||||||
|
let file = [];
|
||||||
|
this.loader.file.then(res => {
|
||||||
|
file = res; //文件流
|
||||||
|
data.append('upload', file);
|
||||||
|
$.ajax({
|
||||||
|
url: "/Api/Tools/CkEditorUploadFiles",
|
||||||
|
type: 'POST',
|
||||||
|
data: data,
|
||||||
|
dataType: 'json',
|
||||||
|
headers: {
|
||||||
|
'Authorization': Authorization
|
||||||
|
},
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
success: function (data) {
|
||||||
|
if (data) {
|
||||||
|
console.log(data)
|
||||||
|
resolve({
|
||||||
|
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
reject(data.msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
abort() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DecoupledEditor
|
||||||
|
.create(document.querySelector('#editor'),
|
||||||
|
{
|
||||||
|
language: 'zh-cn',
|
||||||
|
})
|
||||||
|
.then(editor => {
|
||||||
|
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
|
||||||
|
return new UploadAdapter(loader);
|
||||||
|
};
|
||||||
|
const toolbarContainer = document.querySelector('#toolbar-container');
|
||||||
|
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
|
||||||
|
window.editor = editor;
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
console.error(error);
|
||||||
|
});
|
||||||
|
|
||||||
|
//处理属性 为 lay-active 的所有元素事件
|
||||||
|
util.event('lay-active', {
|
||||||
|
goods_show: function () {
|
||||||
|
admin.popup({
|
||||||
|
shadeClose: false,
|
||||||
|
title: '选择商品',
|
||||||
|
area: ['750px', '600px'],
|
||||||
|
id: 'LAY-app-CoreCmsPinTuanRule-createForm-GetGoodsList',
|
||||||
|
success: function (layero, index) {
|
||||||
|
view(this.id).render('common/getGoodAndSku', null).done(function () {
|
||||||
|
form.render();
|
||||||
|
//监听商品列表页工具条
|
||||||
|
var obj_goodsIds = {};
|
||||||
|
form.on('submit(LAY-app-CoreCmsGoods-getData)',
|
||||||
|
function (data) {
|
||||||
|
console.log(ids);
|
||||||
|
if (!!!ids) {
|
||||||
|
layer.msg("请先选择商品");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#outProductId').val(ids.id);
|
||||||
|
$('#title').val(ids.name);
|
||||||
|
$('#path').val('pages/goods/goodDetails/goodDetails?id=' + ids.id);
|
||||||
|
window.editor.setData(ids.intro);
|
||||||
|
|
||||||
|
|
||||||
|
if (ids.images) {
|
||||||
|
imgs = ids.images.split(',');
|
||||||
|
$('#headImg').val(imgs);
|
||||||
|
var getTpl = image_tpl.innerHTML, viewBox = document.getElementById('upload-more-list');
|
||||||
|
laytpl(getTpl).render(imgs, function (html) {
|
||||||
|
viewBox.innerHTML = html;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#skuCount').val(ids.sku.length);
|
||||||
|
|
||||||
|
//初始化商品信息
|
||||||
|
var getTpl = getSpec_tpl.innerHTML, viewBox = document.getElementById('products');
|
||||||
|
var tmpData = ids.sku;
|
||||||
|
laytpl(getTpl).render(tmpData, function (html) {
|
||||||
|
viewBox.innerHTML = html;
|
||||||
|
});
|
||||||
|
form.render();
|
||||||
|
layer.close(index);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}, getThirdCategories: function () {
|
||||||
|
admin.popup({
|
||||||
|
shadeClose: false,
|
||||||
|
title: '选择三级分类',
|
||||||
|
area: ['1000px', '600px'],
|
||||||
|
id: 'LAY-app-GetThirdCategories',
|
||||||
|
success: function (layero, index) {
|
||||||
|
view(this.id).render('wechat/transactioncomponent/goods/getThirdCategories', null).done(function () {
|
||||||
|
form.render();
|
||||||
|
//监听商品列表页工具条
|
||||||
|
var obj_goodsIds = {};
|
||||||
|
form.on('submit(LAY-app-GetThirdCategories-getData)',
|
||||||
|
function (data) {
|
||||||
|
console.log(ids);
|
||||||
|
if (!!!ids) {
|
||||||
|
layer.msg("请先选择三级分类");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#thirdCatId').val(ids.third_cat_id);
|
||||||
|
$('#thirdCatName').val(ids.third_cat_name);
|
||||||
|
|
||||||
|
form.render();
|
||||||
|
layer.close(index);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//图集上传
|
||||||
|
$('#upBtnimageIds').click(function () {
|
||||||
|
cropperImg.cropImg({
|
||||||
|
aspectRatio: 1 / 1,
|
||||||
|
onCrop: function (data) {
|
||||||
|
var loadIndex = layer.load(2);
|
||||||
|
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
|
||||||
|
if (0 === res.code) {
|
||||||
|
imgs.push(res.data.fileUrl);
|
||||||
|
$('#headImg').val(imgs);
|
||||||
|
var getTpl = image_tpl.innerHTML, view = document.getElementById('upload-more-list');
|
||||||
|
laytpl(getTpl).render(imgs, function (html) {
|
||||||
|
view.innerHTML = html;
|
||||||
|
});
|
||||||
|
layer.msg(res.msg);
|
||||||
|
layer.close(loadIndex);
|
||||||
|
} else {
|
||||||
|
layer.close(loadIndex);
|
||||||
|
layer.msg(res.msg, { icon: 2, anim: 6 });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
form.verify({
|
||||||
|
|
||||||
|
verifyoutProductId: [/^.{0,50}$/, '商品序列最大只允许输入50位字符'],
|
||||||
|
verifytitle: [/^.{0,255}$/, '商品标题最大只允许输入255位字符'],
|
||||||
|
verifypath: [/^.{0,255}$/, '小程序路径最大只允许输入255位字符'],
|
||||||
|
verifyheadImg: [/^.{0,500}$/, '主图列表最大只允许输入500位字符'],
|
||||||
|
verifyqualificationPics: [/^.{0,500}$/, '商品资质图片列表最大只允许输入500位字符'],
|
||||||
|
verifydescInfoImgs: [/^.{0,500}$/, '商品详情图片列表最大只允许输入500位字符'],
|
||||||
|
verifyinfoVersion: [/^.{0,50}$/, '预留字段最大只允许输入50位字符'],
|
||||||
|
});
|
||||||
|
//重载form
|
||||||
|
form.render(null, 'LAY-app-WeChatTransactionComponentGood-createForm');
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
|
//删除图片
|
||||||
|
function delImg(obj, imageUrl) {
|
||||||
|
var imgDiv = $(obj).parent().parent().parent();
|
||||||
|
imgDiv.remove();
|
||||||
|
var index = imgs.indexOf(imageUrl);
|
||||||
|
if (index > -1) {
|
||||||
|
imgs.splice(index, 1);
|
||||||
|
}
|
||||||
|
$('#headImg').val(imgs);
|
||||||
|
}
|
||||||
|
//设为默认图
|
||||||
|
function setDefault(obj, imageUrl) {
|
||||||
|
var imgDiv = $(obj).parent().parent().parent();
|
||||||
|
$("#upload-more-list").prepend(imgDiv);
|
||||||
|
var index = imgs.indexOf(imageUrl);
|
||||||
|
if (index > -1) {
|
||||||
|
imgs.unshift(imgs.splice(index, 1)[0]);
|
||||||
|
}
|
||||||
|
$('#headImg').val(imgs);
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
@@ -0,0 +1,162 @@
|
|||||||
|
<script type="text/html" template lay-done="layui.data.done(d);">
|
||||||
|
<table class="layui-table layui-form" lay-filter="LAY-app-WeChatTransactionComponentGood-detailsForm" id="LAY-app-WeChatTransactionComponentGood-detailsForm">
|
||||||
|
<colgroup>
|
||||||
|
<col width="100">
|
||||||
|
<col>
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="id">序列</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.id || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="productId">交易组件平台内部商品ID</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.productId || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="createTime">交易组件创建时间</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.createTime || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="outProductId">商品序列</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.outProductId || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="title">商品标题</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.title || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="path">小程序路径</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.path || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="headImg">主图列表</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.headImg || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="qualificationPics">商品资质图片列表</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.qualificationPics || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="descInfoDesc">商品详情图文</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.descInfoDesc || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="descInfoImgs">商品详情图片列表</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.descInfoImgs || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="thirdCatId">第三级类目ID</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.thirdCatId || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="brandId">品牌id</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.brandId || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="infoVersion">预留字段</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.infoVersion || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="lastPostTime">最后提交时间</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.lastPostTime || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="updateTime">最后更新时间</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.updateTime || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var debug= layui.setter.debug;
|
||||||
|
layui.data.done = function (d) {
|
||||||
|
//开启调试情况下获取接口赋值数据
|
||||||
|
if (debug) { console.log(d.params.data); }
|
||||||
|
|
||||||
|
layui.use(['admin', 'form', 'coreHelper'], function () {
|
||||||
|
var $ = layui.$
|
||||||
|
, setter = layui.setter
|
||||||
|
, admin = layui.admin
|
||||||
|
, coreHelper = layui.coreHelper
|
||||||
|
, form = layui.form;
|
||||||
|
form.render(null, 'LAY-app-WeChatTransactionComponentGood-detailsForm');
|
||||||
|
});
|
||||||
|
};
|
||||||
|
</script>
|
||||||
@@ -0,0 +1,425 @@
|
|||||||
|
<script type="text/html" template lay-done="layui.data.sendParams(d);">
|
||||||
|
<div class="layui-form coreshop-form layui-form-pane transactioncomponent" lay-filter="LAY-app-WeChatTransactionComponentGood-editForm" id="LAY-app-WeChatTransactionComponentGood-editForm">
|
||||||
|
<input type="hidden" name="id" value="{{d.params.data.model.id }}" />
|
||||||
|
<input type="hidden" name="productId" value="{{d.params.data.model.id }}" />
|
||||||
|
<input type="hidden" name="outProductId" id="outProductId" value="{{d.params.data.model.id }}" />
|
||||||
|
<input type="hidden" name="skuCount" id="skuCount" value="0" />
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="title" class="layui-form-label layui-form-required">商品标题</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input name="title" lay-verType="tips" lay-verify="required|verifytitle" class="layui-input" placeholder="请输入商品标题" lay-reqText="请输入商品标题" value="{{d.params.data.model.title || '' }}" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="path" class="layui-form-label layui-form-required">小程序路径</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input name="path" lay-verType="tips" lay-verify="required|verifypath" class="layui-input" placeholder="请输入小程序路径" lay-reqText="请输入小程序路径" value="{{d.params.data.model.path || '' }}" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="brand_id" class="layui-form-label layui-form-required">品牌id</label>
|
||||||
|
<div class="layui-input-inline layui-inline-4">
|
||||||
|
<select name="brandId">
|
||||||
|
<option value="2100000000" selected="selected">无品牌</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="thirdCatId" class="layui-form-label layui-form-required">所属类目</label>
|
||||||
|
<div class="layui-input-inline layui-inline-1">
|
||||||
|
<input type="number" min="0" max="999999" value="{{d.params.data.model.thirdCatId }}" name="thirdCatId" id="thirdCatId" lay-verify="required|number" class="layui-input" value="0" placeholder="请选择类目名称ID" lay-reqText="请选择类目名称" readonly="readonly" />
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-inline layui-inline-3">
|
||||||
|
<input type="text" name="thirdCatName" id="thirdCatName" value="{{d.params.data.model.thirdCatName || '' }}" lay-verify="required" class="layui-input" placeholder="请选择类目名称" lay-reqText="请选择类目名称" readonly="readonly" />
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<button class="layui-btn layui-btn-normal" lay-active="getThirdCategories"><i class="layui-icon layui-icon-ok"></i>选择三级分类</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<fieldset class="layui-elem-field layui-field-title site-title"><legend><a name="compress">图集</a></legend></fieldset>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-input-inline layui-inline-2">
|
||||||
|
<input type="hidden" name="headImg" id="headImg" value="{{d.params.data.model.headImg || '' }}" class="layui-input" placeholder="请上传缩略图" lay-reqText="请上传缩略图" />
|
||||||
|
<button type="button" class="layui-btn layui-btn-sm" id="upBtnimageIds"><i class="layui-icon"></i>上传图片</button>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-mid">
|
||||||
|
图集:[建议数量控制在10张以内]:
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item ">
|
||||||
|
<blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
|
||||||
|
<div class="layui-upload-list" id="upload-more-list"></div>
|
||||||
|
</blockquote>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<fieldset class="layui-elem-field layui-field-title site-title"><legend><a name="products">货品</a></legend></fieldset>
|
||||||
|
|
||||||
|
<div id="products">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="layui-form-item layui-form-text">
|
||||||
|
<label for="descInfoDesc" class="layui-form-label layui-form-required">商品详情图文</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<div class="document-editor">
|
||||||
|
<div class="toolbar-container" id="toolbar-container"></div>
|
||||||
|
<div class="content-container">
|
||||||
|
<div id="editor"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="layui-form-item text-right core-hidden">
|
||||||
|
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-WeChatTransactionComponentGood-editForm-submit" id="LAY-app-WeChatTransactionComponentGood-editForm-submit" value="确认编辑">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script id="image_tpl" type="text/html">
|
||||||
|
{{# layui.each(d, function(index, item){ }}
|
||||||
|
<div class="imgdiv">
|
||||||
|
<img src="{{ item }}" class="layui-upload-img" onclick='layui.coreHelper.viewImage("{{ item }}")' style="width: 100px;height:100px;">
|
||||||
|
<div id="operate">
|
||||||
|
<div><a class="del" onclick="delImg(this,'{{ item }}')">删除</a>|<a class="setmain" onclick="setDefault(this,'{{ item }}')">设为主图</a></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{# }); }}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script id="getSpec_tpl" type="text/html">
|
||||||
|
<table class="layui-table" lay-size="sm">
|
||||||
|
<colgroup>
|
||||||
|
<col width="80">
|
||||||
|
<col width="80">
|
||||||
|
<col width="150">
|
||||||
|
<col>
|
||||||
|
<col width="80">
|
||||||
|
<col width="80">
|
||||||
|
<col width="80">
|
||||||
|
<col width="80">
|
||||||
|
<col width="80">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>默认货品</th>
|
||||||
|
<th>图片</th>
|
||||||
|
<th>货号</th>
|
||||||
|
<th>规格</th>
|
||||||
|
<th>库存</th>
|
||||||
|
<th>销售价</th>
|
||||||
|
<th>成本价</th>
|
||||||
|
<th>市场价</th>
|
||||||
|
<th>是否选择</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="productsTbody">
|
||||||
|
{{# layui.each(d.products, function(index, item){ }}
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<input type="hidden" value="{{item.id}}" name="product[outProductId][]" />
|
||||||
|
<input type="hidden" value="{{item.id}}" name="product[outSkuId][]" />
|
||||||
|
<input type="checkbox" name="product[isDefalut][]" {{item.isDefalut? 'checked="true"':''}} value="{{item.isDefalut? '1':'0'}}" lay-skin="switch" lay-text="是|否" disabled>
|
||||||
|
</td>
|
||||||
|
<td class="spec-td">
|
||||||
|
<div class="spec_image">
|
||||||
|
<div class="spec_image_item">
|
||||||
|
<img src="{{ item.images && item.images !='null'? item.images : layui.setter.noImagePicUrl }}" id="productImagesSrc" style="width:60px;height:60px">
|
||||||
|
</div>
|
||||||
|
<input type="hidden" id="productImagesInput" name="product[thumbImg][]" value="{{ item.images && item.images !='null'? item.images : layui.setter.noImagePicUrl }}">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="product[barCode][]" value="{{item.sn}}" readonly="readonly" placeholder="货号" class="layui-input layui-inline-3">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="hidden" name="product[spesDesc][]" value="{{item.spesDesc}}" placeholder="规格" class="layui-input">
|
||||||
|
{{item.spesDesc}}
|
||||||
|
</td>
|
||||||
|
<td class="have-add-td">
|
||||||
|
<input type="number" name="product[stockNum][]" value="{{item.stock}}" placeholder="库存" class="layui-input layui-inline-1 goods-stock">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="number" name="product[salePrice][]" value="{{item.price}}" placeholder="销售价" class="layui-input layui-inline-1">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="number" name="product[costprice][]" value="{{item.costprice}}" placeholder="成本价" class="layui-input layui-inline-1">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="number" name="product[marketPrice][]" value="{{item.mktprice}}" placeholder="市场价" class="layui-input layui-inline-1">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="checkbox" name="product[isSelect][]" checked="checked" lay-skin="primary">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{# }); }}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var debug = layui.setter.debug;
|
||||||
|
layui.data.sendParams = function (d) {
|
||||||
|
//开启调试情况下获取接口赋值数据
|
||||||
|
if (debug) { console.log(d.params.data); }
|
||||||
|
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg', 'util', 'laytpl', 'view'],
|
||||||
|
function () {
|
||||||
|
$ = layui.$;
|
||||||
|
var form = layui.form
|
||||||
|
, admin = layui.admin
|
||||||
|
, laydate = layui.laydate
|
||||||
|
, upload = layui.upload
|
||||||
|
, cropperImg = layui.cropperImg
|
||||||
|
, util = layui.util
|
||||||
|
, view = layui.view
|
||||||
|
, laytpl = layui.laytpl
|
||||||
|
, coreHelper = layui.coreHelper;
|
||||||
|
|
||||||
|
//加载编辑器
|
||||||
|
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
|
||||||
|
|
||||||
|
//加载编辑器
|
||||||
|
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
|
||||||
|
//重点代码 适配器
|
||||||
|
class UploadAdapter {
|
||||||
|
constructor(loader) {
|
||||||
|
this.loader = loader;
|
||||||
|
}
|
||||||
|
upload() {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
const data = new FormData();
|
||||||
|
let file = [];
|
||||||
|
this.loader.file.then(res => {
|
||||||
|
file = res; //文件流
|
||||||
|
data.append('upload', file);
|
||||||
|
$.ajax({
|
||||||
|
url: "/Api/Tools/CkEditorUploadFiles",
|
||||||
|
type: 'POST',
|
||||||
|
data: data,
|
||||||
|
dataType: 'json',
|
||||||
|
headers: {
|
||||||
|
'Authorization': Authorization
|
||||||
|
},
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
success: function (data) {
|
||||||
|
if (data) {
|
||||||
|
console.log(data)
|
||||||
|
resolve({
|
||||||
|
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
reject(data.msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
abort() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DecoupledEditor
|
||||||
|
.create(document.querySelector('#editor'),
|
||||||
|
{
|
||||||
|
language: 'zh-cn',
|
||||||
|
})
|
||||||
|
.then(editor => {
|
||||||
|
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
|
||||||
|
return new UploadAdapter(loader);
|
||||||
|
};
|
||||||
|
const toolbarContainer = document.querySelector('#toolbar-container');
|
||||||
|
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
|
||||||
|
editor.setData(d.params.data.model.descInfoDesc);
|
||||||
|
window.editor = editor;
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
console.error(error);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
if (d.params.data.model.headImg) {
|
||||||
|
imgs = d.params.data.model.headImg.split(',');
|
||||||
|
$('#headImg').val(imgs);
|
||||||
|
var getTpl = image_tpl.innerHTML, viewBox = document.getElementById('upload-more-list');
|
||||||
|
laytpl(getTpl).render(imgs, function (html) {
|
||||||
|
viewBox.innerHTML = html;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$('#skuCount').val(d.params.data.products.length);
|
||||||
|
|
||||||
|
//初始化商品信息
|
||||||
|
var getTpl = getSpec_tpl.innerHTML, viewBox = document.getElementById('products');
|
||||||
|
var tmpData = d.params.data;
|
||||||
|
laytpl(getTpl).render(tmpData, function (html) {
|
||||||
|
viewBox.innerHTML = html;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//处理属性 为 lay-active 的所有元素事件
|
||||||
|
util.event('lay-active', {
|
||||||
|
goods_show: function () {
|
||||||
|
admin.popup({
|
||||||
|
shadeClose: false,
|
||||||
|
title: '选择商品',
|
||||||
|
area: ['750px', '600px'],
|
||||||
|
id: 'LAY-app-CoreCmsPinTuanRule-createForm-GetGoodsList',
|
||||||
|
success: function (layero, index) {
|
||||||
|
view(this.id).render('common/getGoodAndSku', null).done(function () {
|
||||||
|
form.render();
|
||||||
|
//监听商品列表页工具条
|
||||||
|
var obj_goodsIds = {};
|
||||||
|
form.on('submit(LAY-app-CoreCmsGoods-getData)',
|
||||||
|
function (data) {
|
||||||
|
console.log(ids);
|
||||||
|
if (!!!ids) {
|
||||||
|
layer.msg("请先选择商品");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#outProductId').val(ids.id);
|
||||||
|
$('#title').val(ids.name);
|
||||||
|
$('#path').val('pages/goods/goodDetails/goodDetails?id=' + ids.id);
|
||||||
|
window.editor.setData(ids.intro);
|
||||||
|
|
||||||
|
|
||||||
|
if (ids.images) {
|
||||||
|
imgs = ids.images.split(',');
|
||||||
|
$('#headImg').val(imgs);
|
||||||
|
var getTpl = image_tpl.innerHTML, viewBox = document.getElementById('upload-more-list');
|
||||||
|
laytpl(getTpl).render(imgs, function (html) {
|
||||||
|
viewBox.innerHTML = html;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#skuCount').val(ids.sku.length);
|
||||||
|
|
||||||
|
//初始化商品信息
|
||||||
|
var getTpl = getSpec_tpl.innerHTML, viewBox = document.getElementById('products');
|
||||||
|
var tmpData = ids.sku;
|
||||||
|
laytpl(getTpl).render(tmpData, function (html) {
|
||||||
|
viewBox.innerHTML = html;
|
||||||
|
});
|
||||||
|
form.render();
|
||||||
|
layer.close(index);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}, getThirdCategories: function () {
|
||||||
|
admin.popup({
|
||||||
|
shadeClose: false,
|
||||||
|
title: '选择三级分类',
|
||||||
|
area: ['1000px', '600px'],
|
||||||
|
id: 'LAY-app-GetThirdCategories',
|
||||||
|
success: function (layero, index) {
|
||||||
|
view(this.id).render('wechat/transactioncomponent/goods/getThirdCategories', null).done(function () {
|
||||||
|
form.render();
|
||||||
|
//监听商品列表页工具条
|
||||||
|
var obj_goodsIds = {};
|
||||||
|
form.on('submit(LAY-app-GetThirdCategories-getData)',
|
||||||
|
function (data) {
|
||||||
|
console.log(ids);
|
||||||
|
if (!!!ids) {
|
||||||
|
layer.msg("请先选择三级分类");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#thirdCatId').val(ids.third_cat_id);
|
||||||
|
$('#thirdCatName').val(ids.third_cat_name);
|
||||||
|
|
||||||
|
form.render();
|
||||||
|
layer.close(index);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//图集上传
|
||||||
|
$('#upBtnimageIds').click(function () {
|
||||||
|
cropperImg.cropImg({
|
||||||
|
aspectRatio: 1 / 1,
|
||||||
|
onCrop: function (data) {
|
||||||
|
var loadIndex = layer.load(2);
|
||||||
|
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
|
||||||
|
if (0 === res.code) {
|
||||||
|
imgs.push(res.data.fileUrl);
|
||||||
|
$('#headImg').val(imgs);
|
||||||
|
var getTpl = image_tpl.innerHTML, view = document.getElementById('upload-more-list');
|
||||||
|
laytpl(getTpl).render(imgs, function (html) {
|
||||||
|
view.innerHTML = html;
|
||||||
|
});
|
||||||
|
layer.msg(res.msg);
|
||||||
|
layer.close(loadIndex);
|
||||||
|
} else {
|
||||||
|
layer.close(loadIndex);
|
||||||
|
layer.msg(res.msg, { icon: 2, anim: 6 });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
form.verify({
|
||||||
|
|
||||||
|
verifyoutProductId: [/^.{0,50}$/, '商品序列最大只允许输入50位字符'],
|
||||||
|
verifytitle: [/^.{0,255}$/, '商品标题最大只允许输入255位字符'],
|
||||||
|
verifypath: [/^.{0,255}$/, '小程序路径最大只允许输入255位字符'],
|
||||||
|
verifyheadImg: [/^.{0,500}$/, '主图列表最大只允许输入500位字符'],
|
||||||
|
verifyqualificationPics: [/^.{0,500}$/, '商品资质图片列表最大只允许输入500位字符'],
|
||||||
|
verifydescInfoImgs: [/^.{0,500}$/, '商品详情图片列表最大只允许输入500位字符'],
|
||||||
|
verifyinfoVersion: [/^.{0,50}$/, '预留字段最大只允许输入50位字符'],
|
||||||
|
});
|
||||||
|
//重载form
|
||||||
|
form.render(null, 'LAY-app-WeChatTransactionComponentGood-editForm');
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//删除图片
|
||||||
|
function delImg(obj, imageUrl) {
|
||||||
|
var imgDiv = $(obj).parent().parent().parent();
|
||||||
|
imgDiv.remove();
|
||||||
|
var index = imgs.indexOf(imageUrl);
|
||||||
|
if (index > -1) {
|
||||||
|
imgs.splice(index, 1);
|
||||||
|
}
|
||||||
|
$('#headImg').val(imgs);
|
||||||
|
}
|
||||||
|
//设为默认图
|
||||||
|
function setDefault(obj, imageUrl) {
|
||||||
|
var imgDiv = $(obj).parent().parent().parent();
|
||||||
|
$("#upload-more-list").prepend(imgDiv);
|
||||||
|
var index = imgs.indexOf(imageUrl);
|
||||||
|
if (index > -1) {
|
||||||
|
imgs.unshift(imgs.splice(index, 1)[0]);
|
||||||
|
}
|
||||||
|
$('#headImg').val(imgs);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
<script type="text/html" template lay-done="layui.data.done(d);">
|
||||||
|
<table class="layui-table layui-form" lay-filter="LAY-app-WeChatTransactionComponentGood-detailsForm" id="LAY-app-WeChatTransactionComponentGood-detailsForm">
|
||||||
|
<colgroup>
|
||||||
|
<col width="130">
|
||||||
|
<col>
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="brandId">商品草稿状态</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{# layui.each(d.params.data.editStatus, function(index, item){ }}
|
||||||
|
{{# if(d.params.data.result.spu.edit_status == item.value){ }}
|
||||||
|
{{item.description}}
|
||||||
|
{{# } }}
|
||||||
|
{{# }); }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="brandId">商品线上状态</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{# layui.each(d.params.data.spuStatus, function(index, item){ }}
|
||||||
|
{{# if(d.params.data.result.spu.status == item.value){ }}
|
||||||
|
{{item.description}}
|
||||||
|
{{# } }}
|
||||||
|
{{# }); }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="brandId">审核单id</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.result.spu.audit_info.audit_id || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="infoVersion">拒绝理由</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.result.spu.audit_info.reject_reason || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="lastPostTime">上一次提交时间</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.result.spu.audit_info.submit_time || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="updateTime">上一次审核时间</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.result.spu.audit_info.audit_time || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var debug = layui.setter.debug;
|
||||||
|
layui.data.done = function (d) {
|
||||||
|
//开启调试情况下获取接口赋值数据
|
||||||
|
if (debug) { console.log(d.params.data); }
|
||||||
|
|
||||||
|
layui.use(['admin', 'form', 'coreHelper'], function () {
|
||||||
|
var $ = layui.$
|
||||||
|
, setter = layui.setter
|
||||||
|
, admin = layui.admin
|
||||||
|
, coreHelper = layui.coreHelper
|
||||||
|
, form = layui.form;
|
||||||
|
form.render(null, 'LAY-app-WeChatTransactionComponentGood-detailsForm');
|
||||||
|
});
|
||||||
|
};
|
||||||
|
</script>
|
||||||
@@ -0,0 +1,141 @@
|
|||||||
|
<script type="text/html" template lay-done="layui.data.done(d);">
|
||||||
|
<div class="layui-form coreshop-toolbar-search-form">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label" for="name">商品名称</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="name" id="name" placeholder="请输入商品名称" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-GetThirdCategories-search"><i class="layui-icon layui-icon-search"></i>筛选</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-GetThirdCategories-getData" style="float: right"><i class="layui-icon layui-icon-add-1"></i>提交选项</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
<div class="table-body">
|
||||||
|
<table id="LAY-app-GetThirdCategories-tableBox" lay-filter="LAY-app-GetThirdCategories-tableBox"></table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var ids = {};
|
||||||
|
var indexData;
|
||||||
|
var debug = layui.setter.debug;
|
||||||
|
layui.data.done = function (d) {
|
||||||
|
//开启调试情况下获取接口赋值数据
|
||||||
|
if (debug) { console.log(d); }
|
||||||
|
|
||||||
|
indexData = d.data;
|
||||||
|
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper', 'table'],
|
||||||
|
function () {
|
||||||
|
var $ = layui.$
|
||||||
|
, admin = layui.admin
|
||||||
|
, table = layui.table
|
||||||
|
, form = layui.form
|
||||||
|
, laydate = layui.laydate
|
||||||
|
, setter = layui.setter
|
||||||
|
, coreHelper = layui.coreHelper
|
||||||
|
, util = layui.util
|
||||||
|
, table = layui.table
|
||||||
|
, view = layui.view;
|
||||||
|
if (d.params.data) {
|
||||||
|
ids = d.params.data;
|
||||||
|
console.log(ids);
|
||||||
|
}
|
||||||
|
//重载form
|
||||||
|
form.render();
|
||||||
|
var searchwhere;
|
||||||
|
//监听搜索
|
||||||
|
form.on('submit(LAY-app-GetThirdCategories-search)',
|
||||||
|
function (data) {
|
||||||
|
var field = data.field;
|
||||||
|
searchwhere = field;
|
||||||
|
//执行重载
|
||||||
|
table.reloadData('LAY-app-GetThirdCategories-tableBox', { where: field });
|
||||||
|
});
|
||||||
|
//数据绑定
|
||||||
|
table.render({
|
||||||
|
elem: '#LAY-app-GetThirdCategories-tableBox',
|
||||||
|
url: layui.setter.apiUrl + 'Api/WeChatTransactionComponentThirdCategory/GetThirdCategories',
|
||||||
|
method: 'POST',
|
||||||
|
defaultToolbar: ['filter', 'print', 'exports'],
|
||||||
|
height: '430',//无面包屑127,搜索框189,1行62
|
||||||
|
page: true,
|
||||||
|
limit: 30,
|
||||||
|
limits: [10, 15, 20, 25, 30, 50, 100, 200],
|
||||||
|
text: { none: '暂无相关数据' },
|
||||||
|
cols: [
|
||||||
|
[
|
||||||
|
{ type: "radio", fixed: "left" },
|
||||||
|
//{ field: 'third_cat_id', title: '类目ID', sort: false, width: 105 },
|
||||||
|
{ field: 'third_cat_name', title: '类目名称', sort: false, width: 105 },
|
||||||
|
{ field: 'qualification', title: '类目资质', sort: false },
|
||||||
|
{
|
||||||
|
field: 'qualification_type', title: '资质类型', sort: false, width: 60, templet: function (data) {
|
||||||
|
if (data.qualification_type == 0) {
|
||||||
|
return "不需要";
|
||||||
|
} else if (data.qualification_type == 1) {
|
||||||
|
return "必填";
|
||||||
|
} else if (data.qualification_type == 2) {
|
||||||
|
return "选填";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ field: 'product_qualification', title: '商品资质', sort: false },
|
||||||
|
{
|
||||||
|
field: 'product_qualification_type', title: '资质类型', sort: false, width: 60, templet: function (data) {
|
||||||
|
if (data.qualification_type == 0) {
|
||||||
|
return "不需要";
|
||||||
|
} else if (data.qualification_type == 1) {
|
||||||
|
return "必填";
|
||||||
|
} else if (data.qualification_type == 2) {
|
||||||
|
return "选填";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'first_cat_id',
|
||||||
|
title: '上级类目',
|
||||||
|
sort: false,
|
||||||
|
width: 150,
|
||||||
|
templet: function (data) {
|
||||||
|
return data.first_cat_name + "【" + data.second_cat_name + "】";
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]
|
||||||
|
],
|
||||||
|
done: function (res, curr, count) {
|
||||||
|
//数据表格加载完成时调用此函数
|
||||||
|
//如果是异步请求数据方式,res即为你接口返回的信息。
|
||||||
|
//如果是直接赋值的方式,res即为:{data: [], count: 99} data为当前页数据、count为数据总长度
|
||||||
|
|
||||||
|
//在缓存中找到id ,然后设置data表格中的选中状态
|
||||||
|
//循环所有数据,找出对应关系,设置checkbox选中状态
|
||||||
|
for (var i = 0; i < res.data.length; i++) {
|
||||||
|
if (ids.id == res.data[i].id) {
|
||||||
|
//这里才是真正的有效勾选
|
||||||
|
res.data[i]["LAY_CHECKED"] = 'true';
|
||||||
|
//找到对应数据改变勾选样式,呈现出选中效果
|
||||||
|
var index = res.data[i]['LAY_TABLE_INDEX'];
|
||||||
|
console.log(index);
|
||||||
|
$('#LAY-app-GetThirdCategories-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="radio"]').prop('checked', true);
|
||||||
|
$('#LAY-app-GetThirdCategories-tableBox + div .layui-table-body tr[data-index=' + index + '] ').addClass('layui-table-click');
|
||||||
|
$('#LAY-app-GetThirdCategories-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="radio"]').next().addClass('layui-form-radioed');
|
||||||
|
$('#LAY-app-GetThirdCategories-tableBox + div .layui-table-body tr[data-index=' + index + '] .layui-anim').addClass('layui-anim-scaleSpring');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
form.render();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
//监听表格复选框选择
|
||||||
|
layui.table.on('radio(LAY-app-GetThirdCategories-tableBox)', function (obj) {
|
||||||
|
ids = obj.data;
|
||||||
|
console.log(ids);
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
};
|
||||||
|
</script>
|
||||||
@@ -0,0 +1,599 @@
|
|||||||
|
<title>自定义交易组件商品列表</title>
|
||||||
|
<!--当前位置开始-->
|
||||||
|
<div class="layui-card layadmin-header">
|
||||||
|
<div class="layui-breadcrumb" lay-filter="breadcrumb">
|
||||||
|
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--当前位置结束-->
|
||||||
|
<style>
|
||||||
|
/* 重写样式 */
|
||||||
|
</style>
|
||||||
|
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/WeChatTransactionComponentGood/GetIndex" lay-done="layui.data.done(d);">
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<div class="table-body">
|
||||||
|
<table id="LAY-app-WeChatTransactionComponentGood-tableBox" lay-filter="LAY-app-WeChatTransactionComponentGood-tableBox"></table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script type="text/html" id="LAY-app-WeChatTransactionComponentGood-toolbar">
|
||||||
|
<div class="layui-form coreshop-toolbar-search-form">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label" for="title">商品标题</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="title" placeholder="请输入商品标题" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-inline">
|
||||||
|
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-WeChatTransactionComponentGood-search"><i class="layui-icon layui-icon-search"></i>筛选</button>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i>添加数据</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script type="text/html" id="LAY-app-WeChatTransactionComponentGood-pagebar">
|
||||||
|
<div class="layui-btn-container">
|
||||||
|
<a class="layui-btn layui-btn-sm" data-id="{{d.id}}" lay-event="audit">提交审核</a>
|
||||||
|
<a class="layui-btn layui-btn-sm" data-id="{{d.id}}" lay-event="updateSpu">更新商品</a>
|
||||||
|
<a class="layui-btn layui-btn-sm" data-id="{{d.id}}" lay-event="deleteSpuAudit">撤回审核</a>
|
||||||
|
<a class="layui-btn layui-btn-sm" data-id="{{d.id}}" lay-event="getDraftSKU">获取草稿状态</a>
|
||||||
|
<a class="layui-btn layui-btn-sm" data-id="{{d.id}}" lay-event="getLineSKU">获取线上状态</a>
|
||||||
|
<a class="layui-btn layui-btn-sm" data-id="{{d.id}}" lay-event="listingSKU">上架商品</a>
|
||||||
|
<a class="layui-btn layui-btn-sm" data-id="{{d.id}}" lay-event="delistingSKU">下架商品</a>
|
||||||
|
<a class="layui-btn layui-btn-sm layui-btn-danger" data-id="{{d.id}}" lay-event="deleteSpu">清空数据</a>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/html" id="LAY-app-WeChatTransactionComponentGood-tableBox-bar">
|
||||||
|
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
|
||||||
|
<a class="layui-btn layui-btn-danger layui-btn-xs" data-dropdown="#WeChatTransactionComponentGoodTbDelDrop{{d.LAY_INDEX}}" no-shade="true">删除</a>
|
||||||
|
<div class="dropdown-menu-nav dropdown-popconfirm dropdown-top-right layui-hide" id="WeChatTransactionComponentGoodTbDelDrop{{d.LAY_INDEX}}"
|
||||||
|
style="max-width: 200px;white-space: normal;min-width: auto;margin-left: 10px;">
|
||||||
|
<div class="dropdown-anchor"></div>
|
||||||
|
<div class="dropdown-popconfirm-title">
|
||||||
|
<i class="layui-icon layui-icon-help"></i>
|
||||||
|
确定要删除吗?
|
||||||
|
</div>
|
||||||
|
<div class="dropdown-popconfirm-btn">
|
||||||
|
<a class="layui-btn layui-btn-primary cursor" btn-cancel>取消</a>
|
||||||
|
<a class="layui-btn layui-btn-normal cursor" lay-event="del">确定</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var indexData;
|
||||||
|
var debug = layui.setter.debug;
|
||||||
|
layui.data.done = function (d) {
|
||||||
|
//开启调试情况下获取接口赋值数据
|
||||||
|
if (debug) { console.log(d); }
|
||||||
|
|
||||||
|
indexData = d.data;
|
||||||
|
layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'],
|
||||||
|
function () {
|
||||||
|
var $ = layui.$
|
||||||
|
, admin = layui.admin
|
||||||
|
, table = layui.table
|
||||||
|
, form = layui.form
|
||||||
|
, laydate = layui.laydate
|
||||||
|
, setter = layui.setter
|
||||||
|
, coreHelper = layui.coreHelper
|
||||||
|
, util = layui.util
|
||||||
|
, view = layui.view;
|
||||||
|
|
||||||
|
var searchwhere;
|
||||||
|
//监听搜索
|
||||||
|
form.on('submit(LAY-app-WeChatTransactionComponentGood-search)',
|
||||||
|
function (data) {
|
||||||
|
var field = data.field;
|
||||||
|
searchwhere = field;
|
||||||
|
//执行重载
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentGood-tableBox', { where: field });
|
||||||
|
});
|
||||||
|
//数据绑定
|
||||||
|
table.render({
|
||||||
|
elem: '#LAY-app-WeChatTransactionComponentGood-tableBox',
|
||||||
|
url: layui.setter.apiUrl + 'Api/WeChatTransactionComponentGood/GetPageList',
|
||||||
|
method: 'POST',
|
||||||
|
toolbar: '#LAY-app-WeChatTransactionComponentGood-toolbar',
|
||||||
|
pagebar: '#LAY-app-WeChatTransactionComponentGood-pagebar',
|
||||||
|
className: 'pagebarbox',
|
||||||
|
defaultToolbar: ['filter', 'print', 'exports'],
|
||||||
|
height: 'full-127',//面包屑142px,搜索框4行172,3行137,2行102,1行67
|
||||||
|
page: true,
|
||||||
|
limit: 30,
|
||||||
|
limits: [10, 15, 20, 25, 30, 50, 100, 200],
|
||||||
|
text: { none: '暂无相关数据' },
|
||||||
|
cols: [
|
||||||
|
[
|
||||||
|
{ type: "radio", fixed: "left" },
|
||||||
|
{ field: 'id', title: '序列', width: 60, sort: false },
|
||||||
|
{ field: 'outProductId', title: '商品序列', sort: false, width: 70 },
|
||||||
|
{ field: 'title', title: '商品标题', sort: false },
|
||||||
|
{
|
||||||
|
field: 'headImg', title: '图集', width: 180, sort: false,
|
||||||
|
templet: function (d) {
|
||||||
|
if (d.headImg && d.headImg.length > 0) {
|
||||||
|
var imagesArr = d.headImg.split(',');
|
||||||
|
var html = '';
|
||||||
|
for (var i = 0; i < imagesArr.length; i++) {
|
||||||
|
html += '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + imagesArr[i] + '")><image style="max-width:28px;max-height:28px;" src="' + imagesArr[i] + '?x-oss-process=image/resize,m_lfit,h_200,w_200"/></a> '
|
||||||
|
}
|
||||||
|
return html;
|
||||||
|
} else {
|
||||||
|
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '"/></a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'thirdCatId', title: '三级类目', sort: false, width: 150, templet: function (data) {
|
||||||
|
return data.thirdCatName + '【' + data.thirdCatId + '】';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ field: 'brandId', title: '品牌', sort: false, width: 105 },
|
||||||
|
//{ field: 'infoVersion', title: '预留字段', sort: false, width: 105 },
|
||||||
|
{ field: 'lastPostTime', title: '最后提交时间', width: 130, sort: false },
|
||||||
|
{ field: 'updateTime', title: '最后更新时间', width: 130, sort: false },
|
||||||
|
{ width: 102, align: 'center', title: '数据操作', fixed: 'right', toolbar: '#LAY-app-WeChatTransactionComponentGood-tableBox-bar' }
|
||||||
|
]
|
||||||
|
]
|
||||||
|
});
|
||||||
|
//监听排序事件
|
||||||
|
table.on('sort(LAY-app-WeChatTransactionComponentGood-tableBox)', function (obj) {
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentGood-tableBox', {
|
||||||
|
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
|
||||||
|
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
|
||||||
|
orderField: obj.field, //排序字段
|
||||||
|
orderDirection: obj.type //排序方式
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
//监听行双击事件
|
||||||
|
table.on('rowDouble(LAY-app-WeChatTransactionComponentGood-tableBox)', function (obj) {
|
||||||
|
//查看详情
|
||||||
|
doDetails(obj);
|
||||||
|
});
|
||||||
|
//头工具栏事件
|
||||||
|
table.on('toolbar(LAY-app-WeChatTransactionComponentGood-tableBox)', function (obj) {
|
||||||
|
var checkStatus = table.checkStatus(obj.config.id);
|
||||||
|
console.log(checkStatus);
|
||||||
|
switch (obj.event) {
|
||||||
|
case 'addData':
|
||||||
|
doCreate();
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
//头工具栏事件
|
||||||
|
table.on('pagebar(LAY-app-WeChatTransactionComponentGood-tableBox)', function (obj) {
|
||||||
|
var checkStatus = table.checkStatus(obj.config.id);
|
||||||
|
console.log(checkStatus);
|
||||||
|
switch (obj.event) {
|
||||||
|
case 'addData':
|
||||||
|
doCreate();
|
||||||
|
break;
|
||||||
|
case 'selectExportExcel':
|
||||||
|
doSelectExportExcel(checkStatus);
|
||||||
|
break;
|
||||||
|
case 'audit':
|
||||||
|
doAudit(checkStatus)
|
||||||
|
break;
|
||||||
|
case 'getDraftSKU':
|
||||||
|
doGetDraftSKU(checkStatus)
|
||||||
|
break;
|
||||||
|
case 'getLineSKU':
|
||||||
|
doGetLineSKU(checkStatus)
|
||||||
|
break;
|
||||||
|
case 'deleteSpuAudit':
|
||||||
|
doDeleteSpuAudit(checkStatus)
|
||||||
|
break;
|
||||||
|
case 'updateSpu':
|
||||||
|
doUpdateSpu(checkStatus)
|
||||||
|
break;
|
||||||
|
case 'deleteSpu':
|
||||||
|
doDeleteSpu(checkStatus)
|
||||||
|
break;
|
||||||
|
case 'listingSKU':
|
||||||
|
doListing(checkStatus)
|
||||||
|
break;
|
||||||
|
case 'delistingSKU':
|
||||||
|
doDelistingSpu(checkStatus)
|
||||||
|
break;
|
||||||
|
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
//监听工具条
|
||||||
|
table.on('tool(LAY-app-WeChatTransactionComponentGood-tableBox)',
|
||||||
|
function (obj) {
|
||||||
|
if (obj.event === 'detail') {
|
||||||
|
doDetails(obj);
|
||||||
|
} else if (obj.event === 'del') {
|
||||||
|
doDelete(obj);
|
||||||
|
} else if (obj.event === 'edit') {
|
||||||
|
doEdit(obj)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
//执行创建操作
|
||||||
|
function doCreate() {
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentGood/GetCreate", null, function (e) {
|
||||||
|
if (e.code === 0) {
|
||||||
|
admin.popup({
|
||||||
|
shadeClose: false,
|
||||||
|
title: '创建数据',
|
||||||
|
area: ['1200px', '90%'],
|
||||||
|
id: 'LAY-popup-WeChatTransactionComponentGood-create',
|
||||||
|
success: function (layero, index) {
|
||||||
|
view(this.id).render('wechat/transactioncomponent/goods/create', { data: e.data }).done(function () {
|
||||||
|
//监听提交
|
||||||
|
form.on('submit(LAY-app-WeChatTransactionComponentGood-createForm-submit)',
|
||||||
|
function (data) {
|
||||||
|
var field = data.field; //获取提交的字段
|
||||||
|
var postData = {};
|
||||||
|
|
||||||
|
field.descInfoDesc = window.editor.getData();
|
||||||
|
if (!!!field.descInfoDesc) {
|
||||||
|
layer.msg('商品详情图文内容不能为空', { icon: 5 });
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
postData.productId = field.productId;
|
||||||
|
postData.outProductId = field.outProductId;
|
||||||
|
postData.title = field.title;
|
||||||
|
postData.path = field.path;
|
||||||
|
postData.headImg = field.headImg;
|
||||||
|
postData.qualificationPics = field.qualificationPics;
|
||||||
|
postData.descInfoDesc = field.descInfoDesc;
|
||||||
|
postData.descInfoImgs = field.descInfoImgs;
|
||||||
|
postData.thirdCatId = field.thirdCatId;
|
||||||
|
postData.thirdCatName = field.thirdCatName;
|
||||||
|
postData.brandId = field.brandId;
|
||||||
|
postData.infoVersion = field.infoVersion;
|
||||||
|
|
||||||
|
|
||||||
|
//多参数产品库生成列表集合
|
||||||
|
var products = [];
|
||||||
|
var productsCount = parseInt(field.skuCount);
|
||||||
|
var isSelectCount = 0;
|
||||||
|
for (var i = 0; i < productsCount; i++) {
|
||||||
|
var productModel = {};
|
||||||
|
productModel.outProductId = field['product[outProductId][' + i + ']'];
|
||||||
|
productModel.outSkuId = field['product[outSkuId][' + i + ']'];
|
||||||
|
productModel.thumbImg = field['product[thumbImg][' + i + ']'];
|
||||||
|
if (field['product[isSelect][' + i + ']'] == 'on') {
|
||||||
|
productModel.isSelect = true;
|
||||||
|
isSelectCount++;
|
||||||
|
} else {
|
||||||
|
productModel.isSelect = false;
|
||||||
|
}
|
||||||
|
productModel.costprice = field['product[costprice][' + i + ']'];
|
||||||
|
productModel.salePrice = field['product[salePrice][' + i + ']'];
|
||||||
|
productModel.marketPrice = field['product[marketPrice][' + i + ']'];
|
||||||
|
productModel.barCode = field['product[barCode][' + i + ']'];
|
||||||
|
productModel.stockNum = field['product[stockNum][' + i + ']'];
|
||||||
|
products.push(productModel);
|
||||||
|
}
|
||||||
|
postData.sku = products;
|
||||||
|
|
||||||
|
if (isSelectCount <= 0) {
|
||||||
|
layer.msg('至少要选择一个sku货品', { icon: 5 });
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (debug) { console.log(field); } //开启调试返回数据
|
||||||
|
//提交 Ajax 成功后,关闭当前弹层并重载表格
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentGood/DoCreate", postData, function (e) {
|
||||||
|
console.log(e)
|
||||||
|
if (e.code === 0) {
|
||||||
|
layui.table.reloadData('LAY-app-WeChatTransactionComponentGood-tableBox'); //重载表格
|
||||||
|
layer.close(index); //再执行关闭
|
||||||
|
layer.msg(e.msg);
|
||||||
|
} else {
|
||||||
|
layer.msg(e.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
// 禁止弹窗出现滚动条
|
||||||
|
//$(layero).children('.layui-layer-content').css('overflow', 'visible');
|
||||||
|
}
|
||||||
|
, btn: ['确定', '取消']
|
||||||
|
, yes: function (index, layero) {
|
||||||
|
layero.contents().find("#LAY-app-WeChatTransactionComponentGood-createForm-submit").click();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
layer.msg(e.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//执行编辑操作
|
||||||
|
function doEdit(obj) {
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentGood/GetEdit", { id: obj.data.id }, function (e) {
|
||||||
|
if (e.code === 0) {
|
||||||
|
admin.popup({
|
||||||
|
shadeClose: false,
|
||||||
|
title: '编辑数据',
|
||||||
|
area: ['1200px', '90%'],
|
||||||
|
id: 'LAY-popup-WeChatTransactionComponentGood-edit',
|
||||||
|
success: function (layero, index) {
|
||||||
|
view(this.id).render('wechat/transactioncomponent/goods/edit', { data: e.data }).done(function () {
|
||||||
|
//监听提交
|
||||||
|
form.on('submit(LAY-app-WeChatTransactionComponentGood-editForm-submit)',
|
||||||
|
function (data) {
|
||||||
|
var field = data.field; //获取提交的字段
|
||||||
|
var postData = {};
|
||||||
|
|
||||||
|
field.descInfoDesc = window.editor.getData();
|
||||||
|
if (!!!field.descInfoDesc) {
|
||||||
|
layer.msg('商品详情图文内容不能为空', { icon: 5 });
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
postData.productId = field.productId;
|
||||||
|
postData.outProductId = field.outProductId;
|
||||||
|
postData.title = field.title;
|
||||||
|
postData.path = field.path;
|
||||||
|
postData.headImg = field.headImg;
|
||||||
|
postData.qualificationPics = field.qualificationPics;
|
||||||
|
postData.descInfoDesc = field.descInfoDesc;
|
||||||
|
postData.descInfoImgs = field.descInfoImgs;
|
||||||
|
postData.thirdCatId = field.thirdCatId;
|
||||||
|
postData.thirdCatName = field.thirdCatName;
|
||||||
|
postData.brandId = field.brandId;
|
||||||
|
postData.infoVersion = field.infoVersion;
|
||||||
|
postData.id = field.id;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//多参数产品库生成列表集合
|
||||||
|
var products = [];
|
||||||
|
var productsCount = parseInt(field.skuCount);
|
||||||
|
var isSelectCount = 0;
|
||||||
|
for (var i = 0; i < productsCount; i++) {
|
||||||
|
var productModel = {};
|
||||||
|
productModel.outProductId = field['product[outProductId][' + i + ']'];
|
||||||
|
productModel.outSkuId = field['product[outSkuId][' + i + ']'];
|
||||||
|
productModel.thumbImg = field['product[thumbImg][' + i + ']'];
|
||||||
|
if (field['product[isSelect][' + i + ']'] == 'on') {
|
||||||
|
productModel.isSelect = true;
|
||||||
|
isSelectCount++;
|
||||||
|
} else {
|
||||||
|
productModel.isSelect = false;
|
||||||
|
}
|
||||||
|
productModel.costprice = field['product[costprice][' + i + ']'];
|
||||||
|
productModel.salePrice = field['product[salePrice][' + i + ']'];
|
||||||
|
productModel.marketPrice = field['product[marketPrice][' + i + ']'];
|
||||||
|
productModel.barCode = field['product[barCode][' + i + ']'];
|
||||||
|
productModel.stockNum = field['product[stockNum][' + i + ']'];
|
||||||
|
products.push(productModel);
|
||||||
|
}
|
||||||
|
postData.sku = products;
|
||||||
|
|
||||||
|
if (isSelectCount <= 0) {
|
||||||
|
layer.msg('至少要选择一个sku货品', { icon: 5 });
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (debug) { console.log(field); } //开启调试返回数据
|
||||||
|
//提交 Ajax 成功后,关闭当前弹层并重载表格
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentGood/DoEdit", postData, function (e) {
|
||||||
|
console.log(e)
|
||||||
|
if (e.code === 0) {
|
||||||
|
layui.table.reloadData('LAY-app-WeChatTransactionComponentGood-tableBox'); //重载表格
|
||||||
|
layer.close(index); //再执行关闭
|
||||||
|
layer.msg(e.msg);
|
||||||
|
} else {
|
||||||
|
layer.msg(e.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
})
|
||||||
|
// 禁止弹窗出现滚动条
|
||||||
|
//$(layero).children('.layui-layer-content').css('overflow', 'visible');
|
||||||
|
}
|
||||||
|
, btn: ['确定', '取消']
|
||||||
|
, yes: function (index, layero) {
|
||||||
|
layero.contents().find("#LAY-app-WeChatTransactionComponentGood-editForm-submit").click();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
layer.msg(e.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//执行预览操作
|
||||||
|
function doDetails(obj) {
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentGood/GetDetails", { id: obj.data.id }, function (e) {
|
||||||
|
if (e.code === 0) {
|
||||||
|
admin.popup({
|
||||||
|
shadeClose: false,
|
||||||
|
title: '查看详情',
|
||||||
|
area: ['1200px', '90%'],
|
||||||
|
id: 'LAY-popup-WeChatTransactionComponentGood-details',
|
||||||
|
success: function (layero, index) {
|
||||||
|
view(this.id).render('wechat/transactioncomponent/goods/details', { data: e.data }).done(function () {
|
||||||
|
form.render();
|
||||||
|
});
|
||||||
|
// 禁止弹窗出现滚动条
|
||||||
|
$(layero).children('.layui-layer-content').css('overflow', 'visible');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
layer.msg(e.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//执行单个删除
|
||||||
|
function doDelete(obj) {
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentGood/DoDelete", { id: obj.data.id }, function (e) {
|
||||||
|
if (debug) { console.log(e); } //开启调试返回数据
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentGood-tableBox');
|
||||||
|
layer.msg(e.msg);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//执行提交审核操作
|
||||||
|
function doAudit(checkStatus) {
|
||||||
|
var checkData = checkStatus.data;
|
||||||
|
if (checkData.length === 0) {
|
||||||
|
return layer.msg('请选择您要处理的数据');
|
||||||
|
}
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentGood/DoAudit", { id: checkData[0].id }, function (e) {
|
||||||
|
if (debug) { console.log(e); } //开启调试返回数据
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentGood-tableBox');
|
||||||
|
layer.msg(e.msg);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//执行提交更新操作
|
||||||
|
function doUpdateSpu(checkStatus) {
|
||||||
|
var checkData = checkStatus.data;
|
||||||
|
if (checkData.length === 0) {
|
||||||
|
return layer.msg('请选择您要处理的数据');
|
||||||
|
}
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentGood/DoUpdateSpu", { id: checkData[0].id }, function (e) {
|
||||||
|
if (debug) { console.log(e); } //开启调试返回数据
|
||||||
|
layer.msg(e.msg);
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentGood-tableBox');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//执行撤回审核操作
|
||||||
|
function doDeleteSpuAudit(checkStatus) {
|
||||||
|
var checkData = checkStatus.data;
|
||||||
|
if (checkData.length === 0) {
|
||||||
|
return layer.msg('请选择您要处理的数据');
|
||||||
|
}
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentGood/DeleteSpuAudit", { id: checkData[0].id }, function (e) {
|
||||||
|
if (debug) { console.log(e); } //开启调试返回数据
|
||||||
|
layer.msg(e.msg);
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentGood-tableBox');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//执行删除spu数据操作
|
||||||
|
function doDeleteSpu(checkStatus) {
|
||||||
|
var checkData = checkStatus.data;
|
||||||
|
if (checkData.length === 0) {
|
||||||
|
return layer.msg('请选择您要处理的数据');
|
||||||
|
}
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentGood/DeleteSpu", { id: checkData[0].id }, function (e) {
|
||||||
|
if (debug) { console.log(e); } //开启调试返回数据
|
||||||
|
layer.msg(e.msg);
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentGood-tableBox');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//执行上架商品
|
||||||
|
function doListing(checkStatus) {
|
||||||
|
var checkData = checkStatus.data;
|
||||||
|
if (checkData.length === 0) {
|
||||||
|
return layer.msg('请选择您要处理的数据');
|
||||||
|
}
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentGood/DoListing", { id: checkData[0].id }, function (e) {
|
||||||
|
if (debug) { console.log(e); } //开启调试返回数据
|
||||||
|
layer.msg(e.msg);
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentGood-tableBox');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//执行下架商品
|
||||||
|
function doDelistingSpu(checkStatus) {
|
||||||
|
var checkData = checkStatus.data;
|
||||||
|
if (checkData.length === 0) {
|
||||||
|
return layer.msg('请选择您要处理的数据');
|
||||||
|
}
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentGood/DoDelistingSpu", { id: checkData[0].id }, function (e) {
|
||||||
|
if (debug) { console.log(e); } //开启调试返回数据
|
||||||
|
layer.msg(e.msg);
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentGood-tableBox');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//获取草稿状态
|
||||||
|
function doGetDraftSKU(checkStatus) {
|
||||||
|
var checkData = checkStatus.data;
|
||||||
|
if (checkData.length === 0) {
|
||||||
|
return layer.msg('请选择您要处理的数据');
|
||||||
|
}
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentGood/GetSKU", { id: checkData[0].id, data: 1 }, function (e) {
|
||||||
|
if (e.code === 0) {
|
||||||
|
admin.popup({
|
||||||
|
shadeClose: false,
|
||||||
|
title: '查看审核信息',
|
||||||
|
area: ['500px', '330px'],
|
||||||
|
id: 'LAY-popup-WeChatTransactionComponentGood-details',
|
||||||
|
success: function (layero, index) {
|
||||||
|
view(this.id).render('wechat/transactioncomponent/goods/getSku', { data: e.data }).done(function () {
|
||||||
|
form.render();
|
||||||
|
});
|
||||||
|
// 禁止弹窗出现滚动条
|
||||||
|
$(layero).children('.layui-layer-content').css('overflow', 'visible');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
layer.msg(e.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取草稿状态
|
||||||
|
function doGetLineSKU(checkStatus) {
|
||||||
|
var checkData = checkStatus.data;
|
||||||
|
if (checkData.length === 0) {
|
||||||
|
return layer.msg('请选择您要处理的数据');
|
||||||
|
}
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentGood/GetSKU", { id: checkData[0].id, data: 0 }, function (e) {
|
||||||
|
if (e.code === 0) {
|
||||||
|
admin.popup({
|
||||||
|
shadeClose: false,
|
||||||
|
title: '查看审核信息',
|
||||||
|
area: ['500px', '330px'],
|
||||||
|
id: 'LAY-popup-WeChatTransactionComponentGood-details',
|
||||||
|
success: function (layero, index) {
|
||||||
|
view(this.id).render('wechat/transactioncomponent/goods/getSku', { data: e.data }).done(function () {
|
||||||
|
form.render();
|
||||||
|
});
|
||||||
|
// 禁止弹窗出现滚动条
|
||||||
|
$(layero).children('.layui-layer-content').css('overflow', 'visible');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
layer.msg(e.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//执行选择目录导出数据
|
||||||
|
function doSelectExportExcel(checkStatus) {
|
||||||
|
var checkData = checkStatus.data;
|
||||||
|
if (checkData.length === 0) {
|
||||||
|
return layer.msg('请选择您要导出的数据');
|
||||||
|
}
|
||||||
|
layer.confirm('确定导出选择的内容吗?',
|
||||||
|
function (index) {
|
||||||
|
var delidsStr = [];
|
||||||
|
layui.each(checkData,
|
||||||
|
function (index, item) {
|
||||||
|
delidsStr.push(item.id);
|
||||||
|
});
|
||||||
|
layer.close(index);
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentGood/SelectExportExcel", { id: delidsStr }, function (e) {
|
||||||
|
if (debug) { console.log(e); } //开启调试返回数据
|
||||||
|
if (e.code === 0) {
|
||||||
|
window.open(e.data);
|
||||||
|
} else {
|
||||||
|
layer.msg(e.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//监听 表格复选框操作
|
||||||
|
|
||||||
|
});
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
@@ -0,0 +1,131 @@
|
|||||||
|
<script type="text/html" template lay-done="layui.data.done(d);">
|
||||||
|
<table class="layui-table layui-form" lay-filter="LAY-app-WeChatTransactionComponentThirdCategory-detailsForm" id="LAY-app-WeChatTransactionComponentThirdCategory-detailsForm">
|
||||||
|
<tbody>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="id">序列</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.id || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="third_cat_id">类目ID</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.third_cat_id || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="third_cat_name">类目名称</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.third_cat_name || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="qualification">类目资质</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.qualification || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="qualification_type">类目资质类型【0:不需要,1:必填,2:选填】</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.qualification_type }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="product_qualification">商品资质</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.product_qualification }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="product_qualification_type">商品资质类型【0:不需要,1:必填,2:选填】</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.product_qualification_type }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="second_cat_id">二级类目ID</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.second_cat_id || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="second_cat_name">二级类目名称</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.second_cat_name || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="first_cat_id">一级类目ID</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.first_cat_id || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="first_cat_name">一级类目名称</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.first_cat_name || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="createTime">创建时间</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.createTime || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var debug = layui.setter.debug;
|
||||||
|
layui.data.done = function (d) {
|
||||||
|
//开启调试情况下获取接口赋值数据
|
||||||
|
if (debug) { console.log(d.params.data); }
|
||||||
|
|
||||||
|
layui.use(['admin', 'form', 'coreHelper'], function () {
|
||||||
|
var $ = layui.$
|
||||||
|
, setter = layui.setter
|
||||||
|
, admin = layui.admin
|
||||||
|
, coreHelper = layui.coreHelper
|
||||||
|
, form = layui.form;
|
||||||
|
form.render(null, 'LAY-app-WeChatTransactionComponentThirdCategory-detailsForm');
|
||||||
|
});
|
||||||
|
};
|
||||||
|
</script>
|
||||||
@@ -0,0 +1,319 @@
|
|||||||
|
<title>自定义交易组件三级类目</title>
|
||||||
|
<!--当前位置开始-->
|
||||||
|
<div class="layui-card layadmin-header">
|
||||||
|
<div class="layui-breadcrumb" lay-filter="breadcrumb">
|
||||||
|
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--当前位置结束-->
|
||||||
|
<style>
|
||||||
|
/* 重写样式 */
|
||||||
|
</style>
|
||||||
|
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/WeChatTransactionComponentThirdCategory/GetIndex" lay-done="layui.data.done(d);">
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<div class="table-body">
|
||||||
|
<table id="LAY-app-WeChatTransactionComponentThirdCategory-tableBox" lay-filter="LAY-app-WeChatTransactionComponentThirdCategory-tableBox"></table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script type="text/html" id="LAY-app-WeChatTransactionComponentThirdCategory-toolbar">
|
||||||
|
<div class="layui-form coreshop-toolbar-search-form">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="third_cat_name" placeholder="请输入类目名称" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="qualification" placeholder="请输入类目资质" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<select name="qualification_type" id="qualification_type">
|
||||||
|
<option value="">请输入类目资质类型</option>
|
||||||
|
<option value="0">不需要</option>
|
||||||
|
<option value="1">必填</option>
|
||||||
|
<option value="2">选填</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="product_qualification" placeholder="请输入商品资质" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<select name="product_qualification_type" id="product_qualification_type">
|
||||||
|
<option value="">请输入商品资质类型</option>
|
||||||
|
<option value="0">不需要</option>
|
||||||
|
<option value="1">必填</option>
|
||||||
|
<option value="2">选填</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="second_cat_name" placeholder="请输入二级类目名称" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="first_cat_name" placeholder="请输入一级类目名称" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-WeChatTransactionComponentThirdCategory-search"><i class="layui-icon layui-icon-search"></i>筛选</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script type="text/html" id="LAY-app-WeChatTransactionComponentThirdCategory-pagebar">
|
||||||
|
<div class="layui-btn-container">
|
||||||
|
<button class="layui-btn layui-btn-sm" lay-event="doRefresh"><i class="layui-icon layui-icon-refresh"></i>刷新数据</button>
|
||||||
|
<button class="layui-btn layui-btn-sm" lay-event="selectExportExcel"><i class="layui-icon layui-icon-add-circle"></i>选择导出</button>
|
||||||
|
<button class="layui-btn layui-btn-sm" lay-event="queryExportExcel"><i class="layui-icon layui-icon-download-circle"></i>查询导出</button>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script type="text/html" id="LAY-app-WeChatTransactionComponentThirdCategory-tableBox-bar">
|
||||||
|
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var indexData;
|
||||||
|
var debug = layui.setter.debug;
|
||||||
|
layui.data.done = function (d) {
|
||||||
|
//开启调试情况下获取接口赋值数据
|
||||||
|
if (debug) { console.log(d); }
|
||||||
|
|
||||||
|
indexData = d.data;
|
||||||
|
layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'],
|
||||||
|
function () {
|
||||||
|
var $ = layui.$
|
||||||
|
, admin = layui.admin
|
||||||
|
, table = layui.table
|
||||||
|
, form = layui.form
|
||||||
|
, laydate = layui.laydate
|
||||||
|
, setter = layui.setter
|
||||||
|
, coreHelper = layui.coreHelper
|
||||||
|
, util = layui.util
|
||||||
|
, view = layui.view;
|
||||||
|
|
||||||
|
|
||||||
|
var searchwhere;
|
||||||
|
//监听搜索
|
||||||
|
form.on('submit(LAY-app-WeChatTransactionComponentThirdCategory-search)',
|
||||||
|
function (data) {
|
||||||
|
var field = data.field;
|
||||||
|
searchwhere = field;
|
||||||
|
//执行重载
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentThirdCategory-tableBox', { where: field });
|
||||||
|
});
|
||||||
|
//数据绑定
|
||||||
|
table.render({
|
||||||
|
elem: '#LAY-app-WeChatTransactionComponentThirdCategory-tableBox',
|
||||||
|
url: layui.setter.apiUrl + 'Api/WeChatTransactionComponentThirdCategory/GetPageList',
|
||||||
|
method: 'POST',
|
||||||
|
toolbar: '#LAY-app-WeChatTransactionComponentThirdCategory-toolbar',
|
||||||
|
pagebar: '#LAY-app-WeChatTransactionComponentThirdCategory-pagebar',
|
||||||
|
className: 'pagebarbox',
|
||||||
|
defaultToolbar: ['filter', 'print', 'exports'],
|
||||||
|
height: 'full-127',//面包屑142px,搜索框4行172,3行137,2行102,1行67
|
||||||
|
page: true,
|
||||||
|
limit: 30,
|
||||||
|
limits: [10, 15, 20, 25, 30, 50, 100, 200],
|
||||||
|
text: { none: '暂无相关数据' },
|
||||||
|
cols: [
|
||||||
|
[
|
||||||
|
{ type: "checkbox", fixed: "left" },
|
||||||
|
{ field: 'id', title: '序列', width: 60, sort: false },
|
||||||
|
{ field: 'third_cat_id', title: '类目ID', sort: false, width: 105 },
|
||||||
|
{ field: 'third_cat_name', title: '类目名称', sort: false, width: 105 },
|
||||||
|
{ field: 'qualification', title: '类目资质', sort: false },
|
||||||
|
{
|
||||||
|
field: 'qualification_type', title: '类目资质类型', sort: false, width: 105, templet: function (data) {
|
||||||
|
if (data.qualification_type == 0) {
|
||||||
|
return "不需要";
|
||||||
|
} else if (data.qualification_type == 1) {
|
||||||
|
return "必填";
|
||||||
|
} else if (data.qualification_type == 2) {
|
||||||
|
return "选填";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ field: 'product_qualification', title: '商品资质', sort: false },
|
||||||
|
{
|
||||||
|
field: 'product_qualification_type', title: '商品资质类型', sort: false, width: 105, templet: function (data) {
|
||||||
|
if (data.qualification_type == 0) {
|
||||||
|
return "不需要";
|
||||||
|
} else if (data.qualification_type == 1) {
|
||||||
|
return "必填";
|
||||||
|
} else if (data.qualification_type == 2) {
|
||||||
|
return "选填";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'second_cat_id',
|
||||||
|
title: '二级类目',
|
||||||
|
sort: false,
|
||||||
|
width: 150,
|
||||||
|
templet: function (data) {
|
||||||
|
return data.second_cat_name + "【" + data.second_cat_id + "】";
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'first_cat_id',
|
||||||
|
title: '一级类目',
|
||||||
|
sort: false,
|
||||||
|
width: 150,
|
||||||
|
templet: function (data) {
|
||||||
|
return data.first_cat_name + "【" + data.first_cat_id + "】";
|
||||||
|
},
|
||||||
|
},
|
||||||
|
//{ field: 'second_cat_name', title: '二级类目名称', sort: false, width: 105 },
|
||||||
|
//{ field: 'first_cat_id', title: '一级类目', sort: false, width: 65 },
|
||||||
|
//{ field: 'first_cat_name', title: '一级类目名称', sort: false, width: 105 },
|
||||||
|
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
|
||||||
|
{ width: 62, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-WeChatTransactionComponentThirdCategory-tableBox-bar' }
|
||||||
|
]
|
||||||
|
]
|
||||||
|
});
|
||||||
|
//监听排序事件
|
||||||
|
table.on('sort(LAY-app-WeChatTransactionComponentThirdCategory-tableBox)', function (obj) {
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentThirdCategory-tableBox', {
|
||||||
|
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
|
||||||
|
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
|
||||||
|
orderField: obj.field, //排序字段
|
||||||
|
orderDirection: obj.type //排序方式
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
//监听行双击事件
|
||||||
|
table.on('rowDouble(LAY-app-WeChatTransactionComponentThirdCategory-tableBox)', function (obj) {
|
||||||
|
//查看详情
|
||||||
|
doDetails(obj);
|
||||||
|
});
|
||||||
|
//头工具栏事件
|
||||||
|
table.on('pagebar(LAY-app-WeChatTransactionComponentThirdCategory-tableBox)', function (obj) {
|
||||||
|
var checkStatus = table.checkStatus(obj.config.id);
|
||||||
|
switch (obj.event) {
|
||||||
|
case 'doRefresh':
|
||||||
|
doRefresh(checkStatus);
|
||||||
|
break;
|
||||||
|
case 'selectExportExcel':
|
||||||
|
doSelectExportExcel(checkStatus);
|
||||||
|
break;
|
||||||
|
case 'queryExportExcel':
|
||||||
|
doQueryExportexcel();
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
//监听工具条
|
||||||
|
table.on('tool(LAY-app-WeChatTransactionComponentThirdCategory-tableBox)',
|
||||||
|
function (obj) {
|
||||||
|
if (obj.event === 'detail') {
|
||||||
|
doDetails(obj);
|
||||||
|
} else if (obj.event === 'del') {
|
||||||
|
doDelete(obj);
|
||||||
|
} else if (obj.event === 'edit') {
|
||||||
|
doEdit(obj)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//执行预览操作
|
||||||
|
function doDetails(obj) {
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentThirdCategory/GetDetails", { id: obj.data.id }, function (e) {
|
||||||
|
if (e.code === 0) {
|
||||||
|
admin.popup({
|
||||||
|
shadeClose: false,
|
||||||
|
title: '查看详情',
|
||||||
|
area: ['1000px', '500px'],
|
||||||
|
id: 'LAY-popup-WeChatTransactionComponentThirdCategory-details',
|
||||||
|
success: function (layero, index) {
|
||||||
|
view(this.id).render('wechat/transactioncomponent/thirdcategory/details', { data: e.data }).done(function () {
|
||||||
|
form.render();
|
||||||
|
});
|
||||||
|
// 禁止弹窗出现滚动条
|
||||||
|
//$(layero).children('.layui-layer-content').css('overflow', 'visible');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
layer.msg(e.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//执行单个删除
|
||||||
|
function doDelete(obj) {
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentThirdCategory/DoDelete", { id: obj.data.id }, function (e) {
|
||||||
|
if (debug) { console.log(e); } //开启调试返回数据
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentThirdCategory-tableBox');
|
||||||
|
layer.msg(e.msg);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//执行批量删除
|
||||||
|
function doRefresh(checkStatus) {
|
||||||
|
layer.confirm('确定更新吗?更新数据后将无法恢复。',
|
||||||
|
function (index) {
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentThirdCategory/DoRefresh", {}, function (e) {
|
||||||
|
if (debug) { console.log(e); } //开启调试返回数据
|
||||||
|
table.reloadData('LAY-app-WeChatTransactionComponentThirdCategory-tableBox');
|
||||||
|
layer.msg(e.msg);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//执行查询条件导出excel
|
||||||
|
function doQueryExportexcel() {
|
||||||
|
layer.confirm('确定根据当前的查询条件导出数据吗?',
|
||||||
|
function (index) {
|
||||||
|
var field = searchwhere;
|
||||||
|
coreHelper.PostForm("Api/WeChatTransactionComponentThirdCategory/QueryExportExcel", field, function (e) {
|
||||||
|
if (debug) { console.log(e); } //开启调试返回数据
|
||||||
|
if (e.code === 0) {
|
||||||
|
window.open(e.data);
|
||||||
|
} else {
|
||||||
|
layer.msg(e.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//执行选择目录导出数据
|
||||||
|
function doSelectExportExcel(checkStatus) {
|
||||||
|
var checkData = checkStatus.data;
|
||||||
|
if (checkData.length === 0) {
|
||||||
|
return layer.msg('请选择您要导出的数据');
|
||||||
|
}
|
||||||
|
layer.confirm('确定导出选择的内容吗?',
|
||||||
|
function (index) {
|
||||||
|
var delidsStr = [];
|
||||||
|
layui.each(checkData,
|
||||||
|
function (index, item) {
|
||||||
|
delidsStr.push(item.id);
|
||||||
|
});
|
||||||
|
layer.close(index);
|
||||||
|
coreHelper.Post("Api/WeChatTransactionComponentThirdCategory/SelectExportExcel", { id: delidsStr }, function (e) {
|
||||||
|
if (debug) { console.log(e); } //开启调试返回数据
|
||||||
|
if (e.code === 0) {
|
||||||
|
window.open(e.data);
|
||||||
|
} else {
|
||||||
|
layer.msg(e.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
laydate.render({
|
||||||
|
elem: '#searchTime-WeChatTransactionComponentThirdCategory-createTime',
|
||||||
|
type: 'datetime',
|
||||||
|
range: '到',
|
||||||
|
});
|
||||||
|
//重载form
|
||||||
|
form.render();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
dbProvider="Microsoft.Data.SqlClient.SqlConnection, Microsoft.Data.SqlClient"
|
dbProvider="Microsoft.Data.SqlClient.SqlConnection, Microsoft.Data.SqlClient"
|
||||||
connectionString="Server=127.0.0.1;Database=BaseMIS;User ID=sa;Password=123456"
|
connectionString="Server=127.0.0.1;Database=BaseMIS;User ID=sa;Password=123456"
|
||||||
-->
|
-->
|
||||||
<target name="log_database" xsi:type="Database" dbProvider="Microsoft.Data.SqlClient.SqlConnection, Microsoft.Data.SqlClient" connectionString="Server=127.0.0.1;uid=CoreShop;pwd=CoreShop;Database=CoreShop;MultipleActiveResultSets=true;">
|
<target name="log_database" xsi:type="Database" dbProvider="Microsoft.Data.SqlClient.SqlConnection, Microsoft.Data.SqlClient" connectionString="Server=127.0.0.1;uid=CoreShop;pwd=CoreShop;Database=CoreShop;MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;">
|
||||||
<commandText>
|
<commandText>
|
||||||
INSERT INTO SysNLogRecords
|
INSERT INTO SysNLogRecords
|
||||||
(LogDate,LogLevel,LogType,LogTitle,Logger,Message,MachineName,MachineIp,NetRequestMethod
|
(LogDate,LogLevel,LogType,LogTitle,Logger,Message,MachineName,MachineIp,NetRequestMethod
|
||||||
|
|||||||
BIN
数据库/SqlServer/20220111/升级SQL/1、微信交易组件.sql
Normal file
BIN
数据库/SqlServer/20220111/升级SQL/1、微信交易组件.sql
Normal file
Binary file not shown.
BIN
数据库/SqlServer/20220111/升级SQL/2、新增菜单.sql
Normal file
BIN
数据库/SqlServer/20220111/升级SQL/2、新增菜单.sql
Normal file
Binary file not shown.
3
数据库/SqlServer/20220111/升级SQL/使用说明.txt
Normal file
3
数据库/SqlServer/20220111/升级SQL/使用说明.txt
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
1、使用20211119版本数据库执行脚本即可。
|
||||||
|
2、菜单中导入新的action。
|
||||||
|
3、角色中增加菜单权限即可。
|
||||||
BIN
数据库/SqlServer/20220111/完整数据/202201110128完整SQL脚本.sql
Normal file
BIN
数据库/SqlServer/20220111/完整数据/202201110128完整SQL脚本.sql
Normal file
Binary file not shown.
BIN
数据库/SqlServer/20220111/完整数据/202201110128完整数据库.bak
Normal file
BIN
数据库/SqlServer/20220111/完整数据/202201110128完整数据库.bak
Normal file
Binary file not shown.
1
数据库/SqlServer/20220111/完整数据/使用方法.txt
Normal file
1
数据库/SqlServer/20220111/完整数据/使用方法.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
bak和sql二选一。
|
||||||
@@ -1,3 +1,8 @@
|
|||||||
|
2022-01-11
|
||||||
|
1、【新增】新增【WeChatTransactionComponentAuditCategory】【WeChatTransactionComponentAuditCategoryAuditLog】【WeChatTransactionComponentDeliveryCompany】【WeChatTransactionComponentGood】【WeChatTransactionComponentGoodAuditLog】【WeChatTransactionComponentGoodSKU】【WeChatTransactionComponentOrder】【WeChatTransactionComponentThirdCategory】8个自定义交易组件表。
|
||||||
|
2、【新增】【CoreCmsOrder】表新增scene字段,增加场景值功能。
|
||||||
|
3、【新增】【CoreCmsBillDelivery】表新增thirdPartylogiCode第三方对接物流编码字段。
|
||||||
|
|
||||||
2021-11-19
|
2021-11-19
|
||||||
1、【调整】SysLoginRecord表os字段修改长度为max,防止linux系统下长度不够的问题。
|
1、【调整】SysLoginRecord表os字段修改长度为max,防止linux系统下长度不够的问题。
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user