From b292e4a1662d1a2d61a2365f4f0106eb8d3c0afb Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期二, 21 一月 2025 19:26:47 +0800
Subject: [PATCH] 1

---
 ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/CompanyServiceImpl.java |   52 +++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 37 insertions(+), 15 deletions(-)

diff --git a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/CompanyServiceImpl.java b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/CompanyServiceImpl.java
index 77a4a96..bc25578 100644
--- a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/CompanyServiceImpl.java
+++ b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/CompanyServiceImpl.java
@@ -34,9 +34,11 @@
 public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> implements CompanyService {
     private final UserService userService;
     private final HttpServletResponse response;
+
     private final AliyunCloudAuthUtil aliyunCloudAuthUtil;
     /**
      * 获取企业列表
+     *
      * @param query
      * @return
      */
@@ -65,6 +67,7 @@
 
     /**
      * 获取企业详情
+     *
      * @param id
      * @return
      */
@@ -86,6 +89,7 @@
 
     /**
      * 新增企业
+     *
      * @param dto
      * @return
      */
@@ -99,6 +103,7 @@
         //添加用户信息
         User user = BeanUtils.copyBean(dto, User.class);
         user.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
+        user.setCreateBy(SecurityUtils.getUserId());
         userService.save(user);
 
         Company company = BeanUtils.copyBean(dto, Company.class);
@@ -118,11 +123,12 @@
 
     /**
      * 编辑企业
+     *
      * @param dto
      */
     @Override
     public void editCompany(MgtCompanyDTO dto) {
-        if (Objects.isNull(dto.getId())){
+        if (Objects.isNull(dto.getId())) {
             throw new ServiceException("企业id不能为空");
         }
         //查询企业
@@ -141,14 +147,21 @@
         }
         //用户信息
         User userUpd = BeanUtils.copyBean(dto, User.class);
-        userUpd.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
+        if (StringUtils.isNotBlank(dto.getPassword())) {
+            userUpd.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
+        }
         userUpd.setUserId(user.getUserId());
         userUpd.setUpdateBy(SecurityUtils.getUserId());
         userService.updateById(userUpd);
         //根据公司名称查询数据库
-        Long count = this.lambdaQuery().ne(Company::getId,dto.getId()).eq(Company::getCompanyName, company.getCompanyName()).count();
-        if (count > 0) {
-            throw new ServiceException("该公司账号已存在");
+        if (StringUtils.isNotBlank(company.getCompanyName())){
+            Long count = this.lambdaQuery()
+                    .ne(Company::getId, dto.getId())
+                    .eq(Company::getCompanyName, company.getCompanyName())
+                    .count();
+            if (count > 0) {
+                throw new ServiceException("该公司账号已存在");
+            }
         }
         //身份证二要素校验
         Boolean res = aliyunCloudAuthUtil.verifyIdCard(dto.getLegalPersonName(), dto.getIdCardNumber());
@@ -162,6 +175,7 @@
 
     /**
      * 删除企业
+     *
      * @param id
      */
     @Override
@@ -172,7 +186,7 @@
             throw new ServiceException("删除失败,该企业不存在");
         }
         //删除企业账号
-         userService.removeById(company.getUserId());
+        userService.removeById(company.getUserId());
 
         //删除企业信息
         this.removeById(id);
@@ -182,16 +196,24 @@
     @Override
     public void export(MgtCompanyQuery query) throws IOException {
         List<Company> list = this.lambdaQuery()
-                .like(StringUtils.isNotBlank(query.getCompanyInfo()), Company::getCompanyName, query.getCompanyInfo())
-                .like(StringUtils.isNotBlank(query.getCompanyInfo()), Company::getSocialCode, query.getCompanyInfo())
-                .like(StringUtils.isNotBlank(query.getLegalPersonInfo()), Company::getLegalPersonName, query.getLegalPersonInfo())
-                .like(StringUtils.isNotBlank(query.getLegalPersonInfo()), Company::getIdCardNumber, query.getLegalPersonInfo())
-                .like(StringUtils.isNotBlank(query.getContactInfo()), Company::getContactName, query.getContactInfo())
-                .like(StringUtils.isNotBlank(query.getContactInfo()), Company::getContactPhone, query.getContactInfo()).list();
+                .and(StringUtils.isNotBlank(query.getCompanyInfo()),
+                        queryWrapper -> queryWrapper
+                                .like(Company::getCompanyName, query.getCompanyInfo())
+                                .or()
+                                .like(Company::getSocialCode, query.getCompanyInfo()))
+                .and(StringUtils.isNotBlank(query.getLegalPersonInfo()),
+                        queryWrapper -> queryWrapper
+                                .like(Company::getLegalPersonName, query.getLegalPersonInfo())
+                                .or()
+                                .like(Company::getIdCardNumber, query.getLegalPersonInfo()))
+                .and(StringUtils.isNotBlank(query.getContactInfo()),
+                        queryWrapper -> queryWrapper
+                                .like(Company::getContactName, query.getContactInfo())
+                                .or()
+                                .like(Company::getContactPhone, query.getContactInfo()))
+                .orderByDesc(Company::getCreateTime).list();
         response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
-        response.setCharacterEncoding
-
-                ("utf-8");
+        response.setCharacterEncoding("utf-8");
         String fileName = URLEncoder.encode("企业信息导出数据", "UTF-8").replaceAll("\\+", "%20");
         response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
 

--
Gitblit v1.7.1