【新增】增加易联云小票打印机后台配置表【CoreCmsPrinter】,取消使用配置文件配置,并且支持多台打印机绑定不同门店,实现不同门店不同打印机打单。

This commit is contained in:
大灰灰
2022-09-17 02:54:50 +08:00
parent 1fc786d39c
commit 790237fa6c
52 changed files with 3209 additions and 387 deletions

View File

@@ -0,0 +1,67 @@
using CoreCms.Net.Model.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CoreCms.Net.Model.ViewModels.YiLianYun
{
/// <summary>
/// 易联云全局配置
/// </summary>
public static class YiLianYunConfig
{
/// <summary>
/// 授权相关地址
/// </summary>
public const string AuthUrl = "https://open-api.10ss.net/oauth/oauth";
/// <summary>
/// 获取终端状态地址
/// </summary>
public const string GetPrintStatusUrl = "https://open-api.10ss.net/printer/getprintstatus";
/// <summary>
/// 文本打印地址
/// </summary>
public const string PrintTextUrl = "https://open-api.10ss.net/print/index";
/// <summary>
/// 小票打印模板
/// </summary>
public static StringBuilder PrintTmpModel(CoreCmsOrder listResult)
{
var printStr = new StringBuilder();
printStr.Append("<center>--" + "支付" + "订单--</center>\r");
printStr.Append("................................\r");
printStr.Append("<center>-- -</center>\r");
printStr.Append("下单时间:" + listResult.createTime + "\r");
printStr.Append("订单编号:" + listResult.orderId + "\r");
printStr.Append("**************商品**************\r");
printStr.Append("<center>--购买明细--</center>\r");
//printStr.Append("<center>--其他消费--</center>\r");
//printStr.Append("餐盒 1 2\r");
printStr.Append("................................\r");
printStr.Append("积分抵扣:¥" + listResult.pointMoney + "\r");
printStr.Append("订单优惠:¥" + listResult.orderDiscountAmount + "\r");
printStr.Append("商品优惠:¥" + listResult.goodsDiscountAmount + "\r");
printStr.Append("优惠券:¥" + listResult.couponDiscountAmount + "\r");
printStr.Append("总价:¥" + listResult.orderAmount + "\r");
printStr.Append("*******************************\r");
printStr.Append("区域:" + listResult.shipAreaName + "\r");
printStr.Append("地址:" + listResult.shipAddress + "\r");
printStr.Append("联系:" + listResult.shipName + " " + listResult.shipMobile + "\r");
printStr.Append("***************完结*************\r");
return printStr;
}
}
}

View File

@@ -0,0 +1,184 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CoreCms.Net.Model.ViewModels.YiLianYun
{
/// <summary>
/// 易联云获取accessToken请求实体
/// </summary>
public class YiLianYunParam
{
/// <summary>
/// 易联云颁发给开发者的应用ID 非空值
/// </summary>
public string client_id { get; set; }
/// <summary>
/// 授与方式(固定为'client_credentials'
/// </summary>
public string grant_type { get; set; } = "client_credentials";
/// <summary>
/// 签名 详见API文档列表-接口签名
/// </summary>
public string sign { get; set; }
/// <summary>
/// 授权权限传all
/// </summary>
public string scope { get; set; } = "all";
/// <summary>
/// 当前服务器时间戳(10位)
/// </summary>
public int timestamp { get; set; }
/// <summary>
/// 36位随机用来唯一标记此次调用响应对象中会包含相同的id。UUID以36字节的字符串表示
/// </summary>
public string id { get; set; }
}
/// <summary>
/// 使用Refresh token更新Access Token请求实体
/// </summary>
public class RefreshYiLianYunToken
{
/// <summary>
/// 易联云颁发给开发者的应用ID 非空值
/// </summary>
public string client_id { get; set; }
/// <summary>
/// 更新access_token所需
/// </summary>
public string refresh_token { get; set; }
/// <summary>
/// 授与方式(固定为'client_credentials'
/// </summary>
public string grant_type { get; set; } = "client_credentials";
/// <summary>
/// 签名 详见API文档列表-接口签名
/// </summary>
public string sign { get; set; }
/// <summary>
/// 授权权限传all
/// </summary>
public string scope { get; set; } = "all";
/// <summary>
/// 当前服务器时间戳(10位)
/// </summary>
public int timestamp { get; set; }
/// <summary>
/// 36位随机用来唯一标记此次调用响应对象中会包含相同的id。UUID以36字节的字符串表示
/// </summary>
public string id { get; set; }
}
/// <summary>
/// 使用Refresh token更新Access Token请求实体
/// </summary>
public class GetPrintStatusParam
{
/// <summary>
/// 易联云颁发给开发者的应用ID 非空值
/// </summary>
public string client_id { get; set; }
/// <summary>
/// 授权的token 必要参数
/// </summary>
public string access_token { get; set; }
/// <summary>
/// 易联云打印机终端号
/// </summary>
public string machine_code { get; set; }
/// <summary>
/// 签名 详见API文档列表-接口签名
/// </summary>
public string sign { get; set; }
/// <summary>
/// 当前服务器时间戳(10位)
/// </summary>
public int timestamp { get; set; }
/// <summary>
/// 36位随机用来唯一标记此次调用响应对象中会包含相同的id。UUID以36字节的字符串表示
/// </summary>
public string id { get; set; }
}
/// <summary>
/// 打印提交数据
/// </summary>
public class WordPrintRespone
{
/// <summary>
/// 开发者的应用ID在开放平台创建应用时获得
/// </summary>
public string client_id { get; set; }
/// <summary>
/// 授权的token 必要参数
/// </summary>
public string access_token { get; set; }
/// <summary>
/// 易联云打印机终端号
/// </summary>
public string machine_code { get; set; }
/// <summary>
/// 打印内容(需要urlencode),排版指令详见打印机指令
/// </summary>
public string content { get; set; }
/// <summary>
/// 为 1 时origin_id 进行幂等处理,请确定 origin_id 的唯一性
/// </summary>
public int idempotence { get; set; }
/// <summary>
/// 商户系统内部订单号要求32个字符内只能是数字、大小写字母 且在同一个client_id下唯一。详见商户订单号
/// </summary>
public string origin_id { get; set; }
/// <summary>
/// int
/// </summary>
public int timestamp { get; set; }
/// <summary>
/// 签名 详见API文档列表-接口签名
/// </summary>
public string sign { get; set; }
/// <summary>
/// idUUID4 详见API文档列表-uuid4
/// </summary>
public string id { get; set; }
}
}

View File

@@ -0,0 +1,101 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CoreCms.Net.Model.ViewModels.YiLianYun
{
/// <summary>
/// 易联云授权返回数据
/// </summary>
public class YiLianYunAuthResult
{
/// <summary>
/// 返回状态码
/// </summary>
public string error { get; set; }
/// <summary>
/// 状态码说明
/// </summary>
public string error_description { get; set; }
/// <summary>
/// 结果集
/// </summary>
public Body body { get; set; }
/// <summary>
/// 结果集详情
/// </summary>
public class Body
{
public string access_token { get; set; }
public string refresh_token { get; set; }
public object machine_code { get; set; }
public int expires_in { get; set; }
public string scope { get; set; }
}
}
/// <summary>
/// 获取机器在线状态
/// </summary>
public class YiLianYunGetPrintStatusResult
{
/// <summary>
/// 返回状态码
/// </summary>
public string error { get; set; }
/// <summary>
/// 状态码说明
/// </summary>
public string error_description { get; set; }
/// <summary>
/// 结果集
/// </summary>
public Body body { get; set; }
/// <summary>
/// 结果集详情
/// </summary>
public class Body
{
public string state { get; set; }
}
}
/// <summary>
/// 文本打印返回结果集
/// </summary>
public class YiLianYunGetPrintTextResult
{
/// <summary>
/// 返回状态码
/// </summary>
public string error { get; set; }
/// <summary>
/// 状态码说明
/// </summary>
public string error_description { get; set; }
/// <summary>
/// 结果集
/// </summary>
public Body body { get; set; }
/// <summary>
/// 结果集详情
/// </summary>
public class Body
{
/// <summary>
/// 订单号
/// </summary>
public string id { get; set; }
public string origin_id { get; set; }
}
}
}