mitao
2025-01-22 e5bdccc3acf92c9a72ec4352845130068ae1bbe4
bug修改
1 文件已复制
1 文件已重命名
13个文件已修改
141 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/RemoteCompanyService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/factory/RemoteCompanyFallbackFactory.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/ApplicationConfig.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-sensitive/src/main/java/com/ruoyi/common/sensitive/config/SensitiveJsonSerializer.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-sensitive/src/main/java/com/ruoyi/common/sensitive/enums/DesensitizedType.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-company/pom.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/RuoYiCompanyApplication.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/front/CompanyController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/management/MgtCompanyController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/domain/vo/MgtCompanyDetailVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/domain/vo/MgtCompanyVO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/CompanyService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/CompanyServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/utils/AliyunCloudAuthUtil.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-company/src/main/resources/bootstrap.yml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/RemoteCompanyService.java
@@ -8,6 +8,7 @@
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@@ -15,5 +16,5 @@
public interface RemoteCompanyService {
    @GetMapping("/front/company/getCompanyByUserId")
    public R<List<Company>> getCompanyByUserId(Long userId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    public R<List<Company>> getCompanyByUserId(@RequestParam("userId") Long userId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
}
ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/factory/RemoteCompanyFallbackFactory.java
@@ -2,7 +2,6 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.company.api.RemoteCompanyService;
import com.ruoyi.company.api.RemoteCompanyUserService;
import com.ruoyi.company.api.domain.Company;
import lombok.extern.log4j.Log4j2;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -19,7 +18,7 @@
            @Override
            public R<List<Company>> getCompanyByUserId(Long userId, String source) {
                return R.fail();
                return R.fail(cause.getMessage());
            }
        };
    }
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/ApplicationConfig.java
@@ -7,7 +7,9 @@
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.core.convert.converter.Converter;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.TimeZone;
@@ -36,10 +38,52 @@
            builder.serializerByType(Long.class, ToStringSerializer.instance);
        };
    }
    /**
     * string转localdate
     */
    //@Bean
    public Converter<String, LocalDate> localDateConverter() {
        return new Converter<String, LocalDate>() {
            @Override
            public LocalDate convert(String source) {
                if (source.trim().length() == 0) {
                    return null;
                }
                try {
                    return LocalDate.parse(source);
                } catch (Exception e) {
                    return LocalDate.parse(source, DateTimeFormatter.ofPattern(DATE_PATTERN));
                }
            }
        };
    }
    /**
     * string转localdatetime
     */
    //@Bean
    public Converter<String, LocalDateTime> localDateTimeConverter() {
        return new Converter<String, LocalDateTime>() {
            @Override
            public LocalDateTime convert(String source) {
                if (source.trim().length() == 0) {
                    return null;
                }
                // 先尝试ISO格式: 2019-07-15T16:00:00
                try {
                    return LocalDateTime.parse(source);
                } catch (Exception e) {
                    return LocalDateTime.parse(source,
                            DateTimeFormatter.ofPattern(DATE_TIME_PATTERN));
                }
            }
        };
    }
    /**
     * 统一配置
     */
    @Bean
    //@Bean
    public Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() {
        JavaTimeModule module = new JavaTimeModule();
        LocalDateTimeDeserializer localDateTimeDeserializer = new LocalDateTimeDeserializer(
ruoyi-common/ruoyi-common-sensitive/src/main/java/com/ruoyi/common/sensitive/config/SensitiveJsonSerializer.java
@@ -1,7 +1,5 @@
package com.ruoyi.common.sensitive.config;
import java.io.IOException;
import java.util.Objects;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.BeanProperty;
import com.fasterxml.jackson.databind.JsonMappingException;
@@ -12,6 +10,9 @@
import com.ruoyi.common.sensitive.annotation.Sensitive;
import com.ruoyi.common.sensitive.enums.DesensitizedType;
import com.ruoyi.system.api.model.LoginUser;
import java.io.IOException;
import java.util.Objects;
/**
 * 数据脱敏序列化过滤
@@ -25,14 +26,15 @@
    @Override
    public void serialize(String value, JsonGenerator gen, SerializerProvider serializers) throws IOException
    {
        if (desensitization())
        gen.writeString(desensitizedType.desensitizer().apply(value));
     /*   if (desensitization())
        {
            gen.writeString(desensitizedType.desensitizer().apply(value));
        }
        else
        {
            gen.writeString(value);
        }
        }*/
    }
    @Override
ruoyi-common/ruoyi-common-sensitive/src/main/java/com/ruoyi/common/sensitive/enums/DesensitizedType.java
@@ -1,7 +1,8 @@
package com.ruoyi.common.sensitive.enums;
import java.util.function.Function;
import com.ruoyi.common.sensitive.utils.DesensitizedUtil;
import java.util.function.Function;
/**
 * 脱敏类型
@@ -31,6 +32,11 @@
    PHONE(s -> s.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2")),
    /**
     * 统一社会信用代码 中间6位字符替换为星号
     */
    SOCIAL_CODE(s -> s.replaceAll("^(\\w{6})\\w{6}(\\w{6})$", "$1******$2")),
    /**
     * 电子邮箱,仅显示第一个字母和@后面的地址显示,其他星号替换
     */
    EMAIL(s -> s.replaceAll("(^.)[^@]*(@.*$)", "$1****$2")),
ruoyi-modules/ruoyi-company/pom.xml
@@ -83,6 +83,12 @@
      <artifactId>ruoyi-common-swagger</artifactId>
    </dependency>
  <!--RuoYi Common Sensitive-->
    <dependency>
      <groupId>com.ruoyi</groupId>
      <artifactId>ruoyi-common-sensitive</artifactId>
    </dependency>
    <dependency>
      <groupId>com.ruoyi</groupId>
      <artifactId>ruoyi-api-company</artifactId>
@@ -96,6 +102,12 @@
    <dependency>
      <groupId>cn.idev.excel</groupId>
      <artifactId>fastexcel</artifactId>
      <exclusions>
        <exclusion>
          <artifactId>poi</artifactId>
          <groupId>org.apache.poi</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/RuoYiCompanyApplication.java
@@ -13,7 +13,7 @@
    public static void main(String[] args)
    {
        SpringApplication.run(RuoYiCompanyApplication.class, args);
        System.out.println("(♥◠‿◠)ノ゙  系统模块启动成功   ლ(´ڡ`ლ)゙  \n" +
        System.out.println("(♥◠‿◠)ノ゙  企业模块启动成功   ლ(´ڡ`ლ)゙  \n" +
                " .-------.       ____     __        \n" +
                " |  _ _   \\      \\   \\   /  /    \n" +
                " | ( ' )  |       \\  _. /  '       \n" +
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/front/CompanyController.java
@@ -2,17 +2,19 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.annotation.InnerAuth;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.company.api.domain.Company;
import com.ruoyi.company.api.domain.dto.MgtCompanyDTO;
import com.ruoyi.company.service.CompanyService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@@ -23,7 +25,6 @@
public class CompanyController {
    private final CompanyService companyService;
    @InnerAuth
    @GetMapping("/getCompanyByUserId")
    public R<List<Company>> getCompanyByUserId(Long userId){
        List<Company> list = companyService.list(new LambdaQueryWrapper<Company>()
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/management/MgtCompanyController.java
@@ -4,7 +4,8 @@
import com.ruoyi.common.core.page.PageDTO;
import com.ruoyi.company.api.domain.dto.MgtCompanyDTO;
import com.ruoyi.company.api.domain.query.MgtCompanyQuery;
import com.ruoyi.company.api.domain.vo.MgtCompanyVO;
import com.ruoyi.company.domain.vo.MgtCompanyDetailVO;
import com.ruoyi.company.domain.vo.MgtCompanyVO;
import com.ruoyi.company.service.CompanyService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
@@ -42,7 +43,7 @@
    }
    @Operation(summary = "获取企业详情")
    @GetMapping("/{id}")
    public R<MgtCompanyVO> queryCompanyDetail(@Parameter(name = "id",description = "企业id",required = true) @PathVariable Long id) {
    public R<MgtCompanyDetailVO> queryCompanyDetail(@Parameter(name = "id",description = "企业id",required = true) @PathVariable Long id) {
        return R.ok(companyService.queryCompanyDetail(id));
    }
    @Operation(summary = "新增企业")
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/domain/vo/MgtCompanyDetailVO.java
File was renamed from ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/domain/vo/MgtCompanyVO.java
@@ -1,4 +1,4 @@
package com.ruoyi.company.api.domain.vo;
package com.ruoyi.company.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -12,7 +12,7 @@
 */
@Data
@Schema(name = "管理端企业信息",description = "管理端企业信息")
public class MgtCompanyVO {
public class MgtCompanyDetailVO {
    /** 主键 */
    @Schema(description = "主键", example = "1")
    private Long id;
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/domain/vo/MgtCompanyVO.java
copy from ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/domain/vo/MgtCompanyVO.java copy to ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/domain/vo/MgtCompanyVO.java
File was copied from ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/domain/vo/MgtCompanyVO.java
@@ -1,6 +1,8 @@
package com.ruoyi.company.api.domain.vo;
package com.ruoyi.company.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.sensitive.annotation.Sensitive;
import com.ruoyi.common.sensitive.enums.DesensitizedType;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -23,6 +25,7 @@
    /** 统一社会信用代码 */
    @Schema(description = "统一社会信用代码", example = "913100000000123")
    @Sensitive(desensitizedType = DesensitizedType.SOCIAL_CODE)
    private String socialCode;
    /** 省份代码 */
@@ -78,6 +81,7 @@
    /** 联系人手机号 */
    @Schema(description = "联系人手机号", example = "13800138000")
    @Sensitive(desensitizedType = DesensitizedType.PHONE)
    private String contactPhone;
    /** 联系人邮箱 */
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/CompanyService.java
@@ -5,10 +5,10 @@
import com.ruoyi.company.api.domain.Company;
import com.ruoyi.company.api.domain.dto.MgtCompanyDTO;
import com.ruoyi.company.api.domain.query.MgtCompanyQuery;
import com.ruoyi.company.api.domain.vo.MgtCompanyVO;
import com.ruoyi.company.domain.vo.MgtCompanyDetailVO;
import com.ruoyi.company.domain.vo.MgtCompanyVO;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
public interface CompanyService extends IService<Company> {
    /**
@@ -23,7 +23,7 @@
     * @param id
     * @return
     */
    MgtCompanyVO queryCompanyDetail(Long id);
    MgtCompanyDetailVO queryCompanyDetail(Long id);
    /**
     * 新增企业
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/CompanyServiceImpl.java
@@ -13,7 +13,8 @@
import com.ruoyi.company.api.domain.dto.MgtCompanyDTO;
import com.ruoyi.company.api.domain.excel.MgtCompanyExcel;
import com.ruoyi.company.api.domain.query.MgtCompanyQuery;
import com.ruoyi.company.api.domain.vo.MgtCompanyVO;
import com.ruoyi.company.domain.vo.MgtCompanyDetailVO;
import com.ruoyi.company.domain.vo.MgtCompanyVO;
import com.ruoyi.company.mapper.CompanyMapper;
import com.ruoyi.company.service.CompanyService;
import com.ruoyi.company.service.UserService;
@@ -72,11 +73,11 @@
     * @return
     */
    @Override
    public MgtCompanyVO queryCompanyDetail(Long id) {
    public MgtCompanyDetailVO queryCompanyDetail(Long id) {
        Company company = this.getById(id);
        MgtCompanyVO mgtCompanyVO = BeanUtils.copyBean(company, MgtCompanyVO.class);
        MgtCompanyDetailVO mgtCompanyVO = BeanUtils.copyBean(company, MgtCompanyDetailVO.class);
        if (Objects.isNull(mgtCompanyVO)) {
            mgtCompanyVO = new MgtCompanyVO();
            mgtCompanyVO = new MgtCompanyDetailVO();
            return mgtCompanyVO;
        }
        User user = userService.getById(company.getUserId());
@@ -109,9 +110,9 @@
        Company company = BeanUtils.copyBean(dto, Company.class);
        company.setUserId(user.getUserId());
        //根据公司名称查询数据库
        Long count = this.lambdaQuery().eq(Company::getCompanyName, company.getCompanyName()).count();
        Long count = this.lambdaQuery().eq(Company::getCompanyName, company.getCompanyName()).eq(Company::getSocialCode, dto.getSocialCode()).count();
        if (count > 0) {
            throw new ServiceException("该公司账号已存在");
            throw new ServiceException("该企业已存在");
        }
        //身份证二要素校验
        Boolean res = aliyunCloudAuthUtil.verifyIdCard(dto.getLegalPersonName(), dto.getIdCardNumber());
@@ -157,10 +158,11 @@
        if (StringUtils.isNotBlank(company.getCompanyName())){
            Long count = this.lambdaQuery()
                    .ne(Company::getId, dto.getId())
                    .eq(Company::getCompanyName, company.getCompanyName())
                    .eq(Company::getSocialCode, company.getSocialCode())
                    .eq(Company::getCompanyName, dto.getCompanyName())
                    .count();
            if (count > 0) {
                throw new ServiceException("该公司账号已存在");
                throw new ServiceException("该企业已存在");
            }
        }
        //身份证二要素校验
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/utils/AliyunCloudAuthUtil.java
@@ -71,9 +71,6 @@
            // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
            // 错误 message
            System.out.println(error.getMessage());
            // 诊断地址
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        }
        return false;
    }
ruoyi-modules/ruoyi-company/src/main/resources/bootstrap.yml
@@ -15,7 +15,7 @@
      discovery:
        # 服务注册地址
        server-addr: 192.168.110.111:8848
        ip: 192.168.110.111
        ip: 192.168.110.188
      config:
        # 配置中心地址
        server-addr: 192.168.110.111:8848
@@ -23,4 +23,6 @@
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss