Commit a252a2e9 authored by 吴春's avatar 吴春
parents a2ca7659 8cf94c51
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
<ProjectReference Include="..\Mall.CacheManager\Mall.CacheManager.csproj" /> <ProjectReference Include="..\Mall.CacheManager\Mall.CacheManager.csproj" />
<ProjectReference Include="..\Mall.Common\Mall.Common.csproj" /> <ProjectReference Include="..\Mall.Common\Mall.Common.csproj" />
<ProjectReference Include="..\Mall.Model\Mall.Model.csproj" /> <ProjectReference Include="..\Mall.Model\Mall.Model.csproj" />
<ProjectReference Include="..\Mall.Module.User\Mall.Module.User.csproj" />
<ProjectReference Include="..\Mall.Repository\Mall.Repository.csproj" /> <ProjectReference Include="..\Mall.Repository\Mall.Repository.csproj" />
</ItemGroup> </ItemGroup>
......
...@@ -11,6 +11,7 @@ using Mall.Common.Plugin; ...@@ -11,6 +11,7 @@ using Mall.Common.Plugin;
using Mall.Model.Entity.Product; using Mall.Model.Entity.Product;
using Mall.Model.Extend.Product; using Mall.Model.Extend.Product;
using Mall.Model.Extend.User; using Mall.Model.Extend.User;
using Mall.Module.User;
using Mall.Repository; using Mall.Repository;
using Mall.Repository.BaseSetUp; using Mall.Repository.BaseSetUp;
using Mall.Repository.Finance; using Mall.Repository.Finance;
...@@ -4599,6 +4600,25 @@ namespace Mall.Module.Product ...@@ -4599,6 +4600,25 @@ namespace Mall.Module.Product
return goods_OrderRepository.GetEntity(OrderId).RefMapperTo<RB_Goods_Order_Extend>(); return goods_OrderRepository.GetEntity(OrderId).RefMapperTo<RB_Goods_Order_Extend>();
} }
/// <summary>
/// 获取订单明细实体
/// </summary>
/// <param name="OrderId"></param>
/// <returns></returns>
public RB_Goods_OrderDetail_Extend GetOrderDetailInfo(int OrderId)
{
return goods_OrderDetailRepository.GetEntity(OrderId).RefMapperTo<RB_Goods_OrderDetail_Extend>();
}
/// <summary>
/// 获取用户信息
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public RB_Member_User_Extend GetMemberUserInfo(int userId) {
return member_UserRepository.GetEntity(userId).RefMapperTo<RB_Member_User_Extend>();
}
/// <summary> /// <summary>
/// 获取售后订单详情 /// 获取售后订单详情
/// </summary> /// </summary>
...@@ -4817,8 +4837,11 @@ namespace Mall.Module.Product ...@@ -4817,8 +4837,11 @@ namespace Mall.Module.Product
}; };
bool flag = goods_OrderAfterSaleRepository.Update(keyValues, wheres); bool flag = goods_OrderAfterSaleRepository.Update(keyValues, wheres);
if (flag) if (flag)
{
if (tenantId == 1)
{ {
OrderRefundFinanceModule(model, tenantId, mallBaseId); OrderRefundFinanceModule(model, tenantId, mallBaseId);
}
goods_OrderAfterSaleLogRepository.Insert(new RB_Goods_OrderAfterSaleLog() goods_OrderAfterSaleLogRepository.Insert(new RB_Goods_OrderAfterSaleLog()
{ {
Id = 0, Id = 0,
...@@ -5261,6 +5284,33 @@ namespace Mall.Module.Product ...@@ -5261,6 +5284,33 @@ namespace Mall.Module.Product
Type = 1 Type = 1
}, trans); }, trans);
} }
var omodel = goods_OrderRepository.GetEntity(demodel.OrderId);
var umodel = member_UserRepository.GetEntity(omodel.UserId);
string goodsName = dlist.FirstOrDefault().GoodsName;
if (dlist.Count > 1)
{
if (goodsName.Length > 12)
{
goodsName = goodsName.Substring(0, 12) + "..";
}
goodsName += "等" + dlist.Count + "件商品";
}
else {
if (goodsName.Length > 18)
{
goodsName = goodsName.Substring(0, 18) + "..";
}
}
if (demodel.Type == 1)
{
var exModel = logistics_ExpressRepository.GetEntity(demodel.ExpressId);
new MiniProgramMsgModule().SendOrderDeliverMsg(demodel.TenantId, demodel.MallBaseId, umodel.OpenId, "商品已发货,注意查收!", demodel.ExpressNumber, exModel.Name ?? "其他", goodsName);
}
else {
//new MiniProgramMsgModule().SendOrderDeliverMsg(demodel.TenantId, demodel.MallBaseId, umodel.OpenId, demodel.Remark ?? "", "", "其他方式", goodsName);
}
} }
} }
goods_OrderExpressRepository.DBSession.Commit(); goods_OrderExpressRepository.DBSession.Commit();
...@@ -5470,6 +5520,23 @@ namespace Mall.Module.Product ...@@ -5470,6 +5520,23 @@ namespace Mall.Module.Product
} }
//余额支付回滚 //余额支付回滚
string goodsName = detailList.FirstOrDefault().GoodsName;
if (detailList.Count > 1)
{
if (goodsName.Length > 12)
{
goodsName = goodsName.Substring(0, 12) + "..";
}
goodsName += "等" + detailList.Count + "件商品";
}
else
{
if (goodsName.Length > 18)
{
goodsName = goodsName.Substring(0, 18) + "..";
}
}
new MiniProgramMsgModule().SendOrderCancelMsg(tenantId, mallBaseId, umodel.OpenId, omodel.OrderNo, omodel.CancelRemark ?? "", (omodel.Income ?? 0).ToString(), goodsName);
} }
//记录日志 //记录日志
string Content = $"客人申请取消订单,审核:{(type == 1 ? "同意" : "拒绝")}"; string Content = $"客人申请取消订单,审核:{(type == 1 ? "同意" : "拒绝")}";
...@@ -5489,7 +5556,7 @@ namespace Mall.Module.Product ...@@ -5489,7 +5556,7 @@ namespace Mall.Module.Product
}); });
} }
goods_OrderRepository.DBSession.Commit(); goods_OrderRepository.DBSession.Commit();
if (flag && type == 1) { if (flag && type == 1 && tenantId == 1) {
//同意 创建财务单据 //同意 创建财务单据
OrderRefundFinanceModule(omodel); OrderRefundFinanceModule(omodel);
} }
...@@ -5503,12 +5570,231 @@ namespace Mall.Module.Product ...@@ -5503,12 +5570,231 @@ namespace Mall.Module.Product
} }
} }
/// <summary>
/// 后台强制取消订单
/// </summary>
/// <param name="omodel"></param>
/// <param name="type"></param>
/// <param name="remark"></param>
/// <param name="tenantId"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public bool SetOrderForcedToCancel(RB_Goods_Order_Extend omodel, string RefundOrderNo, int tenantId, int mallBaseId)
{
var trans = goods_OrderRepository.DbTransaction;
try
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() { };
keyValues.Add(nameof(RB_Goods_Order.OrderStatus), OrderStatusEnum.Cancel);
keyValues.Add(nameof(RB_Goods_Order.RefundOrderNo), RefundOrderNo);
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Goods_Order.OrderId),
FiledValue=omodel.OrderId,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Goods_Order.TenantId),
FiledValue=tenantId,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Goods_Order.MallBaseId),
FiledValue=mallBaseId,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag = goods_OrderRepository.Update(keyValues, wheres, trans);
if (flag)
{
#region 回滚
int TotalIntegralNumber = 0;
//回滚商品库存
var detailList = goods_OrderDetailRepository.GetOrderDetailList(new RB_Goods_OrderDetail_Extend() { OrderId = omodel.OrderId, TenantId = tenantId, MallBaseId = mallBaseId });
if (detailList.Any())
{
string goodsIds = string.Join(",", detailList.Select(x => x.GoodsId ?? 0).Distinct());
var goodsList = goodsRepository.GetList(new RB_Goods_Extend() { GoodsIds = goodsIds, TenantId = tenantId, MallBaseId = mallBaseId });
var speciPList = goods_SpecificationPriceRepository.GetList(new RB_Goods_SpecificationPrice_Extend() { GoodsIds = goodsIds, TenantId = tenantId, MallBaseId = mallBaseId });
foreach (var item in detailList)
{
var gmodel = goodsList.Where(x => x.Id == item.GoodsId).FirstOrDefault();
if (gmodel == null)
{
continue;
}
if (string.IsNullOrEmpty(item.SpecificationSort))
{
if (gmodel.IsCustomSpecification == 1)
{
continue;
}
}
else
{
if (gmodel.IsCustomSpecification != 1)
{
continue;
}
var speciPModel = speciPList.Where(x => x.GoodsId == item.GoodsId && x.SpecificationSort == item.SpecificationSort).FirstOrDefault();
if (speciPModel == null)
{
continue;
}
//更新商品规格表库存 + 商品表总库存
Dictionary<string, object> keyValues2 = new Dictionary<string, object>() {
{ nameof(RB_Goods_SpecificationPrice.InventoryNum), (speciPModel.InventoryNum??0)+(item.Number??0)}
};
List<WhereHelper> wheres2 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Goods_SpecificationPrice.Id),
FiledValue=speciPModel.Id,
OperatorEnum=OperatorEnum.Equal
}
};
goods_SpecificationPriceRepository.Update(keyValues2, wheres2, trans);
}
//更新商品表库存
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() {
{ nameof(RB_Goods.InventoryNum), (gmodel.InventoryNum??0)+(item.Number??0)}
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Goods.Id),
FiledValue=gmodel.Id,
OperatorEnum=OperatorEnum.Equal
}
};
goodsRepository.Update(keyValues1, wheres1, trans);
goods_LogRepository.Insert(new RB_Goods_Log()
{
Id = 0,
Type = 2,
SourceId = item.GoodsId,
Content = $"后台强制取消订单{omodel.OrderId},还原商品库存:" + item.Number,
CreateDate = DateTime.Now,
MallBaseId = mallBaseId,
TenantId = tenantId
});
if (item.IntegralNumber > 0)
{
TotalIntegralNumber += (item.IntegralNumber ?? 0);
}
}
}
var umodel = member_UserRepository.GetEntity(omodel.UserId);
//积分抵扣回滚
if (TotalIntegralNumber > 0)
{
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() {
{ nameof(RB_Member_User_Extend.Integral),umodel.Integral + TotalIntegralNumber}
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Member_User_Extend.Id),
FiledValue=umodel.Id,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag2 = member_UserRepository.Update(keyValues1, wheres1, trans);
if (flag2)
{
member_IntegralRepository.Insert(new Model.Entity.User.RB_Member_Integral()
{
Id = 0,
CreateDate = DateTime.Now,
Description = "订单取消返回积分抵扣,订单号:" + omodel.OrderNo,
Image = 0,
Integral = TotalIntegralNumber,
MallBaseId = omodel.MallBaseId,
PlatformType = omodel.OrderSource,
Remarks = "",
TenantId = omodel.TenantId,
Type = Common.Enum.MarketingCenter.RecordTypeEnum.Income,
UserId = omodel.UserId,
OrderId = omodel.OrderId
}, trans);
}
}
//优惠券回滚
if (!string.IsNullOrEmpty(omodel.CouponsIds))
{
var cList = member_CouponRepository.GetList(new RB_Member_DiscountCoupon_Extend() { UseState = 1, Ids = omodel.CouponsIds, UserId = omodel.UserId, TenantId = omodel.TenantId, MallBaseId = omodel.MallBaseId });
foreach (var item in cList)
{
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() {
{ nameof(RB_Member_DiscountCoupon_Extend.UseState),0}
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Member_DiscountCoupon_Extend.Id),
FiledValue=item.Id,
OperatorEnum=OperatorEnum.Equal
}
};
member_CouponRepository.Update(keyValues1, wheres1, trans);
}
}
//余额支付回滚
string goodsName = detailList.FirstOrDefault().GoodsName;
if (detailList.Count > 1)
{
if (goodsName.Length > 12)
{
goodsName = goodsName.Substring(0, 12) + "..";
}
goodsName += "等" + detailList.Count + "件商品";
}
else
{
if (goodsName.Length > 18)
{
goodsName = goodsName.Substring(0, 18) + "..";
}
}
new MiniProgramMsgModule().SendOrderCancelMsg(tenantId, mallBaseId, umodel.OpenId, omodel.OrderNo, omodel.CancelRemark ?? "", (omodel.Income ?? 0).ToString(), goodsName);
#endregion
//记录日志
string Content = $"后台强制取消订单";
goods_LogRepository.Insert(new RB_Goods_Log()
{
Content = Content,
CreateDate = DateTime.Now,
Id = 0,
MallBaseId = mallBaseId,
SourceId = omodel.OrderId,
TenantId = tenantId,
Type = 1
});
}
goods_OrderRepository.DBSession.Commit();
if (flag && tenantId == 1)
{
//同意 创建财务单据
OrderRefundFinanceModule(omodel, true);
}
return flag;
}
catch (Exception ex)
{
LogHelper.Write(ex, "");
goods_OrderRepository.DBSession.Rollback();
return false;
}
}
/// <summary> /// <summary>
/// 生成退款单据 /// 生成退款单据
/// </summary> /// </summary>
/// <param name="omodel"></param> /// <param name="omodel"></param>
/// <returns></returns> /// <returns></returns>
public bool OrderRefundFinanceModule(RB_Goods_Order_Extend omodel) public bool OrderRefundFinanceModule(RB_Goods_Order_Extend omodel, bool IsForcedToCancel = false)
{ {
var flag = false; var flag = false;
try try
...@@ -5536,6 +5822,10 @@ namespace Mall.Module.Product ...@@ -5536,6 +5822,10 @@ namespace Mall.Module.Product
}; };
item.IsPublic = 8;//默认原路退款 item.IsPublic = 8;//默认原路退款
string Remark = "名称:" + umodel.Name + "(" + umodel.Id + ")" + " " + System.DateTime.Now.ToString("yyyy年MM月dd日") + " 自动生成财务单据";
if (IsForcedToCancel) {
Remark = "后台强制取消该订单,用户名称:" + umodel.Name + "(" + umodel.Id + ")" + " " + System.DateTime.Now.ToString("yyyy年MM月dd日") + " 自动生成财务单据";
}
var financeObj = new var financeObj = new
{ {
CreateBy = Config.NetworkDirector, CreateBy = Config.NetworkDirector,
...@@ -5550,7 +5840,7 @@ namespace Mall.Module.Product ...@@ -5550,7 +5840,7 @@ namespace Mall.Module.Product
OrderSource = 16, OrderSource = 16,
OtherType = 14, OtherType = 14,
ReFinanceId = omodel.OrderId, ReFinanceId = omodel.OrderId,
Remark = "名称:" + umodel.Name + "(" + umodel.Id + ")" + " " + System.DateTime.Now.ToString("yyyy年MM月dd日") + "自动生成财务单据", Remark = Remark,
detailList detailList
}; };
string sign = EncryptionHelper.AesEncrypt(JsonHelper.Serialize(financeObj), Config.FinanceKey); string sign = EncryptionHelper.AesEncrypt(JsonHelper.Serialize(financeObj), Config.FinanceKey);
...@@ -5862,6 +6152,10 @@ namespace Mall.Module.Product ...@@ -5862,6 +6152,10 @@ namespace Mall.Module.Product
} }
} }
} }
else if (type == 3) {
//强制取消
}
} }
return flag; return flag;
} }
......
...@@ -1678,7 +1678,7 @@ namespace Mall.Module.Product ...@@ -1678,7 +1678,7 @@ namespace Mall.Module.Product
}) })
}), }),
goods_stock = model.InventoryNum, goods_stock = model.InventoryNum,
virtual_sales = model.SalesNum, virtual_sales = (model.SalesNum ?? 0),
confine_count = model.LimitBuyGoodsNum, confine_count = model.LimitBuyGoodsNum,
pieces = model.FullNumPinkage,//满件包邮 pieces = model.FullNumPinkage,//满件包邮
forehead = model.FullMoneyPinkage,//满额包邮 forehead = model.FullMoneyPinkage,//满额包邮
...@@ -1714,7 +1714,7 @@ namespace Mall.Module.Product ...@@ -1714,7 +1714,7 @@ namespace Mall.Module.Product
area_type=x.AreaType area_type=x.AreaType
}) } }, }) } },
form_id = model.FormsId, form_id = model.FormsId,
sales = model.SalesNum + payment_num,//已售出数量 + 订单商品数量// sales = (model.SalesNum ?? 0) + payment_num,//已售出数量 + 订单商品数量//
name = model.Name, name = model.Name,
original_price = model.OriginalPrice, original_price = model.OriginalPrice,
cover_pic = model.CoverImage, cover_pic = model.CoverImage,
......
...@@ -325,8 +325,19 @@ namespace Mall.Module.User ...@@ -325,8 +325,19 @@ namespace Mall.Module.User
string goodsName = orderGoodsList.FirstOrDefault().GoodsName; string goodsName = orderGoodsList.FirstOrDefault().GoodsName;
if (orderGoodsList.Count > 1) if (orderGoodsList.Count > 1)
{ {
if (goodsName.Length > 12)
{
goodsName = goodsName.Substring(0, 12) + "..";
}
goodsName += "等" + orderGoodsList.Count + "件商品"; goodsName += "等" + orderGoodsList.Count + "件商品";
} }
else
{
if (goodsName.Length > 18)
{
goodsName = goodsName.Substring(0, 18) + "..";
}
}
appletWeChatModule.SendOrderSucceedMsg(oldOrder.TenantId, oldOrder.MallBaseId, umodel.OpenId, oldOrder.OrderNo, oldOrder.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss"), (oldOrder.Income ?? 0).ToString(), goodsName); appletWeChatModule.SendOrderSucceedMsg(oldOrder.TenantId, oldOrder.MallBaseId, umodel.OpenId, oldOrder.OrderNo, oldOrder.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss"), (oldOrder.Income ?? 0).ToString(), goodsName);
} }
return flag; return flag;
......
...@@ -1919,7 +1919,7 @@ namespace Mall.Module.User ...@@ -1919,7 +1919,7 @@ namespace Mall.Module.User
} }
}; };
bool flag = distributor_RemitRepository.Update(keyValues, wheres); bool flag = distributor_RemitRepository.Update(keyValues, wheres);
if (flag) if (flag && uid == "1")
{ {
//提现审核通过 自动生成财务单据 //提现审核通过 自动生成财务单据
OrderIncomeFinanceModule(remitId, Convert.ToInt32(uid), mallBaseId, remark); OrderIncomeFinanceModule(remitId, Convert.ToInt32(uid), mallBaseId, remark);
......
...@@ -24,7 +24,7 @@ namespace Mall.Repository.Product ...@@ -24,7 +24,7 @@ namespace Mall.Repository.Product
/// <returns></returns> /// <returns></returns>
public List<RB_Goods_Comment_Extend> GetPageList(int pageIndex, int pageSize, out long count, RB_Goods_Comment_Extend dmodel) public List<RB_Goods_Comment_Extend> GetPageList(int pageIndex, int pageSize, out long count, RB_Goods_Comment_Extend dmodel)
{ {
string where = $" 1=1 "; string where = $" 1=1 and c.{nameof(RB_Goods_Comment.Status)}=0 ";
if (dmodel.TenantId > 0) if (dmodel.TenantId > 0)
{ {
where += $@" and c.{nameof(RB_Goods_Comment.TenantId)}={dmodel.TenantId}"; where += $@" and c.{nameof(RB_Goods_Comment.TenantId)}={dmodel.TenantId}";
...@@ -74,7 +74,7 @@ where {where} order by c.Id desc"; ...@@ -74,7 +74,7 @@ where {where} order by c.Id desc";
/// <returns></returns> /// <returns></returns>
public List<RB_Goods_Comment_Extend> GetAppletPageList(int pageIndex, int pageSize, out long count, RB_Goods_Comment_Extend dmodel) public List<RB_Goods_Comment_Extend> GetAppletPageList(int pageIndex, int pageSize, out long count, RB_Goods_Comment_Extend dmodel)
{ {
string where = $" 1=1 "; string where = $" 1=1 and c.{nameof(RB_Goods_Comment.Status)}=0 ";
if (dmodel.TenantId > 0) if (dmodel.TenantId > 0)
{ {
where += $@" and c.{nameof(RB_Goods_Comment.TenantId)}={dmodel.TenantId}"; where += $@" and c.{nameof(RB_Goods_Comment.TenantId)}={dmodel.TenantId}";
...@@ -123,7 +123,7 @@ where {where} order by c.Id desc"; ...@@ -123,7 +123,7 @@ where {where} order by c.Id desc";
/// <returns></returns> /// <returns></returns>
public List<RB_Goods_Comment_Extend> GetAppletGoodsCommentStatistics(int goodsId, int tenantId, int mallBaseId) public List<RB_Goods_Comment_Extend> GetAppletGoodsCommentStatistics(int goodsId, int tenantId, int mallBaseId)
{ {
string where = $" 1=1 and c.{nameof(RB_Goods_Comment.Is_Show)}=1"; string where = $" 1=1 and c.{nameof(RB_Goods_Comment.Status)}=0 and c.{nameof(RB_Goods_Comment.Is_Show)}=1";
if (tenantId > 0) if (tenantId > 0)
{ {
where += $@" and c.{nameof(RB_Goods_Comment.TenantId)}={tenantId}"; where += $@" and c.{nameof(RB_Goods_Comment.TenantId)}={tenantId}";
......
...@@ -359,7 +359,7 @@ SELECT o.OrderId,o.Income FROM rb_goods_order o ...@@ -359,7 +359,7 @@ SELECT o.OrderId,o.Income FROM rb_goods_order o
INNER JOIN rb_goods_orderdetail od on o.OrderId=od.OrderId INNER JOIN rb_goods_orderdetail od on o.OrderId=od.OrderId
WHERE od.GoodsId={goodsId} and o.`Status`=0 and o.OrderStatus <> 7 GROUP BY o.OrderId)t"; WHERE od.GoodsId={goodsId} and o.`Status`=0 and o.OrderStatus <> 7 GROUP BY o.OrderId)t";
string sql2 = $@" string sql2 = $@"
SELECT SUM(od.Number) as GoodsNum FROM rb_goods_order o SELECT SUM(od.Number) as OrderNum FROM rb_goods_order o
INNER JOIN rb_goods_orderdetail od on o.OrderId=od.OrderId INNER JOIN rb_goods_orderdetail od on o.OrderId=od.OrderId
WHERE od.GoodsId={goodsId} and o.`Status`=0 and o.OrderStatus <> 7"; WHERE od.GoodsId={goodsId} and o.`Status`=0 and o.OrderStatus <> 7";
string sql3 = $@"SELECT COUNT(UserId) AS OrderNum FROM( string sql3 = $@"SELECT COUNT(UserId) AS OrderNum FROM(
......
...@@ -538,6 +538,86 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -538,6 +538,86 @@ namespace Mall.WebApi.Controllers.MallBase
} }
} }
/// <summary>
/// 后台订单强制取消
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetOrderForcedToCancel()
{
var req = RequestParm;
JObject parms = JObject.Parse(req.msg.ToString());
int OrderId = parms.GetInt("OrderId", 0);
//string Remark = parms.GetStringValue("Remark");
if (OrderId <= 0)
{
return ApiResult.ParamIsNull();
}
var omodel = orderModule.GetOrderInfo(OrderId);
if (omodel == null)
{
return ApiResult.Failed("订单不存在");
}
if (omodel.Status == 1)
{
return ApiResult.Failed("订单已删除");
}
if (omodel.Recycled == 1)
{
return ApiResult.Failed("订单已进入回收站无法操作");
}
if (omodel.OrderStatus != OrderStatusEnum.NonPayment && omodel.OrderStatus != OrderStatusEnum.WaitSendGoods)
{
return ApiResult.Failed("该订单已无法取消");
}
int IsNormalServer = Convert.ToInt32(new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("IsNormalServer").Value);
if (IsNormalServer == 1 && omodel.OrderStatus == OrderStatusEnum.WaitSendGoods)
{
//获取小程序信息
var mallModel = orderModule.GetMiniProgramExtend(req.MallBaseId);
int RefundNum = orderModule.GetOrderRefundOnlineTradeNum(OrderId, req.TenantId, req.MallBaseId);
string RefundOrderNo = omodel.OrderNo + (RefundNum + 1);
var pram = new Common.Pay.WeChatPat.PayParam()
{
TotalFee = Convert.ToInt32((omodel.Income ?? 0) * 100),
RefundFee = Convert.ToInt32((omodel.Income ?? 0) * 100),
OrderNumber = omodel.MerchantsNo,
RefundNumber = RefundOrderNo
};
var Robj = new App_Code.PayUtil().Refund(pram, mallModel, _accessor);
if (Robj.IsSuccess)
{
bool flag = orderModule.SetOrderForcedToCancel(omodel, RefundOrderNo, req.TenantId, req.MallBaseId);
if (flag)
{
return ApiResult.Success();
}
else
{
return ApiResult.Failed();
}
}
else
{
LogHelper.Write(JsonConvert.SerializeObject(Robj));
return ApiResult.Failed();
}
}
else
{
bool flag = orderModule.SetOrderForcedToCancel(omodel, "", req.TenantId, req.MallBaseId);
if (flag)
{
return ApiResult.Success();
}
else
{
return ApiResult.Failed();
}
}
}
/// <summary> /// <summary>
/// 修改订单明细价格 /// 修改订单明细价格
/// </summary> /// </summary>
...@@ -1486,6 +1566,18 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -1486,6 +1566,18 @@ namespace Mall.WebApi.Controllers.MallBase
//日志记录 //日志记录
LogHelper.Write("售后订单:" + ReOrderId + ",金额:" + Refund + " 退款记录失败"); LogHelper.Write("售后订单:" + ReOrderId + ",金额:" + Refund + " 退款记录失败");
} }
var detailModel = orderModule.GetOrderDetailInfo(ReModel.OrderDetialId ?? 0);
string goodsName = detailModel?.GoodsName ?? "";
if (goodsName.Length > 18)
{
goodsName = goodsName.Substring(0, 18) + "..";
}
var umodel = orderModule.GetMemberUserInfo(orderModel.UserId ?? 0);
if (goodsName != "" && umodel != null)
{
new MiniProgramMsgModule().SendOrderRefundMsg(orderModel.TenantId, orderModel.MallBaseId, umodel.OpenId, "", orderModel.OrderNo, (Refund).ToString(), goodsName);
}
return ApiResult.Success(""); return ApiResult.Success("");
} }
else else
......
...@@ -1832,6 +1832,8 @@ namespace Mall.WebApi.Controllers.User ...@@ -1832,6 +1832,8 @@ namespace Mall.WebApi.Controllers.User
{ {
LogHelper.Write("提现:" + RemitId + ",失败"); LogHelper.Write("提现:" + RemitId + ",失败");
} }
new MiniProgramMsgModule().SendWithdrawSucceedMsg(model.TenantId, model.MallBaseId, umodel.OpenId, (model.RemitMoney ?? 0).ToString(), (model.Fee ?? 0).ToString(), (model.WithdrawalWay.GetEnumName()), "");
return ApiResult.Success(); return ApiResult.Success();
} }
else else
......
...@@ -86,7 +86,7 @@ namespace Test.Helper ...@@ -86,7 +86,7 @@ namespace Test.Helper
} }
} }
pageIndex++; pageIndex++;
var ranDomNum = new Random().Next(3, 7); var ranDomNum = new Random().Next(2, 5);
Thread.Sleep(1000 * ranDomNum); Thread.Sleep(1000 * ranDomNum);
} }
} }
......
...@@ -201,7 +201,7 @@ DiscountRate,IsMemberPrice,TenantId,MallBaseId,CreateDate,UpdateDate,IsComment,F ...@@ -201,7 +201,7 @@ DiscountRate,IsMemberPrice,TenantId,MallBaseId,CreateDate,UpdateDate,IsComment,F
} }
} }
pageIndex++; pageIndex++;
var ranDomNum = new Random().Next(3, 7); var ranDomNum = new Random().Next(2, 5);
Thread.Sleep(1000 * ranDomNum); Thread.Sleep(1000 * ranDomNum);
} }
} }
......
...@@ -35,11 +35,11 @@ namespace Test.Helper ...@@ -35,11 +35,11 @@ namespace Test.Helper
{ {
foreach (var subItem in tempImgList) foreach (var subItem in tempImgList)
{ {
if (subItem.user_id >= 19992 && subItem.user_id <= 101706) if (subItem.user_id > 101707 && subItem.user_id <= 106252)
{ {
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
//stringBuilder.AppendFormat("update rb_member_user set Photo = '{0}',Name='{1}',SuperiorId={2} where Id = {3}", subItem.avatar, subItem.nickname, subItem.parent_id, subItem.user_id); //stringBuilder.AppendFormat("update rb_member_user set Photo = '{0}',Name='{1}',SuperiorId={2} where Id = {3}", subItem.avatar, subItem.nickname, subItem.parent_id, subItem.user_id);
stringBuilder.AppendFormat("update rb_member_user set SuperiorId={0} where Id = {1} and SuperiorId not in (5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)", subItem.parent_id, subItem.user_id); stringBuilder.AppendFormat("update rb_member_user set Photo = '{0}',SuperiorId={1} where Id = {2} and SuperiorId not in (5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)", subItem.avatar, subItem.parent_id, subItem.user_id);
try try
{ {
var newResult = MySqlHelper.ExecuteNonQuery(MySqlHelper.defaultConnection, System.Data.CommandType.Text, stringBuilder.ToString(), null); var newResult = MySqlHelper.ExecuteNonQuery(MySqlHelper.defaultConnection, System.Data.CommandType.Text, stringBuilder.ToString(), null);
...@@ -70,7 +70,7 @@ namespace Test.Helper ...@@ -70,7 +70,7 @@ namespace Test.Helper
pageCount = 2; pageCount = 2;
List<UserImage> list = new List<UserImage>(); List<UserImage> list = new List<UserImage>();
string newImaApi = "http://wx.weibaoge.cn/web/index.php?r=mall%2Fuser%2Findex&page=" + pageIndex + "&member_level=0&platform=0&keyword="; string newImaApi = "http://wx.weibaoge.cn/web/index.php?r=mall%2Fuser%2Findex&page=" + pageIndex + "&member_level=0&platform=0&keyword=";
cookie = "__login_route=%2Fadmin%2Fpassport%2Flogin; __login_role=admin; HJ_SESSION_ID=lgfv5vck57rj84nh4npn59b4pj; _csrf=1febe37678187521a164220da9a9293f67d6d638a1cc01acebf0d3123757216ea%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22e5vd7mYVeGAfqcBMV_m0lkeiJLXFghtc%22%3B%7D"; cookie = "search={'keyword':'','status':' - 1','sort_prop':'','sort_type':'','cats':[],'date_start':null,'date_end':null,'type':''}; _identity=c964edefdd891bb281844324071fea4e2c1e7d2b21aef031ed81730f4e753d06a%3A2%3A%7Bi%3A0%3Bs%3A9%3A%22_identity%22%3Bi%3A1%3Bs%3A48%3A%22%5B19740%2C%22Cktp5k6Wf3lVS_yjQI_uTgEEE6_ANe-5%22%2C86400%5D%22%3B%7D; HJ_SESSION_ID=tv09q5jnte4v44ca14bnvdi28s; _csrf=9a1b84c62ffd209719019cca9730bf48f33854d3acc2f31982a5ef51ceda400ca%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22QwYL8fmmakdUX981YM7R26-Y5YoMnXxU%22%3B%7D";
string jsonData = HttpGet(newImaApi, cookie); string jsonData = HttpGet(newImaApi, cookie);
if (jsonData != null && !string.IsNullOrEmpty(jsonData)) if (jsonData != null && !string.IsNullOrEmpty(jsonData))
......
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