puzhibing
4 天以前 361d7e2aaae66fdc95a9e630847ca43b1fe0e3b4
修改bug
2个文件已添加
3个文件已修改
35 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/AppUserWhitelistSaveDTO.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserWhitelistServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/20261010_app_user_whitelist_benefit_type_nullable.sql 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/20261010_vin_management_id_autoincrement.sql 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/AppUserWhitelistSaveDTO.java
@@ -34,10 +34,10 @@
    @ApiModelProperty(value = "合作商ID")
    private Integer partnerId;
    @ApiModelProperty(value = "所属公司ID(关联t_group_company.id)")
    @ApiModelProperty(value = "所属公司ID(关联t_group_company.id),必填")
    private Integer companyId;
    @ApiModelProperty(value = "所属车队ID(关联t_fleet.id),必须归属所选公司")
    @ApiModelProperty(value = "所属车队ID(关联t_fleet.id),必填,必须归属所选公司")
    private Integer fleetId;
    @ApiModelProperty(value = "余额(元),分配模式公司设置后从公司可用余额扣减")
ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java
@@ -95,12 +95,14 @@
     */
    private Mono<Void> authSign(ServerWebExchange exchange, GatewayFilterChain chain, String sign, String nonce_str){
        return DataBufferUtils.join(exchange.getRequest().getBody())
                .defaultIfEmpty(exchange.getResponse().bufferFactory().wrap(new byte[0]))
                .flatMap(dataBuffer -> {
                    byte[] bytes = new byte[dataBuffer.readableByteCount()];
                    dataBuffer.read(bytes);
                    String bodyString = new String(bytes, StandardCharsets.UTF_8);
                    log.info("请求参数:{}", bodyString);
                    if(!authSign(JSON.parseObject(bodyString), sign, nonce_str)){
                    JSONObject bodyJson = StringUtils.isEmpty(bodyString) ? new JSONObject() : JSON.parseObject(bodyString);
                    if(!authSign(bodyJson, sign, nonce_str)){
                        return unauthorizedResponse(exchange, "签名验证失败!");
                    }
                    DataBufferUtils.release(dataBuffer);
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserWhitelistServiceImpl.java
@@ -700,6 +700,13 @@
        if (Objects.equals(scopeType, SCOPE_PARTNER) && saveDTO.getPartnerId() == null) {
            throw new ServiceException("请选择加盟商");
        }
        // 所属公司与所属车队必填:白名单用户归属企业,充电完全按企业优惠结算
        if (saveDTO.getCompanyId() == null) {
            throw new ServiceException("请选择所属公司");
        }
        if (saveDTO.getFleetId() == null) {
            throw new ServiceException("请选择所属车队");
        }
        validatePartnerDataScope(saveDTO);
        TAppUserWhitelist exists = getByPhone(saveDTO.getPhone());
        if (saveDTO.getId() == null && exists != null) {
sql/20261010_app_user_whitelist_benefit_type_nullable.sql
New file
@@ -0,0 +1,10 @@
-- 2026-10-10 修复:添加白名单用户报 "Field 'benefit_type' doesn't have a default value"
-- 背景:白名单权益已下线(白名单用户充电完全按企业优惠结算),代码 validateSaveDTO 显式置空
--       benefitType 且 createWhitelist 不再写入该字段,MyBatis-Plus NOT_NULL 策略下 insert 不带
--       benefit_type 列;但表列仍为历史定义 tinyint NOT NULL 无默认值,MySQL 严格模式拒绝插入。
-- 已在 dev 环境执行(192.168.110.74:3306 物理库;192.168.110.111:8066 / 221.182.45.100:8066 Mycat 代理已同步执行)。
-- 正式/测试环境部署前需 DBA 在对应物理库执行以下语句。
-- 幂等:列已可空时重复执行无害;历史数据保留原值不受影响。
ALTER TABLE `charging_pile_account`.`t_app_user_whitelist`
  MODIFY COLUMN `benefit_type` tinyint DEFAULT NULL COMMENT '享受权益:1=全部免费,2=免电费,3=免服务费(已下线,白名单用户充电完全按企业优惠结算)';
sql/20261010_vin_management_id_autoincrement.sql
New file
@@ -0,0 +1,10 @@
-- 2026-10-10 修复:t_vin_management 主键丢失 AUTO_INCREMENT
-- 背景:20260903_complete_database_comments.sql 补注释时 MODIFY COLUMN id 漏带 AUTO_INCREMENT,
--       实体 TVinManagement 的 id 为 IdType.AUTO(insert 不带 id 列),添加 VIN 车辆报
--       "Field 'id' doesn't have a default value"。
-- 已在 dev 环境执行(192.168.110.74:3306 物理库;192.168.110.111:8066 / 221.182.45.100:8066 Mycat 代理已同步执行)。
-- 正式/测试环境部署前需 DBA 在对应物理库执行以下语句。
-- 幂等:已自增时重复执行无害。
ALTER TABLE `charging_pile_account`.`t_vin_management`
  MODIFY COLUMN `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID';