增加 shop 永不过期API
This commit is contained in:
1 parent
90dacd88a3
commit
766afa2fb8
11 files changed
+2155
-2135
No files matched your search
+1911
-1902
File diff suppressed because it is too large.
Load diff
@@ -11,7 +11,7 @@ namespace KJD_Web.Controllers.WX
|
||||
{
|
||||
[RoutePrefix("wxxd_shop")]
|
||||
[Route("{action}")]
|
||||
public class WXShopController:AsmxApiController
|
||||
public partial class WXShopController:AsmxApiController
|
||||
{
|
||||
|
||||
public IHttpActionResult get_shop_list()
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
using KJD_Web.Requests;
|
||||
using KJD_Web.Services.Shops;
|
||||
using Store.Framework.Dtos;
|
||||
using Store.Framework.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Http;
|
||||
|
||||
namespace KJD_Web.Controllers.WX;
|
||||
|
||||
public partial class WXShopController : AsmxApiController
|
||||
{
|
||||
private readonly ShopService _shopService;
|
||||
|
||||
public WXShopController(ShopService shopService)
|
||||
{
|
||||
_shopService = shopService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新商铺永久续费
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public IHttpActionResult UpdateShopNeverExpires(ShopNeverExpiresRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var ret = _shopService.UpdateShopNeverExpires(request.UserName, request.ShopId, request.OwnerUser, request.IsNever);
|
||||
return Ok(ApiResult.Success(ret));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return Ok(ApiResult.Fail(ex.Message));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -193,6 +193,7 @@
|
||||
<Compile Include="Controllers\AsmxApiController.cs" />
|
||||
<Compile Include="Controllers\ImageCacheController.cs" />
|
||||
<Compile Include="Controllers\WX\OEMController.cs" />
|
||||
<Compile Include="Controllers\WX\WXShop_N_Controller.cs" />
|
||||
<Compile Include="Controllers\WX\WXUser_N_Controller.cs" />
|
||||
<Compile Include="Controllers\WX\WXShopController.cs" />
|
||||
<Compile Include="Controllers\WX\WXUserController.cs" />
|
||||
@@ -218,6 +219,7 @@
|
||||
<Compile Include="Model\WxModel\oms_wei_transfer_extra_package.cs" />
|
||||
<Compile Include="Model\WxModel\yh_sync_logistics.cs" />
|
||||
<Compile Include="Requests\RequestBase.cs" />
|
||||
<Compile Include="Requests\ShopRequest.cs" />
|
||||
<Compile Include="Requests\Users\CUUserInfoRequest.cs" />
|
||||
<Compile Include="Requests\Users\RebateRecordRequest.cs" />
|
||||
<Compile Include="Responses\Users\RebateRecordResponse.cs" />
|
||||
@@ -264,6 +266,7 @@
|
||||
<Compile Include="Repository\UserPointsRecordRepository.cs" />
|
||||
<Compile Include="Requests\Users\ShopRenewRequest.cs" />
|
||||
<Compile Include="Services\ImageCacheService.cs" />
|
||||
<Compile Include="Services\Shops\ShopService.cs" />
|
||||
<Compile Include="Services\Users\UserService.FeeRecord.cs" />
|
||||
<Compile Include="Services\Users\UserService.OEM.cs" />
|
||||
<Compile Include="Services\Users\UserService.cs" />
|
||||
|
||||
@@ -76,6 +76,8 @@ namespace KJD_Web.Model.ShopModel
|
||||
public long? erp_shop_id { get; internal set; }
|
||||
public long? erp_corporate_account_user_id { get; internal set; }
|
||||
public long? erp_manage_user_id { get; internal set; }
|
||||
|
||||
public bool never_expires { get; internal set; }
|
||||
}
|
||||
|
||||
public class AuthInfo
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
using Store.Framework.Dtos;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
|
||||
namespace KJD_Web.Requests;
|
||||
|
||||
public class ShopNeverExpiresRequest : SignRequestBase
|
||||
{
|
||||
public string ShopId { get; set; }
|
||||
public string OwnerUser { get; set; }
|
||||
public bool IsNever { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
using MAX.Core.DependencyInjection;
|
||||
using MAX.Core.Logger;
|
||||
using Store.Contracts.Shops;
|
||||
using Store.Contracts.User.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
|
||||
namespace KJD_Web.Services.Shops;
|
||||
|
||||
public class ShopService : ITransientDependency
|
||||
{
|
||||
private readonly IFreeSql _freeSql;
|
||||
private readonly ILoggerFacade _logger;
|
||||
private readonly IUserService _userService;
|
||||
|
||||
public ShopService(IFreeSql freeSql, ILoggerFacade logger, IUserService userService)
|
||||
{
|
||||
_freeSql = freeSql;
|
||||
_logger = logger;
|
||||
_userService = userService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 修改商铺永不过期
|
||||
/// </summary>
|
||||
public bool UpdateShopNeverExpires(string userName, string shopId,string ownerUser, bool isNever)
|
||||
{
|
||||
if (string.IsNullOrEmpty(userName)) return false;
|
||||
if (string.IsNullOrEmpty(shopId)) return false;
|
||||
var user = _userService.GetUserByUserName(userName);
|
||||
if (user == null) return false;
|
||||
if (user.SaLevel != 1) return false;
|
||||
|
||||
var affrows = _freeSql.Update<ShopEntity>()
|
||||
.Set(a => a.NeverExpires, isNever)
|
||||
.Where(a => a.ShopId == shopId && a.UserName == ownerUser)
|
||||
.ExecuteAffrows();
|
||||
return affrows == 1;
|
||||
}
|
||||
}
|
||||
@@ -44,7 +44,7 @@ namespace KJD_Web.Services.Users
|
||||
{
|
||||
return GetOEMByUserName(userName) != null;
|
||||
}
|
||||
|
||||
|
||||
public UserEntity GetUserByUserName(string userName)
|
||||
{
|
||||
if (string.IsNullOrEmpty(userName)) return null;
|
||||
|
||||
+122
-228
@@ -1,255 +1,149 @@
|
||||
using FreeSql.DataAnnotations;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Store.Contracts.Shops;
|
||||
|
||||
/// <summary>
|
||||
/// 店铺表
|
||||
/// </summary>
|
||||
[Table(Name = "erp.o_shop")]
|
||||
public class ShopEntity
|
||||
namespace Store.Contracts.Shops
|
||||
{
|
||||
/// <summary>
|
||||
/// 主键
|
||||
/// 店铺表
|
||||
/// </summary>
|
||||
[Column(Name = "id", IsPrimary = true, IsIdentity = true)]
|
||||
public long Id { get; set; }
|
||||
[Table(Name = "wxxd.shop")]
|
||||
public class ShopEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// 表id
|
||||
/// </summary>
|
||||
[Column(Name = "id", IsPrimary = true, IsIdentity = true)]
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 店铺名
|
||||
/// </summary>
|
||||
[Column(Name = "name")]
|
||||
public string Name { get; set; }
|
||||
/// <summary>
|
||||
/// login_name
|
||||
/// </summary>
|
||||
[Column(Name = "login_name")]
|
||||
public string LoginName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 对应第三方平台Id
|
||||
/// </summary>
|
||||
[Column(Name = "type")]
|
||||
public int Type { get; set; }
|
||||
/// <summary>
|
||||
/// login_pass
|
||||
/// </summary>
|
||||
[Column(Name = "login_pass")]
|
||||
public string LoginPass { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 登录获取的Cookie信息
|
||||
/// </summary>
|
||||
[Column(Name = "login_cookie")]
|
||||
public string LoginCookie { get; set; }
|
||||
/// <summary>
|
||||
/// cookie
|
||||
/// </summary>
|
||||
[Column(Name = "cookie")]
|
||||
public string Cookie { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 访问需要的header参数
|
||||
/// </summary>
|
||||
[Column(Name = "header_params")]
|
||||
public string HeaderParams { get; set; }
|
||||
/// <summary>
|
||||
/// cookie2
|
||||
/// </summary>
|
||||
[Column(Name = "cookie2")]
|
||||
public string Cookie2 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 店铺url
|
||||
/// </summary>
|
||||
[Column(Name = "url")]
|
||||
public string Url { get; set; }
|
||||
/// <summary>
|
||||
/// anti_contents
|
||||
/// </summary>
|
||||
[Column(Name = "anti_contents")]
|
||||
public string AntiContents { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
[Column(Name = "sort")]
|
||||
public int Sort { get; set; }
|
||||
/// <summary>
|
||||
/// openid
|
||||
/// </summary>
|
||||
[Column(Name = "openid")]
|
||||
public string Openid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态(1正常2已删除)
|
||||
/// </summary>
|
||||
[Column(Name = "status")]
|
||||
public int? Status { get; set; }
|
||||
/// <summary>
|
||||
/// shop_id
|
||||
/// </summary>
|
||||
[Column(Name = "shop_id")]
|
||||
public string ShopId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 描述
|
||||
/// </summary>
|
||||
[Column(Name = "remark")]
|
||||
public string Remark { get; set; }
|
||||
/// <summary>
|
||||
/// shop_account
|
||||
/// </summary>
|
||||
[Column(Name = "shop_account")]
|
||||
public string ShopAccount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 第三方平台店铺id,淘宝天猫开放平台使用
|
||||
/// </summary>
|
||||
[Column(Name = "seller_id")]
|
||||
public long? SellerId { get; set; }
|
||||
/// <summary>
|
||||
/// sub_user_name
|
||||
/// </summary>
|
||||
[Column(Name = "sub_user_name")]
|
||||
public string SubUserName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 授权时间
|
||||
/// </summary>
|
||||
[Column(Name = "auth_time")]
|
||||
public long? AuthTime { get; set; }
|
||||
/// <summary>
|
||||
/// user_name
|
||||
/// </summary>
|
||||
[Column(Name = "user_name")]
|
||||
public string UserName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 服务市场授权到期时间
|
||||
/// </summary>
|
||||
[Column(Name = "expire_time")]
|
||||
public long? ExpireTime { get; set; }
|
||||
/// <summary>
|
||||
/// 店铺分组名称(非子账号分组)
|
||||
/// </summary>
|
||||
[Column(Name = "group_name")]
|
||||
public string GroupName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Appkey
|
||||
/// </summary>
|
||||
[Column(Name = "app_key")]
|
||||
public string AppKey { get; set; }
|
||||
/// <summary>
|
||||
/// add_time
|
||||
/// </summary>
|
||||
[Column(Name = "add_time")]
|
||||
public DateTime? AddTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Appsercet
|
||||
/// </summary>
|
||||
[Column(Name = "app_secret")]
|
||||
public string AppSecret { get; set; }
|
||||
/// <summary>
|
||||
/// mdy_time
|
||||
/// </summary>
|
||||
[Column(Name = "mdy_time")]
|
||||
public DateTime? MdyTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 小红椒的access_token
|
||||
/// </summary>
|
||||
[Column(Name = "access_token_xhj")]
|
||||
public string AccessTokenXhj { get; set; }
|
||||
/// <summary>
|
||||
/// 店铺所属公司
|
||||
/// </summary>
|
||||
[Column(Name = "company_name")]
|
||||
public string CompanyName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 第三方平台sessionKey(access_token)
|
||||
/// </summary>
|
||||
[Column(Name = "access_token")]
|
||||
public string AccessToken { get; set; }
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[Column(Name = "notes")]
|
||||
public string Notes { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 小红椒多久到期
|
||||
/// </summary>
|
||||
[Column(Name = "expires_in_xhj")]
|
||||
public long? ExpiresInXhj { get; set; }
|
||||
/// <summary>
|
||||
/// login_status
|
||||
/// </summary>
|
||||
[Column(Name = "login_status")]
|
||||
public string LoginStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 到期
|
||||
/// </summary>
|
||||
[Column(Name = "expires_in")]
|
||||
public long? ExpiresIn { get; set; }
|
||||
/// <summary>
|
||||
/// 店铺每月商品上传限额剩余
|
||||
/// </summary>
|
||||
[Column(Name = "add_product_remaining")]
|
||||
public int AddProductRemaining { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 小红椒access_token开始时间
|
||||
/// </summary>
|
||||
[Column(Name = "access_token_begin_xhj")]
|
||||
public long? AccessTokenBeginXhj { get; set; }
|
||||
/// <summary>
|
||||
/// 上传限额所处月份
|
||||
/// </summary>
|
||||
[Column(Name = "add_product_month")]
|
||||
public byte AddProductMonth { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// access_token开始时间
|
||||
/// </summary>
|
||||
[Column(Name = "access_token_begin")]
|
||||
public long? AccessTokenBegin { get; set; }
|
||||
/// <summary>
|
||||
/// 分配的二级超管的user_name
|
||||
/// </summary>
|
||||
[Column(Name = "operate_sub_sa_name")]
|
||||
public string OperateSubSaName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 刷新token
|
||||
/// </summary>
|
||||
[Column(Name = "refresh_token")]
|
||||
public string RefreshToken { get; set; }
|
||||
/// <summary>
|
||||
/// 分配二级超管的时间
|
||||
/// </summary>
|
||||
[Column(Name = "add_sub_sa_time")]
|
||||
public DateTime? AddSubSaTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 刷新token过期时间
|
||||
/// </summary>
|
||||
[Column(Name = "refresh_token_timeout")]
|
||||
public long? RefreshTokenTimeout { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 代理api请求凭证
|
||||
/// </summary>
|
||||
[Column(Name = "session")]
|
||||
public string Session { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 代理api获取请求凭证的shopkey字段
|
||||
/// </summary>
|
||||
[Column(Name = "shop_key")]
|
||||
public string ShopKey { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 请求url
|
||||
/// </summary>
|
||||
[Column(Name = "api_request_url")]
|
||||
public string ApiRequestUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 回掉URL
|
||||
/// </summary>
|
||||
[Column(Name = "api_callback_url")]
|
||||
public string ApiCallbackUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 负责人id
|
||||
/// </summary>
|
||||
[Column(Name = "manage_user_id")]
|
||||
public long? ManageUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 默认运费模板id,抖店上传商品使用
|
||||
/// </summary>
|
||||
[Column(Name = "default_freight_template_id")]
|
||||
public long? DefaultFreightTemplateId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 默认品牌id,抖店上传商品使用
|
||||
/// </summary>
|
||||
[Column(Name = "default_brand_id")]
|
||||
public long? DefaultBrandId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 店铺是否已开启尺码自动优化,0:不需要开启,1:未开启,2:已开启
|
||||
/// </summary>
|
||||
[Column(Name = "auto_size_template_optimize")]
|
||||
public byte? AutoSizeTemplateOptimize { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 店铺分组
|
||||
/// </summary>
|
||||
[Column(Name = "shop_group_id")]
|
||||
public long? ShopGroupId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 企业账号用户id
|
||||
/// </summary>
|
||||
[Column(Name = "corporate_account_user_id")]
|
||||
public long? CorporateAccountUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 国家/地区
|
||||
/// </summary>
|
||||
[Column(Name = "region_id")]
|
||||
public long? RegionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 商户ID
|
||||
/// </summary>
|
||||
[Column(Name = "merchant_id")]
|
||||
public long? MerchantId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
[Column(Name = "create_time")]
|
||||
public DateTime? CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建人
|
||||
/// </summary>
|
||||
[Column(Name = "create_by")]
|
||||
public string CreateBy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新时间
|
||||
/// </summary>
|
||||
[Column(Name = "update_time")]
|
||||
public DateTime? UpdateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新人
|
||||
/// </summary>
|
||||
[Column(Name = "update_by")]
|
||||
public string UpdateBy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// api调用状态0未开启1已开启
|
||||
/// </summary>
|
||||
[Column(Name = "api_status")]
|
||||
public int ApiStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否开启自动购买外采礼物单,0:未开启,1:已开启
|
||||
/// </summary>
|
||||
[Column(Name = "auto_purchase_external_gift")]
|
||||
public int? AutoPurchaseExternalGift { get; set; }
|
||||
}
|
||||
/// <summary>
|
||||
/// login_status2
|
||||
/// </summary>
|
||||
[Column(Name = "login_status2")]
|
||||
public string LoginStatus2 { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
[Column(Name = "never_expires")]
|
||||
public bool NeverExpires { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ namespace Store.Framework.Commons
|
||||
/// </summary>
|
||||
public override List<Assembly> GetAssemblies()
|
||||
{
|
||||
LoadAssemblies(HttpRuntime.BinDirectory);
|
||||
LoadAssemblies(BinDirectory);
|
||||
return GetAssembliesFromCurrentAppDomain();
|
||||
}
|
||||
|
||||
@@ -22,5 +22,21 @@ namespace Store.Framework.Commons
|
||||
{
|
||||
return ["Max", "Store"];
|
||||
}
|
||||
|
||||
|
||||
public string BinDirectory
|
||||
{
|
||||
get
|
||||
{
|
||||
// 传统 ASP.NET Web 环境(IIS 或 VS 调试的 Web 应用)
|
||||
if (HttpRuntime.AppDomainAppVirtualPath != null)
|
||||
{
|
||||
return HttpRuntime.BinDirectory;
|
||||
}
|
||||
|
||||
// 测试环境或非 Web 环境:返回当前程序集所在目录
|
||||
return AppDomain.CurrentDomain.BaseDirectory;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -97,7 +97,7 @@ internal class GiftLogisticsTest
|
||||
public void BuyTest()
|
||||
{
|
||||
var logisticsService = _container.Resolve<VirtualLogisticsService>();
|
||||
var ret = logisticsService.Buy("15222220006", "260923-573109716621688", "4439363558732480512");
|
||||
var ret = logisticsService.Buy("16603999396", "260924-061299770880192", "4439386298687207168");
|
||||
if (ret != null)
|
||||
{
|
||||
Console.WriteLine(string.Join(" ", ret.Select(a => $"{a.OrderId}:{a.TrackingNumber}")));
|
||||
@@ -129,7 +129,7 @@ internal class GiftLogisticsTest
|
||||
public void GetOrderStatus()
|
||||
{
|
||||
var logisticsService = _container.Resolve<VirtualLogisticsService>();
|
||||
var data = logisticsService.GetOrderStatus(["260923-407759756800192"]);
|
||||
var data = logisticsService.GetOrderStatus(["260927-623588227382767"]);
|
||||
Console.WriteLine(string.Join(" ", data.Select(a => $"{a.OrderSn}:{a.KuaidiSn}:{a.ShopOrder}:{a.DeliveryStatus}")));
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user