diff --git a/Dockerfile b/Dockerfile index cc7ed9b..307ea5e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # 使用官方Java基础镜像 -FROM openjdk:8-jdk-alpine +FROM openjdk:8 # 设置工作目录 WORKDIR /app diff --git a/src/main/java/com/coscoshipping/ebtp/system/login/service/impl/BaseUserServiceImpl.java b/src/main/java/com/coscoshipping/ebtp/system/login/service/impl/BaseUserServiceImpl.java index cebea8f..a4fad11 100644 --- a/src/main/java/com/coscoshipping/ebtp/system/login/service/impl/BaseUserServiceImpl.java +++ b/src/main/java/com/coscoshipping/ebtp/system/login/service/impl/BaseUserServiceImpl.java @@ -52,6 +52,7 @@ import com.coscoshipping.ebtp.system.org.service.SysOrgService; import com.coscoshipping.ebtp.system.user.dao.SysExpertUserMapper; import com.coscoshipping.ebtp.system.user.dao.SysSupplierUserMapper; import com.coscoshipping.ebtp.system.user.entity.SysUser; +import com.coscoshipping.ebtp.system.user.util.Md5Util; import lombok.extern.slf4j.Slf4j; @@ -120,7 +121,7 @@ public class BaseUserServiceImpl extends BaseServiceImpl imp @Override public List getTreeByNode(SysOrg org) { - // 1. 先查询出所有的组织数据 + // 1. 如果有orgId或upOrgId,查本级及下级 + if (StringUtils.isNotBlank(org.getOrgId()) || StringUtils.isNotBlank(org.getUpOrgId())) { + String nodeId = StringUtils.isNotBlank(org.getOrgId()) ? org.getOrgId() : org.getUpOrgId(); + SysOrg currentOrg = this.getById(nodeId); + if (currentOrg == null) return new ArrayList<>(); + List orgList = this.list(new LambdaQueryWrapper() + .likeRight(SysOrg::getOrgFullId, currentOrg.getOrgFullId())); + return buildOrgTree(orgList, org); + } + + // 2. 如果有orgName/orgNum等条件 + if (StringUtils.isNotBlank(org.getOrgName()) || StringUtils.isNotBlank(org.getOrgNum())) { + List matchList = this.list(new LambdaQueryWrapper() + .like(StringUtils.isNotBlank(org.getOrgName()), SysOrg::getOrgName, org.getOrgName()) + .like(StringUtils.isNotBlank(org.getOrgNum()), SysOrg::getOrgNum, org.getOrgNum())); + if (CollectionUtils.isEmpty(matchList)) return new ArrayList<>(); + // 拿到所有fullId,拆分出所有祖先节点id + java.util.Set allIds = new java.util.HashSet<>(); + for (SysOrg match : matchList) { + String[] ids = match.getOrgFullId().split(","); + java.util.Collections.addAll(allIds, ids); + } + // 查出所有相关节点 + List orgList = this.list(new LambdaQueryWrapper().in(SysOrg::getOrgId, allIds)); + return buildOrgTree(orgList, org); + } + + // 3. 没有条件,才全查 List allOrgList = this.list(); - - /*// 1. 先查询当前本级 - LambdaQueryWrapper currentOrgQuery = new LambdaQueryWrapper<>(); - if (StringUtils.isNotBlank(org.getOrgId())) { - currentOrgQuery.eq(SysOrg::getOrgId, org.getOrgId()); - } else if (StringUtils.isNotBlank(org.getUpOrgId())) { - currentOrgQuery.eq(SysOrg::getUpOrgId, org.getUpOrgId()); - } else { - // 没有指定orgId或upOrgId,直接返回空 - return new ArrayList<>(); - } - SysOrg currentOrg = this.getOne(currentOrgQuery, false); - if (currentOrg == null) { - return new ArrayList<>(); - } - - // 2. 获取FullId - String fullId = currentOrg.getOrgFullId(); - - // 3. 用FullId模糊匹配查询本级及下级 - LambdaQueryWrapper allOrgQuery = new LambdaQueryWrapper<>(); - allOrgQuery.likeRight(SysOrg::getOrgFullId, fullId); - List allOrgList = this.list(allOrgQuery);*/ - - - // 如果没有数据,直接返回空列表 - if (CollectionUtils.isEmpty(allOrgList)) { - return new ArrayList<>(); - } - - // 2. 构建完整的树形结构 - List fullTree = buildOrgTree(allOrgList, org); - - // 3. 如果有查询条件,则根据条件过滤树形结构 - if (!StringUtils.isEmpty(org.getOrgName()) || !StringUtils.isEmpty(org.getOrgNum())) { - return filterTreeByCondition(fullTree, org); - } - - // 4. 没有查询条件,直接返回完整树形结构 - return fullTree; + if (CollectionUtils.isEmpty(allOrgList)) return new ArrayList<>(); + return buildOrgTree(allOrgList, org); } /** diff --git a/src/main/java/com/coscoshipping/ebtp/system/user/controller/SysSupplierUserController.java b/src/main/java/com/coscoshipping/ebtp/system/user/controller/SysSupplierUserController.java index d4e7cc6..1520d52 100644 --- a/src/main/java/com/coscoshipping/ebtp/system/user/controller/SysSupplierUserController.java +++ b/src/main/java/com/coscoshipping/ebtp/system/user/controller/SysSupplierUserController.java @@ -34,12 +34,7 @@ public class SysSupplierUserController { @PostMapping("/register") public BaseResponse register(@ApiParam(value = "注册信息", required = true) @RequestBody @Valid SupplierRegistrationVO registrationVO) { try { - SysSupplierUser supplierUser = sysSupplierUserService.createSupplierAccount( - registrationVO.getSupplierName(), - registrationVO.getCreditCode(), - registrationVO.getMobile(), - registrationVO.getEmail() - ); + SysSupplierUser supplierUser = sysSupplierUserService.createSupplierAccount(registrationVO); if (supplierUser != null) { log.info("供应商注册成功,供应商:{},登录名:{}", registrationVO.getSupplierName(), supplierUser.getUsername()); diff --git a/src/main/java/com/coscoshipping/ebtp/system/user/service/SysSupplierUserService.java b/src/main/java/com/coscoshipping/ebtp/system/user/service/SysSupplierUserService.java index bd39c7d..9877744 100644 --- a/src/main/java/com/coscoshipping/ebtp/system/user/service/SysSupplierUserService.java +++ b/src/main/java/com/coscoshipping/ebtp/system/user/service/SysSupplierUserService.java @@ -3,6 +3,7 @@ package com.coscoshipping.ebtp.system.user.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; import com.coscoshipping.ebtp.system.user.entity.SysSupplierUser; +import com.coscoshipping.ebtp.system.user.vo.SupplierRegistrationVO; /** * 对数据表 sys_supplier_user 操作的 service @@ -41,13 +42,10 @@ public interface SysSupplierUserService extends IBaseService { /** * 供应商注册成功后自动生成账号并设置统一重置密码 - * @param supplierName 供应商名称 - * @param creditCode 统一信用代码 - * @param mobile 手机号 - * @param email 邮箱 + * @param registrationVO 注册信息 * @return 生成的账号信息(包含重置密码) */ - SysSupplierUser createSupplierAccount(String supplierName, String creditCode, String mobile, String email); + SysSupplierUser createSupplierAccount(SupplierRegistrationVO registrationVO); /** * 供应商首次登录修改密码 diff --git a/src/main/java/com/coscoshipping/ebtp/system/user/service/impl/SysSupplierUserServiceImpl.java b/src/main/java/com/coscoshipping/ebtp/system/user/service/impl/SysSupplierUserServiceImpl.java index d5e82e9..6c4457a 100644 --- a/src/main/java/com/coscoshipping/ebtp/system/user/service/impl/SysSupplierUserServiceImpl.java +++ b/src/main/java/com/coscoshipping/ebtp/system/user/service/impl/SysSupplierUserServiceImpl.java @@ -12,6 +12,7 @@ import com.coscoshipping.ebtp.system.user.entity.SysSupplierUser; import com.coscoshipping.ebtp.system.user.service.SysSupplierUserService; import com.coscoshipping.ebtp.system.user.dao.SysSupplierUserMapper; import com.coscoshipping.ebtp.system.user.util.AccountGeneratorUtil; +import com.coscoshipping.ebtp.system.user.util.Md5Util; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -21,6 +22,7 @@ import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.time.LocalDateTime; +import com.coscoshipping.ebtp.system.user.vo.SupplierRegistrationVO; /** * 对数据表 sys_supplier_user 操作的 serviceImpl @@ -32,7 +34,7 @@ public class SysSupplierUserServiceImpl extends BaseServiceImpl 0; return flag; } @Override public Boolean updateSupplierUser(SysSupplierUser sysSupplierUser) { - validEntityBeforeSave(sysSupplierUser, true); boolean flag = baseMapper.updateById(sysSupplierUser) > 0; return flag; } @@ -69,13 +69,6 @@ public class SysSupplierUserServiceImpl extends BaseServiceImpl buildQueryWrapper(SysSupplierUser entity) { LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.eq(entity.getUserId() != null, SysSupplierUser::getUserId, entity.getUserId()); @@ -98,34 +91,34 @@ public class SysSupplierUserServiceImpl extends BaseServiceImpl 0; if (result) { @@ -134,16 +127,16 @@ public class SysSupplierUserServiceImpl extends BaseServiceImpl 0; } @@ -169,17 +162,4 @@ public class SysSupplierUserServiceImpl extends BaseServiceImpl