更新sql和代码规范修改

This commit is contained in:
moxiangrong
2024-02-18 15:26:45 +08:00
parent 6f5e6e4662
commit c132b68745
1293 changed files with 43935 additions and 18456 deletions

View File

@ -103,7 +103,7 @@
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<!-- <scope>provided</scope>-->
<!-- <scope>provided</scope>-->
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>

View File

@ -1,7 +1,6 @@
/**
* Copyright (C) 2018-2022
* All rights reserved, Designed By www.yixiang.co
*/
package co.yixiang.yshop.framework.common.constant;
@ -12,209 +11,209 @@ package co.yixiang.yshop.framework.common.constant;
*/
public interface ShopConstants {
/**
* 订单自动取消时间(分钟)
*/
long ORDER_OUTTIME_UNPAY = 30;
/**
* 订单自动收货时间(天)
*/
long ORDER_OUTTIME_UNCONFIRM = 7;
/**
* 订单自动取消时间(分钟)
*/
long ORDER_OUTTIME_UNPAY = 30;
/**
* 订单自动收货时间(天)
*/
long ORDER_OUTTIME_UNCONFIRM = 7;
/**
* 订单自动收货时间(天)
*/
long AFTER_SALES_ORDER_OUTTIME_UNCONFIRM = 7;
/**
* redis订单未付款key
*/
String REDIS_ORDER_OUTTIME_UNPAY_QUEUE = "order-unpay-cancel-queue";
/**
* redis订单收货key
*/
String REDIS_ORDER_OUTTIME_UNCONFIRM = "order-unconfirm-queue";
/**
* 订单自动收货时间(天)
*/
long AFTER_SALES_ORDER_OUTTIME_UNCONFIRM = 7;
/**
* redis订单未付款key
*/
String REDIS_ORDER_OUTTIME_UNPAY_QUEUE = "order-unpay-cancel-queue";
/**
* redis订单收货key
*/
String REDIS_ORDER_OUTTIME_UNCONFIRM = "order-unconfirm-queue";
/**
* redis订单收货key
*/
String REDIS_AFTERSALESORDER_UNCONFIRM = "order-aftersalesorder-unconfirm-queue";
/**
* redis订单收货key
*/
String REDIS_AFTERSALESORDER_UNCONFIRM = "order-aftersalesorder-unconfirm-queue";
/**
* redis拼团key
*/
String REDIS_PINK_CANCEL_KEY = "pink:cancel:";
/**
* redis拼团key
*/
String REDIS_PINK_CANCEL_KEY = "pink:cancel:";
/**
* 微信支付service
*/
String YSHOP_WEIXIN_PAY_SERVICE = "yshop_weixin_pay_service";
/**
* 微信支付service
*/
String YSHOP_WEIXIN_PAY_SERVICE = "yshop_weixin_pay_service";
/**
* 微信支付小程序service
*/
String YSHOP_WEIXIN_MINI_PAY_SERVICE = "yshop_weixin_mini_pay_service";
/**
* 微信支付小程序service
*/
String YSHOP_WEIXIN_MINI_PAY_SERVICE = "yshop_weixin_mini_pay_service";
/**
* 微信支付app service
*/
String YSHOP_WEIXIN_APP_PAY_SERVICE = "yshop_weixin_app_pay_service";
/**
* 微信支付app service
*/
String YSHOP_WEIXIN_APP_PAY_SERVICE = "yshop_weixin_app_pay_service";
/**
* 微信公众号service
*/
String YSHOP_WEIXIN_MP_SERVICE = "yshop_weixin_mp_service";
/**
* 微信小程序service
*/
String YSHOP_WEIXIN_MA_SERVICE = "yshop_weixin_ma_service";
/**
* 微信公众号service
*/
String YSHOP_WEIXIN_MP_SERVICE = "yshop_weixin_mp_service";
/**
* 微信小程序service
*/
String YSHOP_WEIXIN_MA_SERVICE = "yshop_weixin_ma_service";
/**
* 商城默认密码
*/
String YSHOP_DEFAULT_PWD = "123456";
/**
* 商城默认密码
*/
String YSHOP_DEFAULT_PWD = "123456";
/**
* 商城默认注册图片
*/
String YSHOP_DEFAULT_AVATAR = "https://image.dayouqiantu.cn/5e79f6cfd33b6.png";
/**
* 商城默认注册图片
*/
String YSHOP_DEFAULT_AVATAR = "https://image.dayouqiantu.cn/5e79f6cfd33b6.png";
/**
* 腾讯地图地址解析
*/
String QQ_MAP_URL = "https://apis.map.qq.com/ws/geocoder/v1/";
/**
* 腾讯地图地址解析
*/
String QQ_MAP_URL = "https://apis.map.qq.com/ws/geocoder/v1/";
/**
* redis首页键
*/
String YSHOP_REDIS_INDEX_KEY = "yshop:index_data";
/**
* redis首页键
*/
String YSHOP_REDIS_INDEX_KEY = "yshop:index_data";
/**
* 配置列表缓存
*/
String YSHOP_REDIS_CONFIG_DATAS = "yshop:config_datas";
/**
* 配置列表缓存
*/
String YSHOP_REDIS_CONFIG_DATAS = "yshop:config_datas";
/**
* 充值方案
*/
String YSHOP_RECHARGE_PRICE_WAYS = "yshop_recharge_price_ways";
/**
* 首页banner
*/
String YSHOP_HOME_BANNER = "yshop_home_banner";
/**
* 首页菜单
*/
String YSHOP_HOME_MENUS = "yshop_home_menus";
/**
* 首页滚动新闻
*/
String YSHOP_HOME_ROLL_NEWS = "yshop_home_roll_news";
/**
* 热门搜索
*/
String YSHOP_HOT_SEARCH = "yshop_hot_search";
/**
* 个人中心菜单
*/
String YSHOP_MY_MENUES = "yshop_my_menus";
/**
* 秒杀时间段
*/
String YSHOP_SECKILL_TIME = "yshop_seckill_time";
/**
* 签到天数
*/
String YSHOP_SIGN_DAY_NUM = "yshop_sign_day_num";
/**
* 充值方案
*/
String YSHOP_RECHARGE_PRICE_WAYS = "yshop_recharge_price_ways";
/**
* 首页banner
*/
String YSHOP_HOME_BANNER = "yshop_home_banner";
/**
* 首页菜单
*/
String YSHOP_HOME_MENUS = "yshop_home_menus";
/**
* 首页滚动新闻
*/
String YSHOP_HOME_ROLL_NEWS = "yshop_home_roll_news";
/**
* 热门搜索
*/
String YSHOP_HOT_SEARCH = "yshop_hot_search";
/**
* 个人中心菜单
*/
String YSHOP_MY_MENUES = "yshop_my_menus";
/**
* 秒杀时间段
*/
String YSHOP_SECKILL_TIME = "yshop_seckill_time";
/**
* 签到天数
*/
String YSHOP_SIGN_DAY_NUM = "yshop_sign_day_num";
/**
* 打印机配置
*/
String YSHOP_ORDER_PRINT_COUNT = "order_print_count";
/**
* 飞蛾用户信息
*/
String YSHOP_FEI_E_USER = "fei_e_user";
/**
* 飞蛾用户密钥
*/
String YSHOP_FEI_E_UKEY= "fei_e_ukey";
/**
* 打印机配置
*/
String YSHOP_ORDER_PRINT_COUNT = "order_print_count";
/**
* 飞蛾用户信息
*/
String YSHOP_FEI_E_USER = "fei_e_user";
/**
* 飞蛾用户密钥
*/
String YSHOP_FEI_E_UKEY = "fei_e_ukey";
/**
* 打印机配置
*/
String YSHOP_ORDER_PRINT_COUNT_DETAIL = "order_print_count_detail";
/**
* 打印机配置
*/
String YSHOP_ORDER_PRINT_COUNT_DETAIL = "order_print_count_detail";
/**
* 短信验证码长度
*/
int YSHOP_SMS_SIZE = 6;
/**
* 短信验证码长度
*/
int YSHOP_SMS_SIZE = 6;
/**
* 短信缓存时间
*/
long YSHOP_SMS_REDIS_TIME = 600L;
/**
* 短信缓存时间
*/
long YSHOP_SMS_REDIS_TIME = 600L;
//零标识
String YSHOP_ZERO = "0";
//零标识
String YSHOP_ZERO = "0";
//业务标识标识
String YSHOP_ONE = "1";
//业务标识标识
String YSHOP_ONE = "1";
//目前完成任务数量是3
int TASK_FINISH_COUNT = 3;
//目前完成任务数量是3
int TASK_FINISH_COUNT = 3;
int YSHOP_ONE_NUM = 1;
int YSHOP_ONE_NUM = 1;
String YSHOP_ORDER_CACHE_KEY = "yshop:order";
String YSHOP_ORDER_CACHE_KEY = "yshop:order";
String YSHOP_ORDER_SALE_STATUS_KEY = "yshop:order:sale:status";
String YSHOP_ORDER_SALE_STATUS_KEY = "yshop:order:sale:status";
long YSHOP_ORDER_CACHE_TIME = 3600L;
long YSHOP_ORDER_CACHE_TIME = 3600L;
String WECHAT_MENUS = "wechat_menus";
String WECHAT_MENUS = "wechat_menus";
String YSHOP_EXPRESS_SERVICE = "yshop_express_service";
String YSHOP_EXPRESS_SERVICE = "yshop_express_service";
String YSHOP_REDIS_SYS_CITY_KEY = "yshop:city_list";
String YSHOP_REDIS_SYS_CITY_KEY = "yshop:city_list";
String YSHOP_REDIS_CITY_KEY = "yshop:city";
String YSHOP_REDIS_CITY_KEY = "yshop:city";
String YSHOP_APP_LOGIN_USER = "app-online-token:";
String YSHOP_APP_LOGIN_USER = "app-online-token:";
String YSHOP_WECHAT_PUSH_REMARK = "yshop为您服务";
String YSHOP_WECHAT_PUSH_REMARK = "yshop为您服务";
String DEFAULT_UNI_H5_URL = "https://h5.yixiang.co";
String DEFAULT_UNI_H5_URL = "https://h5.yixiang.co";
String YSHOP_MINI_SESSION_KET = "yshop:session_key:";
String YSHOP_MINI_SESSION_KET = "yshop:session_key:";
/**公众号二维码*/
String WECHAT_FOLLOW_IMG="wechat_follow_img";
/**后台api地址*/
String ADMIN_API_URL="admin_api_url";
/**公众号二维码*/
String WECHAT_FOLLOW_IMG = "wechat_follow_img";
/**后台api地址*/
String ADMIN_API_URL = "admin_api_url";
//快递查询接口Logistic
String KDNIAO_LOGISTIC_QUERY="https://api.kdniao.com/Ebusiness/EbusinessOrderHandle.aspx";
//快递查询接口Logistic
String KDNIAO_LOGISTIC_QUERY = "https://api.kdniao.com/Ebusiness/EbusinessOrderHandle.aspx";
/**
* redis营销活动状态变更key
*/
String CAMPAIGN_CHANGE = "campaign-change-queue";
/**
* redis营销活动状态变更key
*/
String CAMPAIGN_CHANGE = "campaign-change-queue";
/**
* redis广告弹窗状态变更key
*/
String POPUP_CHANGE = "popup-change-queue";
/**
* redis广告弹窗状态变更key
*/
String POPUP_CHANGE = "popup-change-queue";
/**
* redis拼团状态变更key
*/
String TEAMWORK_CHANGE = "teamwork-change-queue";
/**
* redis拼团状态变更key
*/
String TEAMWORK_CHANGE = "teamwork-change-queue";
String DAY_FORMAT_STR = "yyyy-MM-dd";
String DAY_FORMAT_STR = "yyyy-MM-dd";
/**
* redis 订单收货后不可关闭售后 key
*/
String CLOSE_AFTER_SALE_KEY = "close-after-sale-key";
/**
* redis 订单收货后不可关闭售后 key
*/
String CLOSE_AFTER_SALE_KEY = "close-after-sale-key";
}

View File

@ -2,52 +2,52 @@ package co.yixiang.yshop.framework.common.constant;
public class SystemConfigConstants {
//地址配置
public final static String API="api";
public final static String API_URL="api_url";
public final static String SITE_URL="site_url";
public final static String UNI_SITE_URL="uni_site_url";
public final static String TENGXUN_MAP_KEY="tengxun_map_key";
public final static String FILE_STORE_MODE="file_store_mode";
public final static String API = "api";
public final static String API_URL = "api_url";
public final static String SITE_URL = "site_url";
public final static String UNI_SITE_URL = "uni_site_url";
public final static String TENGXUN_MAP_KEY = "tengxun_map_key";
public final static String FILE_STORE_MODE = "file_store_mode";
//业务相关配置
public final static String IMAGEARR="imageArr";
public final static String INTERGRAL_FULL="integral_full";
public final static String INTERGRAL_MAX="integral_max";
public final static String INTERGRAL_RATIO="integral_ratio";
public final static String ORDER_CANCEL_JOB_TIME="order_cancel_job_time";
public final static String STORE_BROKERAGE_OPEN="store_brokerage_open";
public final static String STORE_BROKERAGE_RATIO="store_brokerage_ratio";
public final static String STORE_BROKERAGE_STATU="store_brokerage_statu";
public final static String STORE_BROKERAGE_TWO="store_brokerage_two";
public final static String STORE_FREE_POSTAGE="store_free_postage";
public final static String STORE_POSTAGE="store_postage";
public final static String STORE_SEFL_MENTION="store_self_mention";
public final static String STORE_USER_MIN_RECHARGE="store_user_min_recharge";
public final static String USER_EXTRACT_MIN_PRICE="user_extract_min_price";
public final static String IMAGEARR = "imageArr";
public final static String INTERGRAL_FULL = "integral_full";
public final static String INTERGRAL_MAX = "integral_max";
public final static String INTERGRAL_RATIO = "integral_ratio";
public final static String ORDER_CANCEL_JOB_TIME = "order_cancel_job_time";
public final static String STORE_BROKERAGE_OPEN = "store_brokerage_open";
public final static String STORE_BROKERAGE_RATIO = "store_brokerage_ratio";
public final static String STORE_BROKERAGE_STATU = "store_brokerage_statu";
public final static String STORE_BROKERAGE_TWO = "store_brokerage_two";
public final static String STORE_FREE_POSTAGE = "store_free_postage";
public final static String STORE_POSTAGE = "store_postage";
public final static String STORE_SEFL_MENTION = "store_self_mention";
public final static String STORE_USER_MIN_RECHARGE = "store_user_min_recharge";
public final static String USER_EXTRACT_MIN_PRICE = "user_extract_min_price";
public final static String YSHOP_SHOW_RECHARGE = "yshop_show_recharge";
//微信相关配置
public final static String WECHAT_APPID="wechat_appid";
public final static String WECHAT_APPSECRET="wechat_appsecret";
public final static String WECHAT_AVATAR="wechat_avatar";
public final static String WECHAT_ENCODE="wechat_encode";
public final static String WECHAT_ENCODINGAESKEY="wechat_encodingaeskey";
public final static String WECHAT_ID="wechat_id";
public final static String WECHAT_NAME="wechat_name";
public final static String WECHAT_QRCODE="wechat_qrcode";
public final static String WECHAT_SHARE_IMG="wechat_share_img";
public final static String WECHAT_SHARE_SYNOPSIS="wechat_share_synopsis";
public final static String WECHAT_SHARE_TITLE="wechat_share_title";
public final static String WECHAT_SOURCEID="wechat_sourceid";
public final static String WECHAT_TOKEN="wechat_token";
public final static String WECHAT_MA_TOKEN="wechat_ma_token";
public final static String WECHAT_MA_ENCODINGAESKEY="wechat_ma_encodingaeskey";
public final static String WECHAT_TYPE="wechat_type";
public final static String WXAPP_APPID="wxapp_appId";
public final static String WXAPP_SECRET="wxapp_secret";
public final static String WXPAY_APPID="wxpay_appId";
public final static String WXPAY_KEYPATH="wxpay_keyPath";
public final static String WXPAY_MCHID="wxpay_mchId";
public final static String WXPAY_MCHKEY="wxpay_mchKey";
public final static String WX_NATIVE_APP_APPID="wx_native_app_appId";
public final static String WECHAT_APPID = "wechat_appid";
public final static String WECHAT_APPSECRET = "wechat_appsecret";
public final static String WECHAT_AVATAR = "wechat_avatar";
public final static String WECHAT_ENCODE = "wechat_encode";
public final static String WECHAT_ENCODINGAESKEY = "wechat_encodingaeskey";
public final static String WECHAT_ID = "wechat_id";
public final static String WECHAT_NAME = "wechat_name";
public final static String WECHAT_QRCODE = "wechat_qrcode";
public final static String WECHAT_SHARE_IMG = "wechat_share_img";
public final static String WECHAT_SHARE_SYNOPSIS = "wechat_share_synopsis";
public final static String WECHAT_SHARE_TITLE = "wechat_share_title";
public final static String WECHAT_SOURCEID = "wechat_sourceid";
public final static String WECHAT_TOKEN = "wechat_token";
public final static String WECHAT_MA_TOKEN = "wechat_ma_token";
public final static String WECHAT_MA_ENCODINGAESKEY = "wechat_ma_encodingaeskey";
public final static String WECHAT_TYPE = "wechat_type";
public final static String WXAPP_APPID = "wxapp_appId";
public final static String WXAPP_SECRET = "wxapp_secret";
public final static String WXPAY_APPID = "wxpay_appId";
public final static String WXPAY_KEYPATH = "wxpay_keyPath";
public final static String WXPAY_MCHID = "wxpay_mchId";
public final static String WXPAY_MCHKEY = "wxpay_mchKey";
public final static String WX_NATIVE_APP_APPID = "wx_native_app_appId";
public final static String EXP_APPID = "exp_appId";

View File

@ -13,7 +13,7 @@ import java.util.Arrays;
*/
@Getter
@AllArgsConstructor
public enum DeletedEnum {
public enum DeletedEnum {
NO(false, "默认"),
YES(true, "已逻辑删除");

View File

@ -8,14 +8,14 @@ import lombok.Getter;
**/
@Getter
public enum EnableEnum {
DISABLE(0,"禁用"),
ENABLE(1,"启用"),
DISABLE(0, "禁用"),
ENABLE(1, "启用"),
;
private final Integer value;
private final String desc;
EnableEnum(Integer value, String desc) {
EnableEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}

View File

@ -1,7 +1,6 @@
/**
* Copyright (C) 2018-2022
* All rights reserved, Designed By www.yixiang.co
*/
package co.yixiang.yshop.framework.common.enums;
@ -18,66 +17,65 @@ import java.util.stream.Stream;
@AllArgsConstructor
public enum OrderInfoEnum {
STATUS_APPLY_REFUND(-1,"申请退款"),
STATUS_REFUND_SUCCESS(-2,"退款成功"),
STATUS_GROUP_FAILURE(-4,"成团失败"),
STATUS_DEFAULT(0,"默认"),
STATUS_WAIT_RECEIVED(1,"待收货"),
STATUS_RECEIVED(2,"已收货"),
STATUS_FINISHED(3,"已完成"),
STATUS_CANCEL(4,"取消"),
STATUS_WAIT_GROUP(5,"待成团"),
STATUS_APPLY_REFUND(-1, "申请退款"),
STATUS_REFUND_SUCCESS(-2, "退款成功"),
STATUS_GROUP_FAILURE(-4, "成团失败"),
STATUS_DEFAULT(0, "默认"),
STATUS_WAIT_RECEIVED(1, "待收货"),
STATUS_RECEIVED(2, "已收货"),
STATUS_FINISHED(3, "已完成"),
STATUS_CANCEL(4, "取消"),
STATUS_WAIT_GROUP(5, "待成团"),
PAY_STATUS_UNPAID(0,"未支付"),
PAY_STATUS_HAVE_PAID(1,"已支付"),
PAY_STATUS_UNPAID(0, "未支付"),
PAY_STATUS_HAVE_PAID(1, "已支付"),
REFUND_STATUS_NORMAL(0,"正常"),
REFUND_STATUS_BEING_REFUNDED(1,"退款中"),
REFUND_STATUS_HAVE_REFUNDED(2,"已退款"),
REFUND_STATUS_NORMAL(0, "正常"),
REFUND_STATUS_BEING_REFUNDED(1, "退款中"),
REFUND_STATUS_HAVE_REFUNDED(2, "已退款"),
BARGAIN_STATUS_ONGOING(1,"参与中"),
BARGAIN_STATUS_FAIL(2,"参与失败"),
BARGAIN_STATUS_SUCCESS(3,"参与成功"),
BARGAIN_STATUS_ONGOING(1, "参与中"),
BARGAIN_STATUS_FAIL(2, "参与失败"),
BARGAIN_STATUS_SUCCESS(3, "参与成功"),
PINK_STATUS_ONGOING(1,"进行中"),
PINK_STATUS_FINISHED(2,"已完成"),
PINK_STATUS_UNFINISHED(3,"未完成"),
PINK_STATUS_ONGOING(1, "进行中"),
PINK_STATUS_FINISHED(2, "已完成"),
PINK_STATUS_UNFINISHED(3, "未完成"),
PINK_REFUND_STATUS_NORMAL(0,"拼团正常"),
PINK_REFUND_STATUS_REFUNDED(1,"拼团已退款"),
PINK_REFUND_STATUS_NORMAL(0, "拼团正常"),
PINK_REFUND_STATUS_REFUNDED(1, "拼团已退款"),
CANCEL_STATUS_NORMAL(0,"正常"),
CANCEL_STATUS_CANCELED(1,"已取消"),
CANCEL_STATUS_NORMAL(0, "正常"),
CANCEL_STATUS_CANCELED(1, "已取消"),
CONFIRM_STATUS_NORMAL(0,"正常"),
CONFIRM_STATUS_CONFIRM(1,"确认"),
CONFIRM_STATUS_NORMAL(0, "正常"),
CONFIRM_STATUS_CONFIRM(1, "确认"),
PAY_CHANNEL_PUBLIC_ACCOUNT_H5(0,"公众号/H5支付渠道"),
PAY_CHANNEL_MINI_PROGRAM(1,"小程序支付渠道"),
PAY_CHANNEL_PUBLIC_ACCOUNT_H5(0, "公众号/H5支付渠道"),
PAY_CHANNEL_MINI_PROGRAM(1, "小程序支付渠道"),
NO(0,""),
YES(1,""),
NO(0, ""),
YES(1, ""),
SHIPPING_TYPE_DELIVERY(1,"快递"),
SHIPPING_TYPE_STORE_PICKUP(2,"门店自提"),
SHIPPING_TYPE_DELIVERY(1, "快递"),
SHIPPING_TYPE_STORE_PICKUP(2, "门店自提"),
UNABLE_AFTER_SALES(0,"不能售后"),
ABLE_AFTER_SALES(1,"能售后"),
UNABLE_AFTER_SALES(0, "不能售后"),
ABLE_AFTER_SALES(1, "能售后"),
CAMPAIGN_ORDER(2,"活动订单");
CAMPAIGN_ORDER(2, "活动订单");
private final Integer value;
private final String desc;
private final Integer value;
private final String desc;
public static OrderInfoEnum toType(int value) {
return Stream.of(OrderInfoEnum.values())
.filter(p -> p.value == value)
.findAny()
.orElse(null);
}
public static OrderInfoEnum toType(int value) {
return Stream.of(OrderInfoEnum.values())
.filter(p -> p.value == value)
.findAny()
.orElse(null);
}
}

View File

@ -11,57 +11,55 @@ import lombok.Getter;
@AllArgsConstructor
public enum ShopCommonEnum {
STORE_MODE_LOCAL(1,"本地存储"),
STORE_MODE_CLOUD(2,"云存储"),
STORE_MODE_LOCAL(1, "本地存储"),
STORE_MODE_CLOUD(2, "云存储"),
ENABLE(1,"开启"),
DISABLE(2,"关闭"),
ENABLE(1, "开启"),
DISABLE(2, "关闭"),
EXTRACT_MINUS_NOT_PASS(-1,"提现未通过"),
EXTRACT_UNDER_REVIEW(0,"提现审核中"),
EXTRACT_FINISHED(1,"提现已完成"),
EXTRACT_MINUS_NOT_PASS(-1, "提现未通过"),
EXTRACT_UNDER_REVIEW(0, "提现审核中"),
EXTRACT_FINISHED(1, "提现已完成"),
UNFINISHED(0,"未完成"),
FINISHED(1,"已完成"),
UNFINISHED(0, "未完成"),
FINISHED(1, "已完成"),
NOT_FOREVER(0,"不是永久"),
FOREVER(1,"永久"),
NOT_FOREVER(0, "不是永久"),
FOREVER(1, "永久"),
AGREE(1,"同意"),
REFUSED(2,"拒绝"),
AGREE(1, "同意"),
REFUSED(2, "拒绝"),
LIMIT(0,"限制"),
UN_LIMIT(1,"不限制"),
LIMIT(0, "限制"),
UN_LIMIT(1, "不限制"),
NO(0,""),
YES(1,""),
NO(0, ""),
YES(1, ""),
DEFAULT(0,"默认"),
NEW(1,"新品"),
DEFAULT(0, "默认"),
NEW(1, "新品"),
IS_SUB_0(0,"不单独分佣"),
IS_SUB_1(1,"单独分佣"),
IS_SUB_0(0, "不单独分佣"),
IS_SUB_1(1, "单独分佣"),
GRADE_ONE(0,"一级推荐人"),
GRADE_TWO(1,"二级推荐人"),
GRADE_ONE(0, "一级推荐人"),
GRADE_TWO(1, "二级推荐人"),
UN_REPLY(0,"未回复"),
REPLIED(1,"已回复"),
UN_REPLY(0, "未回复"),
REPLIED(1, "已回复"),
ADD_1(1,"增加"),
ADD_2(2,"减少"),
ADD_1(1, "增加"),
ADD_2(2, "减少"),
DELETE_0(0,"未删除"),
DELETE_1(1,"已删除"),
NO_SHOW(0,"不显示"),
SHOW(1,"显示"),
NON_DEFAULT(0,"不是默认"),
IS_DEFAULT(1,"默认");
DELETE_0(0, "未删除"),
DELETE_1(1, "已删除"),
NO_SHOW(0, "不显示"),
SHOW(1, "显示"),
NON_DEFAULT(0, "不是默认"),
IS_DEFAULT(1, "默认");
private final Integer value;

View File

@ -2,8 +2,8 @@ package co.yixiang.yshop.framework.common.enums;
/**
* Web 过滤器顺序的枚举类,保证过滤器按照符合我们的预期
*
* 考虑到每个 starter 都需要用到该工具类,所以放到 common 模块下的 enums 包下
* <p>
* 考虑到每个 starter 都需要用到该工具类,所以放到 common 模块下的 enums 包下
*
* @author yshop
*/
@ -17,7 +17,7 @@ public interface WebFilterOrderEnum {
// OrderedRequestContextFilter 默认为 -105用于国际化上下文等等
int TENANT_CONTEXT_FILTER = - 104; // 需要保证在 ApiAccessLogFilter 前面
int TENANT_CONTEXT_FILTER = -104; // 需要保证在 ApiAccessLogFilter 前面
int API_ACCESS_LOG_FILTER = -103; // 需要保证在 RequestBodyCacheFilter 后面

View File

@ -6,10 +6,10 @@ import lombok.Data;
/**
* 错误码对象
*
* <p>
* 全局错误码,占用 [0, 999], 参见 {@link GlobalErrorCodeConstants}
* 业务异常错误码,占用 [1 000 000 000, +∞),参见 {@link ServiceErrorCodeRange}
*
* <p>
* TODO 错误码设计成对象的原因,为未来的 i18 国际化做准备
*/
@Data

View File

@ -5,7 +5,7 @@ import co.yixiang.yshop.framework.common.exception.ErrorCode;
/**
* 全局错误码枚举
* 0-999 系统异常编码保留
*
* <p>
* 一般情况下,使用 HTTP 响应状态码 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status
* 虽然说HTTP 响应状态码作为业务使用表达能力偏弱,但是使用在系统层面还是非常不错的
* 比较特殊的是,因为之前一直使用 0 作为成功,就不使用 200 啦。
@ -43,9 +43,9 @@ public interface GlobalErrorCodeConstants {
* @param code 错误码
* @return 是否
*/
static boolean isServerErrorCode(Integer code) {
return code != null
&& code >= INTERNAL_SERVER_ERROR.getCode() && code <= INTERNAL_SERVER_ERROR.getCode() + 99;
}
static boolean isServerErrorCode(Integer code) {
return code != null
&& code >= INTERNAL_SERVER_ERROR.getCode() && code <= INTERNAL_SERVER_ERROR.getCode() + 99;
}
}

View File

@ -2,28 +2,28 @@ package co.yixiang.yshop.framework.common.exception.enums;
/**
* 业务异常的错误码区间,解决:解决各模块错误码定义,避免重复,在此只声明不做实际使用
*
* <p>
* 一共 10 位,分成四段
*
* <p>
* 第一段1 位,类型
* 1 - 业务级别异常
* x - 预留
* 1 - 业务级别异常
* x - 预留
* 第二段3 位,系统类型
* 001 - 用户系统
* 002 - 商品系统
* 003 - 订单系统
* 004 - 支付系统
* 005 - 优惠劵系统
* ... - ...
* 001 - 用户系统
* 002 - 商品系统
* 003 - 订单系统
* 004 - 支付系统
* 005 - 优惠劵系统
* ... - ...
* 第三段3 位,模块
* 不限制规则。
* 一般建议,每个系统里面,可能有多个模块,可以再去做分段。以用户系统为例子:
* 001 - OAuth2 模块
* 002 - User 模块
* 003 - MobileCode 模块
* 不限制规则。
* 一般建议,每个系统里面,可能有多个模块,可以再去做分段。以用户系统为例子:
* 001 - OAuth2 模块
* 002 - User 模块
* 003 - MobileCode 模块
* 第四段3 位,错误码
* 不限制规则。
* 一般建议,每个模块自增。
* 不限制规则。
* 一般建议,每个模块自增。
*
* @author yshop
*/

View File

@ -11,12 +11,12 @@ import java.util.concurrent.ConcurrentMap;
/**
* {@link ServiceException} 工具类
*
* <p>
* 目的在于,格式化异常信息提示。
* 考虑到 String.format 在参数不正确时会报错,因此使用 {} 作为占位符,并使用 {@link #doFormat(int, String, Object...)} 方法来格式化
*
* <p>
* 因为 {@link #MESSAGES} 里面默认是没有异常信息提示的模板的,所以需要使用方自己初始化进去。目前想到的有几种方式:
*
* <p>
* 1. 异常提示信息写在枚举类中例如说cn.iocoder.oceans.user.api.constants.ErrorCodeEnum 类 + ServiceExceptionConfiguration
* 2. 异常提示信息,写在 .properties 等等配置文件
* 3. 异常提示信息,写在 Apollo 等等配置中心中,从而实现可动态刷新
@ -67,7 +67,7 @@ public class ServiceExceptionUtil {
/**
* 创建指定编号的 ServiceException 的异常
*
* @param code 编号
* @param code 编号
* @param params 消息提示的占位符对应的参数
* @return 异常
*/

View File

@ -1,6 +1,6 @@
/**
* 基础的通用类,和框架无关
*
* <p>
* 例如说CommonResult 为通用返回
*/
package co.yixiang.yshop.framework.common;

View File

@ -1,7 +1,6 @@
/**
* Copyright (C) 2018-2022
* All rights reserved, Designed By www.yixiang.co
*/
package co.yixiang.yshop.framework.common.params;
@ -13,14 +12,14 @@ import java.io.Serializable;
@Data
@Schema(description = "用户 APP - 查询参数对象")
public abstract class QueryParam implements Serializable{
public abstract class QueryParam implements Serializable {
private static final long serialVersionUID = -3263921252635611410L;
@Schema(description = "页码,默认为1", requiredMode = Schema.RequiredMode.REQUIRED)
private Integer page =1;
private Integer page = 1;
@Schema(description = "页大小,默认为10", requiredMode = Schema.RequiredMode.REQUIRED)
private Integer limit = 10;
private Integer limit = 10;
@Schema(description = "搜索字符串", requiredMode = Schema.RequiredMode.REQUIRED)
private String keyword;

View File

@ -38,11 +38,11 @@ public class CommonResult<T> implements Serializable {
/**
* 将传入的 result 对象,转换成另外一个泛型结果的对象
*
* <p>
* 因为 A 方法返回的 CommonResult 对象,不满足调用其的 B 方法的返回,所以需要进行转换。
*
* @param result 传入的 result 对象
* @param <T> 返回的泛型
* @param <T> 返回的泛型
* @return 新的 CommonResult 对象
*/
public static <T> CommonResult<T> error(CommonResult<?> result) {

View File

@ -8,14 +8,14 @@ import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Schema(description="分页参数")
@Schema(description = "分页参数")
@Data
public class PageParam implements Serializable {
private static final Integer PAGE_NO = 1;
private static final Integer PAGE_SIZE = 10;
@Schema(description = "页码,从 1 开始", requiredMode = Schema.RequiredMode.REQUIRED,example = "1")
@Schema(description = "页码,从 1 开始", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotNull(message = "页码不能为空")
@Min(value = 1, message = "页码最小值为 1")
private Integer pageNo = PAGE_NO;

View File

@ -4,7 +4,7 @@ import java.io.Serializable;
/**
* 排序字段 DTO
*
* <p>
* 类名加了 ing 的原因是,避免和 ES SortField 重名。
*/
public class SortingField implements Serializable {

View File

@ -19,7 +19,7 @@ public class BigDecimalSerializer extends JsonSerializer<BigDecimal> {
@Override
public void serialize(BigDecimal value, JsonGenerator gen, SerializerProvider serializerProvider) throws IOException {
if (value != null && !"".equals(value)) {
DecimalFormat df2 =new DecimalFormat("0.00");
DecimalFormat df2 = new DecimalFormat("0.00");
gen.writeString(df2.format(value));
} else {
gen.writeString(value + "");

View File

@ -18,7 +18,7 @@ public class DoubleSerializer extends JsonSerializer<Double> {
@Override
public void serialize(Double value, JsonGenerator gen, SerializerProvider serializerProvider) throws IOException {
if (value != null && !"".equals(value)) {
DecimalFormat df2 =new DecimalFormat("0.00");
DecimalFormat df2 = new DecimalFormat("0.00");
gen.writeString(df2.format(value));
} else {
gen.writeString(value + "");

View File

@ -20,9 +20,9 @@ public class ArrayUtils {
/**
* 将 object 和 newElements 合并成一个数组
*
* @param object 对象
* @param object 对象
* @param newElements 数组
* @param <T> 泛型
* @param <T> 泛型
* @return 结果数组
*/
@SafeVarargs

View File

@ -23,7 +23,7 @@ public class MapUtils {
* 从哈希表表中,获得 keys 对应的所有 value 数组
*
* @param multimap 哈希表
* @param keys keys
* @param keys keys
* @return value 数组
*/
public static <K, V> List<V> getList(Multimap<K, V> multimap, Collection<K> keys) {
@ -42,8 +42,8 @@ public class MapUtils {
* 从哈希表查找到 key 对应的 value然后进一步处理
* 注意,如果查找到的 value 为 null 时,不进行处理
*
* @param map 哈希表
* @param key key
* @param map 哈希表
* @param key key
* @param consumer 进一步处理的逻辑
*/
public static <K, V> void findAndThen(Map<K, V> map, K key, Consumer<V> consumer) {

View File

@ -179,7 +179,7 @@ public class DateUtils {
* @param end
* @return 是否
*/
public static boolean isBelong(LocalDateTime start,LocalDateTime end) {
public static boolean isBelong(LocalDateTime start, LocalDateTime end) {
return isBefore(end) && isAfter(start);
}
@ -238,15 +238,14 @@ public class DateUtils {
/**
* 判断两个日期是否同一天
*
* @param date1 /
* @param date2 /
* @return /
*/
public static Boolean isSameDay(Date date1,Date date2){
return DateUtil.formatDate(date1).equals(DateUtil.formatDate(date2));
public static Boolean isSameDay(Date date1, Date date2) {
return DateUtil.formatDate(date1).equals(DateUtil.formatDate(date2));
}
}

View File

@ -53,7 +53,7 @@ public class LocalDateTimeUtils {
* 判断当前时间是否在该时间范围内
*
* @param startTime 开始时间
* @param endTime 结束时间
* @param endTime 结束时间
* @return 是否
*/
public static boolean isBetween(LocalDateTime startTime, LocalDateTime endTime) {

View File

@ -18,6 +18,7 @@ public class DistanceCalculatorUtil {
/**
* 计算两地之间距离
*
* @param lat1 第一个点的纬度
* @param lon1 第一个点的经度
* @param lat2 第二个点的纬度

View File

@ -135,13 +135,13 @@ public class HttpUtils {
return response.body().string();
}
public static String sendAppletNotice(String token,String bodyString) throws IOException {
public static String sendAppletNotice(String token, String bodyString) throws IOException {
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, bodyString);
Request request = new Request.Builder()
.url("https://api.weixin.qq.com/wxa/sec/order/upload_shipping_info?access_token="+token)
.url("https://api.weixin.qq.com/wxa/sec/order/upload_shipping_info?access_token=" + token)
.method("POST", body)
.build();
Response response = client.newCall(request).execute();

View File

@ -16,7 +16,7 @@ public class IoUtils {
/**
* 从流中读取 UTF8 编码的内容
*
* @param in 输入流
* @param in 输入流
* @param isClose 是否关闭
* @return 内容
* @throws IORuntimeException IO 异常

View File

@ -75,7 +75,7 @@ public class JsonUtils {
* 使用 {@link #parseObject(String, Class)} 时,在@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS) 的场景下,
* 如果 text 没有 class 属性,则会报错。此时,使用这个方法,可以解决。
*
* @param text 字符串
* @param text 字符串
* @param clazz 类型
* @return 对象
*/

View File

@ -4,7 +4,7 @@ import org.apache.skywalking.apm.toolkit.trace.TraceContext;
/**
* 链路追踪工具类
*
* <p>
* 考虑到每个 starter 都需要用到该工具类,所以放到 common 模块下的 util 包下
*
* @author yshop

View File

@ -17,7 +17,7 @@ public class ObjectUtils {
/**
* 复制对象,并忽略 Id 编号
*
* @param object 被复制对象
* @param object 被复制对象
* @param consumer 消费者,可以二次编辑被复制对象
* @return 复制后的对象
*/

View File

@ -1,7 +1,7 @@
/**
* 对于工具类的选择,优先查找 Hutool 中有没对应的方法
* 如果没有,则自己封装对应的工具类,以 Utils 结尾,用于区分
*
* <p>
* ps如果担心 Hutool 存在坑的问题,可以阅读 Hutool 的实现源码,以确保可靠性。并且,可以补充相关的单元测试。
*/
package co.yixiang.yshop.framework.common.util;

View File

@ -27,7 +27,7 @@ public class ServletUtils {
* 返回 JSON 字符串
*
* @param response 响应
* @param object 对象,会序列化成 JSON 字符串
* @param object 对象,会序列化成 JSON 字符串
*/
@SuppressWarnings("deprecation") // 必须使用 APPLICATION_JSON_UTF8_VALUE否则会乱码
public static void writeJSON(HttpServletResponse response, Object object) {
@ -40,7 +40,7 @@ public class ServletUtils {
*
* @param response 响应
* @param filename 文件名
* @param content 附件内容
* @param content 附件内容
*/
public static void writeAttachment(HttpServletResponse response, String filename, byte[] content) throws IOException {
// 设置 header 和 contentType

View File

@ -7,7 +7,7 @@ import org.springframework.aop.support.AopUtils;
/**
* Spring AOP 工具类
*
* <p>
* 参考波克尔 http://www.bubuko.com/infodetail-3471885.html 实现
*/
public class SpringAopUtils {

View File

@ -33,7 +33,7 @@ public class SpringExpressionUtils {
/**
* 从切面中,单个解析 EL 表达式的结果
*
* @param joinPoint 切面点
* @param joinPoint 切面点
* @param expressionString EL 表达式数组
* @return 执行界面
*/
@ -45,7 +45,7 @@ public class SpringExpressionUtils {
/**
* 从切面中,批量解析 EL 表达式的结果
*
* @param joinPoint 切面点
* @param joinPoint 切面点
* @param expressionStrings EL 表达式数组
* @return 结果key 为表达式value 为对应值
*/

View File

@ -40,7 +40,7 @@ public class StrUtils {
return false;
}
public static List<Long> splitToLong(String value, CharSequence separator) {
public static List<Long> splitToLong(String value, CharSequence separator) {
long[] longs = StrUtil.splitToLong(value, separator);
return Arrays.stream(longs).boxed().collect(Collectors.toList());
}