ISF增加购买Bond需求开发:添加【获取计费规则】接口

master
zhangxiaofeng 1 year ago
parent f53c370e6c
commit ba0179334d

@ -881,19 +881,39 @@
赠送余额
</summary>
</member>
<member name="P:Common.DJYModel.CustPrice.PRICE">
<summary>
单价(主单)
</summary>
</member>
<member name="P:Common.DJYModel.CustPrice.PRICEF">
<summary>
pricef 分单
单价(分单)
</summary>
</member>
<member name="P:Common.DJYModel.CustPrice.PRICEFQG">
<summary>
青港主单
单价(青港主单
</summary>
</member>
<member name="P:Common.DJYModel.CustPrice.PRICEQG">
<summary>
青港分单
单价(青港分单)
</summary>
</member>
<member name="T:Common.DJYModel.CustPriceDto">
<summary>
计费规则 <see cref="T:Common.DJYModel.CustPrice"/> 类型的Dto类
</summary>
</member>
<member name="P:Common.DJYModel.CustPriceDto.BSTYPE">
<summary>
业务类型
</summary>
</member>
<member name="P:Common.DJYModel.CustPriceDto.PRICE">
<summary>
单价(主单)
</summary>
</member>
<member name="T:Common.DJYModel.DataBase">

@ -32,25 +32,28 @@ namespace Common.DJYModel
[JsonProperty, Column(DbType = "decimal(19,2)")]
public decimal? GiftBalance { get; set; }
[JsonProperty, Column(DbType = "decimal(19,2)")]
/// <summary>
/// 单价(主单)
/// </summary>
[JsonProperty, Column(DbType = "decimal(19,2)")]
public decimal? PRICE { get; set; }
/// <summary>
/// pricef 分单
/// </summary>
[JsonProperty, Column(DbType = "decimal(19,2)")]
/// <summary>
/// 单价(分单)
/// </summary>
[JsonProperty, Column(DbType = "decimal(19,2)")]
public decimal PRICEF { get; set; } = 0M;
/// <summary>
/// 青港主单
/// </summary>
[JsonProperty, Column(DbType = "decimal(19,2)")]
/// <summary>
/// 单价(青港主单)
/// </summary>
[JsonProperty, Column(DbType = "decimal(19,2)")]
public decimal PRICEFQG { get; set; } = 0M;
/// <summary>
/// 青港分单
/// </summary>
[JsonProperty, Column(DbType = "decimal(19,2)")]
/// <summary>
/// 单价(青港分单)
/// </summary>
[JsonProperty, Column(DbType = "decimal(19,2)")]
public decimal PRICEQG { get; set; } = 0M;
[JsonProperty]

@ -0,0 +1,22 @@
namespace Common.DJYModel
{
/// <summary>
/// 计费规则 <see cref="CustPrice"/> 类型的Dto类
/// </summary>
public class CustPriceDto
{
public string GID { get; set; }
/// <summary>
/// 业务类型
/// </summary>
public int? BSTYPE { get; set; }
public string COMID { get; set; }
public string COMNAME { get; set; }
/// <summary>
/// 单价(主单)
/// </summary>
public decimal? PRICE { get; set; }
}
}

@ -44,7 +44,7 @@ namespace djy.IService.Isf
/// 获取模板
/// </summary>
/// <returns></returns>
List<ISF_CompanyTemplate> GetTemplate(User user, string CompanyType, string InFoType,string TemPlateName);
List<ISF_CompanyTemplate> GetTemplate(User user, string CompanyType, string InFoType, string TemPlateName);
/// <summary>
@ -66,6 +66,14 @@ namespace djy.IService.Isf
Response SaveReceipt(string msg );
Response SaveReceipt(string msg);
/// <summary>
/// 获取计费规则
/// </summary>
/// <param name="bstype">业务类型</param>
/// <param name="user">登录人信息</param>
/// <returns>计费规则</returns>
Task<Response<CustPriceDto>> GetPrice(string bstype, User user);
}
}

@ -14,7 +14,8 @@ namespace djy.Service.DjyService
public AutoMapperConfig() {
CreateMap<tb_OpenModuleServer, ModuleServerDto>().ReverseMap();
CreateMap<tb_sys_Dictionary, tb_sys_DictionaryDto>().ReverseMap();
CreateMap<CustPrice, CustPriceDto>().ReverseMap();
}
}
}

@ -16,6 +16,7 @@ using System.Reflection;
using Common.Extensions;
using Common.DJYModel;
using Common.Entity;
using Common.Utilities;
namespace djy.Service.DjyService
{
@ -125,7 +126,17 @@ namespace djy.Service.DjyService
return count > 0 ? true : false;
}
/// <summary>
/// 创建Response响应对象
/// </summary>
/// <param name="code">结果代码</param>
/// <param name="message">结果描述</param>
internal Response<T> CreateResponse<T>(int code, string message)
{
return new Response<T>() { Code = code, Message = message };
}
}

@ -56,6 +56,37 @@ namespace djy.Service.Isf
result.data = list;
return result;
}
/// <summary>
/// 获取计费规则
/// </summary>
/// <param name="bstype">业务类型</param>
/// <param name="user">登录人信息</param>
/// <returns>计费规则</returns>
public async Task<Response<CustPriceDto>> GetPrice(string bstype, User user)
{
try
{
if (!int.TryParse(bstype, out int _bstype))
{
return CreateResponse<CustPriceDto>(400, "参数[bstype:业务类型]为空或格式错误");
}
CustPrice custPrice = await DbBus.Get(DbList.djydb).Select<CustPrice>().Where(w => w.BSTYPE == _bstype && w.SENDTYPE == 0 && w.COMNAME == user.COMNAME).ToOneAsync();
if (custPrice == null)
{
return CreateResponse<CustPriceDto>(201, "没有找到此业务的计费规则");
}
CustPriceDto custPriceDto = custPrice.MapTo<CustPriceDto>();
return new Response<CustPriceDto>() { Code = 200, Message = "查询成功", Result = custPriceDto };
}
catch (Exception ex)
{
_LogsAdd("GetPrice", "post", $"ISF_GetPrice接口{ex.Message}");
return CreateResponse<CustPriceDto>(500, ex.Message);
}
}
#endregion
#region 新增编辑
@ -280,7 +311,7 @@ namespace djy.Service.Isf
#endregion
#region 第三方接口
/// <param name="msgType">类型(1.原始 2.修改 3.删除 4.重发)</param>
public async Task<Response> SendDE(string Gid, User user, string msgType)
{
Response req = new Response();
@ -311,7 +342,7 @@ namespace djy.Service.Isf
var gethtml = "";
if (msgType != "3")
{
if (msgType == "1" && master.NewNotice == "新增发送")
if (msgType == "1" && master.NewNotice == "新增发送")
{
req.Code = 200;
req.Message = "当前单据已经发送,不能再次发送!如有疑问,请联系相关客服!";
@ -368,7 +399,7 @@ namespace djy.Service.Isf
provinceCode = item.ProvinceCode,
countryCode = item.CountryCode,
postcode = item.PostCode,
hstCode = item.CompanyType!="MF"?item.HstCode: master.HstCode,
hstCode = item.CompanyType != "MF" ? item.HstCode : master.HstCode,
});
}
@ -394,7 +425,7 @@ namespace djy.Service.Isf
isfinfo.version = "1.0";
string json = JsonConvert.SerializeObject(isfinfo);
_LogsAdd("SendDE", "post", $"ISF接口调用发送{oid}{json}");
Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("user_id", Account.PARAMVALUE);
dic.Add("method", method.PARAMVALUE);
@ -466,7 +497,7 @@ namespace djy.Service.Isf
}
history.Operator = user.SHOWNAME;
history.Remark = user.SHOWNAME + "于" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "发送单据失败,失败原因:" + msg+ " ";
history.Remark = user.SHOWNAME + "于" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "发送单据失败,失败原因:" + msg + " ";
DbBus.Get(DbList.AMSCenter).Insert(history).ExecuteAffrows();
req.Code = 201;
req.Message = "操作失败," + msg;
@ -597,7 +628,7 @@ namespace djy.Service.Isf
{
req.Code = 500;
req.Message = ex.InnerException?.Message ?? ex.Message;
_LogsAdd("SendDE", "post", $"ISF_SendDE接口{req.Message }");
_LogsAdd("SendDE", "post", $"ISF_SendDE接口{req.Message}");
return req;
}
@ -686,7 +717,7 @@ namespace djy.Service.Isf
{
req.Code = 500;
req.Message = ex.InnerException?.Message ?? ex.Message;
_LogsAdd("SendDE", "post", $"AMS_SaveReceipt接口{req.Message }");
_LogsAdd("SendDE", "post", $"AMS_SaveReceipt接口{req.Message}");
return req;
}

@ -41,6 +41,38 @@ namespace djy_Isfpi.Controllers.ISF
return ser.Load(request, user, aut);
}
/// <summary>
/// 查询指定业务类型的计费规则
/// </summary>
/// <param name="bstype">业务类型代码</param>
/// <returns></returns>
[HttpGet("GetPrice")]
public async Task<Response<CustPriceDto>> GetPrice([FromQuery] string bstype)
{
try
{
var user = GetUserInfo();
if (user == null)
{
return new Response<CustPriceDto>()
{
Code = 401,
Message = "登录过期,请重新登录!"
};
}
Response<CustPriceDto> result = await ser.GetPrice(bstype, user);
return result;
}
catch (Exception ex)
{
return new Response<CustPriceDto>()
{
Code = 500,
Message = ex.InnerException?.Message ?? ex.Message
};
}
}
#endregion
#region 新增/编辑

@ -1,13 +1,4 @@
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:5002",
"sslPort": 0
}
},
{
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
@ -17,7 +8,13 @@
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"djy_AmsApi": {
"Docker": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/swagger",
"publishAllPorts": true
},
"NetCore": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "swagger/index.html",
@ -26,12 +23,15 @@
},
"applicationUrl": "http://localhost:5000",
"dotnetRunMessages": "true"
},
"Docker": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/swagger",
"publishAllPorts": true
}
},
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:5002",
"sslPort": 0
}
}
}

@ -4,5 +4,12 @@
<NameOfLastUsedPublishProfile>C:\Project\DJYAMS\djyweb_ams\web\djy_IsfApi\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
<Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
<Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath>
<ActiveDebugProfile>NetCore</ActiveDebugProfile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
</PropertyGroup>
</Project>
Loading…
Cancel
Save