diff --git a/src/main/java/com/coscoshipping/ebtp/system/login/dao/mapper/BaseUserMapper.xml b/src/main/java/com/coscoshipping/ebtp/system/login/dao/mapper/BaseUserMapper.xml
index 4be3347..b3b2b2d 100644
--- a/src/main/java/com/coscoshipping/ebtp/system/login/dao/mapper/BaseUserMapper.xml
+++ b/src/main/java/com/coscoshipping/ebtp/system/login/dao/mapper/BaseUserMapper.xml
@@ -52,7 +52,6 @@
-
-
@@ -145,8 +141,9 @@
sys_role r
WHERE
u.user_id = ou.user_id
- AND ou.role_id = r.role_id
- AND u.user_id = #{userId}
+ AND ou.role_id = r.role_id
+ AND r.role_scope = 'SUP'
+ AND u.user_id = #{userId}
@@ -162,8 +159,9 @@
sys_role r
WHERE
u.user_id = ou.user_id
- AND ou.role_id = r.role_id
- AND u.user_id = #{userId}
+ AND ou.role_id = r.role_id
+ AND r.role_scope = 'EXPE'
+ AND u.user_id = #{userId}
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 473a5a8..51c4aac 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
@@ -141,7 +141,6 @@ public class BaseUserServiceImpl extends BaseServiceImpl imp
@Override
public Boolean insertByVo(SysOrgVO vo) {
+ // 无上级机构情况下默认赋予根节点
+ String upOrgId = vo.getUpOrgId();
+ if (StringUtils.isEmpty(upOrgId)) {
+ vo.setUpOrgId(CommonUtil.ROOT_NODE);
+ }
+
vo.setOrgId(PropertyUtils.getSnowflakeId()).setCreateDate(LocalDateTime.now());
+
+ // 添加全路径与全路径名称,同时设置公司相关信息
SysOrg full = this.buildOrgFullPath(vo);
vo.setOrgFullId(full.getOrgFullId()).setOrgFullName(full.getOrgFullName());
+
+ // 设置所属公司编码和名称
+ if (full.getCuCompanyNumber() != null) {
+ vo.setCuCompanyNumber(full.getCuCompanyNumber());
+ vo.setCuCompanyName(full.getCuCompanyName());
+ }
+
validEntityBeforeSave(vo, false);
boolean result = baseMapper.insert(vo) > 0;
-
+
// 新增成功后刷新缓存
if (result) {
orgCacheManager.refreshCache();
}
-
+
return result;
}
@@ -191,15 +206,22 @@ public class SysOrgServiceImpl extends BaseServiceImpl imp
validEntityBeforeSave(vo, true);
SysOrg full = this.buildOrgFullPath(vo);
vo.setOrgFullId(full.getOrgFullId()).setOrgFullName(full.getOrgFullName());
+
+ // 设置所属公司编码和名称
+ if (full.getCuCompanyNumber() != null) {
+ vo.setCuCompanyNumber(full.getCuCompanyNumber());
+ vo.setCuCompanyName(full.getCuCompanyName());
+ }
+
// 删除机构与人员关联
// roleMenuService.remove(new LambdaQueryWrapper().eq(SysRoleMenu::getRoleId, vo.getRoleId()));
boolean result = baseMapper.updateById(vo) > 0;
-
+
// 更新成功后刷新缓存
if (result) {
orgCacheManager.refreshCache();
}
-
+
return result;
}
@@ -212,12 +234,12 @@ public class SysOrgServiceImpl extends BaseServiceImpl imp
// 删除机构与人员关联
// roleMenuService.remove(new LambdaQueryWrapper().eq(SysRoleMenu::getRoleId, roleId));
boolean result = this.removeById(orgId);
-
+
// 删除成功后刷新缓存
if (result) {
orgCacheManager.refreshCache();
}
-
+
return result;
}
@@ -237,17 +259,29 @@ public class SysOrgServiceImpl extends BaseServiceImpl imp
}
- // @Override
+ /**
+ * 构建组织全路径并查找最近的上级公司组织
+ * @param nowOrg 当前组织
+ * @return 包含全路径信息和公司组织信息的对象
+ */
public SysOrg buildOrgFullPath(SysOrg nowOrg) {
String upOrgId = StringUtils.isBlank(nowOrg.getUpOrgId()) ? CommonUtil.ROOT_NODE : nowOrg.getUpOrgId();
List idPath = new ArrayList<>();
List namePath = new ArrayList<>();
idPath.add(0, nowOrg.getOrgId());
namePath.add(0, nowOrg.getOrgName());
+
SysOrg currentOrg = baseMapper.selectById(upOrgId);
+ SysOrg companyOrg = null; // 用于存储找到的公司组织
+
while (currentOrg != null) {
idPath.add(0, currentOrg.getOrgId());
namePath.add(0, currentOrg.getOrgName());
+
+ // 如果还没有找到公司组织,且当前组织的orgCategory是"Org",则记录
+ if (companyOrg == null && "Org".equals(currentOrg.getOrgCategory())) {
+ companyOrg = currentOrg;
+ }
if (StringUtils.isBlank(currentOrg.getUpOrgId()) || currentOrg.getUpOrgId().equals(CommonUtil.ROOT_NODE)) {
break;
@@ -257,11 +291,19 @@ public class SysOrgServiceImpl extends BaseServiceImpl imp
}
String orgFullId = String.join(",", idPath);
- String orgFullName = String.join("--", namePath);
+ String orgFullName = String.join(",", namePath);
- return new SysOrg().setOrgId(idPath.get(idPath.size() - 1))
+ SysOrg result = new SysOrg().setOrgId(idPath.get(idPath.size() - 1))
.setOrgFullId(orgFullId)
.setOrgFullName(orgFullName);
+
+ // 如果找到了公司组织,设置公司相关信息
+ if (companyOrg != null) {
+ result.setCuCompanyNumber(companyOrg.getOrgId());
+ result.setCuCompanyName(companyOrg.getOrgName());
+ }
+
+ return result;
}
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 5a8a91d..fc65b86 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
@@ -3,6 +3,7 @@ package com.coscoshipping.ebtp.system.user.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.coscoshipping.ebtp.system.user.entity.SysSupplierUser;
+import com.coscoshipping.ebtp.system.user.entity.vo.SysSupplierUserVO;
import com.coscoshipping.ebtp.system.user.service.SysSupplierUserService;
import com.coscoshipping.ebtp.system.user.vo.SupplierRegistrationVO;
import io.swagger.annotations.Api;
@@ -51,13 +52,13 @@ public class SysSupplierUserController {
/**
* 供应商用户分页查询
*
- * @param sysSupplierUser 查询条件
+ * @param sysSupplierUserVO 查询条件
* @return 分页结果
*/
@ApiOperation("供应商用户分页查询")
@PostMapping("/getPage")
- public BaseResponse> getPage(@ApiParam(value = "查询条件", required = true) @RequestBody SysSupplierUser sysSupplierUser) {
- return BaseResponse.success(sysSupplierUserService.getPage(sysSupplierUser));
+ public BaseResponse> getPage(@ApiParam(value = "查询条件", required = true) @RequestBody SysSupplierUserVO sysSupplierUserVO) {
+ return BaseResponse.success(sysSupplierUserService.getPage(sysSupplierUserVO));
}
/**
diff --git a/src/main/java/com/coscoshipping/ebtp/system/user/entity/vo/SysSupplierUserVO.java b/src/main/java/com/coscoshipping/ebtp/system/user/entity/vo/SysSupplierUserVO.java
new file mode 100644
index 0000000..41cfc73
--- /dev/null
+++ b/src/main/java/com/coscoshipping/ebtp/system/user/entity/vo/SysSupplierUserVO.java
@@ -0,0 +1,28 @@
+package com.coscoshipping.ebtp.system.user.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest;
+import com.coscoshipping.ebtp.system.user.entity.SysSupplierUser;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+* 实体类 SysSupplierUserVO-供应商用户表VO
+*
+* @author yss
+*/
+@Data
+@Accessors(chain = true)
+@TableName(autoResultMap = true)
+@ApiModel("供应商用户信息VO类")
+public class SysSupplierUserVO extends SysSupplierUser implements Serializable {
+ /**
+ * 分页数据
+ */
+ @ApiModelProperty(value = "分页对象信息")
+ private BasePageRequest basePageRequest;
+}
\ No newline at end of file
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 e14877d..b3b2a24 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.entity.vo.SysSupplierUserVO;
import com.coscoshipping.ebtp.system.user.vo.SupplierRegistrationVO;
/**
@@ -14,10 +15,10 @@ public interface SysSupplierUserService extends IBaseService {
/**
* 供应商用户分页查询
- * @param sysSupplierUser 供应商用户信息
+ * @param sysSupplierUserVO 供应商用户VO信息
* @return 返回结果
*/
- IPage getPage(SysSupplierUser sysSupplierUser);
+ IPage getPage(SysSupplierUserVO sysSupplierUserVO);
/**
* 新增供应商用户
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 3a9c1be..8de9736 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
@@ -9,6 +9,7 @@ import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl;
import com.chinaunicom.mall.ebtp.common.util.PropertyUtils;
import com.coscoshipping.ebtp.system.user.entity.SysSupplierUser;
+import com.coscoshipping.ebtp.system.user.entity.vo.SysSupplierUserVO;
import com.coscoshipping.ebtp.system.user.service.SysSupplierUserService;
import com.coscoshipping.ebtp.system.user.dao.SysSupplierUserMapper;
import com.coscoshipping.ebtp.system.user.util.AccountGeneratorUtil;
@@ -47,12 +48,13 @@ public class SysSupplierUserServiceImpl extends BaseServiceImpl getPage(SysSupplierUser sysSupplierUser) {
- LambdaQueryWrapper query = buildQueryWrapper(sysSupplierUser);
-
- // 如果没有分页请求,创建一个默认的
- BasePageRequest basePageRequest = new BasePageRequest();
-
+ public IPage getPage(SysSupplierUserVO sysSupplierUserVO) {
+ LambdaQueryWrapper query = buildQueryWrapper(sysSupplierUserVO);
+ // 从VO中获取分页请求,如果没有则创建默认的
+ BasePageRequest basePageRequest = sysSupplierUserVO.getBasePageRequest();
+ if (basePageRequest == null) {
+ basePageRequest = new BasePageRequest();
+ }
// 查询
IPage result = new Page<>(basePageRequest.getPageNo(), basePageRequest.getPageSize());
result = this.page(result, query);