diff --git a/mcwl-admin/src/main/java/com/mcwl/McWlApplication.java b/mcwl-admin/src/main/java/com/mcwl/McWlApplication.java index 5ac0012..f018ebf 100644 --- a/mcwl-admin/src/main/java/com/mcwl/McWlApplication.java +++ b/mcwl-admin/src/main/java/com/mcwl/McWlApplication.java @@ -2,6 +2,8 @@ package com.mcwl; import com.fasterxml.jackson.databind.SerializationFeature; import org.mybatis.spring.annotation.MapperScan; +import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; +import org.springframework.amqp.support.converter.MessageConverter; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; @@ -37,4 +39,10 @@ public class McWlApplication public Jackson2ObjectMapperBuilderCustomizer customizer() { return builder -> builder.featuresToEnable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING); } + + // mq 消息转换器 + @Bean + public MessageConverter jacksonMessageConverter() { + return new Jackson2JsonMessageConverter(); + } } diff --git a/mcwl-admin/src/main/resources/application-druid.yml b/mcwl-admin/src/main/resources/application-druid.yml index a1c90fd..7c442bc 100644 --- a/mcwl-admin/src/main/resources/application-druid.yml +++ b/mcwl-admin/src/main/resources/application-druid.yml @@ -10,7 +10,7 @@ spring: listener: simple: prefetch: 1 # 每次之能获取一条 - acknowledge-mode: manual # 设置消费端手动ack确认 + acknowledge-mode: auto # 设置消费端手动ack确认 retry: enabled: true # 是否支持重试 # 生产者配置 diff --git a/mcwl-admin/src/main/resources/application.yml b/mcwl-admin/src/main/resources/application.yml index 505af7c..ffa4b36 100644 --- a/mcwl-admin/src/main/resources/application.yml +++ b/mcwl-admin/src/main/resources/application.yml @@ -131,10 +131,8 @@ mybatis-plus: # AUTO 自增 NONE 空 INPUT 用户输入 ASSIGN_ID 雪花 ASSIGN_UUID 唯一 UUID idType: auto logic-delete-field: del_flag - # 逻辑已删除值 - logicDeleteValue: '2' - # 逻辑未删除值 - logicNotDeleteValue: '0' + logic-delete-value: '2' + logic-not-delete-value: '0' # 数据库字段下划线命名规则 table-underline: true # 字段验证策略之 insert,在 insert 的时候的字段验证策略 @@ -169,12 +167,12 @@ xss: #aliyun-oss - aliyun: - oss: - file: - endPoint: "http://oss-cn-beijing.aliyuncs.com" // 一般不用改,选择自己的地址即可 - keyid: "保存的key" - keyecrets: "保存的secret" - #bucket可以在控制台创建,也可以使用java代码创建 - bucketname: "实例名称" +# aliyun: +# oss: +# file: +# endPoint: "http://oss-cn-beijing.aliyuncs.com" // 一般不用改,选择自己的地址即可 +# keyid: "保存的key" +# keyecrets: "保存的secret" +# #bucket可以在控制台创建,也可以使用java代码创建 +# bucketname: "实例名称" diff --git a/mcwl-common/src/main/java/com/mcwl/common/core/domain/BaseEntity.java b/mcwl-common/src/main/java/com/mcwl/common/core/domain/BaseEntity.java index b3ab226..76a48f8 100644 --- a/mcwl-common/src/main/java/com/mcwl/common/core/domain/BaseEntity.java +++ b/mcwl-common/src/main/java/com/mcwl/common/core/domain/BaseEntity.java @@ -6,6 +6,7 @@ import java.util.HashMap; import java.util.Map; import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; @@ -38,6 +39,10 @@ public class BaseEntity implements Serializable @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; + // 删除标志(0代表存在 2代表删除) + @TableLogic + private String delFlag; + /** 备注 */ private String remark; diff --git a/mcwl-common/src/main/java/com/mcwl/common/domain/IdsParam.java b/mcwl-common/src/main/java/com/mcwl/common/domain/IdsParam.java index 213047f..66041d1 100644 --- a/mcwl-common/src/main/java/com/mcwl/common/domain/IdsParam.java +++ b/mcwl-common/src/main/java/com/mcwl/common/domain/IdsParam.java @@ -2,7 +2,9 @@ package com.mcwl.common.domain; import lombok.Data; +import java.util.List; + @Data public class IdsParam { - private Long[] ids; + private List ids; } diff --git a/mcwl-common/src/main/java/com/mcwl/common/domain/response/ResponseEnum.java b/mcwl-common/src/main/java/com/mcwl/common/domain/response/ResponseEnum.java index 301a54e..e36caef 100644 --- a/mcwl-common/src/main/java/com/mcwl/common/domain/response/ResponseEnum.java +++ b/mcwl-common/src/main/java/com/mcwl/common/domain/response/ResponseEnum.java @@ -1,220 +1,220 @@ -/* - * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. - * - * https://www.mall4j.com/ - * - * 未经允许,不可做商业用途! - * - * 版权所有,侵权必究! - */ -package com.mcwl.common.domain.response; - - -import com.mcwl.common.i18n.I18nMessage; - -/** - * @author FrozenWatermelon - * @date 2020/7/9 - */ -public enum ResponseEnum { - - /** - * ok - */ - OK("00000", "ok"), - - /** - * 用于直接显示提示用户的错误,内容由输入内容决定 - */ - SHOW_FAIL("A00001", ""), - - /** - * 用于直接显示提示系统的成功,内容由输入内容决定 - */ - SHOW_SUCCESS("A00002", ""), - - /** - * 未授权 - */ - UNAUTHORIZED("A00004", "Unauthorized"), - - /** - * 服务器出了点小差 - */ - EXCEPTION("A00005", "服务器出了点小差"), - - /** - * TempUid异常 - * 一般不会出现这个异常,出现这个异常会有两种已知可能 - * 1. 一种是旧的tempUid - * 2. 一种是同域名的localstorage 有个也叫tempUid的存储覆盖了(有的人测试环境和正式环境放在同一个域名不同子目录下) - * 如果前端看到返回了这个异常,为了让用户能够顺利登录,需要重新获取一遍code,重新获取tempUid - */ - TEMP_UID_ERROR("A00012", "TempUid Error"), - - /** - * 接口不存在 - */ - NOT_FOUND("A00013", "接口不存在"), - - /** - * 方法参数没有校验,内容由输入内容决定 - */ - METHOD_ARGUMENT_NOT_VALID("A00014", "方法参数没有校验"), - - /** - * 支付密码错误 - */ - PAY_PASSWORD_ERROR("A00015", I18nMessage.getMessage("yami.user.pay.password.error")), - - - SCANCODE_PAY_ERROR("A00016", "扫描支付发生错误"), - - - NEW_USER_NO_INVITOR_ERROR("A00017", "新注册用户必须填写邀请码"), - - NEW_USER_INVITOR_ERROR("A00018", "邀请码错误"), - - /** - * 01开头代表商品 - * 商品已下架,返回特殊的状态码,用于渲染商品下架的页面 - */ -// SPU_NOT_EXIST("A01000", "商品不存在"), - - /** - * 02开头代表购物车 - */ -// SHOP_CART_NOT_EXIST("A02000", "商品已下架"), - - /** - * 03开头代表订单 - */ - API_ORDER_NOT_EXIST("A03000", "订单不存在"), - ORDER_BUSY("A03001", "订单繁忙,请稍后再试"), - - /** - * 订单不支持该配送方式 - */ - ORDER_DELIVERY_NOT_SUPPORTED("A03001", "The delivery method is not supported"), - - /** - * 请勿重复提交订单, - * 1.当前端遇到该异常时,说明前端防多次点击没做好 - * 2.提示用户 订单已发生改变,请勿重复下单 - */ - REPEAT_ORDER("A03002", "订单已过期,请重新下单"), - - /** - * 优惠券不能共用 - */ - COUPON_CANNOT_USE_TOGETHER("A03003", "优惠券不能共用"), - - /** - * 代金券金额超过了订单金额 - */ - COUPON_OF_RMRT_GT_ORDER("A03004", "代金券金额超过了订单金额"), - - /** - * 库存不足,body会具体返回那个skuid的库存不足,后台通过skuId知道哪个商品库存不足,前端不需要判断 - */ - NOT_STOCK("A03010", "not stock"), - - /** - * 该社交账号被其他用户绑定了,如果返回这个状态码,前端应该提示用户解绑已经绑定的账号重新绑定 - */ - SOCIAL_ACCOUNT_BIND_BY_OTHER("A04002", "social account bind by other"), - - /** - * 存在未完成订单不能注销 - */ - DESTROY_USER_FAIL("A05000", "您的账户当前有未完成的订单,请待所有订单完成后再注销账户"), - - /** - * 用户收货地址超过配送范围 - */ - DELIVERY_OVER("A07001", ""), - /** - * 账号重复 - */ - ACCOUNT_REPEAT("P01001", "账号已经被使用"), - ACCOUNT_NOT_EXIT("P01002", "账号不存在"), - ACCOUNT_NOT_ROLE("P01003", "账号不存在角色"), - ACCOUNT_STATUS_ERROR("P01004", "账号被锁"), - ACCOUNT_NOT_AREA("P01005", "账号没绑定经营地区"), - ACCOUNT_CREATE_ERROR("P01006", "账号创建失败"), - ACCOUNT_NO_MENU("P01007", "账号无菜单权限"), - PUSH_ID_NO_ACCOUNT("P01008", "该id无账号"), - ACCOUNT_ERROR("P01009", "账号权限错误"), - QUERY_TYPE_ERROR("P01010", "分页查询用户类型有误"), - // P02 钱包类 - PUSH_USER_WALLET_NOT_EXIST("P02001", "用户钱包不存在"), - ORDER_NOT_EXIST("P02002", "订单不存在"), - NOT_SCANCODE_ORDER("P02003", "订单不是扫码下单"), - NOT_PAY_ORDER("P02004", "订单为未支付完成"), - ACTUAL_PAY_LITTLE_ORDER("P02005", "订单支付金额小于1元,不进行分成"), - NOT_BIND_ORDER("P02006", "订单商家未被推客绑定,不进行分成"), - PUSH_ERR("P02007", "分成失败"), - ACCOUNT_WX_BIND("P02101","改用户已经绑定openid" ), - WX_APPID_SECRET_ERR("P02102","获取配置的appid错误" ), - WITHDRAW_EXCESS_ERROR("P02005", "提现金额超出可提现额度"), - SHOP_BANK_CARD_NOT_EXIST("P02006", "银行卡不存在"), - SHOP_BANK_CARD_STATE_ERROR("P02007", "申请提现银行卡状态错误"), - - SHOP_BANK_ACCOUNT_ERROR("P02008", "注册新生账号异常"), - SHOP_BANK_BIND_CONFIRM("P02010", "请输入验证码绑定银行卡"), - /** - * C开头为公共部分 - */ - ACCESS_TOKEN_ERR("C01001", "获取access_token失败"), - TICKET_ERR("C01002", "获取ticket失败"), - GENERATE_URL_LINK_ERR("C01003", "创建URLLink失败"), - GET_WX_CODE_SESSION_ERR("C01004", "微信登录凭证校验败"), - - DATA_EXISTS("C01009", "数据已存在"), - DATA_NOT_CHANGE_ABLE("C01010", "数据不可变更"), - - - - - /** - * 远程接口调用错误 - */ - RPC_CALL_EXCEPTION("A08001", ""), - /** - * - */ - RPC_CALL_HTTP_EXCEPTION("A08002", ""), - - - BAIDU_MAP_CONVERT_ERROR("A08003","百度地图接口调用错误" ), - - /** - * T 平台活动类 - */ - REPEAT_ACTIVITY_SUB_ITEM("T00001", "重复的活动子项目"),; - - - - private final String code; - - private final String msg; - - public String value() { - return code; - } - - public String getMsg() { - return msg; - } - - ResponseEnum(String code, String msg) { - this.code = code; - this.msg = msg; - } - - @Override - public String toString() { - return "ResponseEnum{" + "code='" + code + '\'' + ", msg='" + msg + '\'' + "} " + super.toString(); - } - -} +///* +// * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. +// * +// * https://www.mall4j.com/ +// * +// * 未经允许,不可做商业用途! +// * +// * 版权所有,侵权必究! +// */ +//package com.mcwl.common.domain.response; +// +// +//import com.mcwl.common.i18n.I18nMessage; +// +///** +// * @author FrozenWatermelon +// * @date 2020/7/9 +// */ +//public enum ResponseEnum { +// +// /** +// * ok +// */ +// OK("00000", "ok"), +// +// /** +// * 用于直接显示提示用户的错误,内容由输入内容决定 +// */ +// SHOW_FAIL("A00001", ""), +// +// /** +// * 用于直接显示提示系统的成功,内容由输入内容决定 +// */ +// SHOW_SUCCESS("A00002", ""), +// +// /** +// * 未授权 +// */ +// UNAUTHORIZED("A00004", "Unauthorized"), +// +// /** +// * 服务器出了点小差 +// */ +// EXCEPTION("A00005", "服务器出了点小差"), +// +// /** +// * TempUid异常 +// * 一般不会出现这个异常,出现这个异常会有两种已知可能 +// * 1. 一种是旧的tempUid +// * 2. 一种是同域名的localstorage 有个也叫tempUid的存储覆盖了(有的人测试环境和正式环境放在同一个域名不同子目录下) +// * 如果前端看到返回了这个异常,为了让用户能够顺利登录,需要重新获取一遍code,重新获取tempUid +// */ +// TEMP_UID_ERROR("A00012", "TempUid Error"), +// +// /** +// * 接口不存在 +// */ +// NOT_FOUND("A00013", "接口不存在"), +// +// /** +// * 方法参数没有校验,内容由输入内容决定 +// */ +// METHOD_ARGUMENT_NOT_VALID("A00014", "方法参数没有校验"), +// +// /** +// * 支付密码错误 +// */ +// PAY_PASSWORD_ERROR("A00015", I18nMessage.getMessage("yami.user.pay.password.error")), +// +// +// SCANCODE_PAY_ERROR("A00016", "扫描支付发生错误"), +// +// +// NEW_USER_NO_INVITOR_ERROR("A00017", "新注册用户必须填写邀请码"), +// +// NEW_USER_INVITOR_ERROR("A00018", "邀请码错误"), +// +// /** +// * 01开头代表商品 +// * 商品已下架,返回特殊的状态码,用于渲染商品下架的页面 +// */ +//// SPU_NOT_EXIST("A01000", "商品不存在"), +// +// /** +// * 02开头代表购物车 +// */ +//// SHOP_CART_NOT_EXIST("A02000", "商品已下架"), +// +// /** +// * 03开头代表订单 +// */ +// API_ORDER_NOT_EXIST("A03000", "订单不存在"), +// ORDER_BUSY("A03001", "订单繁忙,请稍后再试"), +// +// /** +// * 订单不支持该配送方式 +// */ +// ORDER_DELIVERY_NOT_SUPPORTED("A03001", "The delivery method is not supported"), +// +// /** +// * 请勿重复提交订单, +// * 1.当前端遇到该异常时,说明前端防多次点击没做好 +// * 2.提示用户 订单已发生改变,请勿重复下单 +// */ +// REPEAT_ORDER("A03002", "订单已过期,请重新下单"), +// +// /** +// * 优惠券不能共用 +// */ +// COUPON_CANNOT_USE_TOGETHER("A03003", "优惠券不能共用"), +// +// /** +// * 代金券金额超过了订单金额 +// */ +// COUPON_OF_RMRT_GT_ORDER("A03004", "代金券金额超过了订单金额"), +// +// /** +// * 库存不足,body会具体返回那个skuid的库存不足,后台通过skuId知道哪个商品库存不足,前端不需要判断 +// */ +// NOT_STOCK("A03010", "not stock"), +// +// /** +// * 该社交账号被其他用户绑定了,如果返回这个状态码,前端应该提示用户解绑已经绑定的账号重新绑定 +// */ +// SOCIAL_ACCOUNT_BIND_BY_OTHER("A04002", "social account bind by other"), +// +// /** +// * 存在未完成订单不能注销 +// */ +// DESTROY_USER_FAIL("A05000", "您的账户当前有未完成的订单,请待所有订单完成后再注销账户"), +// +// /** +// * 用户收货地址超过配送范围 +// */ +// DELIVERY_OVER("A07001", ""), +// /** +// * 账号重复 +// */ +// ACCOUNT_REPEAT("P01001", "账号已经被使用"), +// ACCOUNT_NOT_EXIT("P01002", "账号不存在"), +// ACCOUNT_NOT_ROLE("P01003", "账号不存在角色"), +// ACCOUNT_STATUS_ERROR("P01004", "账号被锁"), +// ACCOUNT_NOT_AREA("P01005", "账号没绑定经营地区"), +// ACCOUNT_CREATE_ERROR("P01006", "账号创建失败"), +// ACCOUNT_NO_MENU("P01007", "账号无菜单权限"), +// PUSH_ID_NO_ACCOUNT("P01008", "该id无账号"), +// ACCOUNT_ERROR("P01009", "账号权限错误"), +// QUERY_TYPE_ERROR("P01010", "分页查询用户类型有误"), +// // P02 钱包类 +// PUSH_USER_WALLET_NOT_EXIST("P02001", "用户钱包不存在"), +// ORDER_NOT_EXIST("P02002", "订单不存在"), +// NOT_SCANCODE_ORDER("P02003", "订单不是扫码下单"), +// NOT_PAY_ORDER("P02004", "订单为未支付完成"), +// ACTUAL_PAY_LITTLE_ORDER("P02005", "订单支付金额小于1元,不进行分成"), +// NOT_BIND_ORDER("P02006", "订单商家未被推客绑定,不进行分成"), +// PUSH_ERR("P02007", "分成失败"), +// ACCOUNT_WX_BIND("P02101","改用户已经绑定openid" ), +// WX_APPID_SECRET_ERR("P02102","获取配置的appid错误" ), +// WITHDRAW_EXCESS_ERROR("P02005", "提现金额超出可提现额度"), +// SHOP_BANK_CARD_NOT_EXIST("P02006", "银行卡不存在"), +// SHOP_BANK_CARD_STATE_ERROR("P02007", "申请提现银行卡状态错误"), +// +// SHOP_BANK_ACCOUNT_ERROR("P02008", "注册新生账号异常"), +// SHOP_BANK_BIND_CONFIRM("P02010", "请输入验证码绑定银行卡"), +// /** +// * C开头为公共部分 +// */ +// ACCESS_TOKEN_ERR("C01001", "获取access_token失败"), +// TICKET_ERR("C01002", "获取ticket失败"), +// GENERATE_URL_LINK_ERR("C01003", "创建URLLink失败"), +// GET_WX_CODE_SESSION_ERR("C01004", "微信登录凭证校验败"), +// +// DATA_EXISTS("C01009", "数据已存在"), +// DATA_NOT_CHANGE_ABLE("C01010", "数据不可变更"), +// +// +// +// +// /** +// * 远程接口调用错误 +// */ +// RPC_CALL_EXCEPTION("A08001", ""), +// /** +// * +// */ +// RPC_CALL_HTTP_EXCEPTION("A08002", ""), +// +// +// BAIDU_MAP_CONVERT_ERROR("A08003","百度地图接口调用错误" ), +// +// /** +// * T 平台活动类 +// */ +// REPEAT_ACTIVITY_SUB_ITEM("T00001", "重复的活动子项目"),; +// +// +// +// private final String code; +// +// private final String msg; +// +// public String value() { +// return code; +// } +// +// public String getMsg() { +// return msg; +// } +// +// ResponseEnum(String code, String msg) { +// this.code = code; +// this.msg = msg; +// } +// +// @Override +// public String toString() { +// return "ResponseEnum{" + "code='" + code + '\'' + ", msg='" + msg + '\'' + "} " + super.toString(); +// } +// +//} diff --git a/mcwl-common/src/main/java/com/mcwl/common/domain/response/ServerResponseEntity.java b/mcwl-common/src/main/java/com/mcwl/common/domain/response/ServerResponseEntity.java index d06c71e..8f929ae 100644 --- a/mcwl-common/src/main/java/com/mcwl/common/domain/response/ServerResponseEntity.java +++ b/mcwl-common/src/main/java/com/mcwl/common/domain/response/ServerResponseEntity.java @@ -1,215 +1,215 @@ -/* - * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. - * - * https://www.mall4j.com/ - * - * 未经允许,不可做商业用途! - * - * 版权所有,侵权必究! - */ -package com.mcwl.common.domain.response; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.mcwl.common.config.serializer.SensitiveJsonSerializer; -import io.swagger.v3.oas.annotations.media.Schema; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.Serializable; -import java.util.Objects; - -/** - * 响应实体 - * @author mcwl - */ -public class ServerResponseEntity implements Serializable { - - private static final Logger log = LoggerFactory.getLogger(ServerResponseEntity.class); - - /** - * 状态码 - */ - @Schema(description = "状态码" ) private String code; - - /** - * 信息 - */ - @Schema(description = "信息" ) private String msg; - - /** - * 数据 - */ - @Schema(description = "数据" ) - @JsonSerialize(using = SensitiveJsonSerializer.class) - private T data; - - /** - * 版本 - */ - private String version; - - /** - * 时间 - */ - private Long timestamp; - - private String sign; - - public String getSign() { - return sign; - } - - public void setSign(String sign) { - this.sign = sign; - } - - public String getCode() { - return code; - } - - public void setCode(String code) { - this.code = code; - } - - public String getMsg() { - return msg; - } - - public void setMsg(String msg) { - this.msg = msg; - } - - public T getData() { - return data; - } - - public ServerResponseEntity setData(T data) { - this.data = data; - return this; - } - - public Long getTimestamp() { - return timestamp; - } - - public void setTimestamp(Long timestamp) { - this.timestamp = timestamp; - } - - public String getVersion() { - return version; - } - - public void setVersion(String version) { - this.version = version; - } - - public boolean isSuccess() { - return Objects.equals(ResponseEnum.OK.value(), this.code); - } - public boolean isFail() { - return !Objects.equals(ResponseEnum.OK.value(), this.code); - } - - public ServerResponseEntity() { - // 版本号 - this.version = "mall4j.v231204"; - } - - public static ServerResponseEntity success(T data) { - ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); - serverResponseEntity.setData(data); - serverResponseEntity.setCode(ResponseEnum.OK.value()); - return serverResponseEntity; - } - - public static ServerResponseEntity success() { - ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); - serverResponseEntity.setCode(ResponseEnum.OK.value()); - serverResponseEntity.setMsg(ResponseEnum.OK.getMsg()); - return serverResponseEntity; - } - - public static ServerResponseEntity success(Integer code, T data) { - return success(String.valueOf(code), data); - } - - public static ServerResponseEntity success(String code, T data) { - ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); - serverResponseEntity.setCode(code); - serverResponseEntity.setData(data); - return serverResponseEntity; - } - - /** - * 前端显示失败消息 - * @param msg 失败消息 - * @return - */ - public static ServerResponseEntity showFailMsg(String msg) { - log.error(msg); - ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); - serverResponseEntity.setMsg(msg); - serverResponseEntity.setCode(ResponseEnum.SHOW_FAIL.value()); - return serverResponseEntity; - } - - public static ServerResponseEntity fail(ResponseEnum responseEnum) { - log.error(responseEnum.toString()); - ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); - serverResponseEntity.setMsg(responseEnum.getMsg()); - serverResponseEntity.setCode(responseEnum.value()); - return serverResponseEntity; - } - - public static ServerResponseEntity fail(ResponseEnum responseEnum, T data) { - log.error(responseEnum.toString()); - ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); - serverResponseEntity.setMsg(responseEnum.getMsg()); - serverResponseEntity.setCode(responseEnum.value()); - serverResponseEntity.setData(data); - return serverResponseEntity; - } - - public static ServerResponseEntity fail(String code, String msg, T data) { - log.error(msg); - ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); - serverResponseEntity.setMsg(msg); - serverResponseEntity.setCode(code); - serverResponseEntity.setData(data); - return serverResponseEntity; - } - - public static ServerResponseEntity fail(String code, String msg) { - return fail(code, msg, null); - } - - public static ServerResponseEntity fail(Integer code, T data) { - ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); - serverResponseEntity.setCode(String.valueOf(code)); - serverResponseEntity.setData(data); - return serverResponseEntity; - } - - @SuppressWarnings("unchecked") - public static ServerResponseEntity transform(ServerResponseEntity oldServerResponseEntity) { - ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); - serverResponseEntity.setMsg(oldServerResponseEntity.getMsg()); - serverResponseEntity.setCode(oldServerResponseEntity.getCode()); - serverResponseEntity.setData((T) oldServerResponseEntity.getData()); - log.error(serverResponseEntity.toString()); - return serverResponseEntity; - } - - @Override - public String toString() { - return "ServerResponseEntity{" + - "code='" + code + '\'' + - ", msg='" + msg + '\'' + - ", data=" + data + - ", version='" + version + '\'' + - ", timestamp=" + timestamp + - ", sign='" + sign + '\'' + - '}'; - } -} +///* +// * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. +// * +// * https://www.mall4j.com/ +// * +// * 未经允许,不可做商业用途! +// * +// * 版权所有,侵权必究! +// */ +//package com.mcwl.common.domain.response; +// +//import com.fasterxml.jackson.databind.annotation.JsonSerialize; +//import com.mcwl.common.config.serializer.SensitiveJsonSerializer; +//import io.swagger.v3.oas.annotations.media.Schema; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +// +//import java.io.Serializable; +//import java.util.Objects; +// +///** +// * 响应实体 +// * @author mcwl +// */ +//public class ServerResponseEntity implements Serializable { +// +// private static final Logger log = LoggerFactory.getLogger(ServerResponseEntity.class); +// +// /** +// * 状态码 +// */ +// @Schema(description = "状态码" ) private String code; +// +// /** +// * 信息 +// */ +// @Schema(description = "信息" ) private String msg; +// +// /** +// * 数据 +// */ +// @Schema(description = "数据" ) +// @JsonSerialize(using = SensitiveJsonSerializer.class) +// private T data; +// +// /** +// * 版本 +// */ +// private String version; +// +// /** +// * 时间 +// */ +// private Long timestamp; +// +// private String sign; +// +// public String getSign() { +// return sign; +// } +// +// public void setSign(String sign) { +// this.sign = sign; +// } +// +// public String getCode() { +// return code; +// } +// +// public void setCode(String code) { +// this.code = code; +// } +// +// public String getMsg() { +// return msg; +// } +// +// public void setMsg(String msg) { +// this.msg = msg; +// } +// +// public T getData() { +// return data; +// } +// +// public ServerResponseEntity setData(T data) { +// this.data = data; +// return this; +// } +// +// public Long getTimestamp() { +// return timestamp; +// } +// +// public void setTimestamp(Long timestamp) { +// this.timestamp = timestamp; +// } +// +// public String getVersion() { +// return version; +// } +// +// public void setVersion(String version) { +// this.version = version; +// } +// +// public boolean isSuccess() { +// return Objects.equals(ResponseEnum.OK.value(), this.code); +// } +// public boolean isFail() { +// return !Objects.equals(ResponseEnum.OK.value(), this.code); +// } +// +// public ServerResponseEntity() { +// // 版本号 +// this.version = "mall4j.v231204"; +// } +// +// public static ServerResponseEntity success(T data) { +// ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); +// serverResponseEntity.setData(data); +// serverResponseEntity.setCode(ResponseEnum.OK.value()); +// return serverResponseEntity; +// } +// +// public static ServerResponseEntity success() { +// ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); +// serverResponseEntity.setCode(ResponseEnum.OK.value()); +// serverResponseEntity.setMsg(ResponseEnum.OK.getMsg()); +// return serverResponseEntity; +// } +// +// public static ServerResponseEntity success(Integer code, T data) { +// return success(String.valueOf(code), data); +// } +// +// public static ServerResponseEntity success(String code, T data) { +// ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); +// serverResponseEntity.setCode(code); +// serverResponseEntity.setData(data); +// return serverResponseEntity; +// } +// +// /** +// * 前端显示失败消息 +// * @param msg 失败消息 +// * @return +// */ +// public static ServerResponseEntity showFailMsg(String msg) { +// log.error(msg); +// ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); +// serverResponseEntity.setMsg(msg); +// serverResponseEntity.setCode(ResponseEnum.SHOW_FAIL.value()); +// return serverResponseEntity; +// } +// +// public static ServerResponseEntity fail(ResponseEnum responseEnum) { +// log.error(responseEnum.toString()); +// ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); +// serverResponseEntity.setMsg(responseEnum.getMsg()); +// serverResponseEntity.setCode(responseEnum.value()); +// return serverResponseEntity; +// } +// +// public static ServerResponseEntity fail(ResponseEnum responseEnum, T data) { +// log.error(responseEnum.toString()); +// ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); +// serverResponseEntity.setMsg(responseEnum.getMsg()); +// serverResponseEntity.setCode(responseEnum.value()); +// serverResponseEntity.setData(data); +// return serverResponseEntity; +// } +// +// public static ServerResponseEntity fail(String code, String msg, T data) { +// log.error(msg); +// ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); +// serverResponseEntity.setMsg(msg); +// serverResponseEntity.setCode(code); +// serverResponseEntity.setData(data); +// return serverResponseEntity; +// } +// +// public static ServerResponseEntity fail(String code, String msg) { +// return fail(code, msg, null); +// } +// +// public static ServerResponseEntity fail(Integer code, T data) { +// ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); +// serverResponseEntity.setCode(String.valueOf(code)); +// serverResponseEntity.setData(data); +// return serverResponseEntity; +// } +// +// @SuppressWarnings("unchecked") +// public static ServerResponseEntity transform(ServerResponseEntity oldServerResponseEntity) { +// ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); +// serverResponseEntity.setMsg(oldServerResponseEntity.getMsg()); +// serverResponseEntity.setCode(oldServerResponseEntity.getCode()); +// serverResponseEntity.setData((T) oldServerResponseEntity.getData()); +// log.error(serverResponseEntity.toString()); +// return serverResponseEntity; +// } +// +// @Override +// public String toString() { +// return "ServerResponseEntity{" + +// "code='" + code + '\'' + +// ", msg='" + msg + '\'' + +// ", data=" + data + +// ", version='" + version + '\'' + +// ", timestamp=" + timestamp + +// ", sign='" + sign + '\'' + +// '}'; +// } +//} diff --git a/mcwl-common/src/main/java/com/mcwl/common/exception/YamiBizException.java b/mcwl-common/src/main/java/com/mcwl/common/exception/YamiBizException.java index 0eb9c88..614b2a5 100644 --- a/mcwl-common/src/main/java/com/mcwl/common/exception/YamiBizException.java +++ b/mcwl-common/src/main/java/com/mcwl/common/exception/YamiBizException.java @@ -1,60 +1,60 @@ -/* - * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. - * - * https://www.mall4j.com/ - * - * 未经允许,不可做商业用途! - * - * 版权所有,侵权必究! - */ -package com.mcwl.common.exception; - - -import com.mcwl.common.domain.response.ResponseEnum; -import lombok.Getter; - -/** - * 自定义异常 - * @author mcwl - */ -@Getter -public class YamiBizException extends RuntimeException{ - - /** - * - */ - private static final long serialVersionUID = -4137688758944857209L; - - /** - * http状态码 - */ - private String code; - - /** - * @param responseEnum http状态码 - */ - public YamiBizException(ResponseEnum responseEnum) { - super(responseEnum.getMsg()); - this.code = responseEnum.value(); - } - - /** - * @param responseEnum http状态码 - */ - public YamiBizException(ResponseEnum responseEnum, String msg) { - super(msg); - this.code = responseEnum.value(); - } - - public YamiBizException(String msg) { +///* +// * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. +// * +// * https://www.mall4j.com/ +// * +// * 未经允许,不可做商业用途! +// * +// * 版权所有,侵权必究! +// */ +//package com.mcwl.common.exception; +// +// +//import com.mcwl.common.domain.response.ResponseEnum; +//import lombok.Getter; +// +///** +// * 自定义异常 +// * @author mcwl +// */ +//@Getter +//public class YamiBizException extends RuntimeException{ +// +// /** +// * +// */ +// private static final long serialVersionUID = -4137688758944857209L; +// +// /** +// * http状态码 +// */ +// private String code; +// +// /** +// * @param responseEnum http状态码 +// */ +// public YamiBizException(ResponseEnum responseEnum) { +// super(responseEnum.getMsg()); +// this.code = responseEnum.value(); +// } +// +// /** +// * @param responseEnum http状态码 +// */ +// public YamiBizException(ResponseEnum responseEnum, String msg) { // super(msg); - super(msg); - this.code = ResponseEnum.SHOW_FAIL.value(); - } - - public YamiBizException(String code,String msg) { +// this.code = responseEnum.value(); +// } +// +// public YamiBizException(String msg) { +//// super(msg); // super(msg); - super(msg); - this.code = code; - } -} +// this.code = ResponseEnum.SHOW_FAIL.value(); +// } +// +// public YamiBizException(String code,String msg) { +//// super(msg); +// super(msg); +// this.code = code; +// } +//} diff --git a/mcwl-common/src/main/java/com/mcwl/common/exception/YamiShopBindException.java b/mcwl-common/src/main/java/com/mcwl/common/exception/YamiShopBindException.java index 918a4c5..f7f6ad6 100644 --- a/mcwl-common/src/main/java/com/mcwl/common/exception/YamiShopBindException.java +++ b/mcwl-common/src/main/java/com/mcwl/common/exception/YamiShopBindException.java @@ -1,74 +1,74 @@ -/* - * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. - * - * https://www.mall4j.com/ - * - * 未经允许,不可做商业用途! - * - * 版权所有,侵权必究! - */ -package com.mcwl.common.exception; - -import com.mcwl.common.domain.response.ResponseEnum; -import com.mcwl.common.domain.response.ServerResponseEntity; -import com.mcwl.common.i18n.I18nMessage; -import lombok.Getter; - -/** - * 自定义异常 - * @author mcwl - */ -@Getter -public class YamiShopBindException extends RuntimeException{ - - /** - * - */ - private static final long serialVersionUID = -4137688758944857209L; - - /** - * http状态码 - */ - private String code; - - private Object object; - - private ServerResponseEntity serverResponseEntity; - - /** - * @param responseEnum http状态码 - */ - public YamiShopBindException(ResponseEnum responseEnum) { - super(responseEnum.getMsg()); - this.code = responseEnum.value(); - } - - /** - * @param responseEnum http状态码 - */ - public YamiShopBindException(ResponseEnum responseEnum, String msg) { - super(I18nMessage.getMessage(msg)); - this.code = responseEnum.value(); - } - - public YamiShopBindException(ServerResponseEntity serverResponseEntity) { - this.serverResponseEntity = serverResponseEntity; - } - - public YamiShopBindException(String msg) { -// super(msg); - super(I18nMessage.getMessage(msg)); - this.code = ResponseEnum.SHOW_FAIL.value(); - } - - public YamiShopBindException(String msg, Object object) { - super(I18nMessage.getMessage(msg)); - this.code = ResponseEnum.SHOW_FAIL.value(); - this.object = object; - } - - public YamiShopBindException(String code, String msg) { - super(I18nMessage.getMessage(msg)); - this.code = code; - } -} +///* +// * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. +// * +// * https://www.mall4j.com/ +// * +// * 未经允许,不可做商业用途! +// * +// * 版权所有,侵权必究! +// */ +//package com.mcwl.common.exception; +// +//import com.mcwl.common.domain.response.ResponseEnum; +//import com.mcwl.common.domain.response.ServerResponseEntity; +//import com.mcwl.common.i18n.I18nMessage; +//import lombok.Getter; +// +///** +// * 自定义异常 +// * @author mcwl +// */ +//@Getter +//public class YamiShopBindException extends RuntimeException{ +// +// /** +// * +// */ +// private static final long serialVersionUID = -4137688758944857209L; +// +// /** +// * http状态码 +// */ +// private String code; +// +// private Object object; +// +// private ServerResponseEntity serverResponseEntity; +// +// /** +// * @param responseEnum http状态码 +// */ +// public YamiShopBindException(ResponseEnum responseEnum) { +// super(responseEnum.getMsg()); +// this.code = responseEnum.value(); +// } +// +// /** +// * @param responseEnum http状态码 +// */ +// public YamiShopBindException(ResponseEnum responseEnum, String msg) { +// super(I18nMessage.getMessage(msg)); +// this.code = responseEnum.value(); +// } +// +// public YamiShopBindException(ServerResponseEntity serverResponseEntity) { +// this.serverResponseEntity = serverResponseEntity; +// } +// +// public YamiShopBindException(String msg) { +//// super(msg); +// super(I18nMessage.getMessage(msg)); +// this.code = ResponseEnum.SHOW_FAIL.value(); +// } +// +// public YamiShopBindException(String msg, Object object) { +// super(I18nMessage.getMessage(msg)); +// this.code = ResponseEnum.SHOW_FAIL.value(); +// this.object = object; +// } +// +// public YamiShopBindException(String code, String msg) { +// super(I18nMessage.getMessage(msg)); +// this.code = code; +// } +//} diff --git a/mcwl-common/src/main/java/com/mcwl/common/i18n/I18nMessage.java b/mcwl-common/src/main/java/com/mcwl/common/i18n/I18nMessage.java index 9411554..c95cf09 100644 --- a/mcwl-common/src/main/java/com/mcwl/common/i18n/I18nMessage.java +++ b/mcwl-common/src/main/java/com/mcwl/common/i18n/I18nMessage.java @@ -1,45 +1,56 @@ -/* - * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. - * - * https://www.mall4j.com/ - * - * 未经允许,不可做商业用途! - * - * 版权所有,侵权必究! - */ -package com.mcwl.common.i18n; - - -import lombok.extern.slf4j.Slf4j; -import org.springframework.context.i18n.LocaleContextHolder; -import org.springframework.context.support.MessageSourceAccessor; -import org.springframework.context.support.ReloadableResourceBundleMessageSource; - -import java.io.IOException; -import java.util.Locale; -import java.util.Objects; - -/** - * 多语言国际化消息工具类 - * @author mcwl - */ -@Slf4j -public class I18nMessage { - private static MessageSourceAccessor accessor; - -// private static final String BASE_FOLDE = "i18n"; - - private static final String BASE_NAME = "i18n/messages"; - - static{ - ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource = new ReloadableResourceBundleMessageSource(); - reloadableResourceBundleMessageSource.setBasenames(BASE_NAME); - reloadableResourceBundleMessageSource.setCacheSeconds(5); - reloadableResourceBundleMessageSource.setDefaultEncoding("UTF-8"); - accessor = new MessageSourceAccessor(reloadableResourceBundleMessageSource); - } - - +///* +// * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. +// * +// * https://www.mall4j.com/ +// * +// * 未经允许,不可做商业用途! +// * +// * 版权所有,侵权必究! +// */ +//package com.mcwl.common.i18n; +// +// +//import lombok.extern.slf4j.Slf4j; +//import org.springframework.context.i18n.LocaleContextHolder; +//import org.springframework.context.support.MessageSourceAccessor; +//import org.springframework.context.support.ReloadableResourceBundleMessageSource; +// +//import java.io.IOException; +//import java.util.Locale; +//import java.util.Objects; +// +///** +// * 多语言国际化消息工具类 +// * @author mcwl +// */ +//@Slf4j +//public class I18nMessage { +// private static MessageSourceAccessor accessor; +// +//// private static final String BASE_FOLDE = "i18n"; +// +// private static final String BASE_NAME = "i18n/messages"; +// +// static{ +// ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource = new ReloadableResourceBundleMessageSource(); +// reloadableResourceBundleMessageSource.setBasenames(BASE_NAME); +// reloadableResourceBundleMessageSource.setCacheSeconds(5); +// reloadableResourceBundleMessageSource.setDefaultEncoding("UTF-8"); +// accessor = new MessageSourceAccessor(reloadableResourceBundleMessageSource); +// } +// +// +//// /** +//// * 获取一条语言配置信息 +//// * +//// * @param message 配置信息属性名,eg: api.response.code.user.signUp +//// * @return +//// */ +//// public static String getMessage(String message) { +//// Locale locale = LocaleContextHolder.getLocale(); +//// return I18nMessage.accessor.getMessage(message,locale); +//// } +// // /** // * 获取一条语言配置信息 // * @@ -48,97 +59,86 @@ public class I18nMessage { // */ // public static String getMessage(String message) { // Locale locale = LocaleContextHolder.getLocale(); -// return I18nMessage.accessor.getMessage(message,locale); +// try { +// return accessor.getMessage(message,locale); +// }catch (Exception e){ +// return message; +// } +// // } - - /** - * 获取一条语言配置信息 - * - * @param message 配置信息属性名,eg: api.response.code.user.signUp - * @return - */ - public static String getMessage(String message) { - Locale locale = LocaleContextHolder.getLocale(); - try { - return accessor.getMessage(message,locale); - }catch (Exception e){ - return message; - } - - } - /** - * 获取一条语言配置信息(后台管理) - * - * @return - * @throws IOException - */ - public static Integer getLang() { - Locale locale = LocaleContextHolder.getLocale(); - return LanguageEnum.valueOf(locale).getLang(); - } - - /** - * 获取一条语言配置信息(小程序、pc) - * - * @return - * @throws IOException - */ - public static Integer getDbLang() { - Integer lang = getLang(); - if (Objects.equals(lang, 0)) { - return LanguageEnum.LANGUAGE_ZH_CN.getLang(); - } - return lang; - } - // /** -// * 获取文件夹下所有的国际化文件名 +// * 获取一条语言配置信息(后台管理) // * -// * @param folderName 文件名 // * @return // * @throws IOException // */ -// private static String[] getAllBaseNames(final String folderName) throws IOException { -// URL url = Thread.currentThread().getContextClassLoader() -// .getResource(folderName); -// if (null == url) { -// throw new RuntimeException("无法获取资源文件路径"); -// } -// -// List baseNames = new ArrayList<>(); -// if (url.getProtocol().equalsIgnoreCase("file")) { -// // 文件夹形式,用File获取资源路径 -// File file = new File(url.getFile()); -// if (file.exists() && file.isDirectory()) { -// baseNames = Files.walk(file.toPath()) -// .filter(path -> path.toFile().isFile()) -// .map(Path::toString) -// .map(path -> path.substring(path.indexOf(folderName))) -// .map(I18nMessage::getI18FileName) -// .distinct() -// .collect(Collectors.toList()); -// } else { -// log.error("指定的baseFile不存在或者不是文件夹"); -// } -// } -// return baseNames.toArray(new String[0]); +// public static Integer getLang() { +// Locale locale = LocaleContextHolder.getLocale(); +// return LanguageEnum.valueOf(locale).getLang(); // } // // /** -// * 把普通文件名转换成国际化文件名 +// * 获取一条语言配置信息(小程序、pc) // * -// * @param filename // * @return +// * @throws IOException // */ -// private static String getI18FileName(String filename) { -// filename = filename.replace(".properties", ""); -//// for (int i = 0; i < 2; i++) { -//// int index = filename.lastIndexOf("_"); -//// if (index != -1) { -//// filename = filename.substring(0, index); +// public static Integer getDbLang() { +// Integer lang = getLang(); +// if (Objects.equals(lang, 0)) { +// return LanguageEnum.LANGUAGE_ZH_CN.getLang(); +// } +// return lang; +// } +// +//// /** +//// * 获取文件夹下所有的国际化文件名 +//// * +//// * @param folderName 文件名 +//// * @return +//// * @throws IOException +//// */ +//// private static String[] getAllBaseNames(final String folderName) throws IOException { +//// URL url = Thread.currentThread().getContextClassLoader() +//// .getResource(folderName); +//// if (null == url) { +//// throw new RuntimeException("无法获取资源文件路径"); +//// } +//// +//// List baseNames = new ArrayList<>(); +//// if (url.getProtocol().equalsIgnoreCase("file")) { +//// // 文件夹形式,用File获取资源路径 +//// File file = new File(url.getFile()); +//// if (file.exists() && file.isDirectory()) { +//// baseNames = Files.walk(file.toPath()) +//// .filter(path -> path.toFile().isFile()) +//// .map(Path::toString) +//// .map(path -> path.substring(path.indexOf(folderName))) +//// .map(I18nMessage::getI18FileName) +//// .distinct() +//// .collect(Collectors.toList()); +//// } else { +//// log.error("指定的baseFile不存在或者不是文件夹"); //// } //// } -// return filename.replace("\\", "/"); -// } - -} +//// return baseNames.toArray(new String[0]); +//// } +//// +//// /** +//// * 把普通文件名转换成国际化文件名 +//// * +//// * @param filename +//// * @return +//// */ +//// private static String getI18FileName(String filename) { +//// filename = filename.replace(".properties", ""); +////// for (int i = 0; i < 2; i++) { +////// int index = filename.lastIndexOf("_"); +////// if (index != -1) { +////// filename = filename.substring(0, index); +////// } +////// } +//// return filename.replace("\\", "/"); +//// } +// +//} diff --git a/mcwl-common/src/main/java/com/mcwl/common/i18n/YamiLocaleChangeFilter.java b/mcwl-common/src/main/java/com/mcwl/common/i18n/YamiLocaleChangeFilter.java index 93ec305..ab1dc4e 100644 --- a/mcwl-common/src/main/java/com/mcwl/common/i18n/YamiLocaleChangeFilter.java +++ b/mcwl-common/src/main/java/com/mcwl/common/i18n/YamiLocaleChangeFilter.java @@ -1,53 +1,53 @@ -/* - * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. - * - * https://www.mall4j.com/ - * - * 未经允许,不可做商业用途! - * - * 版权所有,侵权必究! - */ -package com.mcwl.common.i18n; - - - -import lombok.extern.slf4j.Slf4j; -import org.springframework.context.i18n.LocaleContextHolder; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; - -import javax.servlet.*; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.Locale; -import java.util.Objects; - -/** - * RequestContextFilter 会传入默认的Locale,优先级(-105) 要比RequestContextFilter优先级高 - * @author LGH - */ -@Slf4j -@Component -@Order(-104) -public class YamiLocaleChangeFilter implements Filter { - - public static String ZH_CN = "zh_CN"; - public static String ZH_CN_L = "zh_cn"; - - @Override - public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { - HttpServletRequest request = (HttpServletRequest) servletRequest; - HttpServletResponse response = (HttpServletResponse) servletResponse; - - String newLocale = request.getHeader("locale"); - if(Objects.equals(newLocale,ZH_CN)||Objects.equals(newLocale,ZH_CN_L)){ - newLocale = "zh"; - } - if (newLocale != null) { - String lowerLocale = newLocale.toLowerCase(); - LocaleContextHolder.setLocale(new Locale(lowerLocale)); - } - filterChain.doFilter(request, response); - } -} +///* +// * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. +// * +// * https://www.mall4j.com/ +// * +// * 未经允许,不可做商业用途! +// * +// * 版权所有,侵权必究! +// */ +//package com.mcwl.common.i18n; +// +// +// +//import lombok.extern.slf4j.Slf4j; +//import org.springframework.context.i18n.LocaleContextHolder; +//import org.springframework.core.annotation.Order; +//import org.springframework.stereotype.Component; +// +//import javax.servlet.*; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.io.IOException; +//import java.util.Locale; +//import java.util.Objects; +// +///** +// * RequestContextFilter 会传入默认的Locale,优先级(-105) 要比RequestContextFilter优先级高 +// * @author LGH +// */ +//@Slf4j +//@Component +//@Order(-104) +//public class YamiLocaleChangeFilter implements Filter { +// +// public static String ZH_CN = "zh_CN"; +// public static String ZH_CN_L = "zh_cn"; +// +// @Override +// public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { +// HttpServletRequest request = (HttpServletRequest) servletRequest; +// HttpServletResponse response = (HttpServletResponse) servletResponse; +// +// String newLocale = request.getHeader("locale"); +// if(Objects.equals(newLocale,ZH_CN)||Objects.equals(newLocale,ZH_CN_L)){ +// newLocale = "zh"; +// } +// if (newLocale != null) { +// String lowerLocale = newLocale.toLowerCase(); +// LocaleContextHolder.setLocale(new Locale(lowerLocale)); +// } +// filterChain.doFilter(request, response); +// } +//} diff --git a/mcwl-common/src/main/java/com/mcwl/common/i18n/YamiLocaleChangeInterceptor.java b/mcwl-common/src/main/java/com/mcwl/common/i18n/YamiLocaleChangeInterceptor.java index 89ff1c1..6a806ec 100644 --- a/mcwl-common/src/main/java/com/mcwl/common/i18n/YamiLocaleChangeInterceptor.java +++ b/mcwl-common/src/main/java/com/mcwl/common/i18n/YamiLocaleChangeInterceptor.java @@ -1,58 +1,58 @@ -/* - * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. - * - * https://www.mall4j.com/ - * - * 未经允许,不可做商业用途! - * - * 版权所有,侵权必究! - */ -package com.mcwl.common.i18n; - - - -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; -import org.springframework.web.servlet.LocaleResolver; -import org.springframework.web.servlet.i18n.LocaleChangeInterceptor; -import org.springframework.web.servlet.support.RequestContextUtils; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * @author LGH - */ -@Component("localeChangeInterceptor") -@Slf4j -public class YamiLocaleChangeInterceptor extends LocaleChangeInterceptor { - - @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { - - String newLocale = request.getHeader(getParamName()); - if (newLocale != null) { - LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request); - if (localeResolver == null) { - throw new IllegalStateException( - "No LocaleResolver found: not in a DispatcherServlet request?"); - } - try { - localeResolver.setLocale(request, response, parseLocaleValue(newLocale)); - } - catch (IllegalArgumentException ex) { - if (isIgnoreInvalidLocale()) { - if (logger.isDebugEnabled()) { - logger.debug("Ignoring invalid locale value [" + newLocale + "]: " + ex.getMessage()); - } - } - else { - throw ex; - } - } - } - // Proceed in any case. - return true; - } - -} +///* +// * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. +// * +// * https://www.mall4j.com/ +// * +// * 未经允许,不可做商业用途! +// * +// * 版权所有,侵权必究! +// */ +//package com.mcwl.common.i18n; +// +// +// +//import lombok.extern.slf4j.Slf4j; +//import org.springframework.stereotype.Component; +//import org.springframework.web.servlet.LocaleResolver; +//import org.springframework.web.servlet.i18n.LocaleChangeInterceptor; +//import org.springframework.web.servlet.support.RequestContextUtils; +// +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +// +///** +// * @author LGH +// */ +//@Component("localeChangeInterceptor") +//@Slf4j +//public class YamiLocaleChangeInterceptor extends LocaleChangeInterceptor { +// +// @Override +// public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { +// +// String newLocale = request.getHeader(getParamName()); +// if (newLocale != null) { +// LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request); +// if (localeResolver == null) { +// throw new IllegalStateException( +// "No LocaleResolver found: not in a DispatcherServlet request?"); +// } +// try { +// localeResolver.setLocale(request, response, parseLocaleValue(newLocale)); +// } +// catch (IllegalArgumentException ex) { +// if (isIgnoreInvalidLocale()) { +// if (logger.isDebugEnabled()) { +// logger.debug("Ignoring invalid locale value [" + newLocale + "]: " + ex.getMessage()); +// } +// } +// else { +// throw ex; +// } +// } +// } +// // Proceed in any case. +// return true; +// } +// +//} diff --git a/mcwl-common/src/main/java/com/mcwl/common/utils/ImageUtil.java b/mcwl-common/src/main/java/com/mcwl/common/utils/ImageUtil.java index c9453e8..eaa3fdd 100644 --- a/mcwl-common/src/main/java/com/mcwl/common/utils/ImageUtil.java +++ b/mcwl-common/src/main/java/com/mcwl/common/utils/ImageUtil.java @@ -1,99 +1,99 @@ -/* - * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. - * - * https://www.mall4j.com/ - * - * 未经允许,不可做商业用途! - * - * 版权所有,侵权必究! - */ -package com.mcwl.common.utils; - -import cn.hutool.core.util.StrUtil; -import com.mcwl.common.exception.YamiShopBindException; - - -import javax.imageio.ImageIO; -import java.awt.*; -import java.awt.image.BufferedImage; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.net.URL; - -/** - * 图片处理工具类 - - */ -public class ImageUtil { - private static final String JPG = "jpg"; - private static final String JPEG = "jpeg"; - /** - * 将图片转为二进制数组 - * @param imgUrl - * @return - */ - public static byte[] imgToBinary(String imgUrl) { - try { - BufferedImage bufferedImage = ImageIO.read(new URL(imgUrl)); - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - String suffix = imgUrlFileType(imgUrl); - //ImageIO无法写入jpeg文件 报Invalid argument to native writeImage,需重画 - if(StrUtil.equals(suffix, JPG) || StrUtil.equals(suffix,JPEG)){ - BufferedImage tag; - tag = new BufferedImage(bufferedImage.getWidth(), bufferedImage.getHeight(), BufferedImage.TYPE_INT_BGR); - Graphics g = tag.getGraphics(); - g.drawImage(bufferedImage, 0, 0, null); - g.dispose(); - bufferedImage = tag; - } - ImageIO.write(bufferedImage, suffix, baos); - byte[] bytes = baos.toByteArray(); - return bytes; - } catch (IOException e) { - // 图片丢失,请重新上传图片 - throw new YamiShopBindException("yami.img.lose"); - } - } - - /** - * @param imgUrl - * @return 文件得后缀,文件类型 jpg , png , ... - */ - public static String imgUrlFileType(String imgUrl) { - if (StrUtil.isBlank(imgUrl)) { - return imgUrl; - } - imgUrl.trim(); - String[] split = imgUrl.split("\\."); - String s = split[split.length - 1]; - return s; - } - - /** - * @param imgUrl - * @return 获取文件名称 - */ - public static String imgUrlFileName(String imgUrl) { - if (StrUtil.isBlank(imgUrl)) { - return imgUrl; - } - imgUrl.trim(); - String[] split = imgUrl.split("/"); - String s = split[split.length - 1]; - return s; - } - /** - * @param imgUrl - * @return 获取文件名称 45d3631e97d8438d80f9db1369595b8c - */ - public static String imgUrlFileNameNoSuffix(String imgUrl) { - if (StrUtil.isBlank(imgUrl)) { - return imgUrl; - } - imgUrl.trim(); - String[] split = imgUrl.split("/"); - String s = split[split.length - 1]; - String[] split1 = s.split("\\."); - return split1[0]; - } -} +///* +// * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. +// * +// * https://www.mall4j.com/ +// * +// * 未经允许,不可做商业用途! +// * +// * 版权所有,侵权必究! +// */ +//package com.mcwl.common.utils; +// +//import cn.hutool.core.util.StrUtil; +//import com.mcwl.common.exception.YamiShopBindException; +// +// +//import javax.imageio.ImageIO; +//import java.awt.*; +//import java.awt.image.BufferedImage; +//import java.io.ByteArrayOutputStream; +//import java.io.IOException; +//import java.net.URL; +// +///** +// * 图片处理工具类 +// +// */ +//public class ImageUtil { +// private static final String JPG = "jpg"; +// private static final String JPEG = "jpeg"; +// /** +// * 将图片转为二进制数组 +// * @param imgUrl +// * @return +// */ +// public static byte[] imgToBinary(String imgUrl) { +// try { +// BufferedImage bufferedImage = ImageIO.read(new URL(imgUrl)); +// ByteArrayOutputStream baos = new ByteArrayOutputStream(); +// String suffix = imgUrlFileType(imgUrl); +// //ImageIO无法写入jpeg文件 报Invalid argument to native writeImage,需重画 +// if(StrUtil.equals(suffix, JPG) || StrUtil.equals(suffix,JPEG)){ +// BufferedImage tag; +// tag = new BufferedImage(bufferedImage.getWidth(), bufferedImage.getHeight(), BufferedImage.TYPE_INT_BGR); +// Graphics g = tag.getGraphics(); +// g.drawImage(bufferedImage, 0, 0, null); +// g.dispose(); +// bufferedImage = tag; +// } +// ImageIO.write(bufferedImage, suffix, baos); +// byte[] bytes = baos.toByteArray(); +// return bytes; +// } catch (IOException e) { +// // 图片丢失,请重新上传图片 +// throw new YamiShopBindException("yami.img.lose"); +// } +// } +// +// /** +// * @param imgUrl +// * @return 文件得后缀,文件类型 jpg , png , ... +// */ +// public static String imgUrlFileType(String imgUrl) { +// if (StrUtil.isBlank(imgUrl)) { +// return imgUrl; +// } +// imgUrl.trim(); +// String[] split = imgUrl.split("\\."); +// String s = split[split.length - 1]; +// return s; +// } +// +// /** +// * @param imgUrl +// * @return 获取文件名称 +// */ +// public static String imgUrlFileName(String imgUrl) { +// if (StrUtil.isBlank(imgUrl)) { +// return imgUrl; +// } +// imgUrl.trim(); +// String[] split = imgUrl.split("/"); +// String s = split[split.length - 1]; +// return s; +// } +// /** +// * @param imgUrl +// * @return 获取文件名称 45d3631e97d8438d80f9db1369595b8c +// */ +// public static String imgUrlFileNameNoSuffix(String imgUrl) { +// if (StrUtil.isBlank(imgUrl)) { +// return imgUrl; +// } +// imgUrl.trim(); +// String[] split = imgUrl.split("/"); +// String s = split[split.length - 1]; +// String[] split1 = s.split("\\."); +// return split1[0]; +// } +//} diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/Member.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/Member.java index 3ee9333..bbe83db 100644 --- a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/Member.java +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/Member.java @@ -34,9 +34,6 @@ public class Member extends BaseEntity { // 订阅周期(天) private Integer subscriptionPeriod; - // 删除标志(0代表存在 2代表删除) - private String delFlag; - // 备注 private String remark; } diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/UserMember.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/UserMember.java index 7dca9ea..097e922 100644 --- a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/UserMember.java +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/UserMember.java @@ -3,6 +3,7 @@ package com.mcwl.memberCenter.domain; import com.baomidou.mybatisplus.annotation.EnumValue; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.mcwl.common.core.domain.BaseEntity; import com.mcwl.memberCenter.enums.MemberMenu; @@ -53,9 +54,6 @@ public class UserMember extends BaseEntity { // 状态(0:正常 1:禁用) private String status; - // 删除标志(0代表存在 2代表删除) - private String delFlag; - // 备注 private String remark; diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/task/UserMemberTask.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/task/UserMemberTask.java index f2f13a0..7f06d09 100644 --- a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/task/UserMemberTask.java +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/task/UserMemberTask.java @@ -81,7 +81,7 @@ public class UserMemberTask { userMemberService.updateById(userMember); // 发送会员账单消息,如果支付成功,更新last_payment_date,并重新计算end_date(start_date + 1个月) rabbitTemplate.convertAndSend(QueueConstants.MEMBER_BILLING_QUEUE, userMember); - } else if (subscriptionStatus == MemberMenu.MEMBER_CENTER_INACTIVE){ + } else if (subscriptionStatus == MemberMenu.MEMBER_CENTER_INACTIVE) { // 不是连续包月,会员状态改为过期,状态改为"1" userMember.setSubscriptionStatus(MemberMenu.MEMBER_CENTER_EXPIRED); userMember.setStatus("1"); @@ -101,7 +101,9 @@ public class UserMemberTask { .ge(UserMember::getEndDate, System.currentTimeMillis()) .ne(UserMember::getSubscriptionStatus, MemberMenu.MEMBER_CENTER_EXPIRED) .ne(UserMember::getSubscriptionStatus, MemberMenu.MEMBER_CENTER_PENDING) - .eq(UserMember::getStatus, '0'); + .eq(UserMember::getStatus, "0"); + // 对应的sql为 + System.out.println("sql = " + qw.getSqlSegment()); return userMemberService.list(); } diff --git a/mcwl-myInvitation/src/main/java/com/mcwl/myInvitation/domain/Commission.java b/mcwl-myInvitation/src/main/java/com/mcwl/myInvitation/domain/Commission.java index 7cb2dac..05d127d 100644 --- a/mcwl-myInvitation/src/main/java/com/mcwl/myInvitation/domain/Commission.java +++ b/mcwl-myInvitation/src/main/java/com/mcwl/myInvitation/domain/Commission.java @@ -27,9 +27,6 @@ public class Commission extends BaseEntity { // 支付状态 private Integer payStatus; - // 删除标志(0代表存在 2代表删除) - private String delFlag; - // 备注 private String remark; diff --git a/mcwl-myInvitation/src/main/java/com/mcwl/myInvitation/domain/Consume.java b/mcwl-myInvitation/src/main/java/com/mcwl/myInvitation/domain/Consume.java index 626cc26..6d9cc5a 100644 --- a/mcwl-myInvitation/src/main/java/com/mcwl/myInvitation/domain/Consume.java +++ b/mcwl-myInvitation/src/main/java/com/mcwl/myInvitation/domain/Consume.java @@ -25,9 +25,6 @@ public class Consume extends BaseEntity { // 消费时间 private Date consumeDate; - // 删除标志(0代表存在 2代表删除) - private String delFlag; - // 备注 private String remark; diff --git a/mcwl-myInvitation/src/main/java/com/mcwl/myInvitation/domain/Invitation.java b/mcwl-myInvitation/src/main/java/com/mcwl/myInvitation/domain/Invitation.java index c4b917a..06b237f 100644 --- a/mcwl-myInvitation/src/main/java/com/mcwl/myInvitation/domain/Invitation.java +++ b/mcwl-myInvitation/src/main/java/com/mcwl/myInvitation/domain/Invitation.java @@ -25,9 +25,6 @@ public class Invitation extends BaseEntity { // 邀请码 private String invitationCode; - // 删除标志(0代表存在 2代表删除) - private String delFlag; - // 备注 private String remark;