Commit b5090a6e authored by 黄奎's avatar 黄奎
parents 5271067a 3769945d
using Mall.CacheManager.DataStatistic;
using Mall.Common.Plugin.Redis;
using Mall.Model.Extend.User;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.CacheManager.ByteDance
{
public class ByteDanceRedis
{
static RedisHelper redis = new RedisHelper(DataConstant.REDIS_DB2);
/// <summary>
/// 获取微信用的formID
/// </summary>
/// <param name="uid"></param>
/// <returns></returns>
public static List<ByteDanceCustomer> GetByteDanceList(int customerId, string FormId)
{
string cacheKey = CacheKey.UserModuleCacheKeyConfig.ByteDanceFormId + customerId + "_" + FormId;
List<ByteDanceCustomer> airInfo = new List<ByteDanceCustomer>();
try
{
var dic = redis.StringGet(cacheKey);
foreach (var item in dic)
{
var model = JsonConvert.DeserializeObject<List<ByteDanceCustomer>>(item.ToString());
airInfo.AddRange(model);
}
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "GetByteDanceList");
}
return airInfo;
}
/// <summary>
/// 设置缓存
/// </summary>
/// <param name="airList"></param>
public static void SetDyteDanceInfo(List<ByteDanceCustomer> airList)
{
string cacheKey = CacheKey.UserModuleCacheKeyConfig.ByteDanceFormId + airList.FirstOrDefault().UserID + "_" + airList.FirstOrDefault().FormId;
TimeSpan ts = GetExpirTime(7 * 60 * 60 * 24 - 60 * 1);
redis.StringSet(cacheKey, JsonConvert.SerializeObject(airList), ts);
}
/// <summary>
/// 获取缓存时长
/// </summary>
/// <param name="JwtExpirTime"></param>
/// <returns></returns>
private static TimeSpan GetExpirTime(int JwtExpirTime)
{
DateTime dt = DateTime.Now;
DateTime dt2 = DateTime.Now;
TimeSpan ts = dt.AddSeconds(JwtExpirTime) - dt2;
return ts;
}
/// <summary>
/// 设置缓存
/// </summary>
/// <param name="airList"></param>
public static void RemoveCacheKey(string CustomerID, string FormId, ByteDanceCustomer model)
{
string cacheKey = CacheKey.UserModuleCacheKeyConfig.ByteDanceFormId + CustomerID + "_" + FormId;
redis.ListRemove(cacheKey, model);
}
}
}
...@@ -31,5 +31,11 @@ namespace Mall.CacheKey ...@@ -31,5 +31,11 @@ namespace Mall.CacheKey
{ {
get { return "DATA_WeiXinToken"; } get { return "DATA_WeiXinToken"; }
} }
public static string ByteDanceFormId
{
get { return "ByteDanceFormId_"; }
}
} }
} }
...@@ -318,5 +318,17 @@ namespace Mall.Common ...@@ -318,5 +318,17 @@ namespace Mall.Common
return new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("FirstPage").Value; return new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("FirstPage").Value;
} }
} }
/// <summary>
/// 抖音发送消息模板
/// </summary>
public static string ByteDanceSendTemplate
{
get
{
return new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("ByteDanceSendTemplate").Value;
}
}
} }
} }
\ No newline at end of file
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Mall.Common.Enum.Goods
{
/// <summary>
/// 订单售后查询状态枚举
/// </summary>
public enum AfterSaleSelectStatusEnum
{
/// <summary>
/// 待审核
/// </summary>
[EnumField("待审核")]
Auditing = 1,
/// <summary>
/// 待买家处理
/// </summary>
[EnumField("待买家处理")]
DeliveryToBuyer = 2,
/// <summary>
/// 待卖家处理
/// </summary>
[EnumField("待卖家处理")]
ReceivedBySeller = 3,
/// <summary>
/// 已完成
/// </summary>
[EnumField("已完成")]
RefundedBySeller = 4
}
}
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Mall.Common.Enum.Goods
{
/// <summary>
/// 订单售后列表导出选项枚举
/// </summary>
public enum OrderAfterSaleExportEnum
{
/// <summary>
/// 所属平台
/// </summary>
[EnumField("所属平台")]
SSPT = 1,
/// <summary>
/// 订单号
/// </summary>
[EnumField("订单号")]
DDH = 2,
/// <summary>
/// 下单用户
/// </summary>
[EnumField("下单用户")]
XDYH = 4,
/// <summary>
/// 商品名
/// </summary>
[EnumField("商品名")]
SPM = 5,
/// <summary>
/// 规格
/// </summary>
[EnumField("规格")]
GG = 6,
/// <summary>
/// 数量
/// </summary>
[EnumField("数量")]
SL = 7,
/// <summary>
/// 货号
/// </summary>
[EnumField("货号")]
HH = 8,
/// <summary>
/// 收件人
/// </summary>
[EnumField("收件人")]
SJR = 10,
/// <summary>
/// 收件人电话
/// </summary>
[EnumField("收件人电话")]
SJRDH = 11,
/// <summary>
/// 收件人地址
/// </summary>
[EnumField("收件人地址")]
SJRDZ = 12,
/// <summary>
/// 商家备注
/// </summary>
[EnumField("商家备注")]
ZJE = 13,
/// <summary>
/// 售后类型
/// </summary>
[EnumField("售后类型")]
SJFK = 14,
/// <summary>
/// 退款金额
/// </summary>
[EnumField("退款金额")]
YF = 15,
/// <summary>
/// 申请理由
/// </summary>
[EnumField("申请理由")]
XDSJ = 16,
/// <summary>
/// 申请售后时间
/// </summary>
[EnumField("申请售后时间")]
ZFFS = 17,
/// <summary>
/// 售后状态
/// </summary>
[EnumField("售后状态")]
DDZT = 18,
/// <summary>
/// 用户发货快递
/// </summary>
[EnumField("用户发货快递")]
FKZT = 19,
/// <summary>
/// 用户发货快递单号
/// </summary>
[EnumField("用户发货快递单号")]
FKSJ = 20
}
}
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Mall.Common.Enum.Goods
{
/// <summary>
/// 订单售后状态枚举
/// </summary>
public enum OrderAfterSaleStatusEnum
{
/// <summary>
/// 待审核
/// </summary>
[EnumField("待审核")]
Auditing = 1,
/// <summary>
/// 待买家发货
/// </summary>
[EnumField("待买家发货")]
DeliveryToBuyer = 2,
/// <summary>
/// 待卖家收货
/// </summary>
[EnumField("待卖家收货")]
ReceivedBySeller = 3,
/// <summary>
/// 待卖家退款
/// </summary>
[EnumField("待卖家退款")]
RefundedBySeller = 4,
/// <summary>
/// 已完成
/// </summary>
[EnumField("已完成")]
Completed = 5,
/// <summary>
/// 已拒绝
/// </summary>
[EnumField("已拒绝")]
Rejected = 6
}
}
using Mall.Common.AOP; using Mall.Common.AOP;
using Mall.Common.Enum.Goods;
using Mall.Common.Enum.User; using Mall.Common.Enum.User;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
...@@ -101,7 +102,7 @@ namespace Mall.Model.Entity.Product ...@@ -101,7 +102,7 @@ namespace Mall.Model.Entity.Product
/// <summary> /// <summary>
/// 售后状态 1待审核 2待买家发货 3已发货待商家处理(待卖家收货) 4待卖家退款 5已完成 6已拒绝 /// 售后状态 1待审核 2待买家发货 3已发货待商家处理(待卖家收货) 4待卖家退款 5已完成 6已拒绝
/// </summary> /// </summary>
public int? ReOrderStatus public OrderAfterSaleStatusEnum? ReOrderStatus
{ {
get; get;
set; set;
...@@ -178,5 +179,9 @@ namespace Mall.Model.Entity.Product ...@@ -178,5 +179,9 @@ namespace Mall.Model.Entity.Product
get; get;
set; set;
} }
/// <summary>
/// 商家备注
/// </summary>
public string ReRemark { get; set; }
} }
} }
...@@ -17,5 +17,13 @@ namespace Mall.Model.Extend.Product ...@@ -17,5 +17,13 @@ namespace Mall.Model.Extend.Product
/// 商品ids /// 商品ids
/// </summary> /// </summary>
public string GoodsIds { get; set; } public string GoodsIds { get; set; }
/// <summary>
/// 等级列表
/// </summary>
public List<RB_Goods_DistributionCommission_Extend> GradeCommissionList { get; set; }
/// <summary>
/// 规格值列表
/// </summary>
public object AttrList { get; set; }
} }
} }
...@@ -109,10 +109,20 @@ namespace Mall.Model.Extend.Product ...@@ -109,10 +109,20 @@ namespace Mall.Model.Extend.Product
/// 分销佣金列表 /// 分销佣金列表
/// </summary> /// </summary>
public List<RB_Goods_DistributionCommission_Extend> DistributionCommissionList { get; set; } public List<RB_Goods_DistributionCommission_Extend> DistributionCommissionList { get; set; }
/// <summary>
/// 分销佣金列表(2号)
/// </summary>
public List<RB_Goods_DistributionCommission_Extend> DistributionCommissionTreeList { get; set; }
/// <summary> /// <summary>
/// 会员价格列表 /// 会员价格列表
/// </summary> /// </summary>
public List<RB_Goods_MemberPrice_Extend> MemberPriceList { get; set; } public List<RB_Goods_MemberPrice_Extend> MemberPriceList { get; set; }
/// <summary>
/// 会员价格列表
/// </summary>
public List<RB_Goods_MemberPrice_Extend> MemberPriceTreeList { get; set; }
/// <summary> /// <summary>
/// 是否收藏 true/false /// 是否收藏 true/false
......
...@@ -17,5 +17,13 @@ namespace Mall.Model.Extend.Product ...@@ -17,5 +17,13 @@ namespace Mall.Model.Extend.Product
/// 商品ids /// 商品ids
/// </summary> /// </summary>
public string GoodsIds { get; set; } public string GoodsIds { get; set; }
/// <summary>
/// 等级价格列表
/// </summary>
public List<RB_Goods_MemberPrice_Extend> GradePriceList { get; set; }
/// <summary>
/// 规格值列表
/// </summary>
public object AttrList { get; set; }
} }
} }
...@@ -13,6 +13,10 @@ namespace Mall.Model.Extend.Product ...@@ -13,6 +13,10 @@ namespace Mall.Model.Extend.Product
[DB(ConnectionName = "DefaultConnection")] [DB(ConnectionName = "DefaultConnection")]
public class RB_Goods_OrderAfterSale_Extend : RB_Goods_OrderAfterSale public class RB_Goods_OrderAfterSale_Extend : RB_Goods_OrderAfterSale
{ {
/// <summary>
/// 订单明细ids
/// </summary>
public string OrderDetailIds { get; set; }
/// <summary> /// <summary>
/// 订单号 /// 订单号
/// </summary> /// </summary>
...@@ -45,5 +49,30 @@ namespace Mall.Model.Extend.Product ...@@ -45,5 +49,30 @@ namespace Mall.Model.Extend.Product
/// 结束时间 /// 结束时间
/// </summary> /// </summary>
public string EndTime { get; set; } public string EndTime { get; set; }
/// <summary>
/// 订单
/// </summary>
public RB_Goods_Order_Extend OrderModel { get; set; }
/// <summary>
/// 订单明细
/// </summary>
public RB_Goods_OrderDetail_Extend OrderDetailModel { get; set; }
/// <summary>
/// 导出选项
/// </summary>
public List<int> ExcelEnumIds { get; set; }
/// <summary>
/// 客人退货物流名称
/// </summary>
public string ReExpressName { get; set; }
/// <summary>
/// 查询状态
/// </summary>
public int SelectStatus { get; set; }
/// <summary>
/// 凭证列表
/// </summary>
public List<string> VoucherList { get; set; }
} }
} }
...@@ -53,5 +53,14 @@ namespace Mall.Model.Extend.Product ...@@ -53,5 +53,14 @@ namespace Mall.Model.Extend.Product
/// 分销佣金类型 1百分比 2固定值 /// 分销佣金类型 1百分比 2固定值
/// </summary> /// </summary>
public int? SeparateDistributionMoneyType { get; set; } public int? SeparateDistributionMoneyType { get; set; }
/// <summary>
/// 规格列表
/// </summary>
public List<string> SpecificationList { get; set; }
/// <summary>
/// 是否申请售后
/// </summary>
public int? IsApplyForAfterSale { get; set; }
} }
} }
...@@ -13,6 +13,10 @@ namespace Mall.Model.Extend.Product ...@@ -13,6 +13,10 @@ namespace Mall.Model.Extend.Product
[DB(ConnectionName = "DefaultConnection")] [DB(ConnectionName = "DefaultConnection")]
public class RB_Goods_Order_Extend : RB_Goods_Order public class RB_Goods_Order_Extend : RB_Goods_Order
{ {
/// <summary>
/// 订单ids
/// </summary>
public string OrderIds { get; set; }
/// <summary> /// <summary>
/// 是否来自购物车 1是 2否 /// 是否来自购物车 1是 2否
/// </summary> /// </summary>
......
...@@ -17,5 +17,9 @@ namespace Mall.Model.Extend.Product ...@@ -17,5 +17,9 @@ namespace Mall.Model.Extend.Product
/// 商品ids /// 商品ids
/// </summary> /// </summary>
public string GoodsIds { get; set; } public string GoodsIds { get; set; }
/// <summary>
/// 规格值列表
/// </summary>
public object AttrList { get; set; }
} }
} }
...@@ -73,4 +73,31 @@ namespace Mall.Model.Extend.User ...@@ -73,4 +73,31 @@ namespace Mall.Model.Extend.User
#endregion #endregion
} }
/// <summary>
/// 抖音客户实体类
/// </summary>
public class ByteDanceCustomer
{
/// <summary>
/// form Id
/// </summary>
public string FormId { get; set; }
/// <summary>
/// form Id缓存时间
/// </summary>
public DateTime FormCreateDate { get; set; }
/// <summary>
/// 用户的标识
/// </summary>
public string Openid { get; set; }
/// <summary>
/// 客户编号
/// </summary>
public int UserID { get; set; }
}
} }
This diff is collapsed.
...@@ -2555,18 +2555,104 @@ namespace Mall.Module.Product ...@@ -2555,18 +2555,104 @@ namespace Mall.Module.Product
} }
} }
model.SpecificationPriceList = goods_SpecificationPriceRepository.GetList(new RB_Goods_SpecificationPrice_Extend() { GoodsId = goodsId, TenantId = TenantId, MallBaseId = MallBaseId }); model.SpecificationPriceList = goods_SpecificationPriceRepository.GetList(new RB_Goods_SpecificationPrice_Extend() { GoodsId = goodsId, TenantId = TenantId, MallBaseId = MallBaseId });
foreach (var item in model.SpecificationPriceList) {
if (!string.IsNullOrEmpty(item.SpecificationSort))
{
var ssarr = item.SpecificationSort.Split(':');
int Sort = Convert.ToInt32(ssarr[0]);
string pic_url = model.SpecificationList[0].SpecificationValueList.Where(x => x.Sort == Sort).FirstOrDefault()?.ImagePath;
List<object> AttrList = new List<object>();
for (int i = 0; i < ssarr.Length; i++)
{
var smodel = model.SpecificationList[i];
var svmodel = smodel.SpecificationValueList.Where(x => x.Sort == Convert.ToInt32(ssarr[i])).FirstOrDefault();
AttrList.Add(new
{
SName = smodel.Name,
SId = smodel.Id,
SVId = svmodel.Sort,
SVName = svmodel.Name
});
}
item.AttrList = AttrList;
}
}
} }
model.AreaList = new List<RB_Goods_Area_Extend>(); model.AreaList = new List<RB_Goods_Area_Extend>();
if (model.IsAreaBuy == 1) { if (model.IsAreaBuy == 1) {
model.AreaList = goods_AreaRepository.GetList(new RB_Goods_Area_Extend() { GoodsId = goodsId, TenantId = TenantId, MallBaseId = MallBaseId }); model.AreaList = goods_AreaRepository.GetList(new RB_Goods_Area_Extend() { GoodsId = goodsId, TenantId = TenantId, MallBaseId = MallBaseId });
} }
model.DistributionCommissionList = new List<RB_Goods_DistributionCommission_Extend>(); model.DistributionCommissionList = new List<RB_Goods_DistributionCommission_Extend>();
model.DistributionCommissionTreeList = new List<RB_Goods_DistributionCommission_Extend>();
if (model.SeparateDistribution == 1) { if (model.SeparateDistribution == 1) {
model.DistributionCommissionList = goods_DistributionCommissionRepository.GetList(new RB_Goods_DistributionCommission_Extend() { GoodsId = goodsId, TenantId = TenantId, MallBaseId = MallBaseId }); model.DistributionCommissionList = goods_DistributionCommissionRepository.GetList(new RB_Goods_DistributionCommission_Extend() { GoodsId = goodsId, TenantId = TenantId, MallBaseId = MallBaseId });
if (model.DistributionCommissionList.Any()) {
var KeyList = model.DistributionCommissionList.Select(x => x.SpecificationSort ?? "").Distinct().ToList();
foreach (var qitem in KeyList) {
var treemodel = model.DistributionCommissionList.Where(x => (x.SpecificationSort ?? "") == qitem).FirstOrDefault();
treemodel.GradeCommissionList = model.DistributionCommissionList.Where(x => (x.SpecificationSort ?? "") == qitem).ToList();
if (model.SeparateDistributionType == 2)
{
if (!string.IsNullOrEmpty(qitem))
{
var ssarr = qitem.Split(':');
int Sort = Convert.ToInt32(ssarr[0]);
string pic_url = model.SpecificationList[0].SpecificationValueList.Where(x => x.Sort == Sort).FirstOrDefault()?.ImagePath;
List<object> AttrList = new List<object>();
for (int i = 0; i < ssarr.Length; i++)
{
var smodel = model.SpecificationList[i];
var svmodel = smodel.SpecificationValueList.Where(x => x.Sort == Convert.ToInt32(ssarr[i])).FirstOrDefault();
AttrList.Add(new
{
SName = smodel.Name,
SId = smodel.Id,
SVId = svmodel.Sort,
SVName = svmodel.Name
});
}
treemodel.AttrList = AttrList;
}
}
model.DistributionCommissionTreeList.Add(treemodel);
}
}
} }
model.MemberPriceList = new List<RB_Goods_MemberPrice_Extend>(); model.MemberPriceList = new List<RB_Goods_MemberPrice_Extend>();
model.MemberPriceTreeList = new List<RB_Goods_MemberPrice_Extend>();
if (model.EnjoyMember == 1 && model.SeparateSetMember == 1){ if (model.EnjoyMember == 1 && model.SeparateSetMember == 1){
model.MemberPriceList = goods_MemberPriceRepository.GetList(new RB_Goods_MemberPrice_Extend() { GoodsId = goodsId, TenantId = TenantId, MallBaseId = MallBaseId }); model.MemberPriceList = goods_MemberPriceRepository.GetList(new RB_Goods_MemberPrice_Extend() { GoodsId = goodsId, TenantId = TenantId, MallBaseId = MallBaseId });
if (model.MemberPriceList.Any())
{
var KeyList = model.MemberPriceList.Select(x => x.SpecificationSort ?? "").Distinct().ToList();
foreach (var qitem in KeyList)
{
var treemodel = model.MemberPriceList.Where(x => (x.SpecificationSort ?? "") == qitem).FirstOrDefault();
treemodel.GradePriceList = model.MemberPriceList.Where(x => (x.SpecificationSort ?? "") == qitem).ToList();
if (!string.IsNullOrEmpty(qitem))
{
var ssarr = qitem.Split(':');
int Sort = Convert.ToInt32(ssarr[0]);
string pic_url = model.SpecificationList[0].SpecificationValueList.Where(x => x.Sort == Sort).FirstOrDefault()?.ImagePath;
List<object> AttrList = new List<object>();
for (int i = 0; i < ssarr.Length; i++)
{
var smodel = model.SpecificationList[i];
var svmodel = smodel.SpecificationValueList.Where(x => x.Sort == Convert.ToInt32(ssarr[i])).FirstOrDefault();
AttrList.Add(new
{
SName = smodel.Name,
SId = smodel.Id,
SVId = svmodel.Sort,
SVName = svmodel.Name
});
}
treemodel.AttrList = AttrList;
}
model.MemberPriceTreeList.Add(treemodel);
}
}
} }
model.CarouselImageList = new List<RB_ImageCommonModel>(); model.CarouselImageList = new List<RB_ImageCommonModel>();
if (!string.IsNullOrEmpty(model.CarouselImage) && model.CarouselImage != "[]") if (!string.IsNullOrEmpty(model.CarouselImage) && model.CarouselImage != "[]")
......
...@@ -22,7 +22,7 @@ namespace Mall.Repository.BaseSetUp ...@@ -22,7 +22,7 @@ namespace Mall.Repository.BaseSetUp
/// <param name="rowCount">总条数</param> /// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param> /// <param name="query">查询条件</param>
/// <returns></returns> /// <returns></returns>
public List<RB_Logistics_Express> GetLogisticsExpressList(RB_Logistics_Express query) public List<RB_Logistics_Express> GetLogisticsExpressList(RB_Logistics_Express query,string ExpressIds="")
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_Logistics_Express.Status)}=0 "); builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_Logistics_Express.Status)}=0 ");
...@@ -44,6 +44,9 @@ namespace Mall.Repository.BaseSetUp ...@@ -44,6 +44,9 @@ namespace Mall.Repository.BaseSetUp
{ {
builder.Append($" AND {nameof(RB_Logistics_Express.Name)} like '%{query.Name}%'"); builder.Append($" AND {nameof(RB_Logistics_Express.Name)} like '%{query.Name}%'");
} }
if (!string.IsNullOrEmpty(ExpressIds)) {
builder.Append($" AND {nameof(RB_Logistics_Express.ID)} in({ExpressIds})");
}
} }
return Get<RB_Logistics_Express>(builder.ToString()).ToList(); return Get<RB_Logistics_Express>(builder.ToString()).ToList();
......
...@@ -23,7 +23,7 @@ namespace Mall.Repository.Product ...@@ -23,7 +23,7 @@ namespace Mall.Repository.Product
/// <param name="dmodel"></param> /// <param name="dmodel"></param>
/// <returns></returns> /// <returns></returns>
public List<RB_Goods_OrderAfterSale_Extend> GetERPPageList(int pageIndex, int pageSize, out long count, RB_Goods_OrderAfterSale_Extend dmodel) { public List<RB_Goods_OrderAfterSale_Extend> GetERPPageList(int pageIndex, int pageSize, out long count, RB_Goods_OrderAfterSale_Extend dmodel) {
string where = $" 1=1 and oas.{nameof(RB_Goods_OrderAfterSale.Status)}=0"; string where = $" where 1=1 and oas.{nameof(RB_Goods_OrderAfterSale.Status)}=0";
if (dmodel.TenantId > 0) { if (dmodel.TenantId > 0) {
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.TenantId)}={dmodel.TenantId}"; where += $" and oas.{nameof(RB_Goods_OrderAfterSale.TenantId)}={dmodel.TenantId}";
...@@ -48,6 +48,9 @@ namespace Mall.Repository.Product ...@@ -48,6 +48,9 @@ namespace Mall.Repository.Product
if (!string.IsNullOrEmpty(dmodel.OrderNo)) { if (!string.IsNullOrEmpty(dmodel.OrderNo)) {
where += $" and o.{nameof(RB_Goods_Order.OrderNo)} like '%{dmodel.OrderNo}%'"; where += $" and o.{nameof(RB_Goods_Order.OrderNo)} like '%{dmodel.OrderNo}%'";
} }
if (dmodel.OrderSource > 0) {
where += $" and o.{nameof(RB_Goods_Order.OrderSource)} ={dmodel.OrderSource}";
}
if (!string.IsNullOrEmpty(dmodel.Consignee)) if (!string.IsNullOrEmpty(dmodel.Consignee))
{ {
where += $" and o.{nameof(RB_Goods_Order.Consignee)} like '%{dmodel.Consignee}%'"; where += $" and o.{nameof(RB_Goods_Order.Consignee)} like '%{dmodel.Consignee}%'";
...@@ -65,12 +68,27 @@ namespace Mall.Repository.Product ...@@ -65,12 +68,27 @@ namespace Mall.Repository.Product
if (!string.IsNullOrEmpty(dmodel.EndTime)) { if (!string.IsNullOrEmpty(dmodel.EndTime)) {
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.CreateDate)} <='{dmodel.EndTime} 23:59:59'"; where += $" and oas.{nameof(RB_Goods_OrderAfterSale.CreateDate)} <='{dmodel.EndTime} 23:59:59'";
} }
if (dmodel.SelectStatus == 1)//待审核
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.ReOrderStatus)}=1";
}
else if (dmodel.SelectStatus == 2)//待买家处理
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.ReOrderStatus)}=2";
}
else if (dmodel.SelectStatus == 3) {//待卖家处理
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.ReOrderStatus)} in(3,4)";
}
else if (dmodel.SelectStatus == 4)//已完成
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.ReOrderStatus)} in(5,6)";
}
string sql = $@"SELECT oas.*,mu.Name as UserName FROM rb_goods_orderaftersale oas string sql = $@"SELECT oas.*,mu.Name as UserName FROM rb_goods_orderaftersale oas
INNER JOIN rb_goods_order o on oas.OrderId=o.OrderId INNER JOIN rb_goods_order o on oas.OrderId=o.OrderId
INNER JOIN rb_goods_orderdetail od on od.Id=oas.OrderDetialId INNER JOIN rb_goods_orderdetail od on od.Id=oas.OrderDetialId
INNER JOIN rb_member_user mu on mu.Id=oas.UserId INNER JOIN rb_member_user mu on mu.Id=oas.UserId
{where} order by Id desc"; {where} order by oas.ReOrderId desc";
return GetPage<RB_Goods_OrderAfterSale_Extend>(pageIndex, pageSize, out count, sql).ToList(); return GetPage<RB_Goods_OrderAfterSale_Extend>(pageIndex, pageSize, out count, sql).ToList();
} }
...@@ -85,7 +103,7 @@ INNER JOIN rb_member_user mu on mu.Id=oas.UserId ...@@ -85,7 +103,7 @@ INNER JOIN rb_member_user mu on mu.Id=oas.UserId
/// <returns></returns> /// <returns></returns>
public List<RB_Goods_OrderAfterSale_Extend> GetAppletPageList(int pageIndex, int pageSize, out long count, RB_Goods_OrderAfterSale_Extend dmodel) public List<RB_Goods_OrderAfterSale_Extend> GetAppletPageList(int pageIndex, int pageSize, out long count, RB_Goods_OrderAfterSale_Extend dmodel)
{ {
string where = $" 1=1 and oas.{nameof(RB_Goods_OrderAfterSale.Status)}=0"; string where = $" where 1=1 and oas.{nameof(RB_Goods_OrderAfterSale.Status)}=0";
if (dmodel.TenantId > 0) if (dmodel.TenantId > 0)
{ {
...@@ -103,14 +121,57 @@ INNER JOIN rb_member_user mu on mu.Id=oas.UserId ...@@ -103,14 +121,57 @@ INNER JOIN rb_member_user mu on mu.Id=oas.UserId
{ {
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.OrderId)}={dmodel.OrderId}"; where += $" and oas.{nameof(RB_Goods_OrderAfterSale.OrderId)}={dmodel.OrderId}";
} }
if (dmodel.ReOrderStatus > 0) {
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.ReOrderStatus)}={(int)dmodel.ReOrderStatus}";
}
if (!string.IsNullOrEmpty(dmodel.ReOrderNo)) if (!string.IsNullOrEmpty(dmodel.ReOrderNo))
{ {
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.ReOrderNo)} like '%{dmodel.ReOrderNo}%'"; where += $" and oas.{nameof(RB_Goods_OrderAfterSale.ReOrderNo)} like '%{dmodel.ReOrderNo}%'";
} }
string sql = $@"SELECT oas.* FROM rb_goods_orderaftersale oas {where} order by Id desc"; string sql = $@"SELECT oas.* FROM rb_goods_orderaftersale oas {where} order by ReOrderId desc";
return GetPage<RB_Goods_OrderAfterSale_Extend>(pageIndex, pageSize, out count, sql).ToList(); return GetPage<RB_Goods_OrderAfterSale_Extend>(pageIndex, pageSize, out count, sql).ToList();
} }
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Goods_OrderAfterSale_Extend> GetList(RB_Goods_OrderAfterSale_Extend dmodel) {
string where = $" where 1=1 and oas.{nameof(RB_Goods_OrderAfterSale.Status)}=0";
if (dmodel.TenantId > 0)
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.UserId > 0)
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.UserId)}={dmodel.UserId}";
}
if (dmodel.OrderId > 0)
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.OrderId)}={dmodel.OrderId}";
}
if (dmodel.OrderDetialId > 0)
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.OrderDetialId)}={dmodel.OrderDetialId}";
}
if (!string.IsNullOrEmpty(dmodel.ReOrderNo))
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.ReOrderNo)} like '%{dmodel.ReOrderNo}%'";
}
if (!string.IsNullOrEmpty(dmodel.OrderDetailIds)) {
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.OrderDetialId)} in({dmodel.OrderDetailIds})";
}
string sql = $@"SELECT oas.* FROM rb_goods_orderaftersale oas {where} order by oas.ReOrderId desc";
return Get<RB_Goods_OrderAfterSale_Extend>(sql).ToList();
}
} }
} }
...@@ -45,6 +45,9 @@ namespace Mall.Repository.Product ...@@ -45,6 +45,9 @@ namespace Mall.Repository.Product
if (!string.IsNullOrEmpty(dmodel.OrderExpressIds)) { if (!string.IsNullOrEmpty(dmodel.OrderExpressIds)) {
where += $@" and {nameof(RB_Goods_OrderExpress.Id)} in({dmodel.OrderExpressIds})"; where += $@" and {nameof(RB_Goods_OrderExpress.Id)} in({dmodel.OrderExpressIds})";
} }
if (dmodel.AfterSaleOrderId > 0) {
where += $@" and {nameof(RB_Goods_OrderExpress.AfterSaleOrderId)}={dmodel.AfterSaleOrderId}";
}
string sql = $@"SELECT * FROM RB_Goods_OrderExpress where {where} order by Id asc"; string sql = $@"SELECT * FROM RB_Goods_OrderExpress where {where} order by Id asc";
return Get<RB_Goods_OrderExpress_Extend>(sql).ToList(); return Get<RB_Goods_OrderExpress_Extend>(sql).ToList();
......
...@@ -111,6 +111,34 @@ where {where} group by o.OrderId order by o.CreateDate desc"; ...@@ -111,6 +111,34 @@ where {where} group by o.OrderId order by o.CreateDate desc";
return GetPage<RB_Goods_Order_Extend>(pageIndex, pageSize, out count, sql).ToList(); return GetPage<RB_Goods_Order_Extend>(pageIndex, pageSize, out count, sql).ToList();
} }
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Goods_Order_Extend> GetOrderList(RB_Goods_Order_Extend dmodel) {
string where = $" 1=1 and o.{nameof(RB_Goods_Order.Status)}=0";
if (dmodel.TenantId > 0)
{
where += $@" and o.{nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and o.{nameof(RB_Goods_Order.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.OrderId > 0)
{
where += $@" and o.{nameof(RB_Goods_Order.OrderId)}={dmodel.OrderId}";
}
if (!string.IsNullOrEmpty(dmodel.OrderIds)) {
where += $@" and o.{nameof(RB_Goods_Order.OrderId)} in({dmodel.OrderIds})";
}
string sql = $@"SELECT o.* FROM rb_goods_order o
where {where} group by o.OrderId asc";
return Get<RB_Goods_Order_Extend>(sql).ToList();
}
/// <summary> /// <summary>
/// 会员购买 /// 会员购买
/// </summary> /// </summary>
......
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Threading.Tasks;
using Google.Protobuf.WellKnownTypes;
using Mall.Common.API;
using Mall.Common.Plugin;
using Mall.Model.Entity.User;
using Mall.Model.Extend.User;
using Mall.Module.User;
using Mall.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
namespace Mall.WebApi.Controllers.ByteDance
{
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class ByteDanceController : BaseController
{
private readonly UserModule userModule = new UserModule();
/// <summary>
/// 保存客户formId
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public ApiResult SaveFormId()
{
var parms = RequestParm;
JObject parmsJob = JObject.Parse(RequestParm.msg.ToString());
int customerId = parmsJob.GetInt("customerId");
string formId = parmsJob.GetStringValue("formId");
// string openid = GetWx(code);
RB_Member_User customerInfo = new RB_Member_User();
//判断是否绑定了openid
customerInfo = userModule.GetMemberUserInfo(customerId);
if (customerInfo != null)
{
ByteDanceCustomer wechatExtend = new ByteDanceCustomer
{
FormCreateDate = System.DateTime.Now,
FormId = formId,
Openid = customerInfo.OpenId,
UserID = customerInfo.Id
};
List<ByteDanceCustomer> listCustomerWechat = new List<ByteDanceCustomer>
{
wechatExtend
};
CacheManager.ByteDance.ByteDanceRedis.SetDyteDanceInfo(listCustomerWechat);
}
return ApiResult.Success("");
}
/// <summary>
/// 向客户抖音小程序发送消息
/// </summary>
/// <param name="content"></param>
/// <param name="model"></param>
/// <param name="ID"></param>
/// <param name="guestModel"></param>
public void SendMsg(string content, ByteDanceCustomer model, int ID, RB_Member_User userModel)
{
//谁来接受微信消息通知
string tempOpenId = model.Openid;
//要使用的form_id
string formId = "";
var list = CacheManager.ByteDance.ByteDanceRedis.GetByteDanceList(model.UserID, formId);
if (list != null && list.Any())
{
formId = list.OrderBy(x => x.FormCreateDate).FirstOrDefault().FormId;
string WeChatSendTemplate = Common.Config.ByteDanceSendTemplate;
var tempData = new
{
keyword1 = new
{
value = "旅客意见调查表",
},
keyword2 = new
{
value = userModel.AliasName,
},
keyword3 = new
{
value = content,
},
};
//拼接字符串
var msgData = new
{
access_token = "",
touser = tempOpenId,//openId,推送给谁,给那个用户
template_id = WeChatSendTemplate,//模板消息ID,在微信小程序后台的模板消息里有.。这个是*****成功通知。的id
// topcolor = "#173177",
page = "",//点击消息卡片之后打开的小程序页面地址,空则无跳转。       
form_id = formId,//要从服务器数据库里取最近7天时间最长的一条没有使用的来,用完了要设置这个formId被用过了。
data = tempData
};
string postData = JsonHelper.Serialize(msgData);
string tempUrl = "https://developer.toutiao.com/api/apps/game/template/send";
string resulr = WebRequestPostOrGet(tempUrl, postData);
CacheManager.ByteDance.ByteDanceRedis.RemoveCacheKey(model.UserID.ToString(), formId, model);
}
}
/// <summary>
/// 发送消息
/// </summary>
/// <param name="sUrl"></param>
/// <param name="sParam"></param>
/// <returns></returns>
public static string WebRequestPostOrGet(string sUrl, string sParam)
{
byte[] bt = System.Text.Encoding.UTF8.GetBytes(sParam);
Uri uriurl = new Uri(sUrl);
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(uriurl);//HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url + (url.IndexOf("?") > -1 ? "" : "?") + param);
req.Method = "Post";
req.Timeout = 120 * 1000;
req.ContentType = "application/x-www-form-urlencoded;";
req.ContentLength = bt.Length;
using (Stream reqStream = req.GetRequestStream())//using 使用可以释放using段内的内存
{
reqStream.Write(bt, 0, bt.Length);
reqStream.Flush();
}
try
{
using (WebResponse res = req.GetResponse())
{
Stream resStream = res.GetResponseStream();
StreamReader resStreamReader = new StreamReader(resStream, System.Text.Encoding.UTF8);
string resLine;
System.Text.StringBuilder resStringBuilder = new System.Text.StringBuilder();
while ((resLine = resStreamReader.ReadLine()) != null)
{
resStringBuilder.Append(resLine + System.Environment.NewLine);
}
resStream.Close();
resStreamReader.Close();
return resStringBuilder.ToString();
}
}
catch (Exception ex)
{
return ex.Message;//url错误时候回报错
}
}
public ApiResult GetTest()
{
string info = ExecuteInCmd("ipconfig");
// ProcessCore.ExecuteOutCmd("-I http://www.baidu.com", @"C:\curl.exe");
return ApiResult.Success("", info);
}
/// <summary>
/// 执行外部命令
/// </summary>
/// <param name="argument">命令参数</param>
/// <param name="application">命令程序路径</param>
/// <returns>执行结果</returns>
public static string ExecuteOutCmd(string argument, string applocaltion)
{
using (var process = new System.Diagnostics.Process())
{
process.StartInfo.Arguments = argument;
process.StartInfo.FileName = applocaltion;
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.CreateNoWindow = true;
process.Start();
process.StandardInput.AutoFlush = true;
process.StandardInput.WriteLine("exit");
//获取cmd窗口的输出信息
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
process.Close();
return output;
}
}
/// <summary>
/// 执行内部命令(cmd.exe 中的命令)
/// </summary>
/// <param name="cmdline">命令行</param>
/// <returns>执行结果</returns>
public static string ExecuteInCmd(string cmdline)
{
using (var process = new System.Diagnostics.Process())
{
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.CreateNoWindow = true;
process.Start();
process.StandardInput.AutoFlush = true;
process.StandardInput.WriteLine(cmdline + "&exit");
//获取cmd窗口的输出信息
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
process.Close();
return output;
}
}
}
}
\ No newline at end of file
...@@ -189,7 +189,7 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -189,7 +189,7 @@ namespace Mall.WebApi.Controllers.MallBase
y.OrderType, y.OrderType,
OrderTypeName = y.OrderType.GetEnumName(), OrderTypeName = y.OrderType.GetEnumName(),
y.GoodsName, y.GoodsName,
y.Specification, SpecificationList = JsonConvert.DeserializeObject<List<string>>(y.Specification),
y.ProductCode, y.ProductCode,
y.Final_Price, y.Final_Price,
y.Number y.Number
...@@ -219,44 +219,7 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -219,44 +219,7 @@ namespace Mall.WebApi.Controllers.MallBase
} }
return orderModule.GetAppletMyOrderInfo(OrderId, userInfo.UserId, userInfo.TenantId, userInfo.MallBaseId); return orderModule.GetAppletMyOrderInfo(OrderId, userInfo.UserId, userInfo.TenantId, userInfo.MallBaseId);
} }
/// <summary>
/// 获取我的订单商品售后初始信息
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAppletMyOrderAfterSaleInfo()
{
var req = RequestParm;
var userInfo = AppletUserInfo;
JObject parms = JObject.Parse(req.msg.ToString());
int OrderDetailId = parms.GetInt("OrderDetailId", 0);
if (OrderDetailId <= 0)
{
return ApiResult.ParamIsNull();
}
return orderModule.GetAppletMyOrderAfterSaleInfo(OrderDetailId, userInfo.UserId, userInfo.TenantId, userInfo.MallBaseId);
}
/// <summary>
/// 申请售后
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetAppletMyOrderAfterSale() {
var req = RequestParm;
var userInfo = AppletUserInfo;
JObject parms = JObject.Parse(req.msg.ToString());
int OrderDetailId = parms.GetInt("OrderDetailId", 0);
if (OrderDetailId <= 0)
{
return ApiResult.ParamIsNull();
}
return ApiResult.Success();
}
/// <summary> /// <summary>
/// 获取我的订单快递信息 /// 获取我的订单快递信息
...@@ -383,9 +346,11 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -383,9 +346,11 @@ namespace Mall.WebApi.Controllers.MallBase
if ((item.Number ?? 0) <= 0) { if ((item.Number ?? 0) <= 0) {
return ApiResult.ParamIsNull("请传递商品数量"); return ApiResult.ParamIsNull("请传递商品数量");
} }
if (string.IsNullOrEmpty(item.Specification)) { if (item.SpecificationList == null || !item.SpecificationList.Any())
return ApiResult.ParamIsNull("请传递规格名"); {
return ApiResult.ParamIsNull("请传递规格名SpecificationList");
} }
item.Specification = JsonConvert.SerializeObject(item.SpecificationList);
} }
demodel.BuyerMessage ??= "";//买家留言 demodel.BuyerMessage ??= "";//买家留言
...@@ -437,6 +402,170 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -437,6 +402,170 @@ namespace Mall.WebApi.Controllers.MallBase
if (flag) { return ApiResult.Success(); } else { return ApiResult.Failed(); } if (flag) { return ApiResult.Success(); } else { return ApiResult.Failed(); }
} }
/// <summary>
/// 获取我的订单商品售后申请页面 订单信息
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAppletMyOrderAfterSaleInfo()
{
var req = RequestParm;
var userInfo = AppletUserInfo;
JObject parms = JObject.Parse(req.msg.ToString());
int OrderDetailId = parms.GetInt("OrderDetailId", 0);
if (OrderDetailId <= 0)
{
return ApiResult.ParamIsNull();
}
return orderModule.GetAppletMyOrderAfterSaleInfo(OrderDetailId, userInfo.UserId, userInfo.TenantId, userInfo.MallBaseId);
}
/// <summary>
/// 申请售后
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetAppletMyOrderAfterSale()
{
var req = RequestParm;
var userInfo = AppletUserInfo;
RB_Goods_OrderAfterSale_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_OrderAfterSale_Extend>(req.msg.ToString());
if ((demodel.OrderDetialId??0) <= 0)
{
return ApiResult.ParamIsNull("请传递订单明细id");
}
if (string.IsNullOrEmpty(demodel.Remark)) {
return ApiResult.ParamIsNull("请输入退换货原因");
}
if (demodel.Type == 1) {
if ((demodel.Refund ?? 0) <= 0) {
return ApiResult.ParamIsNull("请输入退款金额");
}
}
if ((demodel.ReNumber ?? 0) <= 0) {
return ApiResult.ParamIsNull("数量不正确");
}
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
demodel.UserId = userInfo.UserId;
demodel.Status = 0;
demodel.ReOrderStatus = Common.Enum.Goods.OrderAfterSaleStatusEnum.Auditing;
if (demodel.VoucherList != null && demodel.VoucherList.Any()){
demodel.Voucher = JsonConvert.SerializeObject(demodel.VoucherList);
}
bool flag = orderModule.SetAppletMyOrderAfterSale(demodel);
if (flag) { return ApiResult.Success(); } else { return ApiResult.Failed(); }
}
/// <summary>
/// 获取买家发货页面详情
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAppletOrderBuyerToDeliverInfo() {
var req = RequestParm;
var userInfo = AppletUserInfo;
JObject parms = JObject.Parse(req.msg.ToString());
int ReOrderId = parms.GetInt("ReOrderId", 0);
if (ReOrderId <= 0) {
return ApiResult.ParamIsNull();
}
return orderModule.GetAppletOrderBuyerToDeliverInfo(ReOrderId, userInfo.TenantId, userInfo.MallBaseId);
}
/// <summary>
/// 用户发货
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetAppletOrderSendGoods() {
var req = RequestParm;
var userInfo = AppletUserInfo;
JObject parms = JObject.Parse(req.msg.ToString());
int ReOrderId = parms.GetInt("ReOrderId", 0);
int ExpressId = parms.GetInt("ExpressId", 0);
string ExpressNumber = parms.GetStringValue("ExpressNumber");
if (ReOrderId <= 0)
{
return ApiResult.ParamIsNull();
}
if (ExpressId <= 0) {
return ApiResult.ParamIsNull("请选择快递");
}
if (string.IsNullOrEmpty(ExpressNumber)) {
return ApiResult.ParamIsNull("请输入快递单号");
}
bool flag = orderModule.SetAppletOrderSendGoods(ReOrderId, ExpressId, ExpressNumber, userInfo.TenantId, userInfo.MallBaseId);
if (flag) { return ApiResult.Success(); } else { return ApiResult.Failed(); }
}
/// <summary>
/// 获取售后订单详情
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAppletOrderAfterSaleInfo() {
var req = RequestParm;
var userInfo = AppletUserInfo;
JObject parms = JObject.Parse(req.msg.ToString());
int ReOrderId = parms.GetInt("ReOrderId", 0);
if (ReOrderId <= 0)
{
return ApiResult.ParamIsNull();
}
return orderModule.GetAppletOrderAfterSaleInfo(ReOrderId, userInfo.TenantId, userInfo.MallBaseId);
}
/// <summary>
/// 售后订单分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAppletOrderAfterPageList()
{
var parms = RequestParm;
var userInfo = AppletUserInfo;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(parms.msg.ToString());
RB_Goods_OrderAfterSale_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_OrderAfterSale_Extend>(parms.msg.ToString());
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
demodel.UserId = userInfo.UserId;
var list = orderModule.GetAppletOrderAfterPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.ReOrderId,
x.ReOrderNo,
OrderDetailModel = new
{
x.OrderDetailModel.Id,
x.OrderDetailModel.GoodsName,
x.OrderDetailModel.GoodsId,
x.OrderDetailModel.CoverImagePath,
SpecificationList = JsonConvert.DeserializeObject<List<string>>(x.OrderDetailModel.Specification),
x.OrderDetailModel.Final_Price
},
x.Type,
x.ReNumber,
x.Remark,
x.Income,
x.Refund,
x.RefundActual,
x.ReOrderStatus,
ReOrderStatusName = x.ReOrderStatus.GetEnumName(),
x.TenantId,
x.MallBaseId,
CreateDate = x.CreateDate.HasValue ? x.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""
});
return ApiResult.Success("", pagelist);
}
#endregion #endregion
} }
} }
\ No newline at end of file
...@@ -1304,7 +1304,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -1304,7 +1304,8 @@ namespace Mall.WebApi.Controllers.MallBase
x.GoodsWeight, x.GoodsWeight,
x.InventoryNum, x.InventoryNum,
x.SellingPrice, x.SellingPrice,
x.SpecificationSort x.SpecificationSort,
x.AttrList
}), }),
AreaList= model.AreaList.Select(x=>new { AreaList= model.AreaList.Select(x=>new {
x.Id, x.Id,
...@@ -1320,12 +1321,32 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -1320,12 +1321,32 @@ namespace Mall.WebApi.Controllers.MallBase
x.ThreeCommission, x.ThreeCommission,
x.TwoCommission x.TwoCommission
}), }),
MemberPriceList= model.MemberPriceList.Select(x=>new { DistributionCommissionTreeList= model.DistributionCommissionTreeList.Select(x=>new {
x.Id,
x.SpecificationSort,
x.AttrList,
GradeCommissionList= x.GradeCommissionList.Select(y=>new {
y.DistributorGrade,
y.OneCommission,
y.ThreeCommission,
y.TwoCommission
})
}),
MemberPriceList = model.MemberPriceList.Select(x=>new {
x.Id, x.Id,
x.MemberGrade, x.MemberGrade,
x.MemberPrice, x.MemberPrice,
x.SpecificationSort x.SpecificationSort
}), }),
MemberPriceTreeList= model.MemberPriceTreeList.Select(x=>new {
x.Id,
x.SpecificationSort,
x.AttrList,
GradePriceList= x.GradePriceList.Select(y=>new {
y.MemberGrade,
y.MemberPrice
})
}),
model.CarouselImageList, model.CarouselImageList,
model.ServiceList model.ServiceList
}); });
......
...@@ -4,6 +4,10 @@ ...@@ -4,6 +4,10 @@
<TargetFramework>netcoreapp3.0</TargetFramework> <TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<Compile Remove="Controllers\ByteDance\ByteDanceController.cs" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<Content Remove="web.config" /> <Content Remove="web.config" />
</ItemGroup> </ItemGroup>
...@@ -25,5 +29,9 @@ ...@@ -25,5 +29,9 @@
<ProjectReference Include="..\Mall.ThirdCore\Mall.ThirdCore.csproj" /> <ProjectReference Include="..\Mall.ThirdCore\Mall.ThirdCore.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Folder Include="Controllers\ByteDance\" />
</ItemGroup>
</Project> </Project>
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
"ProjectUrl": "D:/project/GitProject/tripfriend", "ProjectUrl": "D:/project/GitProject/tripfriend",
"DeveloperKitsPort": "63994", "DeveloperKitsPort": "63994",
"FirstPage": "pages/index/index.html", "FirstPage": "pages/index/index.html",
"ByteDanceSendTemplate": "https://developer.toutiao.com/api/apps/game/template/send",
"RedisSetting": { "RedisSetting": {
"RedisServer": "192.168.2.214", "RedisServer": "192.168.2.214",
"RedisPort": "6379", "RedisPort": "6379",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment