SYS PARAM 常量

This commit is contained in:
2025-12-22 17:06:36 +08:00
parent f1b91cf536
commit 004cf75e22
25 changed files with 438 additions and 360 deletions

View File

@@ -1,7 +1,7 @@
package com.czg.account.entity;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.annotation.JSONField;
import com.czg.utils.CzgRandomUtils;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
@@ -199,4 +199,8 @@ public class ShopUser implements Serializable {
// 重新拼接字符串
distributionShops = String.join(",", shopSet);
}
public static String generateCode() {
return CzgRandomUtils.randomNumber(10, true);
}
}

View File

@@ -0,0 +1,324 @@
package com.czg.constants;
/**
* 系统参数编码常量类
*
* @author ww
* @date 2025/12/22
* @since 1.0.0
*/
public interface ParamCodeCst {
/**
* 系统通用配置项
* <p>存放跨业务模块的通用系统配置</p>
*/
class System {
/**
* 超掌柜支付回调地址
* <p>支付宝/微信支付完成后,支付平台回调我方系统的地址</p>
*/
public static String PAY_CZG_NOTIFY_URL = "pay_czg_notify_url";
/**
* 排队到号通知
*/
public static String WX_MINI_MSG_CALL_CURRENT = "wx_mini_msg_call_current";
/**
* 排队即将到号提醒
*/
public static String WX_MINI_MSG_CALL_NEAR = "wx_mini_msg_call_near";
/**
* 排队提醒
*/
public static String WX_MINI_MSG_CALL_PASS = "wx_mini_msg_call_pass";
/**
* 小程序会员页面地址
* <p>微信小程序中会员中心页面的跳转地址 分享时 使用</p>
*/
public static String WX_MINI_VIP_URL = "wx_mini_vip_url";
/**
* 桌码生成路径
* <p>餐厅桌码图片生成的基础路径/域名</p>
*/
public static String TABLE_CODE_URL = "table_code_url";
/**
* 短信费用
* <p>单条短信发送的成本费用(单位:元)</p>
*/
public static String SMS_FEE = "sms_fee";
/**
* 店铺订单支付BaseUrl
* <p>店铺订单支付页面的基础域名</p>
*/
public static String SHOP_ORDER_PAY_BASE_URL = "shop_order_pay_base_url";
/**
* 平台名称
* <p>系统对外展示的平台名称(如:超掌柜)</p>
*/
public static String PLATE_NAME = "plate_name";
/**
* 超掌柜退款回调地址
* <p>支付平台处理退款后,回调我方系统的地址</p>
*/
public static String PAY_CZG_REFUND_NOTIFY_URL = "pay_czg_refund_notify_url";
/**
* 超掌柜支付域名
* <p>超掌柜支付相关接口的根域名</p>
*/
public static String PAY_CZG_DOMAIN = "pay_czg_domain";
/**
* 叫号页面地址
* <p>餐厅叫号系统的前端页面地址</p>
*/
public static String CALL_PAGE_URL = "call_page_url";
/**
* 微信原生回调地址
* <p>微信原生支付接口的回调地址(区别于超掌柜封装的回调)</p>
*/
public static String NATIVE_NOTIFY_URL = "native_notify_url";
/**
* 公众号关注位置
* <p>公众号关注入口的展示位置可选值mine-我的页面、order-订单页面、eat-就餐页面</p>
*/
public static String FOLLOW_INDEX = "follow_index";
}
/**
* 微信相关配置项
* <p>包含公众号、小程序、微信支付三大模块的配置</p>
*/
interface Wechat {
/**
* 微信公众号(银收客)配置项
* <p>银收客公众号相关配置,用于发送订阅消息等场景</p>
*/
class Ac {
/**
* 商家每日可创建次数
* <p>商家通过公众号创建订单/活动等的每日上限次数</p>
*/
public static String AC_DAY_COUNT = "ac_day_count";
/**
* 微信公众号AppId银收客主号
* <p>银收客主体公众号的AppId用于发送商品/耗材库存等订阅消息</p>
* wx_account_app_id
*/
public static String SHOP_WX_AC_APP_ID = "shop_wx_ac_app_id";
/**
* 微信公众号Secret银收客主号
* <p>银收客主体公众号的Secret用于获取access_token</p>
*/
public static String SHOP_WX_AC_SECRETE = "shop_wx_ac_secrete";
/**
* 用户订阅公众号AppId银收客CZg
* <p>用户侧订阅的银收客CZg公众号AppId</p>
* wechat_ac_appid
*/
public static String USER_WX_AC_APP_ID = "user_wx_ac_app_id";//
/**
* 用户订阅公众号Secret银收客CZg
* <p>用户侧订阅的银收客CZg公众号Secret</p>
*/
public static String USER_WX_AC_SECRETE = "user_wx_ac_secrete";//
}
/**
* 微信小程序配置项
* <p>包含商家端和用户端小程序的密钥、AppId等配置</p>
*/
class Mini {
/**
* 商家端小程序AppId
* <p>商家管理端微信小程序的AppId</p>
*/
public static String SHOP_WX_APP_ID = "shop_wx_app_id";
/**
* 商家端小程序Secret
* <p>商家管理端微信小程序的Secret</p>
*/
public static String SHOP_WX_SECRETE = "shop_wx_secrete";
/**
* 用户微信小程序AppId
* <p>普通用户使用的微信小程序AppId</p>
*/
public static String USER_WX_APP_ID = "user_wx_app_id";
/**
* 用户微信小程序Secret
* <p>普通用户使用的微信小程序Secret</p>
*/
public static String USER_WX_SECRETE = "user_wx_secrete";
}
/**
* 微信支付配置项
* <p>微信支付V3接口相关的证书、密钥、商户号等配置</p>
*/
class Pay {
/**
* 微信API支付证书PEM
* <p>微信支付V3接口所需的api_client_cert.pem证书内容</p>
*/
public static String WX_API_CLIENT_CERT = "wx_api_client_cert";
/**
* 微信API支付证书密钥PEM
* <p>微信支付V3接口所需的api_client_key.pem私钥内容</p>
*/
public static String WX_API_CLIENT_KEY = "wx_api_client_key";
/**
* 微信支付商户号
* <p>微信支付平台分配的商户编号</p>
*/
public static String WX_MCH_ID = "wx_mch_id";
/**
* 微信公钥
* <p>微信支付平台公钥,用于验签回调通知</p>
*/
public static String WX_PUB_KEY = "wx_pub_key";
/**
* 微信公钥ID
* <p>微信支付平台公钥对应的唯一标识用于V3接口验签</p>
*/
public static String WX_PUB_KEY_ID = "wx_pub_key_id";
/**
* 微信V3密钥
* <p>微信支付V3接口的APIv3密钥用于加密/解密回调数据</p>
*/
public static String WX_V3_KEY = "wx_v3_key";
}
}
/**
* 支付宝相关配置项
* <p>包含网页端、小程序端的支付宝配置</p>
*/
interface Alipay {
/**
* 支付宝网页端配置项
* <p>PC/网页端支付宝支付相关配置</p>
*/
class Web {
/**
* 支付宝网页端AppId
* <p>支付宝开放平台分配的网页应用AppId</p>
*/
public static String ALI_ACCOUNT_APP_ID = "ali_account_app_id";
/**
* 支付宝商户私钥
* <p>商户侧生成的RSA私钥用于签名请求</p>
*/
public static String ALI_ACCOUNT_PRIVATE_KEY = "ali_account_private_key";
/**
* 支付宝公钥
* <p>支付宝开放平台提供的公钥,用于验签回调通知</p>
*/
public static String ALI_ACCOUNT_PUBLIC_KEY = "ali_account_public_key";
/**
* 阿里AES加密串
* <p>支付宝接口数据加密所需的AES密钥</p>
*/
public static String ALI_ENCRYPT_KEY = "ali_encrypt_key";
/**
* 支付宝网关
* <p>支付宝开放平台接口网关地址(沙箱/生产环境)</p>
*/
public static String ALI_GATEWAY = "ali_gateway";
}
/**
* 支付宝小程序配置项
* <p>支付宝小程序支付相关配置</p>
*/
class Mini {
/**
* 支付宝小程序AppId
* <p>支付宝开放平台分配的小程序AppId</p>
*/
public static String ALI_MINI_APP_ID = "ali_mini_app_id";
/**
* 支付宝小程序支付私钥
* <p>小程序支付专用的商户RSA私钥</p>
*/
public static String ALI_MINI_PRIVATE_KEY = "ali_mini_private_key";
/**
* 支付宝小程序公钥
* <p>支付宝开放平台提供的小程序专用公钥</p>
*/
public static String ALI_MINI_PUBLIC_KEY = "ali_mini_public_key";
}
}
/**
* 阿里云相关配置项
* <p>包含OSS对象存储、短信服务等阿里云产品配置</p>
*/
class AliYun {
/**
* 阿里云OSS AccessSecret
* <p>阿里云OSS服务的访问密钥Secret</p>
*/
public static String ALI_OSS_ACCESS_SECRET = "ali_oss_access_secret";
/**
* 阿里云短信模板码
* <p>阿里云短信服务审核通过的模板编号</p>
*/
public static String ALI_SMS_TEMPLATE_CODE = "ali_sms_template_code";
/**
* 阿里云短信Secret
* <p>阿里云短信服务的访问密钥Secret</p>
*/
public static String ALI_SMS_SECRET = "ali_sms_secret";
/**
* 阿里云短信Key
* <p>阿里云短信服务的访问密钥Key</p>
*/
public static String ALI_SMS_KEY = "ali_sms_key";
/**
* 阿里云OSS角色ARN
* <p>阿里云RAM角色的资源描述符用于临时授权访问OSS</p>
*/
public static String ALI_OSS_ROLE_ARN = "ali_oss_role_arn";
/**
* 阿里云OSS Endpoint
* <p>阿里云OSS服务的地域节点地址</p>
*/
public static String ALI_OSS_ENDPOINT = "ali_oss_endpoint";
/**
* 阿里云OSS AccessKey
* <p>阿里云OSS服务的访问密钥Key</p>
*/
public static String ALI_OSS_ACCESS_KEY = "ali_oss_access_key";
}
}

View File

@@ -1,20 +0,0 @@
package com.czg.constants;
import java.io.Serial;
import java.io.Serializable;
import java.util.function.Function;
/**
* 可序列化的函数式接口
* 用于在Dubbo等需要序列化的场景中传递Lambda表达式
*
* @param <T> 输入类型
* @param <R> 输出类型
* @author ww
*/
@FunctionalInterface
public interface SerializableFunction<T, R> extends Function<T, R>, Serializable {
// serialVersionUID 不能是private
@Serial
long serialVersionUID = 1L;
}

View File

@@ -1,6 +1,7 @@
package com.czg.constants;
import com.czg.account.entity.ShopInfo;
import com.czg.utils.SerializableFunction;
/**
* 店铺 开关枚举

View File

@@ -1,73 +0,0 @@
package com.czg.system.enums;
import lombok.Getter;
/**
* @author ww
*/
@Getter
public enum SysParamCodeEnum {
// 微信公众号(用户订阅相关)
WECHAT_AC_SECRETE("wechat_ac_secrete", "用户订阅公众号secret"),
WECHAT_AC_APPID("wechat_ac_appid", "用户订阅公众号appid"),
// 公众号关注位置
FOLLOW_INDEX("follow_index", "公众号关注位置 mine-我的 order-订单 eat-就餐"),
// 商家配置
AC_DAY_COUNT("ac_day_count", "商家每日可创建次数"),
// 短信相关
SMS_FEE("sms_fee", "短信费用"),
ALI_SMS_KEY("ali_sms_key", "阿里云短信key"),
ALI_SMS_TEMPLATE_CODE("ali_sms_template_code", "阿里云短信模板"),
ALI_SMS_SECRET("ali_sms_secret", "阿里云短信secret"),
// 微信相关(公众号/小程序)
WX_ACCOUNT_APP_ID("wx_account_app_id", "微信公众号appId"),
WX_ACCOUNT_SECRETE("wx_account_secrete", "微信公众号密钥"),
WX_MINI_APP_ID("wx_mini_app_id", "微信小程序appId"),
WX_MINI_SECRETE("wx_mini_secrete", "微信小程序密钥"),
// 页面地址相关
WX_MINI_VIP_URL("wx_mini_vip_url", "小程序会员页面地址"),
TABLE_CODE_URL("table_code_url", "桌码生成路径"),
CALL_PAGE_URL("call_page_url", "叫号页面地址"),
SHOP_ORDER_PAY_BASE_URL("shop_order_pay_base_url", "店铺订单支付BaseUrl"),
// 支付相关(超掌柜)
PAY_CZG_DOMAIN("pay_czg_domain", "超掌柜支付域名"),
PAY_CZG_NOTIFY_URL("pay_czg_notify_url", "超掌柜支付回调地址"),
PAY_CZG_REFUND_NOTIFY_URL("pay_czg_refund_notify_url", "超掌柜退款回调地址"),
// 阿里云OSS相关
ALI_OSS_ACCESS_KEY("ali_oss_access_key", "阿里云oss_ACCESS_KEY"),
ALI_OSS_ACCESS_SECRET("ali_oss_access_secret", "阿里云oss_secret"),
ALI_OSS_ENDPOINT("ali_oss_endpoint", "阿里云endpoint"),
ALI_OSS_ROLE_ARN("ali_oss_role_arn", "阿里云roleArn"),
// 支付宝相关(小程序/网页)
ALI_MINI_PUBLIC_KEY("ali_mini_public_key", "支付宝小程序公钥"),
ALI_MINI_PRIVATE_KEY("ali_mini_private_key", "支付宝小程序支付私钥"),
ALI_MINI_APP_ID("ali_mini_app_id", "支付宝小程序id"),
ALI_GATEWAY("ali_gateway", "支付宝网关"),
ALI_ENCRYPT_KEY("ali_encrypt_key", "阿里AES加密串"),
ALI_ACCOUNT_PUBLIC_KEY("ali_account_public_key", "支付宝网页公钥"),
ALI_ACCOUNT_PRIVATE_KEY("ali_account_private_key", "支付宝网页私钥"),
ALI_ACCOUNT_APP_ID("ali_account_app_id", "支付宝网页appid"),
// 平台信息
PLATE_NAME("plate_name", "平台名称")
;
private final String code;
private final String msg;
SysParamCodeEnum(String code, String msg) {
this.code = code;
this.msg = msg;
}
}

View File

@@ -15,6 +15,14 @@ import java.util.List;
*/
public interface SysParamsService extends IService<SysParams> {
/**
* 根据参数类型获取参数
*
* @param type 参数类型
* @return 参数列表
*/
CzgResult<List<SysParamsDTO>> getParamsByType(Integer type);
/**
* 新增参数
*
@@ -41,7 +49,7 @@ public interface SysParamsService extends IService<SysParams> {
/**
* 根据参数编码获取参数
* {@link com.czg.system.enums.SysParamCodeEnum}
* {@link com.czg.constants.ParamCodeCst}
*
* @param code 参数编码
* @return 参数
@@ -49,21 +57,9 @@ public interface SysParamsService extends IService<SysParams> {
CzgResult<SysParamsDTO> getParamsByCode(String code);
/**
* {@link com.czg.system.enums.SysParamCodeEnum}
*/
SysParams getSysParam(String code);
/**
* {@link com.czg.system.enums.SysParamCodeEnum}
* 根据参数编码获取参数值
* {@link com.czg.constants.ParamCodeCst}
*/
String getSysParamValue(String code);
/**
* 根据参数类型获取参数
*
* @param type 参数类型
* @return 参数列表
*/
CzgResult<List<SysParamsDTO>> getParamsByType(Integer type);
}