mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 17:43:26 +08:00
【新增】增加易联云小票打印机后台配置表【CoreCmsPrinter】,取消使用配置文件配置,并且支持多台打印机绑定不同门店,实现不同门店不同打印机打单。
This commit is contained in:
210
CoreCms.Net.Model/Entities/Api/CoreCmsPrinter.cs
Normal file
210
CoreCms.Net.Model/Entities/Api/CoreCmsPrinter.cs
Normal file
@@ -0,0 +1,210 @@
|
||||
/***********************************************************************
|
||||
* Project: CoreCms
|
||||
* ProjectName: 核心内容管理系统
|
||||
* Web: https://www.corecms.net
|
||||
* Author: 大灰灰
|
||||
* Email: jianweie@163.com
|
||||
* CreateTime: 2022/9/16 20:41:09
|
||||
* Description: 暂无
|
||||
***********************************************************************/
|
||||
|
||||
using SqlSugar;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace CoreCms.Net.Model.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// 打印机列表
|
||||
/// </summary>
|
||||
public partial class CoreCmsPrinter
|
||||
{
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public CoreCmsPrinter()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 序列
|
||||
/// </summary>
|
||||
[Display(Name = "序列")]
|
||||
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
|
||||
|
||||
public System.Int32 id { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 应用名称
|
||||
/// </summary>
|
||||
[Display(Name = "应用名称")]
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
|
||||
|
||||
|
||||
public System.String name { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 应用编码
|
||||
/// </summary>
|
||||
[Display(Name = "应用编码")]
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
|
||||
|
||||
|
||||
public System.String code { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 易联云应用id
|
||||
/// </summary>
|
||||
[Display(Name = "易联云应用id")]
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
|
||||
|
||||
|
||||
public System.String clientId { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 易联云应用密钥
|
||||
/// </summary>
|
||||
[Display(Name = "易联云应用密钥")]
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
|
||||
|
||||
|
||||
public System.String clientSecret { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 易联云终端号
|
||||
/// </summary>
|
||||
[Display(Name = "易联云终端号")]
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
|
||||
|
||||
|
||||
public System.String machineCode { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 易联云终端密钥
|
||||
/// </summary>
|
||||
[Display(Name = "易联云终端密钥")]
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
|
||||
|
||||
|
||||
public System.String msign { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 打印机名称
|
||||
/// </summary>
|
||||
[Display(Name = "打印机名称")]
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
|
||||
|
||||
|
||||
public System.String printerName { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 联系电话
|
||||
/// </summary>
|
||||
[Display(Name = "联系电话")]
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
|
||||
|
||||
|
||||
public System.String phone { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 访问令牌,API调用时需要,令牌可以重复使用无失效时间,请开发者全局保存
|
||||
/// </summary>
|
||||
[Display(Name = "访问令牌,API调用时需要,令牌可以重复使用无失效时间,请开发者全局保存")]
|
||||
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
|
||||
|
||||
|
||||
public System.String accessToken { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 更新access_token所需,有效时间35天
|
||||
/// </summary>
|
||||
[Display(Name = "更新access_token所需,有效时间35天")]
|
||||
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
|
||||
|
||||
|
||||
public System.String refreshToken { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 令牌的有效时间,单位秒 (30天),注:该模式下可忽略此参数
|
||||
/// </summary>
|
||||
[Display(Name = "令牌的有效时间,单位秒 (30天),注:该模式下可忽略此参数")]
|
||||
|
||||
|
||||
public System.Int32? expiresIn { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 有效期截止时间
|
||||
/// </summary>
|
||||
[Display(Name = "有效期截止时间")]
|
||||
public System.DateTime? expiressEndTime { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 其他参数
|
||||
/// </summary>
|
||||
[Display(Name = "其他参数")]
|
||||
public System.String parameters { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
[Display(Name = "创建时间")]
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
|
||||
|
||||
public System.DateTime createTime { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 是否默认
|
||||
/// </summary>
|
||||
[Display(Name = "是否默认")]
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
|
||||
|
||||
public System.Boolean isDefault { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 是否开启
|
||||
/// </summary>
|
||||
[Display(Name = "是否开启")]
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
|
||||
|
||||
public System.Boolean isOpen { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 绑定门店
|
||||
/// </summary>
|
||||
[Display(Name = "绑定门店")]
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
|
||||
|
||||
public System.Int32 storeId { get; set; }
|
||||
}
|
||||
}
|
||||
67
CoreCms.Net.Model/ViewModels/YiLianYun/YiLianYunConfig.cs
Normal file
67
CoreCms.Net.Model/ViewModels/YiLianYun/YiLianYunConfig.cs
Normal 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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
184
CoreCms.Net.Model/ViewModels/YiLianYun/YiLianYunParam.cs
Normal file
184
CoreCms.Net.Model/ViewModels/YiLianYun/YiLianYunParam.cs
Normal 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; }
|
||||
}
|
||||
|
||||
}
|
||||
101
CoreCms.Net.Model/ViewModels/YiLianYun/YiLianYunResult.cs
Normal file
101
CoreCms.Net.Model/ViewModels/YiLianYun/YiLianYunResult.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user